Pour mettre en place mon site personnel, j’ai installé Jekyll sur une VM Debian, et sur la Raspbian de mon Raspberry Pi 2. Voilà comment j’ai procédé.
Installer les dépendances
Jekyll est basé sur une gem Ruby. Il faut donc commencer par installer Ruby pour ensuite pouvoir installer Jekyll. Tout est dans les depôts, on peut le faire en quelques commandes.
Pour installer Ruby :
Pour installer Jekyll :
Je suis conscient que dans certains cas, ces commandes ne suffisent pas. Par exemple si vous êtes sur une autre distribution ou bien si vous n’êtes pas sous linux. Dans ce cas, je vous recommande d’aller chercher dans la documentation de Ruby ou de Jekyll.
D’autre part, l’installation peut sans doute être faite plus finement. Par exemple, pour avoir plusieurs versions de Ruby sur une machine, ou bien pour avoir les dernières fonctionnalités. Je ne l’explique pas, puisque ça ne fait pas partie du cadre de l’article, de plus, je n’ai pas eu ce problème.
Un premier site avec Jekyll
Maintenant que Jekyll est installé et fonctionne correctement, on va générer un nouveau projet. Il suffit d’exécuter la commande suivante :
Celle-ci aura pour effet de créer un dossier myblog dans lequel il y aura un projet Jekyll minimaliste.
Pour traduire le projet Jekyll en pages HTML statiques, on utilise la commande build.
Cette commande construit les pages HTML du site et les places dans le répertoire _site
.
Il est aussi possible de spécifier d’autres répertoires pour le site source et les pages générées. Grâces aux paramètres --source
et --destination
. Enfin, l’option --watch
permet de régénérer automatiquement le site suite à la détection d’un changement de ses sources.
Pour la phase de développement, Jekyll propose un serveur web intégré. Il permet de se rendre compte, en local, de l’aspect du site pendant qu’on le code. Je précise que ce serveur n’est pas adapté pour un environnement de production. Dans ce cas il faudrait se tourner vers quelque chose comme Apache, ou bien nginx.
Pour lancer le serveur :
Cette commande va générer le site dans le répertoire _site
et le servir à l’adresse http://localhost:4000/
. De plus, il va automatiquement le régénérer en cas de changement d’un des fichiers sources. Le serveur web sera exécuté dans le terminal. Pour l’arrêter il faudra faire la combinaison Ctrl + C
. Pour détacher ce processus du terminal on peut utiliser l’option --detach
. Dans ce cas il faudra lui envoyer un signal kill pour l’éteindre.
Organisation des fichiers
Le répertoire généré contient un ensemble des dossiers et de fichiers. Chacun a une fonction bien précise.
- _config.xml
-
Contient les paramètres globaux du site. Par exemple son titre ou l’email du webmaster. Il est possible de choisir de nouveaux paramètres à intégrer dans ce fichier. Ils seront accessibles depuis le code du site via la variable
site
. - _includes
-
Contient des templates partiels que l’on peut inclure dans d’autres pages pour éviter de dupliquer du code.
- _layouts
-
Contient les templates du site. Par exemple le template général du site, celui qui décrit sa structure de base. On peut aussi y mettre dans templates plus spécifiquement pour un type de page. Par exemple, un pour les pages, et un pour les articles.
- _posts
-
Contient les articles du site formatés selon nos préférences. Les noms des fichiers présents dans ce dossier doivent respecter une convention de nommage.
ANNEE-MOIS-JOUR-titre.FORMAT
. Par exemple :2009-04-26-demarrage-jekyll.md
- _site
-
Contient, par défaut, les fichiers HTML généré du site.
- Fichiers à la racine ou dans des sous dossiers.
-
Chaque fichier à la racine du site dont l’extension est
.html
,.markdown
,.md
ou.textile
sera transformé par Jekyll en fichier HTML. - Dossiers à la racine ou dans des sous dossiers.
-
Les autres dossiers et fichiers seront recopiés tels quels dans le dossier de destination lors de la génération du site Jekyll. Par exemple, un dossier
css
contenant des fichiers.css
. - index.html
-
La page d’accueil du site. L’extension peut aussi être
.md
ou bien.textile
.
Pour en savoir plus
- Tom Preston-Werner. Jekyll - Installation [en ligne]. jekyllrb.com/docs/installation/ [Consulté le 05 Février 2016].
- Tom Preston-Werner. Jekyll - Quick-start guide [en ligne]. jekyllrb.com/docs/quickstart/ [Consulté le 05 Février 2016].
- Tom Preston-Werner. Jekyll - Directory structure [en ligne]. jekyllrb.com/docs/structure/ [Consulté le 05 Février 2016].
- Communauté Ruby. Installer Ruby [en ligne]. www.ruby-lang.org/fr/documentation/installation/ [Consulté le 05 Février 2016].
Pour savoir comment écrire un article : Créer un site avec Jekyll : Poster un article