Installation
Installation de Jekyll
$gem install jekyll
Principales commandes de Jekyll
commande | desciption |
---|---|
jekyll new path | crée un nouveau projet |
jekyll build | génère le site dans le répertoire site |
jekyll serve | lance le serveur en local sur le port 4000 |
Pour lancer le serveur depuis Cloud9 :
Jekyll serve –host $IP –port $PORT
Fichier de configuration config.yml
les options de configuration sont indiquées dans le fichier config.yml*
Configurations | Descriptions |
---|---|
source: DIR | répertoire source |
desination : DIR | répertoire de destination |
safe: BOOL | désactiver les plugins personalisés |
exclude : DIRE,FILE, … | exclure les fichiers de la conversion |
include : DIR,FILE | force l’inclusion de fichiers (utile pour .htaccess) |
timeZone: TIMEZONE | la zone de temps à utiliser pour générer les dates du site (Europe/Paris pour la France) |
Repertoires de Jekyll
Repertoires | Descriptions |
---|---|
includes | Contient des extraits de pages réutilisables. Ils sont intégrés avec la commande {% include file.ext %} |
layouts | Contient les templates qui enveloppent le contenu au niveau du tag {{ content }} |
post | Contenu dynamique du site, ils doivent respecter le format du nom de fichier : YEAR-MONTH-DAY-title.MARKUP (ex 2013-05-30-Ma_Page.md) |
site | contient les fichiers du le site généré. |
Les fichiers index.html, autres fichiers html, markdown etc.. avec une entête YAML Front-matter sont utilisés et transformé pour générer le site.
Les dossiers css, img etc… sont copiés tels quels dans le site généré.
YAML Front Matter
Jekyll utilise les informations contenues dans les entête YAML des fichiers. Elles doivent être imbriquées entre deux lignes contenant ”—”
exemple :
---
layout: post
title: Titre de la page
---
L’entête peut contenir des variables prédéfinies ou des variables personnalisées réutilisables dans le contenu.
Exemple d’utilisation des variables personnalisées :
Variables prédéfinies :
Variables | Descriptions |
---|---|
layout | le modèle à utiliser |
permalink | pour redéfinir l’adresse de la page |
published | false indique qu’il ne doit pas être publié |
category | range l’article dans une catégorie |
categories | range l’article dans plusieurs catégories |
tags | attribue des tags à la page |
date | pour les posts, redéfinie la date indiqué par le nom du fichier |
excerpt | le résumé de l’article |
site | les informations du site et les informations du fichier config.yml* |
page | les informations de la page et les informations contenues dans le YAML Front matter |
content | inclu dans le layout les rendu des posts et pages |
plus d’information ici http://jekyllrb.com/docs/variables/
lancement du serveur depuis cloud9
jekyll serve --host $IP --port $PORT
Utilisation
Creation d’ articles
Les articles doivent être stockés dans le repertoire posts et leur nom de fichier doit être du format : YEAR-MONTH-DAY-title.MARKUP Ils peuvent être écrit au format Markdown ou au format Textile.
Markdown
Utilisation d’ images et de fichiers
Les images et les fichiers peuvent être stocker dans un répertoire à la racine du projet (img, assets download etc ..). la variable {{ site.url }} peut être utilisée pour indiquer le chemin du document.
exemple:
![My helpful screenshot]({{ site.url }}/assets/screenshot.jpg)
Liquid
Jekyll utilise le moteur de templates liquid https://github.com/Shopify/liquid
afficher du code
Le tag raw est utilisé pour indiquer à Liquid les portions de textes à ne pas interpréter :
{% raw %}
code non interprété {{ok}}
{% endra w %}
afficher un index d’articles
Le moteur de template ” Liquid template language permet :
<ul>
{% for post in site.posts %}
<li>
<a href="{{ post.url }}">{{ post.title }}</a>
<p>{{ post.excerpt }}</p>
</li>
{% endfor %}
</ul>
Creation de pages
La page par défaut du site et le fichier index.html les pages utilisent les mêmes techniques de compositions que pour les articles.
Installer Jekyll sur Windows
http://forresst.github.io/2012/03/20/Installer-Jekyll-Sous-Windows/
http://dev.twixer.fr/tuto/2013/05/09/jekyll-sur-windows/
commande à taper dans la console Windows pour la prise en compte de l’UTF8:
set LC_ALL=en_US.UTF-8
set LANG=en_US.UTF-8