Modèles de Page Unique
Ordre de Recherche de Modèle de Page Unique
Vous pouvez spécifier le type de contenu et le layout dans un fichier de contenu front matter. Toutefois, vous ne pouvez pas spécifier section car cela est déterminé en fonction de l’emplacement du fichier (voir section contenu).
Hugo suppose que votre section de contenu et le type de contenu sont les mêmes, à moins que vous ne le dites à Hugo en fournissant un type directement dans le front matter d’un fichier de contenu. C’est pourquoi #1 et #3 arrivent avant #2 et #4, respectivement, dans la commande de recherche suivante. Les valeurs entre crochets (<>) sont variables.
/layouts/<TYPE>/<LAYOUT>.html/layouts/<SECTION>>/<LAYOUT>.html/layouts/<TYPE>/single.html/layouts/<SECTION>/single.html/layouts/_default/single.html/themes/<THEME>/layouts/<TYPE>/<LAYOUT>.html/themes/<THEME>/layouts/<SECTION>/<LAYOUT>.html/themes/<THEME>/layouts/<TYPE>/single.html/themes/<THEME>/layouts/<SECTION>/single.html/themes/<THEME>/layouts/_default/single.html
Exemple de Modèles de Page Unique
Les pages de contenu sont du type page et auront donc toutes les variables de page et variables de site disponibles dans leurs modèles.
post/single.html
Ce modèle de page unique utilise les modèles de base de Hugo, la fonction .Format pour les dates, la variable de page .WordCount et varie selon les taxonomies spécifiques du contenu unique. with est également utilisé pour vérifier si les taxonomies sont définies dans le front matter.
{{ define "main" }}
<section id="main">
<h1 id="title">{{ .Title }}</h1>
<div>
<article id="content">
{{ .Content }}
</article>
</div>
</section>
<aside id="meta">
<div>
<section>
<h4 id="date"> {{ .Date.Format "Mon Jan 2, 2006" }} </h4>
<h5 id="wordcount"> {{ .WordCount }} Words </h5>
</section>
{{ with .Params.topics }}
<ul id="topics">
{{ range . }}
<li><a href="{{ "topics" | absURL}}{{ . | urlize }}">{{ . }}</a> </li>
{{ end }}
</ul>
{{ end }}
{{ with .Params.tags }}
<ul id="tags">
{{ range . }}
<li> <a href="{{ "tags" | absURL }}{{ . | urlize }}">{{ . }}</a> </li>
{{ end }}
</ul>
{{ end }}
</div>
<div>
{{ with .PrevInSection }}
<a class="previous" href="{{.Permalink}}"> {{.Title}}</a>
{{ end }}
{{ with .NextInSection }}
<a class="next" href="{{.Permalink}}"> {{.Title}}</a>
{{ end }}
</div>
</aside>
{{ end }}
Pour générer facilement de nouvelles instances d’un type de contenu (par exemple, les nouveaux fichiers .md dans une section comme project/) avec un front matter préconfiguré, utilisez les archétypes de contenu.