Hugo Release 0.65.0

0.65.0: Hugo Reloaded!

Entwurf, Ablauf, Ressourcenbündelung und feinkörnige Veröffentlichungskontrolle für jede Seite. Und es ist schneller.

February 20, 2020

Go to Hugo Releases for the release downloads.

Featured Image for 0.65.0: Hugo Reloaded!

Hugo 0.65 Hugo 0.65 verallgemeinert die Art und Weise, wie eine Seite verpackt und veröffentlicht wird, um auf jede Seite anwendbar zu sein. Dies sollte einige der häufigsten Probleme lösen, die wir auf dem issue tracker und im forum sehen.

Höhepunkte der Veröffentlichung

Neu in Hugo

Jeder Zweigknoten branch node kann nun Ressourcen (Bilder, Dateien usw.) bündeln, auch die Taxonomie-Knoten (z.B. /categories).

Listenseiten (Abschnitte und die Startseite) können nun zu Taxonomien hinzugefügt werden.

Die Frontmaterie-Felder, die steuern, wann und ob ein Inhalt (draft, publishDate, expiryDate) veröffentlicht werden soll, funktioniert nun auch für Listenseiten und ist rekursiv.

Wir haben ein neues _build-Schlüsselwort für die Frontmaterie hinzugefügt, um eine feinkörnige Kontrolle über die Veröffentlichung von Seiten zu ermöglichen. Die Standardwerte:

_build:
  # Whether to add it to any of the page collections.
  # Note that the page can still be found with .Site.GetPage.
  list: true
  
  # Whether to render it.
  render: true
  
  # Whether to publish its resources. These will still be published on demand,
  # but enabling this can be useful if the originals (e.g. images) are
  # never used.
  publishResources: true

Beachte, dass alle Frontmaterie-Schlüsselwörter in der cascade auf einem Zweigknoten gesetzt werden können, was besonders für _build nützlich wäre.

Wir haben auch ein Upgrade auf die neueste LibSass (v3.6.3) durchgeführt. Hier gibt es keine bemerkenswerten funktionellen Neuerungen, aber es macht Hugo für den kommenden Dart Backport bereit.

Und schließlich haben wir eine GetTerms-Methode auf der Seite hinzugefügt, wodurch die Auflistung der auf dieser Seite definierten Begriffe in der gegebenen Taxonomie viel einfacher wird:

<ul>
    {{ range (.GetTerms "tags") }}
        <li><a href="{{ .Permalink }}">{{ .LinkTitle }}</a></li>
   {{ end }}
</ul>

Neu in den Hugo-Modulen

Es gibt mehrere Verbesserungen der in Hugo Modules verwendeten Werkzeuge. Eine Fehlerbehebung, aber auch einige Verbesserungen, um die Verwaltung zu erleichtern:

  • du kannst deine Module jetzt rekursiv mit hugo mod get -u ./… aktualisieren.
  • hugo mod clean bereinigt jetzt nur noch den Cache für das aktuelle Projekt und nimmt jetzt auch ein optionales Modulpfadmuster, z.B. hugo mod clean –pattern “github.com/**".
  • Ein neuer Befehl hugo mod verify wird hinzugefügt, um zu überprüfen, ob der Modul-Cache mit den Hashes in go.sum übereinstimmt. Führe hugo mod verify --clean aus, um alle Module zu löschen, die diese Prüfung nicht bestehen.

Siehe hugo mod.

Leistung

Die oben aufgeführten neuen Merkmale erforderten eine strukturelle Vereinfachung, und wir achten dabei auf unser Gewicht. Und die Benchmarks zeigen, dass Hugo im Allgemeinen etwas schneller sein sollte. Dies gilt insbesondere dann, wenn Sie Taxonomien verwenden, und der teilweise Umbau auf inhaltliche Änderungen sollte wesentlich schneller erfolgen.