Sections principales
Le paramètre mainSections est utilisé pour filtrer les pages, par défaut ["posts", "docs"].
1mainSections = ["blog", "posts", "docs", "notes"]
Questions préliminaires
Front Matter est l’endroit où nous mettons les métadonnées et les paramètres de la page, tels que le titre, la date, etc.
###Formats
Hugo prend en charge trois formats de présentation : YAML, TOML et JSON.
TOML: identifié par l’ouverture et la fermeture de+++.YAML: identifié par l’ouverture et la fermeture de---.JSON: un seul objet JSON entouré de{et}, suivi d’une nouvelle ligne.
Prenons TOML comme exemple :
1+++
2title = 'Hello world!'
3+++
Voir également Paramètres des pages et Hugo Front Matter.
Types de contenu
Vous souhaiterez peut-être utiliser la disposition docs dans d’autres sections au lieu de /docs, comme /notes.
C’est facile à faire en définissant type = "docs" dès le départ.
Archétypes
Nous pouvons également créer un archétype pour notes, laissez Hugo s’occuper du type.
1$ cp themes/hugo-theme-bootstrap/archetypes/default.md archetypes/notes.md
Et ajoutez type = "docs" au début de archetypes/notes.md. Désormais, hugo new notes/blah-blah-blah copiera le contenu de archetypes/notes.md dans vos nouvelles notes.
De même, vous pouvez également personnaliser les archétypes pour posts, docs et ainsi de suite.
Écrire de nouveaux articles
Supposons que la langue par défaut soit
en.
1$ hugo new posts/new-post/index.md
La commande ci-dessus crée un nouveau message rédigé en anglais. De même, nous pouvons créer un article rédigé en chinois simplifié :
1$ hugo new posts/new-post/index.zh-cn.md
Veuillez rappeler que les posts créés sont généralement à l’état de brouillon. Vous devrez spécifier le paramètre
-Dde la commandehugo serverpour la prévisualisation. De même, vous devez remplacer ledraftparfalseou supprimer le paramètredraftsi vous souhaitez publier l’article.
Ordre de sélection des résumés
- Si le
descriptionn’est pas vide, alors il sera utilisé, pour utiliser des résumés à tout moment, vous devez définir lepost.excerptcomme chaîne vide explicitement. - Fractionnement manuel via
<!–more–>. - Si
summarysur le devant n’est pas vide, alorssummarysera sélectionné. - Le texte du contenu sera coupé par
post.excerptMaxLengthet formaté en texte brut ou HTML lorsquepost.plainifyExcerpt = true.
1[post]
2 # excerptMaxLength = 120
3 # copyright = false # Whether to display copyright section on each post.
4 # plainifyExcerpt = false # Format excerpt in HTML if false.
Ordre de sélection des images en vedette
- Les
imagesen première ligne sont préférés. - Ressources d’images de page qui correspondent au modèle
*feature*. Tels queposts/my-page/feature.png,posts/my-page/featured-sample.jpg.
L’image sélectionnée n’apparaît pas au-dessus du contenu par défaut, vous devrez activer cette fonctionnalité en suivant le paramètre.
config/_default/params.toml
1[post]
2 featuredImage = true
config/_default/params.yaml
1post:
2 featuredImage: true
config/_default/params.json
1{
2 "post": {
3 "featuredImage": true
4 }
5}
Ordre de sélection des vignettes
- Les
imagesen première ligne sont préférés. - Page images ressources qui correspondent aux modèles du nom de fichier :
*feature*,*cover*et*thumbnail*. Tels queposts/my-page/feature.png,posts/my-page/thumnail.jpg.
Les ressources d’images de page seront redimensionnées en plusieurs versions plus petites pour s’adapter aux appareils des utilisateurs afin d’économiser la bande passante.
Épingler des messages
Vous pouvez épingler des publications sur la page d’accueil en définissant pinned sur true dans la première partie.
1+++
2title = "Pinned Post"
3pinned = true
4pinnedWeight = 100
5+++
S’il y a plusieurs publications épinglées, elles sont triées par
pinnedWeightpar ordre décroissant.
1pinnedPost = false # Disable pinned posts globally.
2pinnedPostCount = 2 # The number of pinned posts shown on home page.
Carrousel
Affichage des articles sur le carrousel.
1+++
2carousel = true
3+++
Auteurs
HBS prend en charge la taxonomie des auteurs. Tout d’abord, vous devrez l’activer en définissant la configuration suivante.
config.toml
1[taxonomies]
2 author = 'authors'
config.yaml
1taxonomies:
2 author: authors
config.json
1{
2 "taxonomies": {
3 "author": "authors"
4 }
5}
Et puis définissez le authors sur vos publications.
1+++
2authors = [
3 "Foo",
4 "Bar"
5]
6+++
Désormais, les auteurs seront présents sur les taxonomies post méta et sidebar.
Enfin, il faudra peut-être présenter l’auteur plus en détail. Prenez le Foo comme exemple, créez simplement une page avec le contenu suivant et enregistrez-la sous /content/authors/foo/index.md.
1---
2title: Razon Yang
3description: Gopher, PHPer, Full Stack Engineer.
4social:
5 github: razonyang
6 twitter: razonyang
7---
title: Le nom d’affichage de l’auteur.description: L’introduction.social: Liens sociaux.
L’image de l’auteur doit être placée dans le même dossier avec le motif avatar*, tel que /content/authors/foo/avatar.png. S’il n’y a pas d’avatar, le social.email sera utilisé pour générer l’avatar Gravatar.