Aller au contenu

From Jekyll to Zola

·337 mots·2 mins
Auteur
My name
A little bit about me

J’en parlais encore l’année dernière, suite à mes différents sauts de plateformes: Zola me tentait ‘achement grave, mais la non-compatibilité du frontmatter en YAML était un peu un facteur bloquant. Finalement, depuis la 0.13, YAML (strict) est supporté ! Je fais donc le pas, notamment grâce au moteur de templates qui est un pur bonheur à utiliser (Coucou Jinja2! 😜)

J’en profite également pour intégrer un thème un peu moins peté de partout plus personnel, inspiré de Daker.

Au niveau des choses franchement sympas:

  • Un moteur de recherche intégré, basé sur elasticlunr.js - mais vous devrez malgré tout intégrer vous-mêmes les résultats dans les templates - cf. (basé sur mdbook).

  • Un flux RSS, simplement en ajoutant deux éléments:

    • generate_feed = true dans le fichier de configuration
    • Un lien vers le fichier atom.xml dans le template de base.
  • Une structure de fichiers plus simple (que Jekyll), notamment en évitant les redondants répertoires _posts comme sous-répertoires et en autorisant la diffusion d’un binaire, ce qui a pour résultat de simplifier les fichiers de dépendances à la racine du répertoire (Gemfile, Gemfile.lock, …), tout en reléguant les templates dans leur propre répertoire. Pas de page 404.html ou index.html à la racine.

  • Des templates faciles à comprendre - je citais déjà plus haut une référence à Jinja, et sans être un Dieu du CSS et de la mise en page (ce serait même plutôt l’inverse), il est possible de déployer un site construit en se limitant à quatre templates:

    • base.html, pour le squelette et l’architecture générale
    • index.html pour la page d’accueil
    • page.html pour le rendu d’un contenu
    • section.html pour le rendu d’une section.

Dans la foulée, j’ai simplifier la gestion des assets, en les plaçant directement dans le répertoire de l’article. Cela allourdit une partie de la rédaction, puisque chaque contenu se trouve dans son propre répertoire, mais cela permet aussi que chacun d’entre eux soit présenté comme un ensemble cohérent - une simple preview dans n’importe quel éditeur rendra correctement le format de l’article - à l’exception des liens internes.