Page
Voici une liste des variables au niveau de la page. Beaucoup d’entre elles seront définies dans le front matter, dérivées à partir de l’emplacement du fichier ou extraites du contenu lui-même.
Variables Page
.AlternativeOutputFormats- contient tous les formats alternatifs pour une page donnée ; cette variable est une liste
link relparticulièrement utile dans vos<head>de site. (Voir Formats Output.) .Content- le contenu lui-même, défini dans le front matter.
.Data- la data spécifique à ce type de page.
.Date- la date associée à la page ;
.Dateextrait du champdatedans un front matter de contenu. Voir aussi.ExpiryDate,.PublishDate, et.Lastmod. .Description- la description pour la page.
.Draft- une valeur booléenne,
truesi le contenu est marqué comme une ébauche dans le front matter. .ExpiryDate- la date à laquelle le contenu est programmé pour expirer ;
.ExpiryDates’extrait du champexpirydatedans un front matter de contenu. Voir aussi.PublishDate,.Date, et.Lastmod. .FuzzyWordCount- le nombre approximatif de mots dans le contenu.
.Hugo- voir Variables Hugo.
.IsHometruedans le contexte de la page d’accueil..IsNode- always
falsefor regular content pages. .IsPage- always
truefor regular content pages. .IsTranslatedtrueif there are translations to display..Keywords- the meta keywords for the content.
.Kind- le type de page. Les valeurs de retour possibles sont
page,home,section,taxonomy, outaxonomyTerm. Notez qu’il existe aussi les *kind*sRSS,sitemap,robotsTXT, et les404, mais celles-ci sont uniquement disponibles durant le rendu de chacuns de ces kind respectifs de page et par conséquent non disponibles dans n’importe lesquelles des collections dePages. .Lang- la langue prise à partir de le l’extenstion de notation language.
.Language- un objet langage quipointe vers la définition de langage dans le
configdu site. .Lastmod- La date à laquelle le contenu a été dernièrement modifié ;
.Lastmodextrait du champlastmoddans un front matter de contenu. Silastmodn’est pas réglé, Hugo prendra par défaut le champdate. Voir aussi.ExpiryDate,.Date, et.PublishDate. .LinkTitle- access when creating links to the content. If set, Hugo will use the
linktitlefrom the front matter beforetitle. .Next- pointeur vers le contenu suivant (basé sur le champ
publishdatedans le front matter). .NextInSection- pointeur vers le contenu suivant dans la même section (basé sur le champ
publishdatedans le front matter). .OutputFormats- contains all formats, including the current format, for a given page. Can be combined the with
.Getfunction to grab a specific format. (See Output Formats.) .Pages- une collection de pages associées. Cette valeur sera
nilpour les pages normales de contenu..Pagesest un alias pour.Data.Pages. .Permalink- le lien permanent pour cette page ; voir Permalinks
.Plain- le contenu de page dénudé des balises HTML et présenté sous forme de chaîne.
.PlainWords- le contenu de page dénudé du HTML sous forme d’une
[]stringutilisant lesstrings.Fieldsde GO pour découper.Plaindans une slice. .Prev- Pointeur vers le contenu précédent (basé sur le champ
publishdatedans le front matter). .PrevInSection- Pointeur vers le contenu précédent dans la même section (basé sur le champ
publishdatedans le front matter). Par exemple,{{if .PrevInSection}}{{.PrevInSection.Permalink}}{{end}}. .PublishDate- la date à laquelle le contenu a été ou sera publié ;
.Publishdateextrait à partir du champpublishdatedans le front matter d’un contenu. Voir aussi.ExpiryDate,.Date, et.Lastmod. .RSSLink- lien vers le lien RSS des taxonomies.
.RawContent- le contenu brut markdown sans le front matter. Utile avec remarkjs.com
.ReadingTime- le temps de lecture estimé, en minutes, que cela prend pour lire le contenu.
.Ref- renvoie le permalien pour une référence donnée (par ex.
.Ref "sample.md")..Refne gère pas correctement les fragments dans-la-page. Voir références croisées. .RelPermalink- Le lien permanent relatif pour cette page.
.RelRef- renvoie le permalien relatif pour une référence donnée (par ex.,
RelRef "sample.md")..RelRefne gère pas correctement les fragments dans-la-page. Voir références croisées. .Section- la section à laquelle ce contenu appartient.
.Site- voir les Variables Site.
.Summary- un résumé généré du contenu pour afficher facilement un extrait dans une vue récapitulative. Le point d’arrêt peut être réglé manuellement en insérant
<!--more-->à l’endroit approprié dans la page de contenu. Voir Résumés du contenu pour plus de détails. .TableOfContents- La table des matières pour la page.
.Title- le titre pour cette page.
.Translations- a list of translated versions of the current page. See Multilingual Mode for more information.
.Truncated- a boolean,
trueif the.Summaryis truncated. Useful for showing a “Read more…” link only when necessary. See Summaries for more information. .Type- the content type of the content (e.g.,
post). .URL- the URL for the page relative to the web root. Note that a
urlset directly in front matter overrides the default relative URL for the rendered page. .UniqueID- the MD5-checksum of the content file’s path.
.Weight- assigned weight (in the front matter) to this content, used in sorting.
.WordCount- the number of words in the content.
Params Niveau-Page
Toute autre valeur définie dans la page d’accueil d’un fichier de contenu, y compris les taxonomies, sera mise à disposition dans le cadre de la variable .Params.
---
title: Mon Premier Post
date: date: 2017-02-20T15:26:23-06:00
categories: [un]
tags: [deux,trois,quatre]
Avec le front matter ci-dessus, les taxonomies tags et categories sont accessibles via les éléments suivants :
.Params.tags.Params.categories
La variable .Params est particulièrement utile pour l’introduction de champs du front matter définis par l’utilisateur dans les fichiers de contenu. Par exemple, site web Hugo de critiques de livres pourrait avoir le front matter suivant dans /content/review/livre01.md:
---
...
affiliatelink: "http://www.mon-lien-livre.ici"
recommendedby: "Ma Maman"
...
---
Ces champs seraient alors accessibles pour le modèle /themes/votretheme/layouts/review/single.html à travers .Params.affiliatelink et .Params.recommendedby, respectivement.
Deux situations communes où ce type de champ de front matter peut être introduit sont soit comme valeur d’un certain attribut comme href="" ou en lui-même peut être affiché en tant que texte pour les visiteurs du site.
<h3><a href={{ printf "%s" $.Params.affiliatelink }}>Achetez ce livre</a></h3>
<p>Il a été recommandé par {{ .Params.recommendedby }}.</p>
Ce modèle serait rendu comme suit, en supposant que vous ayez réglé uglyURLs sur false dans votre config de site :
<h3><a href="http://www.mon-lien-livre.ici">Achetez ce livre</a></h3>
<p>Il a été recommandé par ma Maman.</p>
La Méthode .Param
Dans Hugo, vous pouvez déclarer des params dans des pages individuelles et globalement pour tout votre site Web. Un cas d’utilisation courant est d’avoir une valeur générale pour le paramètre du site et une valeur plus spécifique pour certaines pages (c’est-à-dire une image d’en-tête) :
{{ $.Param "header_image" }}
La méthode .Param fournit un moyen de résoudre une valeur unique en fonction de sa définition dans un paramètre de page (c’est-à-dire dans le front matter du contenu) ou un paramètre de site (c’est-à-dire dans votre config).
Accéder aux Champs Imbriqués dans le Front Matter
Quand le front matter contient des champs imbriqués comme suit :
---
author:
given_name: Jean
family_name: Feminella
display_name: Jean Feminella
---
.Param peut accéder à ces champs en concaténant les noms de champs ensemble avec un point :
{{ $.Param "author.display_name" }}
Si votre front matter contient une clé de niveau-supérieur qui est ambigue avec une clé imbriquée, comme dans le cas suivant :
---
favorites.flavor: vanille
favorites:
flavor: chocolat
---
La clé du niveau le plus haut sera préférée. Par conséquent, la méthode suivante sera appliquée à l’exemple précédent, et imprimera vanille et non pas chocolat :
{{ $.Param "favorites.flavor" }}
=> vanille