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
-Ddes Befehlshugo serverangeben. Ebenso müssen Sie den Parameterdraftinfalseändern oder den Parameterdraftentfernen, wenn Sie den Artikel veröffentlichen möchten.
Auswahlreihenfolge der Zusammenfassungen
- Wenn
descriptionnicht leer ist, wird es verwendet. Um ständig Zusammenfassungen zu verwenden, sollten Siepost.excerptexplizit als leere Zeichenfolge festlegen. - Manuelle Aufteilung über
<!–more–>. - Wenn
summaryauf der Titelseite nicht leer ist, wirdsummaryausgewählt. - Der Text des Inhalts wird bei
post.excerptMaxLengthabgeschnitten und beipost.plainifyExcerpt = truein 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
- Die
imagesauf der Titelseite werden bevorzugt. - Seitenbildressourcen, die dem Muster
*feature*entsprechen. Zum Beispielposts/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
- Die
imagesauf der Titelseite werden bevorzugt. - Seitenbildressourcen, die den Mustern des Dateinamens entsprechen:
*feature*,*cover*und*thumbnail*. Zum Beispielposts/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
pinnedWeightsortiert.
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.
Kommentare