Évolutions de Cecil (mai 2020)
Cecil ·Depuis mon billet de présentation de Cecil, datant de juin 2019, j’ai apporté de nombreuses améliorations à mon générateur de site statique.
Voici le journal des modifications.
- Découplage de la logique de création des taxonomies et des pages correspondantes
- Ajout de la variable
site.taxonomies
- Le squelette d’un nouveau site est maintenant basé sur Primer CSS
- Support de l’internationalisation (i18n)
- Testé avec PHP 7.3
- Amélioration des performances de rendu
- Ajout du numéro de version dans la métadonnée
generator
- Création d’un template dédié aux métadonnées
partials/metatags.html.twig
- Ajout de l’option
verbose
(verbeux) à la commandeserve
- Amélioration de l’internationalisation
- Remplacement automatique des liens vers des fichiers Markdown (
*.md
) par une URL web valide
- Amélioration de la pagination
- Amélioration de la mécanique de rechargement automatique : n’est active que si la date de la dernière modification est postérieur au dernier rechargement
- Ajout de la possibilité de créer une nouvelle page avec la date courante en tant que préfixe via l’option
--prefix
- Abandon de ZF\Console au profit de Symfony Console Component
- Ajout de la possibilité de créer une nouvelle page avec la date courante en tant que préfixe via l’option
--prefix
- Ajout d’une étape d’optimisation (compression) des images
- Ajout d’une étape d’optimisation (compression) des fichiers (HTML, CSS et JavaScript)
- La mécanique de chargement des données supporte également les formats JSON, XML et JSON
Nouveau format de définition des menus
menus: main: - id: example name: "Example" url: https://example.com weight: 999 - id: about enabled: false
Nouvelle structure de définition des langues :
language: fr languages: - code: fr name: Français locale: fr_FR config: title: 'Cecil en français !'
- Redéfinition de la structure de configuration des pages virtuelles
- Redéfinition de la structure de configuration des formats de sortie
- Ajout de la fonctionnalité de redimensionnement des images au sein d’un contenu Markdown
- Ajout de la fonctionnalité de redimensionnement des images au sein d’un template
- Ajout d’une fonction de création d’un asset
- Ajout de la fonctionnalité de création d’une image responsive au sein d’un contenu Markdown
- Ajout d’une variable permettant d’exclure la page d’une section
- Ajout d’une fonctionnalité de chargement des fichiers statiques dans un tableau de données exploitables au sein des templates
- Ajout de la possibilité de charger des générateurs locaux (présents dans le dossier
/generators/
)
- La page d’accueil (index) est maintenant une page par défaut
- Les Optimizers sont maintenant des Post-processors
- Message d’erreur plus clair dans l’interface en ligne de commande
- Clarification des messages et sorties de la console
- Quelques améliorations du code
- Passage de la gestion des messages de log à PSR/Log
- Implémentation de SimpleCache (PSR-16)
- Reconstruction de la mécanique de gestion des assets et du cache
- Amélioration des extensions Twig
- Changements des fonctions et des filtres Twig
- Nouvelle fonctionnalité : bundle assets
- Ajout d’une option de choix du fichier de configuration :
--config=cecil.yml
- Possibilité de personnaliser le
path
des pages d’une section via la configuration
- Un asset peut retourner la taille du fichier
- Un asset peut retourner la largeur et la hauteur d’une image, ainsi que les informations d’un fichier MP3
Pour en savoir plus : Cecil/Releases.