Installation

Installation de Jekyll

$gem install jekyll

Principales commandes de Jekyll

commandedesciption
jekyll new pathcrée un nouveau projet
jekyll buildgénère le site dans le répertoire site
jekyll servelance 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*

ConfigurationsDescriptions
source: DIRrépertoire source
desination : DIRrépertoire de destination
safe: BOOLdésactiver les plugins personalisés
exclude : DIRE,FILE, …exclure les fichiers de la conversion
include : DIR,FILEforce l’inclusion de fichiers (utile pour .htaccess)
timeZone: TIMEZONEla zone de temps à utiliser pour générer les dates du site (Europe/Paris pour la France)

Repertoires de Jekyll

RepertoiresDescriptions
includesContient des extraits de pages réutilisables. Ils sont intégrés avec la commande {% include file.ext %}
layoutsContient les templates qui enveloppent le contenu au niveau du tag {{ content }}
postContenu dynamique du site, ils doivent respecter le format du nom de fichier : YEAR-MONTH-DAY-title.MARKUP (ex 2013-05-30-Ma_Page.md)
sitecontient 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 : {{ page.title }}

Variables prédéfinies :

VariablesDescriptions
layoutle modèle à utiliser
permalinkpour redéfinir l’adresse de la page
publishedfalse indique qu’il ne doit pas être publié
categoryrange l’article dans une catégorie
categoriesrange l’article dans plusieurs catégories
tagsattribue des tags à la page
datepour les posts, redéfinie la date indiqué par le nom du fichier
excerptle résumé de l’article
siteles informations du site et les informations du fichier config.yml*
pageles informations de la page et les informations contenues dans le YAML Front matter
contentinclu 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

Références

Notes

notes
  • 23 Juin, 2013 » Git
  • 02 Juin, 2013 » Jekyll