Ceci est le premier post sous PyBlosxom

       This is my first post with PyBlosxom.

Comme ils disent...

Si tu vois ça, ça veut dire que j'ai réussi à faire une redirection cgi-bin sous Apache2, chose que je n'ai jamais faîte avant ! En plus de ça, si ça s'affiche direct, c'est que j'ai réussi à régler tous les problèmes d'encodage !!

Voilà, ce premier post est sous PyBlosxom... et en HTML à la main s'il vous plaît. Pourquoi changer ? En fait, à la base le test de pyblosxom est une expérimentation. Avec le temps, j'ai trouvé Serendipity assez lourd à gérer même avec son mode Wiki: écrire des vrais articles avec des photos et du code commenté est assez pénible. Comme pleins de gens semblaient utiliser pyblosxom ou blosxom, j'ai cru bon de faire un essai. Le concept me plaît bien: un script en Python, un seul fichier de conf, des articles sous forme de fichiers textes et c'est parti. Donc, me voilà avec mon Vim et mon fichier texte...

Avant de continuer, voici quels sont mes critères pour accepter PyBlosxom comme moteur de blog officiel:

  • Avoir une bonne gueule (genre celle du blog sous serendipity).
  • Trouver de quoi rédiger des billets en mode wiki.
  • Trouver de quoi coloriser du code, notamment le SQL pour les requêtes PostGIS.
  • Bien gérer l'encodage, particulièrement en UTF-8: je ne veux pas réencoder tous les fichiers servis par Apache !
  • Avoir de quoi publier à distance.
  • Avoir une gestion simple des images.
  • Permettre de gérer des arborescences de fichiers (pour les codes sources, les exemples de scripts, etc...).
  • Permettre d'ajouter du HTML direct dans les articles (bien pour les cartes dynamiques OpenStreetMap).
  • Permettre la reprise de tous les articles de Serendipity, à charge pour moi de conserver les bonnes URI permanentes (parce que n'oublions pas que les URL cool ne changent pas).

Mes premières investigations:

Encodage et RSS

Pour gérer l'encodage, j'utilise une balise meta qui indique le charset. Il faut placer cette balise dans le thème (flavour pour PyBlosxom) html et dans la partie head. J(y ai également inséré les éléments pour les flux RSS (balises link dans l'entête). Il ne me reste qu'à réaliser une icône favicon.

En plus de ça, j'ai bien travaillé sur la partie en-tête. En effet, de temps en temps, c'est bon de revenir aux fondammentaux: les recommandations du W3C. Voici quelques balises que j'ai ajoutées:

  • meta http-equiv="Content-Type" content="text/html; charset=utf-8"
  • meta name="description" content="$(blog_description)"
  • meta name="author" content="$(blog_author)"

Gestion de la rédaction en mode Wiki

Après avoir lu la documentation de pyblosxom, je vois qu'il existe plusieurs plugins permettant de faire ça. Dans la liste, je vois un truc que je ne connaissais pas: le plugin rst. Après plus amples investigations, rst signifie "reStructuredText". L'intérêt principal, c'est que sa syntaxe est très proche du Wiki. Dans le principe et après avoir consulté la QuickRefList, je vois que je maîtrise l'essentiel et que certaines fonctionnalités vont plus loin que ce que Serendipity pouvait faire.

Ce plugin agit au niveau du traitement des fichiers textes qu'il faut d'ailleurs renommer avec une extension .rst pour que la transformation se fasse. Du coup, je m'en vais l'installer. Il dépend du paquet python-docutils... Donc, après ce premier billet en HTML manuel, le reste devrait suivre en rst et en couleur...

Coloration syntaxique

En ce qui concerne la coloration syntaxique, il existe un module Python qui fait ça bien: il se nomme pygments. Il gère pas mal de langages différents dont le SQL qui m'intéresse. Son mode d'installation est très simple: aptitude install python-pygments

Références: