Comme nous venons de le voir en créant nos premiers articles, un ensemble de données appelé métadonnées servent à définir certains paramètres concernant l’article, comme par exemple son titre ou encore sa date de parution. Nous allons voir dans cette partie les différents moyens utilisables pour définir ces données.
Sommaire
Dans l’entête du fichier
Le premier moyen mis à notre disposition (et le plus flexible) pour ajouter des données de contexte à notre article est de les placer avant le corps de notre contenu. Pour cela, il suffit de présenter les informations sous la forme d’une liste « clé:valeur », avec une donnée par ligne.
Données simples
En premier lieu, on trouve des données « simples », composées juste d’un texte. On trouve par exemple le titre, la description ou la catégorie de l’article :
Title: Mon superbe article
Summary: Voici un article absolument génial pour présenter les choses !
Category: Cookie
On trouve aussi des données qui doivent uniquement être en « un seul mot », donc avec les espaces représentés par des tirets ( - ) ou des underscores ( _ ). C’est le cas notamment du slug cette chaîne représentant l’identifiant unique de l’article (qui est souvent extrapolé à partir du titre).
Title: Mon superbe article
Slug: mon-superbe-article
Des listes
On peut aussi rencontrer des listes, comme par exemple une liste de tags pour thématiser notre article ou encore une liste d’auteurs. Dans ce cas, le caractère de séparation sera la virgule
Tags: cuisine, dessert, cookies
Authors: Eskimon, Clementine Sanspepins, Jean Bonbeurre
Si jamais vos listes contiennent des textes avec des virgules, alors vous devez utiliser le
;
comme séparateur.
Des dates
Afin d’informer les lecteurs de la fraîcheur de nos contenus, la date de publication est essentielle ! La date de modification peut elle aussi être utile. Les dates sont des contenus particuliers puisqu’elles doivent être rédigées sous une forme compatible avec le sous-ensemble ISO 8601 . Les différents formats sont :
-
Année uniquement :
AAAA
(exemple :2018
) -
Année et mois :
AAAA-MM
(exemple :2018-06
) -
Date complète :
AAAA-MM-JJ
(exemple :2018-06-04
) -
Date complète + heures et minutes :
AAAA-MM-JJThh:mmTZD
(exemple :2018-06-04T15:28+01:00
) (Attention auT
séparant date et heure ainsi qu’à l’indicateur de timezone) -
Date complète + heures, minutes, secondes :
AAAA-MM-JJThh:mm:ssTZD
(exemple :2018-06-04T15:30:25+01:00
) -
Date complète + heures, minutes, secondes et une fraction de seconde :
AAAA-MM-JJThh:mm:ss.sTZD
(exemple :2018-06-04T15:31:26.42+01:00
)
Par exemple pour un article paru le 6 mai 2018 et mis à jour le 25 décembre 2018 :
Date: 2018-05-06
Modified: 2018-12-25
Le format horaire peut aussi être exprimé en
UTC
, dans ce cas il faut supprimer la partie ajoutant l’heure et mettre un Z à la place. Ainsi,
2018-06-04T15:28+01:00
devient
2018-06-04T14:28Z
Voici un aperçu des métadonnées les plus usuelles. Vous aurez remarqué qu’elles sont en anglais . Si jamais vous souhaitez ajouter des données supplémentaires, vous être libre de le faire ! La seule condition est que la clé soit en un seul mot (par exemple une clé "lien canonique" pourrait être notée "lien _ canonique").
Seul le titre est obligatoire. Toutes les autres données seront extrapolées des données du fichier lui-même si jamais elles sont absentes. Voyons cela.
Via le contexte du fichier
Comme expliqué un peu plus tôt, seul le titre (
Title
) est obligatoire. Le reste est alors lu à partir des données du fichier et sous couvert que le fichier de configuration
pelicanconf.py
est bien paramêtré. Voyons cela.
Date de l’article
Si aucune date n’est présente dans les metadonnées, alors ce sera la date de création du fichier qui sera prise en compte. Il faut pour cela que le paramètre de configuration
DEFAULT_DATE
ai pour valeur
fs
(signifiant
filesystem
).
'DEFAULT_DATE' = 'fs'
Le champ
Modified
n’exploite pas les données du fichier. Il aura la même valeur que
Date
s’il n’est pas précisé.
La catégorie
La catégorie de l’article (
Category
) peut-être devinée via le chemin du fichier. Un document "choco-banane.md" situé dans le dossier "cookie" (
content/cookie/choco-banane.md
) sera alors rangé dans la catégorie "cookie".
Si jamais le paramètre de configuration
USE_FOLDER_AS_CATEGORY
est à
False
alors le champ
DEFAULT_CATEGORY
prend le relais.
Slug et autres
Le nom du fichier peut-être paramétré pour retirer des données. Par exemple on pourrait vouloir que le nom de notre fichier soit aussi le slug de l’article. Pour cela, il faut régler le paramètre
FILENAME_METADATA
de façon à décrire "où" sont les données dans le fichier. Si par exemple le fichier s’appelle
2018-05-06_de-bons-cookies.md
et que
FILENAME_METADATA = '(?P<date>\d{4}-\d{2}-\d{2})_(?P<slug>.*)'
, pelican automatiquement pourra sortir la date au format AAAA-MM-JJ puis le slug.
Summary
Le champ
Summary
quant à lui exploitera directement le début de l’article pour se former automatiquement s’il n’est pas spécifié. Un paramètre de configuration,
SUMMARY_MAX_LENGTH
, permet de régler le nombre de mots du début de l’article seront utilisé pour construire le résumé.
Dernière information importante, les données précisé dans l’entête de l’article ont toujours la priorité.
Vous avez maintenant toutes les cartes en mains pour paramétrer vos articles, il ne restent plus qu’à les écrire ! Pour cela, le prochain chapitre vous propose d’aller à la découverte des différents formats vous permettant de rédiger.