Hauptabschnitte

Der Parameter mainSections wird zum Filtern von Seiten verwendet, standardmäßig ist er ["posts", "docs"].

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

Vordere Angelegenheit

Front Matter ist der Ort, an dem wir Seitenmetadaten und -parameter wie Titel, Datum usw. einfügen.

Formate

Hugo unterstützt drei Titelformate: YAML, TOML und JSON.

  • TOML: identifiziert durch Öffnen und Schließen von +++.
  • YAML: identifiziert durch Öffnen und Schließen von ---.
  • JSON: ein einzelnes JSON-Objekt, umgeben von { und }, gefolgt von einer neuen Zeile.

Nehmen wir TOML als Beispiel:

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

Siehe auch Seitenparameter und Hugo Front Matter.

Inhaltstypen

Möglicherweise möchten Sie in anderen Abschnitten das Layout docs anstelle von /docs verwenden, z. B. /notes. Das geht ganz einfach, indem Sie type = "docs" auf der Titelseite setzen.

Archetypen

Wir können auch einen Archetyp für notes erstellen, Hugo kümmert sich um das type.

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

Und das anhängende type = "docs" auf der Titelseite von archetypes/notes.md. Jetzt kopiert hugo new notes/blah-blah-blah den Inhalt von archetypes/notes.md in Ihre neuen Notizen.

Ebenso können Sie auch die Archetypen für posts, docs usw. anpassen.

Neue Artikel schreiben

Angenommen, die Standardsprache ist en.

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

Mit dem obigen Befehl erstellen Sie einen neuen Beitrag in englischer Sprache. Ebenso können wir einen Beitrag in vereinfachtem Chinesisch erstellen:

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

Bitte beachten Sie, dass sich die erstellten Beiträge grundsätzlich im Entwurfszustand befinden. Für die Vorschau müssen Sie den Parameter -D des Befehls hugo server angeben. Ebenso müssen Sie den Parameter draft in false ändern oder den Parameter draft entfernen, wenn Sie den Artikel veröffentlichen möchten.

Auswahlreihenfolge der Zusammenfassungen

  1. Wenn description nicht leer ist, wird es verwendet. Um ständig Zusammenfassungen zu verwenden, sollten Sie post.excerpt explizit als leere Zeichenfolge festlegen.
  2. Manuelle Aufteilung über <!–more–>.
  3. Wenn summary auf der Titelseite nicht leer ist, wird summary ausgewählt.
  4. Der Text des Inhalts wird bei post.excerptMaxLength abgeschnitten und bei post.plainifyExcerpt = true in Klartext oder HTML formatiert.
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.

Auswahlreihenfolge der vorgestellten Bilder

  1. Die images auf der Titelseite werden bevorzugt.
  2. Seitenbildressourcen, die dem Muster *feature* entsprechen. Zum Beispiel posts/my-page/feature.png, posts/my-page/featured-sample.jpg.

Das vorgestellte Bild wird standardmäßig nicht über dem Inhalt angezeigt. Sie müssen diese Funktion über den folgenden Parameter aktivieren.

config/_default/params.toml

1[Beitrag]
2  featureImage = true

config/_default/params.yaml

1Beitrag:
2  featureImage: true

config/_default/params.json

1{
2   "Beitrag": {
3      "featureImage": true
4   }
5}

Auswahlreihenfolge der Miniaturansichten

  1. Die images auf der Titelseite werden bevorzugt.
  2. Seitenbildressourcen, die den Mustern des Dateinamens entsprechen: *feature*, *cover* und *thumbnail*. Zum Beispiel posts/my-page/feature.png, posts/my-page/thumnail.jpg.

Die Größe der Seitenbildressourcen wird auf mehrere kleinere Versionen geändert, um sie an die Geräte des Benutzers anzupassen und so Bandbreite zu sparen.

Beiträge anheften

Sie können Beiträge auf der Startseite anheften, indem Sie auf der Titelseite pinned auf true setzen.

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

Wenn es mehrere angepinnte Beiträge gibt, werden diese in absteigender Reihenfolge nach pinnedWeight sortiert.

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

Karussell

Beiträge im Karussell werden angezeigt.

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

Autoren

HBS unterstützt die Taxonomie des Autors. Zuerst müssen Sie es aktivieren, indem Sie die folgende Konfiguration festlegen.

config.toml

1[taxonomies]
2  author = 'authors'

config.yaml

1taxonomies:
2  author: authors

config.json

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

Und dann definieren Sie das authors in Ihren Beiträgen.

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

Jetzt werden die Autoren in den Post-Meta- und Sidebar-Taxonomien präsent sein.

Abschließend müssen wir den Autor möglicherweise genauer vorstellen. Nehmen Sie als Beispiel Foo. Erstellen Sie einfach eine Seite mit dem folgenden Inhalt und speichern Sie sie 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: Der Anzeigename des Autors.
  • description: Die Einleitung.
  • social: Soziale Links.

Das Bild des Autors sollte im selben Ordner mit dem Muster avatar* abgelegt werden, z. B. /content/authors/foo/avatar.png. Wenn kein Avatar vorhanden ist, wird social.email zum Generieren des Gravatar-Avatars verwendet.

Als Nächstes