Welcome to (yeoman ?) Jekyll!
Ce premier article décrit de façon très brouillon l’installation de ce blog ainsi que mes notes que j’avais prises au fur et à mesure.
Je souhaitais quelque chose de très simple, sans base de données, même si le fait d’avoir une bdd n’ajoute pas forcément de complexité, mais au moins quelque chose de très condensé et très personnalisable. Jekyll paraissait une solution assez proche de cette vision et puis assez “geek”. Je me suis donc lancé sans vraiment réfléchir trop longtemps.
–
Installation
J’avais entendu parler d’un projet plutôt sympa : Yeoman. En gros, c’est un générateur de bootstrap qui vous installe plein de choses intéressantes (Sass et Grunt par exemple) pour débuter tous types de projets web. On choisit son générateur, dans ce cas précis, j’ai choisi le générateur generator-jekyllrb. Je vous laisse vous documenter pour l’installation de Yeoman et du générateur (mais avant pensez à installer Ruby), vous allez voir c’est très simple. Mais j’ai appris une chose, lorsqu’on suit des tutos, rien ne marche jamais comme prévu :)
Démarrer le serveur
Si tout fonctionne du premier coup, il suffit maintenant de lancer la commande grunt serve
pour compiler, minifier, lintifier, démarrer le serveur web, rendre le tout toubokomilfo,
et puis lancer le navigateur pour voir votre blog généré.
Lançons la commande :
Et voilà, on a déjà une couille, il y a un problème sur une des tâches grunt.
Bon, rien de grave, il suffit de changer la valeur de configuration
pygments
en highlighter
.
On corrige et on relance :
Du coup je suis allé voir les différentes issues github du projet, et il semblerait qu’une mise à jour de browserSync devrait suffire.
Il y a effectivement pas mal de choses qui ne sont pas à jour. On met à jour et on recommence :
Le serveur est enfin démarré et fonctionne… sauf que le css n’est pas pris en compte.
Voyons voir ce qu’un grunt build
nous rapporte :
Du coup si on remplit le fichier main.css, il est pris en compte. Bien évidemment, ce n’est pas le bon css qui devrait être utilisé. Je me rappelle avoir pris ces notes à ce moment là car il y avait des erreurs dans tous les sens :
Bon, autant vous le dire, j’étais en galère et j’avais perdu trois plombes à essayer de comprendre ce qu’il se passait.
La décision
A ce stade rien ne fonctionne comme ça le devrait. Le générateur Yeoman jekyllrb n’est à priori plus vraiment maintenu. La décision : je laisse tomber Yo et Grunt pour l’instant. Une installation classique de jekyll sans rien autour fonctionne très bien du premier coup (à condition d’avoir correctement installé Ruby), on verra plus tard pour peut-être ajouter Grunt en fonction de mes besoins et de mes goûts.
Yeoman est quand même sympa et pratique, à condition d’utiliser des générateurs “officiels” à jour et maintenus. Je le garde de côté…
La gestion des thèmes ?
De base, Jekyll ne gère pas différents thèmes (edit: depuis la version 3.2 si). Il existe jekyll-bootstrap qui permet à priori de le faire mais le projet semble lui aussi à l’abandon. Cela consiste à avoir un répertoire _themes
dans lequel chaque thème serait un sous répertoire. Au build, les fichiers seraient copiés dans les répertoires que Jekyll utilise. Certaines personnes parlent de gérer ça avec les branches git, une branche par thème. Je trouve cette façon à première vue pas top.
–
Conclusion
A force de vouloir chercher simple, je me suis compliqué la vie avec des outils annexes, qui ne sont pas forcément utiles pour l’instant pour mon blog. Un jekyll sans rien autour fonctionne très bien et répond parfaitement à mon besoin.
Arrêtons d’essayer de faire des choses complexes…