Jekyll est un générateur de sites statiques orienté blog écrit en Ruby, utilisé nativement par GitHub Pages.
Arborescence des répertoires
├── _config.yml # Configuration globale du site
├── _drafts/ # Brouillons non publiés
├── _includes/ # Fragments de modèles réutilisables
├── _layouts/ # Gabarits de mise en page
├── _posts/ # Articles publiés (YYYY-MM-DD-title.md)
├── _data/ # Fichiers de données JSON/YAML structurées
├── _site/ # Sortie HTML statique générée
└── index.md # Fichier d’entrée de l’accueil
YAML Front Matter
---
layout: post
title: "Announcing Version 2.0"
date: 2026-11-08 10:00:00 +0800
categories: news tech
tags: [release, ruby]
published: true
---
Syntaxe de modèle Liquid
Affichage et variables
{{ site.title }}
{{ page.title }}
{{ content }}
{{ post.date | date: "%B %d, %Y" }}
Flux de contrôle et itération
{% if page.comments %}
{% include comments.html %}
{% endif %}
{% for post in site.posts limit:5 %}
<h2><a href="{{ post.url }}">{{ post.title }}</a></h2>
<p>{{ post.excerpt }}</p>
{% endfor %}
Filtres courants
| Filtre | Description | Exemple |
|---|---|---|
date: "%Y-%m-%d" |
Formater un horodatage | {{ page.date | date: "%Y" }} |
truncate: 100 |
Tronquer une chaîne avec ellipse | {{ post.content | truncate: 100 }} |
strip_html |
Supprimer tout balisage HTML | {{ post.content | strip_html }} |
jsonify |
Sérialiser des données en JSON | {{ site.data.authors | jsonify }} |
markdownify |
Convertir Markdown en HTML | {{ text | markdownify }} |
Référence des variables globales
site.posts: Liste chronologique inversée de tous les articles.site.pages: Liste de toutes les pages statiques.site.html_pages: Sous-ensemble desite.pagesproduisant du HTML.site.data: Données brutes chargées depuis_data/*.yml.site.time: Horodatage de la génération en cours.