Permalinks
[TOC]
Das standardmäßige Hugo Root-Verzeichnis für die erstellte Website ist public/
. Dieser Wert kann geändert werden, indem in der Site-Konfiguration eine andere publishDir
angeben wird. Die Verzeichnisse, die zur Build-Zeit für einen Abschnitt erstellt werden, spiegeln die Position des Inhaltsverzeichnisses innerhalb des Inhaltsordners und des Namensraums wider, der seinem Layout innerhalb der Inhaltshierarchie entspricht.
Die Permalinks-Option in Ihrer Site-Konfiguration ermöglicht es, die Verzeichnispfade (d.h. die URLs) abschnittsweise anzupassen. Dies ändert den Ort, an dem die Dateien geschrieben werden, und ändert den internen “kanonischen” Speicherort der Site, so dass Vorlagenverweise auf .RelPermalink
die Anpassungen berücksichtigen, die aufgrund der Zuordnungen in dieser Option vorgenommen wurden.
Diese Beispiele verwenden die Standardwerte für publishDir
und contentDir
, d.h. public und content. Sie können die Standardwerte in der Konfigurationsdatei der Website überschreiben.
Wenn beispielsweise einer Ihrer Abschnitte Beiträge heißt und Sie den kanonischen Pfad anhand von Jahr, Monat und Posttitel hierarchisch anpassen möchten, können Sie die folgenden Konfigurationen in YAML bzw. TOML einrichten.
Beispiel für eine Permalinks-Konfiguration
[permalinks]
posts = "/:year/:month/:title/"
Nur die Inhalte unter posts/
haben die neue URL-Struktur. Beispielsweise wird die Datei
content/posts/frontmatter.md
mit Datum: 2019-04-19T08:22:20+02:00 in ihrer ersten Ausgabe anpublic/2019/04/frontmatter/index.html
zur Buildzeit übergeben und ist daher unter- https://www.petersheim.de/posts/2019/04/frontmatter/ erreichbar.
Permalinks von Taxonomien können mit der gleichen Syntax konfiguriert werden, indem anstelle des Abschnitts die Pluralform der Taxonomie verwendet wird. Wahrscheinlich werden nur die Konfigurationswerte von :slug
oder :title
zur Anwendung kommen.
Photo by Afifi Zulkifle on Unsplash
Permalink-Konfigurationswerte
Im Folgenden ist eine Liste von Werten aufgeführt, die in einer Permalink-Definition in der Konfigurationsdatei der Website verwendet werden können. Alle Zeitangaben sind abhängig vom Datum des Inhalts.
:year
the 4-digit year
:month
the 2-digit month
:monthname
the name of the month
:day
the 2-digit day
:weekday
the 1-digit day of the week (Sunday = 0)
:weekdayname
the name of the day of the week
:yearday
the 1- to 3-digit day of the year
:section
the content’s section
:sections
the content’s sections hierarchy
:title
the content’s title
:slug
the content’s slug (or title if no slug is provided in the front matter)
:filename
the content’s filename (without extension)
Photo by Akira Hojo on Unsplash