Hoofdsecties
De parameter mainSections wordt gebruikt om pagina’s te filteren; standaard ["posts", "docs"].
1mainSections = ["blog", "posts", "docs", "notes"]
Front Matter
Front Matter is de plaats waar we paginametadata en -parameters opslaan, zoals titel, datum, enzovoort.
Formaten
Hugo ondersteunt drie front matter-formaten: YAML, TOML en JSON.
TOML: geïdentificeerd door openende en sluitende+++.YAML: geïdentificeerd door openende en sluitende---.JSON: een enkel JSON-object omsloten door{en}, gevolgd door een nieuwe regel.
Laten we TOML als voorbeeld nemen:
1+++
2title = 'Hello world!'
3+++
Zie ook Paginaparameters en Hugo Front Matter.
Inhoudstypen
Mogelijk wil je de docs-layout gebruiken in andere secties dan /docs, zoals /notes.
Dit is eenvoudig door type = "docs" in te stellen in de front matter.
Archetypes
We kunnen ook een archetype aanmaken voor notes en Hugo de type laten regelen.
1$ cp themes/hugo-theme-bootstrap/archetypes/default.md archetypes/notes.md
Voeg vervolgens type = "docs" toe aan de front matter van archetypes/notes.md. Nu kopieert hugo new notes/blah-blah-blah de inhoud van archetypes/notes.md naar je nieuwe notitie.
Op dezelfde manier kun je ook de archetypes aanpassen voor posts, docs, enzovoort.
Nieuwe Artikelen Schrijven
Stel dat de standaardtaal
enis.
1$ hugo new posts/new-post/index.md
Het bovenstaande commando maakt een nieuw bericht aan in het Engels. Op dezelfde manier kunnen we een bericht aanmaken in vereenvoudigd Chinees:
1$ hugo new posts/new-post/index.zh-cn.md
Houd er rekening mee dat nieuw aangemaakte berichten over het algemeen in conceptstatus staan. Je moet de parameter
-Dopgeven bijhugo serverom ze te bekijken. Je moetdraftook wijzigen naarfalseof dedraft-parameter verwijderen als je het artikel wilt publiceren.
Volgorde van Samenvattingsselectie
- Als de
descriptionniet leeg is, wordt deze gebruikt. Stelpost.excerptexpliciet in op een lege string om altijd samenvattingen te gebruiken. - Handmatige splitsing via
<!–more–>. - Als
summaryin de front matter niet leeg is, wordtsummarygeselecteerd. - De tekst van de inhoud wordt afgekapt op
post.excerptMaxLengthen opgemaakt als platte tekst of HTML bijpost.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.
Volgorde van Selectie voor Uitgelichte Afbeeldingen
- De
imagesin de front matter hebben voorrang. - Paginaafbeeldingsbronnen die overeenkomen met het patroon
*feature*, zoalsposts/my-page/feature.png,posts/my-page/featured-sample.jpg.
De uitgelichte afbeelding wordt standaard niet boven de inhoud weergegeven. Schakel deze functie in via de volgende parameter.
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}
Volgorde van Selectie voor Miniaturen
- De
imagesin de front matter hebben voorrang. - Paginaafbeeldingsbronnen die overeenkomen met de bestandsnaampatronen:
*feature*,*cover*en*thumbnail*, zoalsposts/my-page/feature.png,posts/my-page/thumnail.jpg.
De paginaafbeeldingsbronnen worden verkleind tot meerdere kleinere versies voor de apparaten van gebruikers om bandbreedte te besparen.
Berichten Vastpinnen
Je kunt berichten op de startpagina vastpinnen door pinned in te stellen op true in de front matter.
1+++
2title = "Pinned Post"
3pinned = true
4pinnedWeight = 100
5+++
Als er meerdere vastgepinde berichten zijn, worden ze gesorteerd op
pinnedWeightin aflopende volgorde.
1pinnedPost = false # Vastgepinde berichten globaal uitschakelen.
2pinnedPostCount = 2 # Het aantal vastgepinde berichten op de startpagina.
Carrousel
Berichten weergeven op carrousel.
1+++
2carousel = true
3+++
Auteurs
HBS ondersteunt de auteurstaxonomie. Schakel deze eerst in via de volgende configuratie.
config.toml
1[taxonomies]
2 author = 'authors'
config.yaml
1taxonomies:
2 author: authors
config.json
1{
2 "taxonomies": {
3 "author": "authors"
4 }
5}
Definieer vervolgens de authors in je berichten.
1+++
2authors = [
3 "Foo",
4 "Bar"
5]
6+++
Nu worden de auteurs weergegeven in de berichtenmeta en de zijbalktaxonomieën.
Tot slot kun je de auteur gedetailleerder introduceren. Neem Foo als voorbeeld: maak een pagina aan met de volgende inhoud en sla deze op als /content/authors/foo/index.md.
1---
2title: Razon Yang
3description: Gopher, PHPer, Full Stack Engineer.
4social:
5 github: razonyang
6 twitter: razonyang
7---
title: De weergavenaam van de auteur.description: De introductie.social: Sociale links.
De auteursafbeelding moet in dezelfde map worden geplaatst met het patroon avatar*, zoals /content/authors/foo/avatar.png. Als er geen avatar is, wordt social.email gebruikt om een Gravatar-avatar te genereren.