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 -D de la commande hugo server pour la prévisualisation. De même, vous devez remplacer le draft par false ou supprimer le paramètre draft si vous souhaitez publier l’article.

Ordre de sélection des résumés

  1. Si le description n’est pas vide, alors il sera utilisé, pour utiliser des résumés à tout moment, vous devez définir le post.excerpt comme chaîne vide explicitement.
  2. Fractionnement manuel via <!–more–>.
  3. Si summary sur le devant n’est pas vide, alors summary sera sélectionné.
  4. Le texte du contenu sera coupé par post.excerptMaxLength et formaté en texte brut ou HTML lorsque post.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

  1. Les images en première ligne sont préférés.
  2. Ressources d’images de page qui correspondent au modèle *feature*. Tels que posts/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

  1. Les images en première ligne sont préférés.
  2. Page images ressources qui correspondent aux modèles du nom de fichier : *feature*, *cover* et *thumbnail*. Tels que posts/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 pinnedWeight par 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.

Suivant