Types de Contenus
Un type de contenu peut avoir un ensemble unique de métadonnées (par ex., front matter) ou un modèle et peut être créé par la commande hugo new via les archetypes.
Qu’est-ce Qu’un Type de Contenu
Tumblr est un bel exemple de site web avec plusieurs types de contenus. Un morceau de “contenu” pourrait être une photo, une citation, ou un article, chacun avec différents ensembles de métadonnées et différents rendus visuels.
Assigner un Type de Contenu
Hugo suppose que votre site sera organisé en sections et que chaque section représente un type de contenu correspondant. Il s’agit de réduire la configuration nécessaire aux nouveaux projets Hugo.
Si vous tirez profit de ce comportement par défaut, chaque nouvelle partie de contenu que vous placez dans une section héritera automatiquement du type. Par conséquent, un nouveau fichier créé sur content/articles/nouvel-article.md recevra automatiquement le type articles. Alternativement, vous pouvez définir le type de contenu dans le front matter d’un fichier de contenu dans le champ “type”.
Créer le Nouveau Contenu d’un Type Spécifique
Vous pouvez ajouter manuellement des fichiers à vos répertoires de contenu, mais Hugo peut créer et remplir un nouveau fichier de contenu avec un front matter préconfiguré via archétypes.
Définir un Type de Contenu
Créer un nouveau type de contenu est facile. Vous définissez simplement les modèles et l’archetype unique pour votre nouveau type de contenu, ou Hugo utilisera ceux par défaut.
Les exemples suivants vous permettent de passer par étapes en créant une nouvelle mise en page de type pour un fichier de contenu contenant le front matter suivant :
+++
title = My first event
date = "2016-06-24T19:20:04-07:00"
description = "Aujourd'hui, j'ai 36 ans. Comme le temps file."
type = "event"
layout = "birthday"
+++
Par défaut, Hugo suppose *.md sous events est du type de contenu events. Néanmoins, nous avons spécifié que ce fichier particulier sur content/events/my-first-event.md est de type event et devrait s’afficher en utilisant le layout birthday.
Créer un Dossier de Layout pour le Type
Créez un dossier avec le nom du type dans /layouts. Pour créer ces layouts personnalisés, type est toujours au singulier ; par ex., articles => article, events => event et posts => post.
Pour cet exemple, vous devez créer layouts/event/birthday.html.
Créer des Vues
De nombreux sites prennent en charge le rendu du contenu de plusieurs façons différentes ; Ppar exemple, une vue de page unique et une vue récapitulative à utiliser lors de l’affichage d’une liste de contenu de section.
Hugo limite les hypothèses sur la façon dont vous souhaitez afficher votre contenu dans un ensemble intuitif par défaut et soutiendra autant de vues différentes d’un type de contenu que votre site requiert. Tout ce qui est nécessaire pour ces vues supplémentaires est qu’un modèle existe dans chaque répertoire /layouts/<TYPE> avec le même nom.
Ordre de Recherche Personnalisé des Types de Contenu
L’ordre de recherche des modèles pour content/events/my-first-event.md serait comme suit :
layouts/event/birthday.htmllayouts/event/single.htmllayouts/events/single.htmllayouts/_default/single.html
Créer un Archétype Correspondant
Nous pouvons alors créer un archétype personnalisé avec un front matter préconfiguré sur event.md dans le répertoire /archetypes ; c’est-à-dire archetypes/event.md.
Lire Archétypes pour plus d’informations sur l’utilisation de l’archétype avec hugo new.