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.mddefiniert 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
pagesind. Sie werden untercontent/name-of-page.mddefiniert und sie sind unterdomain.com/name-of-page/erreichbar. Für sie wird dassingle-Layout aus_defaultangewendet. - 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-sectionist gleichzeitig auch der Name eines Typs von Einzelseiten (wieblog).
Für Einzelseiten lassen sich typspezifische Layouts anlegen, die unterlayouts/name-of-section/single.htmlabzuspeichern sind. Dassingle-Layout unter_defaultwird 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.mdangelegt wird.
Für Überblicksseiten wird allgemein dassection-Layout unter_defaultangewendet. Für eine typspezifische Definition kann kann ein Layout unterlayouts/name-of-section/list.htmlerstellt 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.mdund die weiteren Ressourcen enthält. Der zweite Fall ist einfach der eben genannte Fall von Sektionen, die von einer_index.mdGebrauch 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
tagsoderschlagwoerter). Für eine differenziertere Klassifikation kann ein System sogenannter Taxonomien definiert werden. Im besprochenen Beispiel waren dasgenres,actors,yearsundrating; für die Inhalte wurden beschreibende Terme wieactionoder'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-termerreichbar.
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.