EN

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.

  1. Die Startseite ist von der Art home. Ihr Inhalt wird unter content/_index.md definiert und die entsprechende Seite ist über domain.com/ erreichbar. Für sie wird das home-Layout angewendet.
  2. Es gibt Einzelseiten, die unter keine Sektion fallen und von der allgemeinen Art page sind. Sie werden unter content/name-of-page.md definiert und sie sind unter domain.com/name-of-page/ erreichbar. Für sie wird das single-Layout aus _default angewendet.
  3. 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 (wie blog).
    Für Einzelseiten lassen sich typspezifische Layouts anlegen, die unter layouts/name-of-section/single.html abzuspeichern sind. Das single-Layout unter _default wird als Fallback genutzt, falls das typspezifische Layout nicht vorhanden ist.
  4. 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 das section-Layout unter _default angewendet. Für eine typspezifische Definition kann kann ein Layout unter layouts/name-of-section/list.html erstellt werden.
  5. 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.
  6. 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 oder schlagwoerter). Für eine differenziertere Klassifikation kann ein System sogenannter Taxonomien definiert werden. Im besprochenen Beispiel waren das genres, actors, years und rating; für die Inhalte wurden beschreibende Terme wie action 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 unter domain.com/name-of-taxonomy/ und domain.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.

Artikel vom 27. September 2024.