Jekyll - Simple, blog-aware, static sites
Architecture
Projet Jekyll
Pour commencer sur Jekyll, il suffit de créer un nouveau projet. Ce projet va générer l'architecture de fichier suivante :

Figure 1 - Architecture d'un projet
Les différents répertoires et fichiers du projet on chacun leurs utilités :
- /_posts : Ce dossier va contenir les différents articles qui vont composer notre site. Ces articles peuvent être au format markdown ou textile (ou autre à l'aide de plugins) et devront suivre la nomenclature suivante : YYYY-MM-JJ-mon-super-article.md
- /_includes : Ce dossier contiendra des blocs de code HTML que l'on souhaitera utiliser à plusieurs endroits à l'aide du bloc liquid include {% include _social.html %}
- /_layouts : Ce dossier va contenir des pages HTML utilisées lorsque l'on précisera un layout dans nos fichier HTML, elles peuvent elles-même faire appelle à d'autres layouts.
- _configs.yml : Ce fichier permet de stocker la configuration du site. Tous les attributs définit dans ce fichier seront accessible dans les fichiers html en faisant site.
Répertoires des articles
Jekyll interprétera les fichiers en fonction des extensions et les transformera en .html, il est possible de changer le parser par défaut dans _config.yml (rdiscount, kramdown ou redcarpet)
Les posts doivent se trouver dans le dossier _posts, ils peuvent être écrit en Markdown ou en Textile.
Pour ajouter un article, il faut créer un fichier ANNEE-MOIS-JOUR-titre.md ou ANNEE-MOIS-JOUR-titre.textile (donc par exemple 2013-03-10-Titre-de-mon-article.md).
Les pages commence par quelques lignes de YAML pour la configuration. Les formats Markdown et Textile sont relativement simple, il n’y a pas de code HTML à écrire, le code est généré lors de la génération de la page.
Les templates HTML
Il existe 2 répertoires pour gérer les templates HTML sur notre site. /_includes et /_layouts
Le répertoire _includes stocke les blocs HTML ré-utilisables, il posséde par défaut 3 fichiers HTML :

Figure 2 - Contenu du Répertoire /_includes
Le répertoire _layouts contient les templates que nos pages vont utilisés. On remarque que ces templates utilise les bout de code HTML définit dans notre répertoire /_includes.

Figure 3 - Template par défaut
Pour utilisé ces templates dans nos pages HTML il suffit de les définir dans le bloc YML layout : default
Répertoires des articles
Jekyll interprétera les fichiers en fonction des extensions et les transformera en .html, il est possible de changer le parser par défaut dans _config.yml (rdiscount, kramdown ou redcarpet)
Les posts doivent se trouver dans le dossier _posts, ils peuvent être écrit en Markdown ou en Textile.
Pour ajouter un article, il faut créer un fichier ANNEE-MOIS-JOUR-titre.md ou ANNEE-MOIS-JOUR-titre.textile (donc par exemple 2013-03-10-Titre-de-mon-article.md).
Les pages commence par quelques lignes de YAML pour la configuration. Les formats Markdown et Textile sont relativement simple, il n’y a pas de code HTML à écrire, le code est généré lors de la génération de la page.
Configuration du site
Pour configurer LA génération de notre site, on peut modifier le fichier _config.yml afin d'y ajouter des fonctionnalités à notre convenance.
On peut définir des variables personnalisées dans ce fichier qui seront ensuite accessible avec la syntaxe Liquid :
- Des variables personnalisées
- Des variables d’informations (title, email, …etc)
- Des variables de configuration (permalink, markdown, …etc)

Figure 4 - Exemple de configuration
Ce fichier est l’un des plus importants pour votre site, car il détermine la manière dont Jekyll va être éxécuté.