Hoofdsecties

De parameter mainSections wordt gebruikt om pagina’s te filteren, standaard is dit ["posts", "docs"].

1mainSections = ["blog", "posts", "docs", "notes"]

Voorzaak

Front Matter is de plaats waar we metagegevens en parameters van de pagina plaatsen, zoals titel, datum enzovoort.

Formaten

Hugo ondersteunt drie formaten voorwerk: YAML, TOML en JSON.

  • TOML: geïdentificeerd door het openen en sluiten van +++.
  • YAML: geïdentificeerd door het openen en sluiten van ---.
  • JSON: een enkel JSON-object omgeven door { en }, gevolgd door een nieuwe regel.

Laten we TOML als voorbeeld nemen:

1+++
2title = 'Hello world!'
3+++

Zie ook Paginaparameters en Hugo Frontmaterie.

Inhoudstypen

Mogelijk wilt u de indeling docs gebruiken in andere secties in plaats van /docs, zoals /notes. Dat kunt u eenvoudig doen door type = "docs" op de voorkant in te stellen.

Archetypen

We kunnen ook een archetype maken voor notes, laat Hugo voor de type zorgen.

1$ cp themes/hugo-theme-bootstrap/archetypes/default.md archetypes/notes.md

En de toevoeging type = "docs" op het voorblad van archetypes/notes.md. Nu zal hugo new notes/blah-blah-blah de inhoud van archetypes/notes.md naar uw nieuwe notities kopiëren.

Op dezelfde manier kunt u ook de archetypen voor posts, docs enzovoort aanpassen.

Schrijf nieuwe artikelen

Stel dat de standaardtaal en is.

1$ hugo new posts/new-post/index.md

Met de bovenstaande opdracht maak je een nieuw bericht aan, geschreven in het Engels. Op dezelfde manier kunnen we een bericht maken dat is geschreven in Vereenvoudigd Chinees:

1$ hugo new posts/new-post/index.zh-cn.md

Houd er rekening mee dat de gemaakte berichten over het algemeen in conceptstatus zijn. U moet de parameter -D van het commando hugo server opgeven om een ​​voorbeeld te kunnen bekijken. Op dezelfde manier moet u de parameter draft wijzigen in false of de parameter draft verwijderen als u het artikel wilt publiceren.

Samenvattingen Selectievolgorde

  1. Als description niet leeg is, wordt deze gebruikt. Om altijd samenvattingen te gebruiken, moet u post.excerpt expliciet instellen als lege string.
  2. Handmatig splitsen via <!–more–>.
  3. Als summary op het voorblad niet leeg is, wordt summary geselecteerd.
  4. De tekst van de inhoud wordt afgekapt door post.excerptMaxLength en opgemaakt in platte tekst of HTML wanneer 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.

Uitgelichte afbeeldingen Selectievolgorde

  1. De images op de voorkant heeft de voorkeur.
  2. Pagina-afbeeldingsbronnen die overeenkomen met het *feature*-patroon. Zoals posts/my-page/feature.png, posts/my-page/featured-sample.jpg.

De uitgelichte afbeelding wordt standaard niet boven de inhoud weergegeven. Je moet deze functie inschakelen door de parameter te volgen.

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}

Miniatuurselectievolgorde

  1. De images op de voorpagina hebben de voorkeur.
  2. Pagina-afbeeldingsbronnen die overeenkomen met de patronen van de bestandsnaam: *feature*, *cover* en *thumbnail*. Zoals posts/my-page/feature.png, posts/my-page/thumnail.jpg.

De bronnen voor pagina-afbeeldingen worden verkleind naar verschillende kleinere versies, zodat deze geschikt zijn voor de apparaten van de gebruiker om bandbreedte te besparen.

Berichten vastzetten

U kunt berichten op de startpagina vastzetten door pinned in te stellen op true op de voorkant.

1+++
2title = "Pinned Post"
3pinned = true
4pinnedWeight = 100
5+++

Als er meerdere vastgezette berichten zijn, worden deze gesorteerd op pinnedWeight in aflopende volgorde.

1pinnedPost = false # Disable pinned posts globally.
2pinnedPostCount = 2 # The number of pinned posts shown on home page.

Carrousel

Berichten op carrousel weergeven.

1+++
2carousel = true
3+++

Auteurs

HBS ondersteunt de taxonomie van de auteur. Ten eerste moet u dit inschakelen door de volgende configuratie in te stellen.

config.toml

1[taxonomies]
2  author = 'authors'

config.yaml

1taxonomies:
2  author: authors

config.json

1{
2   "taxonomies": {
3      "author": "authors"
4   }
5}

En definieer vervolgens de authors op uw berichten.

1+++
2authors = [
3  "Foo",
4  "Bar"
5]
6+++

Nu zullen de auteurs aanwezig zijn op de post-meta- en zijbalktaxonomieën.

Ten slotte moeten we de auteur wellicht nader introduceren. Neem Foo als voorbeeld, maak gewoon een pagina 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 banden.

De auteursafbeelding moet in dezelfde map worden geplaatst met patroon avatar*, zoals /content/authors/foo/avatar.png. Als er geen avatar is, wordt social.email gebruikt om Gravatar-avatar te genereren.

Volgende