Sur cette page
Cecil 9.18.0 : une fusion de configuration plus intelligente
Cecil 9.18.0 revoit la façon dont votre configuration est fusionnée avec celle par défaut et avec celle des thèmes. L’objectif : ne définir que ce que vous voulez modifier, et obtenir un résultat prévisible.
Configuration en couches
La configuration effective est désormais construite à partir de couches, chacune surchargeant les précédentes :
- configuration par défaut de Cecil
- configuration des thèmes
- configuration du site (
cecil.yml) - variables d’environnement (
CECIL_*) et options de la ligne de commande
Les tableaux associatifs sont fusionnés clé par clé avec ceux par défaut : par exemple, ajouter un format à layouts.translations.formats ne supprime plus les chargeurs intégrés. Les thèmes peuvent également surcharger les valeurs par défaut intégrées, comme les pages par défaut, les générateurs et les formats de sortie.
Un tableau associatif peut être activé ou désactivé avec un simple booléen, sans perdre ses options :
cache: false # équivalent à `cache: {enabled: false}`
Listes de valeurs
Lorsque vous définissez une liste de valeurs (ex. : pages.ext, output.pagetypeformats ou assets.images.responsive.widths), elle remplace désormais la liste par défaut. Si un thème définit la même liste, vos valeurs sont ajoutées à celles du thème, car elles peuvent lui être nécessaires.
Pour ajuster une liste par défaut (ou d’un thème), utilisez un tableau associatif : true ajoute une valeur, false la retire.
output:
pagetypeformats:
homepage:
rss: true # ajoute RSS
atom: false # retire Atom
Les formats de sortie sont fusionnés par name : - {name: rss, filename: feed} ne surcharge donc que le filename du format RSS.
Options obsolètes
Les options obsolètes sont désormais vérifiées avant la validation de la configuration, et sont toutes signalées en une fois, avec leur source et l’extrait à utiliser à la place :
Deprecated configuration option(s) in "cecil.yml":
- Option `frontmatter` must be moved to:
```
pages:
frontmatter: yaml
```
- Option `pages.body.format` is deprecated and must be removed.
Nouveau test enabled dans les templates
Un tableau associatif désactivé restant un tableau, utilisez le nouveau test enabled pour vérifier une option dans les templates :
{% if config.cache is enabled %}
Changements incompatibles
Vérifiez votre configuration avant de mettre à jour :
- Une liste de valeurs définie dans plusieurs fichiers
--configest désormais remplacée par la dernière, au lieu d’être concaténée. - Un site ne peut plus vider une liste d’un thème en la redéfinissant (
homepage: []) : retirez chaque valeur avecfalse. - La configuration d’un thème surcharge désormais les pages par défaut, les générateurs et les formats de sortie intégrés.
{% if config.cache %}est vrai même lorsque le cache est désactivé aveccache: false: utilisez{% if config.cache is enabled %}à la place.
Exécutez cecil show:config pour afficher la configuration effective complète, valeurs par défaut incluses.
Consultez la documentation de configuration pour plus de détails, et mettez à jour Cecil pour profiter de cette version.
Notes de version sur GitHub