Logo de Cecil Cecil
Sur cette page

Pages et sections

Une page est un fichier composé d’un front matter et d’un body.

Front matter

Le front matter est une collection de variables (au format clé/valeur) entourée par ---.

Exemple :

---
title: "The title"
date: 2019-02-21
tags: [tag 1, tag 2]
customvar: "Value of customvar"
---

Corps (body)

Le body est le contenu principal d’une page ; il peut être écrit en Markdown ou en texte brut.

Exemple :

# Header

[toc]

## Sub-Header 1

Lorem ipsum dolor [sit amet](https://example.com), consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
<!-- excerpt -->
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

## Sub-Header 2

![Description](/image.jpg "Title")

## Sub-Header 3

:::tip
This is advice.
:::

Préfixe de fichier

Le nom de fichier peut contenir un préfixe pour définir les variables date ou weight de la page (utilisées par sortby).

date

Le préfixe de date sert à définir la date de la page et doit être un format de date valide (c.-à-d. : YYYY-MM-DD).

Exemple :

Dans 2019-04-23_My blog post.md :

  • le préfixe est 2019-04-23
  • la date de la page est 2019-04-23
  • le title de la page est My blog post

weight

Le préfixe de poids sert à définir l’ordre de tri de la page et doit être une valeur entière valide.

Exemple :

Dans 1_The first project.md :

  • le préfixe est 1
  • le weight de la page est 1
  • le title de la page est The first project

Section

Certaines variables dédiées peuvent être utilisées dans une Section personnalisée (c.-à-d. : <section>/index.md).

sortby

L’ordre des pages dans une Section peut être modifié.

Valeurs disponibles :

  • date : les plus récentes en premier
  • updated : les plus récemment mises à jour en premier
  • title : ordre alphabétique
  • weight : poids le plus faible en premier

Exemple :

---
sortby: title
---

Plus d’options :

---
sortby:
  variable: date    # "date", "updated", "title" or "weight"
  desc_title: false # used with "date" or "updated" variable value to sort by desc title order if items have the same date
  reverse: false    # reversed if true
---

pagination

La configuration globale de pagination est utilisée par défaut, mais vous pouvez la modifier pour une Section donnée.

Exemple :

---
pagination:
  max: 5
  path: "page"
---

La pagination peut être désactivée pour une Section :

---
pagination: false
---

Si la pagination est désactivée globalement, elle peut être activée pour une Section (max et path reprennent par défaut la configuration globale) :

---
pagination:
  enabled: true
  max: 5
---

cascade

Toutes les variables de cascade sont ajoutées au front matter de toutes les pages de la Section (y compris les pages de ses sous-sections).

Exemple :

---
cascade:
  banner: image.jpg
---

circular

Définissez circular à true pour activer la navigation circulaire avec page.<prev/next>.

Exemple :

---
circular: true
---

Sous-section

Un dossier imbriqué qui contient explicitement un fichier index.md devient une sous-section de sa Section parente.

<monsiteweb>
└─ pages
   └─ blog                 <- Section
      ├─ index.md
      ├─ post-1.md         <- Page de la Section « blog »
      └─ 2024              <- Sous-section (contient un « index.md »)
         ├─ index.md
         └─ post-2.md      <- Page de la Section « blog » *et* de la sous-section « blog/2024 »

Une sous-section :

  • est une Section (même type, mêmes variables et même résolution de template) accessible à sa propre URL (ex. : /blog/2024/)
  • est rendue avec les templates de ses Sections parentes si elle n’a pas les siens (ex. : blog/list.html.twig)
  • peut être imbriquée à n’importe quelle profondeur (ex. : blog/2024/06/)
  • liste ses propres pages, et ses pages appartiennent aussi à chacune de leurs Sections parentes
  • n’est pas listée dans sa Section parente
  • est placée dans la navigation page.<prev/next> de sa Section parente (selon son sortby), suivie de ses propres pages

Page d’accueil

La Page d’accueil est le fichier pages/index.md.

Comme toute autre Section, la Page d’accueil prend en charge la configuration sortby et pagination.

pagesfrom

Définissez un nom de Section valide dans pagesfrom pour utiliser la collection de pages de cette Section dans la Page d’accueil.

Exemple :

---
pagesfrom: blog
---