Grav - Sayfalar

Bu bölümde, bunun hakkında çalışalım Grav Pages. Sayfalar sitenin yapı taşları olarak tanımlanabilir. Sayfalar içerikleri ve gezinmeleri birleştirir; bu deneyimsiz kullanıcılar için bile çalışmayı kolaylaştırır.

Başlangıç ​​olarak, basit bir sayfanın nasıl oluşturulacağını bize bildirin. Tüm kullanıcı içerikleri altında saklanacaktıruser/pages/Klasör. Adlı tek bir klasör olacak01.home. Klasörün sayısal kısmı isteğe bağlıdır; sayfalarınızın sırasını ifade eder (örneğin 01, 02'den önce gelir) ve Grav'a bu sayfanın menüde görünmesi gerektiğini açıkça bildirir.

Şimdi yeni bir sayfanın nasıl oluşturulacağını görelim.

Step 1 - altında bir klasör oluşturun /user/pages/; Örneğin, 02.about aşağıdaki ekran görüntüsünde gösterildiği gibi.

Step 2 - adlı bir dosya oluşturun default.md yeni yaratılanın içinde 02.about aşağıdaki içeriğe sahip klasör.

---
title: About Us
---

# About Us Page!

This is the body of **about us page**.

Yukarıdaki kod bazılarını kullanır Markdownsözdizimi aşağıda kısaca açıklanmıştır. Hakkında detaylı çalışabilirsinizMarkdowniçinde Markdown bölüm.

  • --- göstergeleri arasındaki içerik, Page Headers.

  • # veya hashes sözdizimi Markdown dönüştürülecek bir başlığı gösterir <h1> HTML'deki başlık.

  • ** işaretçiler kalın metni gösterir veya <b> HTML olarak.

Step 3 - Tarayıcınızı yeniden yükleyin ve aşağıdaki ekran görüntüsünde gösterildiği gibi menüde yeni sayfayı görebilirsiniz.

Sayfa Türleri

Grav Pages 3 tür sayfayı destekler -

  • Standart Sayfa.
  • Liste Sayfası.
  • Modüler Sayfa.

Standart Sayfa

Standart Sayfalar, blog gönderisi, iletişim formu, hata sayfası vb. Gibi en temel sayfa türleridir. Varsayılan olarak, bir sayfa Standart Sayfa olarak kabul edilir. Base Grav paketini indirip kurduğunuzda bir Standart Sayfa tarafından karşılanırsınız. Base Grav paketini kurduğunuzda aşağıdaki sayfayı göreceksiniz.

İlan Sayfası

Liste Sayfası, bir sayfa koleksiyonuna referans veren standart bir sayfanın uzantısıdır. Liste sayfasını kurmanın en kolay yolu, liste sayfasının altında alt sayfalar oluşturmaktır. Bir blog listeleme sayfası buna güzel bir örnektir.

Liste Sayfalı örnek bir Blog İskeleti Grav Downloads'da bulunabilir . Aşağıdaki ekran görüntüsünde bir örnek gösterilmektedir.

Modüler Sayfa

Modüler Sayfa, alt sayfalarından tek bir sayfa oluşturan bir liste sayfası biçimidir. Bu, daha küçük modüler içerik sayfalarından çok karmaşık tek sayfalık düzenler oluşturmamızı sağlar. Bu, modüler sayfayı sayfanın ana klasöründe bulunan birden çok modüler klasörden oluşturarak elde edilebilir.

Bir Modüler Sayfa kullanan tek sayfalık örnek bir iskelet Grav Downloads'da bulunabilir . Aşağıdaki ekran görüntüsünde bir örnek gösterilmektedir.

Klasörler

/user/pagesklasörü, ilgili sayfaların içeriğini içerecektir. İçindeki klasörler/user/pagesklasör Grav tarafından otomatik olarak menüler olarak değerlendirilir ve sipariş amacıyla kullanılır. Örneğin,01.homeklasör ana sayfa olarak değerlendirilecektir. Sıralama da sürdürülür, yani 01.home 02.hakkında önce gelir.

Tarayıcıyı sitenizin kök dizinine işaret ettiğinizde nereye gideceğinizi belirlemesi için bir giriş noktası sağlamalısınız. Örneğin, tarayıcınıza http://mysite.com girerseniz, Grav bir takma ad beklerhome/ varsayılan olarak, ancak ev konumunu geçersiz kılabilirsiniz. home.alias Grav yapılandırma dosyasındaki seçeneği.

Klasör adı olarak tanımlanmadan önce alt çizgi (_) Modular folders, yalnızca modüler içerik boyunca kullanılması amaçlanan özel bir klasör türü olan. Örneğin, aşağıdaki gibi klasörler içinpages/02.about, slug varsayılan olarak aboutve URL http://mysite.com/about olacaktır.

Klasör adının önüne sayılar gelmiyorsa, o sayfanın görünmez olduğu kabul edilir ve gezinmede görüntülenmez. Örneğin, ifuser/pages/ vardır /contactklasör, navigasyonda görüntülenmeyecektir. Bu, gezinmede görünür kılmak için aşağıda gösterildiği gibi true olarak ayarlanarak başlık bölümü içinde sayfanın kendisinde geçersiz kılınabilir.

---
title: contact
visible: true
---

Varsayılan olarak, çevreleyen klasörlerin sayısal önekleri varsa, gezinmede bir sayfa görünür. Görünürlüğü ayarlamak için geçerli değerler true veya false.

Sipariş verme

Klasörün sırasını kontrol etmenin birçok yolu vardır, önemli yollardan biri de content.order.bysayfa yapılandırma ayarları. Seçenekler aşağıda listelenmiştir.

  • default - Dosya sistemi sipariş vermek için kullanılabilir, yani 01.home, 02.home'dan önce.

  • title - Başlık, her sayfada tanımlanan sıralama için kullanılabilir.

  • date - Sıralama, her sayfada tanımlanan tarihe dayalı olabilir.

  • folder - Herhangi bir sayısal önekten oluşan klasör adı, örneğin 01. kaldırılacaktır.

  • basename - Sıralama, sayısal sıralama içermeyen alfabetik klasöre dayanmaktadır.

  • modified - Sayfanın değiştirilmiş zaman damgası da kullanılabilir.

  • header.x - Sayfa başlığı alanlarından herhangi biri sipariş vermek için kullanılabilir.

  • manual - order_manual değişken kullanarak sıralama yapılabilir.

  • random - Siparişinizi rastgele hale getirmek de yapılabilir.

Manuel sipariş, özellikle bir seçenek listesi sağlanarak tanımlanır. content.order.customyapılandırma ayarı. Sen ayarlayabilirsinizpages.order.dir ve pages.order.by Grav sistem konfigürasyon dosyasındaki varsayılan davranışı geçersiz kılma seçenekleri.

Sayfa dosyası

Sayfa klasörünün içindeki sayfa şu şekilde oluşturulmalıdır: .mddosya, yani Markdown formatlı dosya; YAML ön maddesi ile fiyat indirimi. defaultana şablonun standart adı olacaktır ve buna herhangi bir ad verebilirsiniz. Basit bir sayfa örneği aşağıda gösterilmiştir -

---
title: Title of the page
taxonomy:
   category: blog page
---
# Title of the page

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque porttitor eu
felis sed ornare. Sed a mauris venenatis, pulvinar velit vel, dictum enim. Phasellus
ac rutrum velit. **Nunc lorem** purus, hendrerit sit amet augue aliquet, iaculis
ultricies nisl. Suspendisse tincidunt euismod risus. Nunc a accumsan purus.

--- işaretçileri arasındaki içerik YAML ön maddesi olarak bilinir ve bu YAML ön maddesi temel YAML ayarlarından oluşur. Yukarıdaki örnekte, blog sayfasına başlık ve sınıflandırma koyuyoruz. Çift --- işaretinden sonraki bölüm, sitemizde gördüğümüz gerçek içeriktir.

Özet Boyutu ve Ayırıcı

Özetin varsayılan boyutu şuradan ayarlanabilir: site.yaml aracılığıyla kullanıldı page.summary(). Bu, tam sayfa içeriğinin değil, yalnızca özet bilgilerin gerekli olduğu bloglar için kullanışlıdır. Kullanabilirsinizmanual summary separator Ayrıca şöyle bilinir summary delimiter: === ve bunu aşağıda gösterildiği gibi içeriğinize üstte ve altında boş satırlar olacak şekilde yerleştirdiğinizden emin olun.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua.

===

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt
ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation
ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur
sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
est laborum."

Ayırıcının üstündeki metin, tarafından başvurulduğunda kullanılacaktır. page.summary() ve tarafından referans verildiğinde tam içerik page.content().

Diğer Sayfaları Bulmak

Grav adlı özelliği var find() başka bir sayfa bulma ve o sayfada eylemler gerçekleştirme yöntemi.

Örneğin, belirli bir sayfada tüm şirket konumlarını listelemek istiyorsanız, aşağıdaki indirim kuralını kullanın -

# Locations 
<ul>
   {% for loc in page.find('/locations').children if loc != page %}
      <li><a href="{{loc.url}}">{{ loc.title }}</a></li>
   {% endfor %}
</ul>