Skip to main content
Seb's blog
logo PassionGNU/Linux

Revenir à de la simplicité, ou comment 11ty me redonne du temps

Je suis un éternel insatisfait et la stabilité du blog qui depuis mon passage à Pelican avait une bonne durée de vie, un truc comme deux ans, quelque chose d’honorable vu ma grande instabilité sur le sujet, sûrement même mon record de durée sur un moteur pour mon site.

Si je devais retenir quelque chose de ces changements, c’est comme toujours avec moi, je passe à autre chose pour trouver mieux et c’est finalement pas le cas. Je sais pas pourquoi j’ai utilisé Jekyll pendant un temps, après réflexions, je n’ai clairement pas aimé ce moment ni cet outils. Hugo pareil, il fallait bien commencer par un truc et c’est lui le plus populaire, mais j’aurais passé par Pelican dès le début, j’aurais évité tout un pan de cette passade. Dans le meilleur des mondes, j’aurais voulu que mon site soit sur Pelican, puis Zola/Hexo/11ty…

Je passe sous silence le moment Hexo, bien que pas mauvais, ultra complet, je ne suis pas et ce malgré tout ce que j’en pense en bien de ce moteur, compatible avec.

Je suis pour le moment avec 11ty, qui me va, pas que pour le moment, ça fait quelques temps que je suis dessus en arrière plan tout comme Zola du reste, dont j’ai une version du blog qui tourne pour implémenter ce que je souhaite. Zola est celui qui m’irait le mieux, il est vraiment rapide (500ms alors que les autres sont dans les 2s pour fabriquer le site actuel), simple même ses templates ressemblent à ce que je connais par ailleurs (Pelican / Jinja2), mais je n’arrive pas forcément à ce que je veux obtenir comme ma page de recherche qui n’affiche qu’une dizaines de résultats alors que je devrais en trouver bien plus. Ça et son coté opiniâtre qui me pose des soucis car je suis moi-même obtus. Mais je pourrais m’y accommoder avec le temps et si j’obtiens ce que je veux, ce qui n’est pas le cas pour le moment… 11ty c’est autre chose, c’est l’inverse de Zola, avec lui c’est nous qui faisons ce que l’on veux comme hiérarchie de dossiers, ce qui peut sembler être un beau bordel. Contrairement aux autres GSS, 11ty nous permets d’évoluer à notre rythme. On peut commencer avec des fichiers .MD puis passer par du .JS, bref, c’est un joli bordel comme j’aime assez le dire. Le seul hic avec lui c’est son temps pour construire le site, il est dans la moyenne de ce que l’on peut avoir avec Pelican (+cache), Hexo (+cache), Jekyll (+cache) mais reste loin d’Hugo ou de Zola.

Comme je l’ai dis, je suis avec 11ty pour le moment, j’espère sur le temps aussi, même si je sens que ça va être le temps de compilation / fabrication du site qui va au bout d’un moment me faire changer d’avis. C’est pas joli pour l’instant, faut le dire, je compte bien ajouter un peu de fantaisies en changeant les couleurs et la police du site, mais j’arrive à faire ce que je veux simplement sans y passer des heures, chose qui n’est pas vrai avec Zola et sa simplicité. Exemple pour créer une page d’archive, il suffit de faire un fichier qu’on nommera comme on veut pour le coup on va dire blog.njk avec ceci dedans:

---
layout: layouts/home.njk
eleventyNavigation:
  key: Archive
  order: 2
---
<h1>Archive</h1>

{% set postslist = collections.posts %}
{% include "postslist.njk" %}

Vraiment simple à comprendre, layout est le modèle utilisé pour cette page, eleventyNavigation: key: Archive order: 2 concerne uniquement mon thème basé sur un starter et ne sert qu’a faire apparaître la page dans ma barre de navigation.

Avec Zola, j’ai tenté mais je n’ai que partiellement réussi:

{% extends "index.html" %}

{%- block title -%}
{{ title_macros::title(page_title=page.title, main_title=config.title) }}
{%- endblock -%}

{% block content %}
    <div class="post">
        <h1 class="post-title">{{ page.title }}</h1>

        {% set section = get_section(path="_index.md") %}

        {{ post_macros::list_posts(pages=section.pages) }}
    </div>
{% endblock content %}

Du moins la doc demande de faire quelque chose ressemblant à ceci:

{% for year, posts in section.pages | group_by(attribute="year") %}
    <h2>{{ year }}</h2>

    <ul>
    {% for post in posts %}
        <li><a href="{{ post.permalink }}">{{ post.title }}</a></li>
    {% endfor %}
    </ul>
{% endfor %}

Le soucis avec Zola, c’est son nom, comme Hugo du reste mais celui-ci est devenu tellement populaire qu’on trouve facilement des blogs parlant d’astuces dessus, alors que pour Zola c’est difficile car on est encombré par tout ce qui est en rapport avec le grand Zola…

Je le dis, avec 11ty c’est plus simple pour moi d’obtenir un truc que je comprends assez rapidement. Maintenant, je dois changer quelques petits trucs comme déjà dit plus haut, mais c’est pas quelque chose qui soit pressée.

Commencer la discussion: Venez écrire un commentaire dans le forum.