Diese Seite orientiert sich inhaltlich eng an ➔ folgender Seite aus der Dokumentation des Hugo Learn Themes
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.
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
---
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
---
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üeinträge können unterschiedlich benannt werden. Dies kann über das title
und das menuTitle
Metatag realisiert werden. Beispiel:
---
title = "Seitentitel"
menuTitle = "Menüeintrag"
---
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.