pelican/docs/fr/themes.rst
2012-07-27 00:27:08 +02:00

171 lines
7.4 KiB
ReStructuredText

.. _theming-pelican:
Cette page est une traduction de la documentation originale, en anglais et
disponible `ici <../themes.html>`_.
Comment créer des thèmes pour Pelican
#####################################
Pelican utlise le très bon moteur de template `jinja2 <http://jinja.pocoo.org>`_
pour produire de l'HTML. La syntaxe de jinja2 est vraiment très simple. Si vous
voulez créer votre propre thème, soyez libre de prendre inspiration sur le theme
"simple" qui est disponible `ici
<https://github.com/getpelican/pelican/tree/master/pelican/themes/simple/templates>`_
Structure
=========
Pour réaliser votre propre thème vous devez respecter la structure suivante ::
├── static
│   ├── css
│   └── images
└── templates
├── archives.html // pour afficher les archives
├── article.html // généré pour chaque article
├── categories.html // doit lister toutes les catégories
├── category.html // généré pour chaque catégorie
├── index.html // la page d'index, affiche tous les articles
├── page.html // généré pour chaque page
├── tag.html // généré pour chaque tag
└── tags.html // doit lister tous les tags. Peut être un nuage de tag.
* `static` contient tout le contenu statique. Il sera copié dans le dossier
`theme/static`. J'ai mis un dossier css et un image, mais ce sont juste des
exemples. Mettez ce dont vous avez besoin ici.
* `templates` contient tous les templates qui vont être utiliser pour générer les
pages. J'ai juste mis les templates obligatoires ici, vous pouvez définir les
vôtres si cela vous aide à vous organiser pendant que vous réaliser le thème.
Vous pouvez par exemple utiliser les directives {% include %} et {% extends %}
de jinja2.
Templates et variables
======================
Cela utilise une syntaxe simple, que vous pouvez insérer dans vos pages HTML.
Ce document décrit les templates qui doivent exister dans un thème, et quelles
variables seront passées à chaque template, au moment de le générer.
Tous les templates recevront les variables définies dans votre fichier de
configuration, si elles sont en capitales. Vous pouvez y accéder directement.
Variables communes
------------------
Toutes ces variables seront passées à chaque template.
============= ===================================================
Variable Description
============= ===================================================
articles C'est la liste des articles, ordonnée décroissante
par date. Tous les éléments de la liste sont des
objets `Article`, vous pouvez donc accéder à leurs
propriétés (exemple : title, summary, author, etc).
dates La même liste d'articles, ordonnée croissante par
date.
tags Un dictionnaire contenant tous les tags (clés), et
la liste des articles correspondants à chacun
d'entre eux (valeur).
categories Un dictionnaire contenant toutes les catégories
(clés), et la liste des articles correspondants à
chacune d'entre elles (valeur).
pages La liste des pages.
============= ===================================================
index.html
----------
La page d'accueil de votre blog, sera générée dans output/index.html.
Si la pagination est activée, les pages suivantes seront à l'adresse
output/index`n`.html.
=================== ===================================================
Variable Description
=================== ===================================================
articles_paginator Un objet paginator de la liste d'articles.
articles_page La page actuelle d'articles.
dates_paginator Un objet paginator de la liste d'articles, ordonné
par date croissante.
dates_pages La page actuelle d'articles, ordonnée par date
croissante.
page_name 'index'.
=================== ===================================================
category.html
-------------
Ce template sera généré pour chaque catégorie existante, et se retrouvera
finalement à output/category/`nom de la catégorie`.html.
Si la pagination est activée, les pages suivantes seront disponibles à
l'adresse output/category/`nom de la catégorie``n`.html.
=================== ===================================================
Variable Description
=================== ===================================================
category La catégorie qui est en train d'être générée.
articles Les articles dans cette catégorie.
dates Les articles dans cette catégorie, ordonnés par
date croissante.
articles_paginator Un objet paginator de la liste d'articles.
articles_page La page actuelle d'articles.
dates_paginator Un objet paginator de la liste d'articles, ordonné
par date croissante.
dates_pages La page actuelle d'articles, ordonnée par date
croissante.
page_name 'category/`nom de la catégorie`'.
=================== ===================================================
article.html
-------------
Ce template sera généré pour chaque article. Les fichiers .html seront
disponibles à output/`nom de l'article`.html.
============= ===================================================
Variable Description
============= ===================================================
article L'objet article à afficher.
category Le nom de la catégorie de l'article actuel.
============= ===================================================
page.html
---------
Pour chaque page ce template sera généré à l'adresse
output/`nom de la page`.html
============= ===================================================
Variable Description
============= ===================================================
page L'objet page à afficher. Vous pouvez accéder à son
titre (title), slug, et son contenu (content).
============= ===================================================
tag.html
--------
Ce template sera généré pour chaque tag. Cela créera des fichiers .html à
l'adresse output/tag/`nom du tag`.html.
Si la pagination est activée, les pages suivantes seront disponibles à
l'adresse output/tag/`nom du tag``n`.html
=================== ===================================================
Variable Description
=================== ===================================================
tag Nom du tag à afficher.
articles Une liste des articles contenant ce tag.
dates Une liste des articles contenant ce tag, ordonnée
par date croissante.
articles_paginator Un objet paginator de la liste d'articles.
articles_page La page actuelle d'articles.
dates_paginator Un objet paginator de la liste d'articles, ordonné
par date croissante.
dates_pages La page actuelle d'articles, ordonnée par date
croissante.
page_name 'tag/`nom du tag`'.
=================== ===================================================