Les rares abonnés au flux RSS de mon blog l'auront remarqué, je ne poste pas vraiment régulièrement (j'espère m'améliorer, j'ai plein de sujets de geek à partager :) ). En fait, jusqu'à maintenant, je passais plus de temps à mettre à jour Wordpress pour éviter d'être à la traine niveau correction de failles de sécu. Si seulement c'était juste Wordpress, les plugins que j'utilisais devaient eux aussi subir une mise à jour pour suivre l'évolution des APIs de Wordpress. Et tout ne se passait pas toujours très bien :(.

Comme je suis dans ma période "revenons aux sources, pourquoi ai-je besoin de m'encombrer avec ce #$%@!!. de XXX ?" (remplacer XXX par Wordpress, Eclipse, OpenOffice ou tout autre soft qui finit immanquablement en usine à gaz), et que je suis un peu un geek sur les bords, je me suis dis que j'allais essayer Jekyll.

Qu'est ce que Jekyll ?

C'est un petit outil écrit en Ruby qui à partir de templates Liquid et de fichiers Markdown (ça ressemble à une syntaxe de Wiki : voyez le source de ce post) génère un blog en statique que je dépose ensuite derrière un Apache.

Par où commencer ?

Je n'ai toutefois pas fait table rase, j'ai repris l'existant de mon Wordpress en commençant par migrer le système de commentaire sur le service Disqus à l'aide du plugin Wordpress qui va bien. Oui, un site avec des pages HTML en statique va avoir du mal à conserver les commentaires des posts! Je délègue donc, tout en me permettant une migration des commentaires tout en douceur :

  • Le plugin Disqus pour Wordpress a une fonction de migration,
  • Le nouveau site inclus ensuite Disqus avec les quelques lignes de Javascript qui vont bien.

Ensuite, un petit script permet d'extraire les posts de la base de données Wordpress pour les transformer en fichier Markdown. Le résultat n'est pas parfait, mais ça permet de débuter.

Le templating

Une fois les posts migrés, il reste encore à écrire les templates dans lesquels les articles (et autres pages) s'insèreront.

Rien de magique, du HTML, du CSS, une pincée de Javascript et un peu de Liquid pour faire quelques boucles, quelques conditions :

<div id="recent_posts" class="sidebar_section">
  <h4 class="sidebar_title">Recent posts</h4>
  <div class="sidebar_content">
    <ul>
    
    <li><a href="/2009/12/09/un-petit-tour-avec-xmonad">
          Un petit tour avec XMonad
    </a></li>
    
    <li><a href="/2009/11/09/migration-wordpress-jekyll">
          Migration de Wordpress vers Jekyll
    </a></li>
    
    <li><a href="/2008/05/24/utiliser-time-machine-avec-un-lecteur-reseau">
          Utiliser Time Machine avec un lecteur réseau
    </a></li>
    
    <li><a href="/2008/03/12/gerer-la-diffusion-de-la-musique-de-son-neuros-osd-depuis-son-pc">
          Gérer la diffusion de la musique de son Neuros OSD depuis son PC
    </a></li>
    
    <li><a href="/2008/03/10/first-beta-of-jabber-mail-component-v03">
          First beta of Jabber Mail Component v0.3
    </a></li>
    
    </ul>
  </div>
</div>

Et donc ?

Oui, et donc ? Et bien je dirais que je me suis bien fait plaisir ;), j'ai passé un peu plus de temps que prévu quand même vu le niveau HTML+CSS que j'avais.

Le blog est versionné dans un repo Git, donc plus de problème de backup de base MySQL, de migration, de restauration approximative, un git clone suivi de rake suffit (j'utilise Rake pour générer quelques pages supplémentaires, et lancer la génération du site par Jekyll).

<< Archives | RSS Feed