Quoi de neuf dans Cecil depuis la release 8.0.0 ?

La version 8 de Cecil est sortie en décembre 2023, annonçant le passage à PHP 8, de nouvelles fonctionnalités et autres améliorations.

Un peu plus d’un an plus tard, qu’en est-il ?

Et bien je crois qu’on peut dire que je n’ai pas chaumé en apportant de nombreuses améliorations à Cecil et, comme prévu, le passage à PHP 8 a bien aidé à rendre le développement plus confortable pour moi.

Ce billet va prendre la forme d’un changelog, aussi détaillé que possible, tout en asseyant de ne pas être trop verbeux.

Nouvelles fonctionnalités

Sort by (8.1.0)

Ajout d’une option de configuration de la méthode d’ordonnancement par défaut des pages :

pages:
  sortby: date # `date`, `updated`, `title` or `weight`
  # or
  sortby:
    variable: date    # `date`, `updated`, `title` or `weight`
    desc_title: false # sort by title in descending order
    reverse: false    # reverse the sort order

Documentation : https://cecil.app/documentation/configuration/#pages-sortby

Fichier de configuration cecil.yml (8.4.0)

Cecil utilise désormais cecil.yml comme fichier de configuration par défaut, mais prend toujours en charge config.yml.

Améliorations

Extensions (8.2.0)

Le code permettant d’étendre les capacités d’un projet est maintenant placé dans un dossier commun nommé « extensions » :

  • /extensions/Cecil/Generator/…
  • /extensions/Cecil/Renderer/Extension/…
  • /extensions/Cecil/Renderer/PostProcessor/…

Documentation : https://cecil.app/documentation/extend/

Meilleurs retours de la commande serve (8.3.0)

  • Les erreurs du serveur PHP sont désormais enregistrées dans le fichier .cecil/errors.log
  • Cecil vérifie la disponibilité de l'hôte lorsque le serveur est en cours d'exécution
  • Affichage d’un message d’erreur si le processus du serveur PHP se termine avec un code supérieur à 0
  • La ligne de commande du processus du serveur PHP est désormais affichée en mode débogage

Commande new (8.6.0)

  • Les commandes new:* posent désormais des questions (de configuration) lorsqu'elles sont exécutées sans options
  • La commande new:site ne copie plus le contenu de démonstration : vous devez utiliser l'option --demo si le contenu de démonstration est nécessaire
  • La commande new:page utilise désormais l’option --name pour définir le nom de la page

Corrections

Espaces dans le chemin vers PHP (8.3.1)

Dans le cas où le binaire PHP est dans un dossier contenant des espaces, la commande serve échouait.