Logo de Cecil Cecil
Sur cette page

Options du site

Ces options définissent les réglages principaux du site : titre, URL, description, menus, taxonomies, thème, métadonnées, etc.

title

Titre principal du site.

title: "<site title>"

baseline

Description courte (~ 20 caractères).

baseline: "<baseline>"

baseurl

URL de base.

baseurl: <url>

Exemple :

baseurl: http://localhost:8000/

canonicalurl

Si la valeur est true, la fonction url() renverra l’URL absolue (false par défaut).

canonicalurl: <true|false> # false by default

description

Description du site (~ 250 caractères).

description: "<description>"

Les menus sont utilisés pour créer des liens de navigation dans les templates.

Un menu est une liste d’entrées, chacune définie par un identifiant unique et des propriétés (nom, URL, poids).

menus:
  <name>:
    - id: <unique-id>   # unique identifier (required)
      name: "<name>"    # name displayed in templates
      url: <url>        # relative or absolute URL
      weight: <integer> # integer value used to sort entries (lighter first)

Exemple :

menus:
  main:
    - id: about
      name: "About"
      url: /about/
      weight: 1
  footer:
    - id: author
      name: The author
      url: https://arnaudligny.fr
      weight: 99

Surcharger une entrée

Une entrée de menu de page peut être surchargée : utilisez l’ID de la page comme id.

L’ID d’une entrée de menu de page n’inclut pas le préfixe de langue (par exemple : docs pour la page fr/docs) : le même id cible l’entrée dans toutes les langues.

Exemple :

menus:
  main:
    - id: index
      name: "My amazing homepage!"
      weight: 1

Désactiver une entrée

Une entrée de menu peut être désactivée avec enabled: false.

Exemple :

menus:
  main:
    - id: about
      enabled: false

taxonomies

Liste des vocabulaires, associant une valeur au pluriel à une valeur au singulier.

taxonomies:
  <plural>: <singular>

Exemple :

taxonomies:
  categories: category
  tags: tag

Vous pouvez ensuite utiliser ces vocabulaires dans le front matter de votre contenu.

theme

Thème à utiliser, ou liste de thèmes.

theme: <theme> # theme name
# or
theme:
  - <theme1> # theme name
  - <theme2>

Exemples :

theme: hyde
theme:
  - pwa
  - hyde

date

Format de date et fuseau horaire.

date:
  format: <format>     # date format (optional, `F j, Y` by default)
  timezone: <timezone> # date timezone (optional, local time zone by default)

Exemple :

date:
  format: 'j F, Y'
  timezone: 'Europe/Paris'

metatags

Les metatags sont des aides SEO et réseaux sociaux qui peuvent être injectées automatiquement dans le <head>, via le template partials/metatags.html.twig.

Ce template ajoute les balises meta suivantes :

  • Titre de page + titre du site, ou titre du site + baseline du site
  • Description de la page/du site
  • Mots-clés de la page/du site
  • Auteur de la page/du site
  • Directives des robots des moteurs de recherche (robots)
  • Liens de favicon
  • Liens de navigation (premier, précédent, suivant, dernier)
  • URL canonique
  • Liens alternatifs (ex. : flux RSS, autres langues)
  • Liens rel=me
  • Open Graph
  • Identifiant de profil Facebook
  • Twitter/X Card
  • Balise Fediverse
  • Dublin Core
  • Données structurées (JSON-LD)

Options metatags

Cecil utilise le front matter de la page pour alimenter les balises meta, avec repli sur les options du site si nécessaire.

title: "Page/Site title"              # used by title meta
description: "Page/Site description"  # used by description meta
tags: [tag1, tag2]                    # used by keywords meta
keywords: [keyword1, keyword2]        # obsolete in page front matter (use `tags`)
author:                               # used by author meta
  name: <name>                          # author name
  url: <url>                            # author URL
  email: <email>                        # author email
image: image.jpg                      # used by Open Graph and social networks cards
canonical:                            # used to override the generated canonical URL
  url: <URL>                            # absolute URL
  title: "<URL title>"                  # optional canonical title
social:                               # used by social networks meta
  twitter:                              # used by Twitter/X Card
    url: <URL>                            # used for `rel=me` link
    site: username                        # site username
    creator: username                     # page author username
  mastodon:                             # used by Mastodon meta
    url: <URL>                            # used for `rel=me` link
    creator: handle                       # page author account
  facebook:                             # used by Facebook meta
    url: <URL>                            # used for `rel=me` link
    id: 123456789                         # Facebook profile ID
    username: username                    # page author username

Configuration metatags

metatags:
  title:                   # title options
    divider: " &middot; "    # string between page title and site title
    only: false              # displays page title only (`false` by default)
    pagination:              # pagination options
      shownumber: true         # displays page number in title (`true` by default)
      label: "Page %s"         # how to display page number (`Page %s` by default)
  robots: "index,follow"   # web crawlers directives (`index,follow` by default)
  favicon:                 # favicon options (set `favicon: false` to disable)
    image: favicon.png       # path to favicon image (`favicon.png` by default)
    sizes:                   # sizes by device
      "icon": [32, 57, 76, 96, 128, 192, 228]  # web browsers
      "shortcut icon": [128, 196]              # Android
      "apple-touch-icon": [120, 152, 180]      # iOS
  navigation: true         # includes previous and next links (`true` by default)
  image: true              # includes image (`true` by default)
  og: true                 # includes Open Graph meta tags (`true` by default)
  articles: "blog"         # articles' section(s): a section or a list of sections (`blog` by default)
  twitter: true            # includes Twitter/X Card meta tags (`true` by default)
  mastodon: true           # includes Mastodon meta tags (`true` by default)
  dc: false                # includes Dublin Core meta tags (`false` by default)
  data: false              # includes JSON-LD structured data (`false` by default), see below for options

Données structurées

Lorsqu’elles sont activées, les données structurées sont ajoutées sous la forme d’un graphe JSON-LD d’entités liées (schema.org) :

  • WebSite et son éditeur (Organization ou Person)
  • WebPage (CollectionPage pour la page d’accueil, les sections et les pages de taxonomies), sauf pour la page 404
  • BreadcrumbList : accueil, sections parentes (ou vocabulaire) et page courante
  • BlogPosting pour les pages de la ou des sections d’articles (voir metatags.articles)
  • VideoObject pour les pages avec une vidéo et une image (utilisée comme vignette)
  • ItemList des entrées du menu principal

metatags.data accepte true ou un ensemble d’options :

metatags:
  data:
    enabled: true            # enables JSON-LD structured data (`true` if `data` is a map)
    article: BlogPosting     # schema.org type of articles (`BlogPosting` by default, e.g. `NewsArticle`)
    publisher:               # entity that publishes the site
      type: Organization       # `Organization` (default) or `Person` (personal site)
      name: <name>             # site title by default (site author name for a `Person`)
      logo: logo.png           # favicon image (`favicon.png`) by default
      url: <url>               # site URL by default
      sameAs: [<url>, <url>]   # `url` of `social` entries by default

Le front matter d’une page peut surcharger certaines options :

metatags:
  data:
    enabled: false           # disables structured data for this page
    type: AboutPage          # page type (e.g. `AboutPage`, `ContactPage`, `ProfilePage`, `FAQPage`)
    article: NewsArticle     # article type

debug

Active le mode debug, utilisé pour afficher des informations de débogage comme des journaux très verbeux, le dump Twig, le profileur Twig, la sourcemap SCSS, etc.

debug: true

Il existe deux autres façons d’activer le mode debug :

  1. Exécuter une commande avec l’option -vvv
  2. Définir la variable d’environnement CECIL_DEBUG à true