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
enis.
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
-Dvan het commandohugo serveropgeven om een voorbeeld te kunnen bekijken. Op dezelfde manier moet u de parameterdraftwijzigen infalseof de parameterdraftverwijderen als u het artikel wilt publiceren.
Samenvattingen Selectievolgorde
- Als
descriptionniet leeg is, wordt deze gebruikt. Om altijd samenvattingen te gebruiken, moet upost.excerptexpliciet instellen als lege string. - Handmatig splitsen via
<!–more–>. - Als
summaryop het voorblad niet leeg is, wordtsummarygeselecteerd. - De tekst van de inhoud wordt afgekapt door
post.excerptMaxLengthen opgemaakt in platte tekst of HTML wanneerpost.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
- De
imagesop de voorkant heeft de voorkeur. - Pagina-afbeeldingsbronnen die overeenkomen met het
*feature*-patroon. Zoalsposts/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
- De
imagesop de voorpagina hebben de voorkeur. - Pagina-afbeeldingsbronnen die overeenkomen met de patronen van de bestandsnaam:
*feature*,*cover*en*thumbnail*. Zoalsposts/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
pinnedWeightin 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.