Le blog de Passionaqua

Mon p'tit chez moi où je raconte des p'tites choses

Mon passage à PyKwiki

Rédigé par Passionaqua.Web Aucun commentaire

Attention, cet article est assez vieux et peut ne plus être d'actualité. CE BLOG N'UTILISE PLUS CE MOTEUR DE RENDU, mais je laisse quand même une trace de mes anciens écrits.

Voilà, c'est maintenant fait. Je suis passé à un format statique pour mon blog. L'intérêt est multiple : pour moi, je trouve ça juste plus fun, mais ça me permet aussi de réduire la charge serveur au niveau du blog. Je vais peut-être pouvoir déplacer mon blog dans ma chambre, sur mon Raspberry Pi !

Donc ton blog, il tourne avec quoi là ?

Concrètement, juste un serveur HTTP. Pour ce faire, j'utilise PyKwiki, que j'ai découvert grâce à Julien Biaudet, qui a migré son blog Hal-9000.fr sous ce moteur de blog.

Utilisation de PyKwiki

PyKwiki, c'est simple : vous écrivez vos articles en Markdown puis vous exécutez PyKwiki qui génèrera le site HTML.

Il faut commencer par installer PyKwiki avec un simple # pip install pykwiki, ensuite il faut créer son projet avec $ pykwiki new TonProjet. Cette commande va créer l'environnement de base de votre projet.

Par la suite, il suffit d'aller dans le dossier créé TonProjet si on reste avec l'exemple. L'architecture est assez simple :

  • un dossier docroot/, qui est la racine à mettre sur Internet. Vous pouvez uploader le contenu du dossier sur un serveur, ou configurer un VirtualHost (ou autre, selon le serveur) qui pointe sur ce dossier.
  • un dossier source/, dossier qui contiendra vos fichiers .md, c'est-à-dire vos billets. Je vous conseille de nommer les fichiers en y indiquant la date, ça pourrait être plus pratique pour s'y retrouver.
  • un dossier themes/, qui contient le thème par défaut de PyKwiki. Je vous parle plus bas des thèmes.
  • Trois fichiers de configuration config.yaml, links.yaml et social.yaml. Ces trois fichiers servent simplement à configurer différents aspects de PyKwiki, comme les titres, descriptions, extension de fichiers, le menu et les différents liens sociaux.

Je vous fait part de mon petit problème avec Vim, qui ne me faisait pas du markdown syntax highlight pour les fichiers en .md, puisqu'il le fait par défaut que sur les .markdown. Il suffit de faire un :set syntax=markdown ou plus généralement d'éditer le .vimrc en y ajoutant cette ligne :

au BufRead,BufNewFile *.md set filetype=markdown

Configuration de PyKwiki

Les paramètres par défaut devrait fonctionner, mais c'est plus sympa d'avoir quelque chose de propre à soi même ! Concernant le fichier config.yaml je n'ai pas modifié grand chose à part author, description, keywords et title.

Pour avoir la page d'accueil avec la liste des posts, il faut initiliser home_page avec posts.html.

Concernant links.yaml, la structure est très simple : le nom du lien à afficher, le type d'URL (si c'est un post, mettre post: NomDuPost ; une adresse, href: /cequejeveux.html). Je vous laisse vous référer à la documentation sur links.yaml pour plus d'options.

Ensuite, pour social.yaml c'est assez simple à remplir, il suffit de remplacer la valeur null en face des variables que vous souhaitez remplir, ce qui donne par exemple twitter_name: passionaqua dans mon cas. À noter que l'on peut renseigner des IDs Google Analytics, il serait intéressant de voir s'il est possible de modifier tout ça pour avoir Piwik à la place !

Les thèmes

Pour les thèmes, c'est simple, jetez un oeil sur la page les mettant en avant sur le site officiel, choisissez en un et faite un simple $ pykwiki theme install <nom du thème>. Il faut penser ensuite à modifier config.yaml pour sélectionner le thème !

Pour exécuter PyKwiki, il suffit de faire $ pykwiki cache. Vous pouvez visualiser rapidement le résultat en faisant fonctionner un serveur HTTP Python : dans le dossier docroot/ exécuter $ python -m SimpleHTTPServer 5000 puis se rendre à l'adresse http://localhost:5000/.

Voilà c'est tout pour moi, je vous laisse jeter un oeil sur le site de PyKwiki pour de plus larges informations. :)

Fil RSS des articles de ce mot clé