Logo de Cecil Cecil
Sur cette page

Configuration

La configuration du site web est définie dans un fichier YAML nommé cecil.yml ou config.yml, stocké à la racine :

<mywebsite>
└─ cecil.yml

Cecil propose de nombreuses options de configuration, mais ses valeurs par défaut sont souvent suffisantes. Un nouveau site ne nécessite que ces paramètres :

title: "My new Cecil site"
baseurl: https://mywebsite.com/
description: "Site description"

Les pages suivantes décrivent les options de configuration prises en charge par Cecil.

Certaines options propres à une commande sont documentées avec celle-ci : editor (new:page) et doctor.* (doctor).

Priorité

La configuration est construite à partir de plusieurs sources, chacune surchargeant les précédentes :

  1. configuration par défaut de Cecil
  2. configuration des thèmes (le premier thème surcharge les suivants)
  3. configuration du site (cecil.yml)
  4. variables d’environnement et options de ligne de commande

Les tableaux associatifs (ex. pages.body.images ou pages.default) sont fusionnés clé par clé : il suffit de définir les clés à modifier.

Un tableau associatif peut être activé ou désactivé avec un booléen, sans perdre ses options :

cache: false # équivaut à `cache: {enabled: false}`

Dans les templates, utilisez le test enabled pour le vérifier : {% if config.cache is enabled %}.

Listes

Lorsqu’une option est une liste de valeurs (ex. pages.ext, output.pagetypeformats ou assets.images.responsive.widths), la liste que vous définissez remplace celle par défaut :

output:
  pagetypeformats:
    homepage: [html] # uniquement HTML, quelles que soient les valeurs par défaut

Si un thème définit la même liste, les valeurs de votre liste sont ajoutées à celles du thème, car elles peuvent être nécessaires à son fonctionnement.

Pour ajuster la liste par défaut (ou celle du thème), utilisez plutôt un tableau associatif : true ajoute une valeur, false la retire.

output:
  pagetypeformats:
    homepage:
      rss: true   # ajoute RSS
      atom: false # retire Atom
assets:
  images:
    responsive:
      widths:
        2560: true # ajoute une largeur
        480: false # retire une largeur

Dans cette section