Edit J’ai migré dorénavant ce blog vers Pelican Hugo
Après plusieurs recherches, je pense avoir trouvé mon moteur de blog, il se nomme rstblog, créé par Armin Ronacher, également auteur de Flask. Auparavant pour certains de mes autres sites, j’utilisais un CMS+Blog statique qui se nommait GetSimple. Mais allez savoir pourquoi, malgré la qualité de cette application web, je n’ai pas accroché ! Pendant mes recherches sur une alternative à Django, je suis tombé sur l’auteur de Flask qui a lui-même conçu son blog avec rstblog (normal me direz vous, il en est l’auteur :) )
rstblog c’est quoi
rstblog est un blog statique qui utilise la syntaxe rst (reStructuredText), celle-ci est sensiblement identique aux syntaxes wiki. Pourquoi avoir choisi rstblog ? Les raisons sont les suivantes :
- Sa simplicité et sa légèreté, on ne peut plus simple. L’écriture des billets se fait avec un simple éditeur de texte, pour ma part j’utilise emacs.
- Du full statique, pas de code exécuté sur le serveur (contrairement à GetSimple).
- Le générateur est en Python, ça tombe bien, j’aime ce langage :)
- Couplé avec git on peut d’une part historiser l’évolution du blog, mais également s’en servir comme outil de sauvegarde.
Installation
Afin d’éviter d’avoir des conflits avec des scripts python, j’ai pris l’habitude de créer un environnement virtuel, je vais donc créer un espace virtuel dédié pour rstblog
mkvirtualenv --no-site-packages -p python2.7 rstblog
pip install pyyaml babel blinker docutils jinja2 werkzeug pygments
Initialisation du blog
cd votre_blog
mkdir -p {static,_templates,2013/3/3}
wget -O static/style.css "https://raw.github.com/badele/blog.jesuislibre.org/master/img/2013/style.css"
wget -O _template/layout.html "https://raw.github.com/badele/blog.jesuislibre.org/master/_templates/layout.html"
nano config.yml
active_modules: [pygments, tags, blog]
author: Bruno Adele
canonical_url: http://blog.jesuislibre.org/
feed:
name: Famille de geeks
subtitle: Une famille complètement geek
modules:
pygments:
style: tango
Je crée ensuite une arborescence qui devrait ressembler au schéma ci-dessous.
blog.jesuislibre.org
├── 2013
│ ├── 2
│ ├── 19
│ │ ├── test-unitaire-automatise-lors-dun-push-sur-github.rst
│ │
│ └── 26
│ ├── decouverte-de-lenvironnement-arduino.rst
├── 2009
│ ├── 5
│ ├── 20
│ ├── naissance-dun-geek.rst
│ ├── export-vos-donnees-de-kphotoalbum-vers-iptc.rst
│ ├── generer-un-schema-xsd-depuis-un-fichier-xml.rst
│
│
├── a-propos.rst
├── config.yml
└── _templates
└── layout.html
Pour faciliter mes tâches répétitives, notamment le commit sur github ainsi que l’upload sur le serveur., je crée donc un Makefile.
clean:
rm -rf _build
build:
run-rstblog build
serve:
run-rstblog serve
push:
git push github master
upload:
rsync -a _build/ votrecompte@votreserveur:/home/votrerepertoire/
@echo "Done..."
Votre installation est maintenant terminée, il ne vous reste plus qu’à créer vos billets, comme cité plus haut, pour cela, j’utilise le couple Emacs + rest mode
Exemple de process pour la publication d’un billet.
cd votre_blog
workon rstblog
emacs 2013/3/3/votre_billet
make build serve # Pour tester votre blog avant publication sur localhost:5000
git commit
make clean build upload push # Pour upload sur votre serveur ainsi que sur github
En espérant que cela donnera aux indécis l’envie de passer le cap :)
Pas de commentaire