Passage à Pelican !

Publié dans perso
le

Le peu de fonctionnalitées implémentées au sein de Ghost au moment où j'écris (version 0.3) aura eu raison de moi malgré mon peu d'exigences.

Les choses me marquant le plus étant :

  • Un éditeur de contenu ne supportant pas les claviers azerty, ainsi en voulant insérer "[" pour insérer un lien, on se retrouve à mettre un titre et impossible d'insérer un lien sans contournement,
  • Pas de gestion des pages statiques,
  • Pas d'accès aux pages des catégories / tags

Je suis bien conscient que ce n'est que le début et tous ces points seront corrigés sont aucun doute mais pour le moment je passe donc mon chemin et me tourne désormais vers pelican !

edit du 13/01/2014 : Avec la sortie de la version 3.0, ces points semblent désormais corrigés.

Pelic...what?

Logo de pelican

Pelican est un générateur de sites statiques écrit en Python. La création du contenu se fait en reStructuredText, Markdown, ou AsciiDoc. Sans oublier qu'il a été créé en premier lieu par un Français, j'ai nommé Alexis Métaireau (cocorico!!) !

Ce qui est cool, c'est qu'une fois correctement configuré, on peut l'héberger n'importe où sans se prendre la tête.

Autres quelques options spécifiques pour les thèmes et les plugins, la configuration la plus importante reste sans doute la forme des URLs afin d'avoir des URLs friendly. Pour exemple voici, ce que j'ai dans mon pelicanconf.py :

# URLs related settings
ARTICLE_URL = 'posts/{slug}/'
ARTICLE_SAVE_AS = 'posts/{slug}/index.html'

CATEGORY_URL = 'cat/{slug}/'
CATEGORY_SAVE_AS = 'cat/{slug}/index.html'

CATEGORIES_SAVE_AS = 'categories/index.html'

PAGE_URL = '{slug}/'
PAGE_SAVE_AS = '{slug}/index.html'

De cette manière, même pas besoin de réécrire les URLs. En accédant à <url>/posts/mon-article/, le serveur web va automatiquement chercher <url>/posts/mon-article/index.html, c'est ce qui est fait sur ce site via nginx, c'est ti pas merveilleux ?

Pelican dispose d'un grand nombre de plugins et il est très simple d'en créer un soit même, la documentation étant bien foutue.

Dernière chose intéressante à noter, pelican utilise pygments pour la coloration syntaxique. Celle-ci étant effectuée lors de la génération du site, nul besoin de javascript côté client, et ça fait du bien !

Déploiement

Rapidement, une fois les articles, pages et autres créés, il ne reste plus qu'à déployer le bousin, et pour cela, rien de plus simple. Personnellement, j'utilise Fabric avec les fabfile fournit avec pelican, de cette manière, c'est un réel jeu d'enfant.

En passant par pelican-quickstart pour générer le squelette de votre site et après avoir répondu à quelques questions, toute la configuration pour le déploiement sur votre serveur distant est faite.

Il ne reste plus qu'à faire un petit fab build / fab publish et le tour est joué !

Pelican sur ce site

Alors, sur ce site, j'utilise ( pour le moment ;) ) pelican 3.3.0. Le thème a été réalisé par mes soins et sera dispo publiquement dès que je l'aurai rendu sympa sur mobile.

Je n'utilise que le plugin related posts qui permet de proposer des articles ayant un rapport avec l'article lu.

Bref, le pelican c'est bon, mangez-en !