Struktur

Information

Diese Seite orientiert sich inhaltlich eng an ➔ folgender Seite aus der Dokumentation des Hugo Learn Themes

Seitenstruktur

Jedes OER Repository enthält einen Ordner namens content, in dem alle Inhalte und die Struktur der Seite verwaltet werden. Hierbei werden die Inhalte als Markdown-Seiten (Dateiendung .md) angelegt. Die Untergliederung der Materialien in Ober- und Unterebenen des Menüs ergibt sich aus der Ober- und Unterstruktur im Ordner content.

Folgendes Diagramm verdeutlicht dieses Prinzip:

content
├── level-one
│   ├── level-two
│   │   ├── level-three
│   │   │   ├── level-four
│   │   │   │   ├── _index.md       <-- /level-one/level-two/level-three/level-four
│   │   │   │   ├── page-4-a.md     <-- /level-one/level-two/level-three/level-four/page-4-a
│   │   │   │   ├── page-4-b.md     <-- /level-one/level-two/level-three/level-four/page-4-b
│   │   │   │   └── page-4-c.md     <-- /level-one/level-two/level-three/level-four/page-4-c
│   │   │   ├── _index.md           <-- /level-one/level-two/level-three
│   │   │   ├── page-3-a.md         <-- /level-one/level-two/level-three/page-3-a
│   │   │   ├── page-3-b.md         <-- /level-one/level-two/level-three/page-3-b
│   │   │   └── page-3-c.md         <-- /level-one/level-two/level-three/page-3-c
│   │   ├── _index.md               <-- /level-one/level-two
│   │   ├── page-2-a.md             <-- /level-one/level-two/page-2-a
│   │   ├── page-2-b.md             <-- /level-one/level-two/page-2-b
│   │   └── page-2-c.md             <-- /level-one/level-two/page-2-c
│   ├── _index.md                   <-- /level-one
│   ├── page-1-a.md                 <-- /level-one/page-1-a
│   ├── page-1-b.md                 <-- /level-one/page-1-b
│   └── page-1-c.md                 <-- /level-one/page-1-c
├── _index.md                       <-- /
└── page-top.md                     <-- /page-top

Jeder Ordner muss dabei eine Datei namens _index.md enthalten. Diese Datei bildet die Einstiegsseite in einen Ordner und wird standardmäßig beim Klick auf den jeweiligen Menüpunkt angezeigt.

Front Matter

Neben den eigentlichen Markdown-Inhalten, können für jede Seite Einstellungen vorgenommen werden, die in einem sogenannten Front Matter Block am Seitenanfang notiert werden. Zu den Einstellungen pro Seite gehört z.B. der Seitentitel, der Name des Menüeintrags für eine Seite, Einstellungen zur Sichtbarkeit etc.

Die Einstellungen der Front Matter werden dabei in einem durch drei Bindestriche abgeteilten Block in Schlüssel/Wert-Paaren notiert. Hier ein Überblick über alle möglichen Einstellungen für eine Seite:

---
# Ausklappbares Inhaltsverzeichnis aktivieren/deaktivieren (string)
disableToc = "false"
# Name des Menüeintrages (string)
menuTitle = ""
# Vorangestellter Inhalt (HTML) vor einem Menüeintrag
pre = ""
# Nachgestellter Inhalt (HTML) nach einem Menüeintrag
post = ""
# Seitentyp „Kapitelseite“ aktivieren (true/false)
chapter = false
# Seite im Menü verbergen (true/false)
hidden = false
# Eintrag für letzte Aktualisierung
lastModifierDisplayName: ""
# E-Mail des Autors der letzten Aktualisierung
lastModifierEmail: ""
# Tags für eine Seite (dict)
tags: ["tag1", "tag2"]
# Sortierung für eine Seite (integer)
weight: 10
---

Seitentypen

Es gibt zwei unterschiedliche Seitentypen, die sich im Layout unterscheiden: Kapitelseite und Standardseite. Die Kapitelseite (Beispiel) kann dabei als eine Art „Deckblatt“ für eine Anzahl Unterseiten in einem Kapitel sowie als Startseite für die OER Materialien insgesamt verwendet werden. Auf einer Kapitelseite werden Überschriften erster Ordnung in der mainzed-Font dargestellt.

Kapitelseiten werden durch das chapter: true Metatag in der YAML Front Matter einer Seite aktiviert. Beispiel:

---
title: "Meine Kapitelseite"
chapter: true
---

Reihenfolge der Seiten im Menü

Die Reihenfolge der Seiten im Menü orientiert sich grundsätzlich an einer auf den Seitentiteln basierenden alphabetischen Sortierung. Soll eine andere Sortierung erfolgen, kann dies über die Zuweisung einer Ordnungszahl im weight Metatag erfolgen. Beispiel:

---
title = "Meine Seite"
weight = 5
---

Seitentitel und Menüeintrag

Seitentitel und Menüeinträge können unterschiedlich benannt werden. Dies kann über das title und das menuTitle Metatag realisiert werden. Beispiel:

---
title = "Seitentitel"
menuTitle = "Menüeintrag"
---

Verwendung von Tags

Eine Seite kann in der Front Matter mit beliebigen Tags versehen werden. Die vergebenen Tags werden am Seitenanfang als Buttons angezeigt und führen zu einer Spezialseite, auf der alle Seiten die einen entsprechenden Tag tragen als Liste angezeigt werden. Beispiel:

---
title = "Meine Seite"
tags: ["tag1", "tag2"]
---

Hier eine Beispielseite aus dieser Vorlage zum Ausprobieren.