Zusammenfassung: Dateien und Verzeichnisse zum Aufbau von Webseiten in Hugo
Die folgenden Punkte fassen die wichtigsten Prinzipien bei der Verwaltung von Inhalten in Hugo zusammen. Dabei entscheiden die Verortung von Dateien im Verzeichnisbaum und Metainformationen der Frontmatter über Arten und Typen von Inhalten. Das hat Auswirkungen darauf, wie die Inhalte den Besuchern der Webseite präsentiert werden.
- Die Startseite ist von der Art
home
. Ihr Inhalt wird untercontent/_index.md
definiert und die entsprechende Seite ist überdomain.com/
erreichbar. Für sie wird dashome
-Layout angewendet. - Es gibt Einzelseiten, die unter keine Sektion fallen und von der allgemeinen Art
page
sind. Sie werden untercontent/name-of-page.md
definiert und sie sind unterdomain.com/name-of-page/
erreichbar. Für sie wird dassingle
-Layout aus_default
angewendet. - Es lassen sich Typen von Einzelseiten erstellen, die wir für gewöhnlich auf Überblicksseiten auflisten wollen. Dazu wird ein Verzeichnis direkt unter
content/name-of-section/
erstellt.name-of-section
ist gleichzeitig auch der Name eines Typs von Einzelseiten (wieblog
).
Für Einzelseiten lassen sich typspezifische Layouts anlegen, die unterlayouts/name-of-section/single.html
abzuspeichern sind. Dassingle
-Layout unter_default
wird als Fallback genutzt, falls das typspezifische Layout nicht vorhanden ist. - Für Sektionen lassen sich Überblicksseiten erstellen, auf denen die dazugehörigen Einzelseiten aufgelistet werden. Für Verzeichnisse direkt unter
content/
geschieht dies automatisch. Für Verzeichnisse auf tieferen Ebenen geschieht dies dadurch, dass eine_index.md
angelegt wird.
Für Überblicksseiten wird allgemein dassection
-Layout unter_default
angewendet. Für eine typspezifische Definition kann kann ein Layout unterlayouts/name-of-section/list.html
erstellt werden. - Einzelseiten können mit Ressourcen verknüpft werden, entweder direkt (als Leaf Bundle) oder durch ihre Zugehörigkeit zu einer Sektion (Branch Bundle). Im ersteren Fall wrappen wir die Markup-Datei in ein Unterverzeichnis, das eine
index.md
und die weiteren Ressourcen enthält. Der zweite Fall ist einfach der eben genannte Fall von Sektionen, die von einer_index.md
Gebrauch machen. - Einzelseiten können mit Schlagworten versehen und so zu Gruppen bzw. Klassen zusammengefasst werden. Im einfachsten Fall werden Inhalte nur in einer Dimension verschlagwortet (unter einem generischen Namen wie
tags
oderschlagwoerter
). Für eine differenziertere Klassifikation kann ein System sogenannter Taxonomien definiert werden. Im besprochenen Beispiel waren dasgenres
,actors
,years
undrating
; für die Inhalte wurden beschreibende Terme wieaction
oder'Schwarzenegger, Arnold'
verwendet.
Für Taxonomien und Taxonomie-Terme werden automatisch Überblicksseiten angelegt. Taxonomie-Überblicksseiten listen alle dafür auf der Webseite verwendeten Terme auf, während Term-Überblicksseiten alle Seiten auflisten, für die der jeweilige Term verwendet wurde. Sie sind unterdomain.com/name-of-taxonomy/
unddomain.com/name-of-taxonomy/name-of-term
erreichbar.
Abschließend sei vielleicht noch bemerkt, dass auch die Startseite als Überblicksseite betrachtet werden kann. Aus diesem Grund dient list.html
unter _default
als Fallback, falls kein home
-Layout vorhanden ist.