Les métadonnées

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.

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 au T 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.