La migration d'Octopress vers DocPad, une histoire de temps !
octopress docpad migration markdown

Il y a quelques temps, j’ai fait la migration de Worpress vers Octopress, cependant je n’étais pas vraiment satisfait.

C’est un bon logiciel, forké de Jekyll, cependant je trouve qu’il est difficile à personnaliser et l’on se trouve souvent à avoir un blog qui ressemble à tous les utilisateurs d’Octopress.

J’ai donc pris la décison de migrer (encore une fois), vers une autre solution de publication basé Markdown. Cette fois ce sera DocPad.

DocPad est un moteur de génération de site écrit en CoffeeScript et fonctionne avec Node.js.

Initialisation de DocPad

Pour démarrer un site utilisant docpad, il suffit d’utiliser un site qui l’a déja mis en place, c’est ce qui est appelé un skeleton.

 > git clone https://github.com/docpad/twitter-bootstrap.docpad.git 

Ce squelette DocPad est un exemple de blog utilisant Twitter Bootstrap comme framework de style. Et accessoirement, c’est avec ce squelette que j’ai démarré la migration.

Une fois le projet cloné, vous devez télécharger les dépendances Node.js, comme d’habitude :

 > npm install

Les dépendnaces sont gérées comme toutes applications Node.js conforme au CommonJS, via un fichier package.json.

{
	"name": "twitter-bootstrap.docpad",
    .... (blah blah comme d'hab) ...
	"dependencies": {
		"docpad": "6.x",
		"docpad-plugin-cleanurls": "2.x",
		"docpad-plugin-coffeescript": "2.x",
		"docpad-plugin-eco": "2.x",
		"docpad-plugin-less": "2.x",
		"docpad-plugin-marked": "2.x",
		"docpad-plugin-partials": "2.x",
		"docpad-plugin-stylus": "2.x",
		"docpad-plugin-text": "2.x"
	},
	"devDependencies": {
		"docpad-plugin-livereload": "2.x"
	},
	"main": "node_modules/docpad/bin/docpad-server"
}

Le squelette utilise 9 plugins :

Vous pouvez dès à présent lancer la plateforme :

 > docpad run

Cette commande va exécuter le serveur docpad utilisé pour le développement, il s’agit d’un simple serveur de fichiers statics. La commande va d’abord procéder à la génération du site dans le répertoire de sortie out. Ce répertoire contient l’ensemble des fichiers nécessaire au site.

Vous pourrez accéder au site via http://localhost:9778

Structure d’un site DocPad

 +- out 			// Répertoire de sortie
 +- src 			// Répertoire contenant les sources à générer
 +- plugins 		// Répertoire optionnel contenant les plugins locaux
 docpad.coffee   	// Fichier contenant à la fois la configuration et les modifications du système
 package.json    	// Fichier CommonJS

Tous les fichiers contenu dans src sont soumis à la génération au travers de tous les plugins. C’est le plugin qui décidera en fonction de critères particuliers qu’il traitera le fichier et/ou le délguera au prochain dans la chaine de traitement.

Voilà c’est une présentation rapide et succinte, mais je reviendrai dans les détails en utilisant mon propre blog comme support d’exemple. En attendant, vous pouvez jetez un oeil sur le dépot Git : https://github.com/Zenithar/zenithar.docpad.

Je migre mon blog vers un autre générateur static appelé Hugo écrit en Go, et surtout 100 fois plus rapide que Docpad.
node.js golang docpad hugo tfidf

Vous avez un serveur mutualisé ? Vous utilisez un générateur de site static ? Plus d'upload complet à chaque article grâce à git-ftp.
git ftp linux docpad

Comme il n'y a que les imbéciles qui ne changent pas, et bien voila un carton de changement pour mon blog.
docpad bootstrap purecss flat