Cecil logo Cecil
What's on this page

Front matter

The front matter can contains custom variables applied to the current page.

It must be the first thing in the file and must be a valid YAML.

Predefined variables

Variable Description Default value Example
title Title File name without extension. Post 1
layout Template See Lookup rules. 404
date Creation date File creation date (PHP DateTime object). 2019/04/15
section Section Page's Section. blog
path Path Page's path. blog/post-1
slug Slug Page's slug. post-1
published Published or not true. false
draft Published or not false. true

updated

The updated variable is used to define the last modification date of a page.

Example:

---
updated: 2026-02-02
---

A page can be added to a menu.

The entry name is the page title and the URL is the page path.

The same page can be added to multiple menus, and each entry's position can be set with the weight key (lowest first). The name key can be used to override the default entry name per menu.

Examples:

---
menu: main
---
---
menu: [main, navigation] # same page in multiple menus
---
---
menu:
  main:
    weight: 10
  navigation:
    weight: 20
---
---
title: 'Our Expertise'
menu:
  main:
    weight: 15
  footer:
    weight: 15
    name: "Expertise" # override the entry name in this menu
---

Taxonomy

Taxonomy allows you to connect, relate and classify your website’s content.
In Cecil, these terms are gathered within vocabularies.

Vocabularies are declared in the Configuration.

Vocabulary
A categorization of content (e.g.: tags, categories, etc.).
Term
A term is an item of a vocabulary (e.g.: Development, PHP, etc.).

Example:

---
tags: ["Development", "PHP"]
---

Cecil then generates, for each vocabulary:

  • a page listing its terms, e.g.: /tags/
  • a page per term listing its pages, e.g.: /tags/development/ and /tags/php/

See templates lookup rules and taxonomy variables to customize those pages.

Schedule

Schedules pages’ publication.

Example:

The page will be published if current date is >= 2023-02-07:

schedule:
  publish: 2023-02-07

This page is published if current date is <= 2022-04-28:

schedule:
  expiry: 2022-04-28

redirect

As indicated by its name, the redirect variable is used to redirect a page to a dedicated URL.

Example:

---
redirect: "https://arnaudligny.fr"
---

alias

Alias is a redirection to the current page

Example:

---
title: "About"
alias:
  - contact
---

In the previous example contact/ redirects to about/.

output

Defines the output format of the page.

Available formats are: html, atom, rss, json, xml, etc.
You can define one or more formats in an array.

I’s not required to define an output format, but if you do, it must be one of the available formats defined in the Configuration.

Example:

---
output: [html, atom]
---

external

A page with an external variable try to fetch the content of the pointed resource.

Example:

---
external: "https://raw.githubusercontent.com/Cecilapp/Cecil/main/README.md"
---

excluded

Set excluded to true to hide a page from list pages (i.e.: Home page, Section, Sitemap, etc.).

Example:

---
excluded: true
---