Verändern der Navigationsstruktur¶
Neben dem Inhalt einzelner Seiten können Sie auch die Navigationsstruktur der Bücher verändern, also Seiten umbenennen, ergänzen oder löschen. Dies erfordert allerdings einen zusätzlichen Arbeitsschritt, dessen Grundlagen in der Dokumentation zu mkdocs-library beschrieben sind.
Hinweis
Die folgenden Erläuterungen betreffen die etwas komplexeren Eingriffe in die Website und sind für viele Mitwirkende vermutlich irrelevant. Wir haben uns daher auch weniger Mühe gegeben, sie leicht verständlich abzufassen.
Lassen Sie sich also bitte weder vom weniger bekömmlichen Tonfall nicht irritieren oder gar verunsichern.
Speicherung der Navigationsstruktur¶
Unterschiede zwischen MkDocs und mkdocs-library¶
mkdocs-library
weicht hinsichtlich der Speicherung und Verwaltung der
Navigationsstruktur von MkDocs ab. Anstelle einer
zentralen YAML-Steuerdatei mkdocs.yml
wird die Navigationsstruktur jedes
Teilbuchs in einer Datei books/<buch>/_config/navigation.yml
als Liste
definiert, die dem Inhalt des nav:
-Elements einer regulären MkDocs-Steuerdatei
entspricht.
MkDocs:
# /mkdocs.yml
# ...
nav:
- Home: index.md
mkdocs-library:
# /books/<book>/_config/navigation.yml
- Home: index.md
Navigationsstruktur und Links¶
Zur YAML-Struktur der Navigation allgemein siehe auch die entsprechende Dokumentation bei MkDocs direkt.
Formulierung von Links¶
Die Links in der Navigationsdatei sind in der Regel als Links auf die
.md
-Dateien zu notieren (siehe obige Beispiele) und sind relativ zum
Wurzelverzeichnis des Teilbuches. Der Link auf die Seite im Buch »Die
GLAREAN-Plattform« mit der Web-URL plattform/magazin/glarean.html
hat in der
Navigationsdatei books/plattform/_config/navigation.yml
demnach die Adresse
magazin/glarean.md
.
Links in andere Teilbücher¶
Die Architektur von mkdocs-library
macht es unmöglich, auf Seiten in anderen Teilbüchern ebenso nativ zu verweisen, diese müssen als externe Links behandelt werden. Im gerenderten ist das »main«-Buch im Hauptverzeichnis zu finden, die Teilbücher in entsprechenden Unterverzeichnissen. Das heißt, dass Links aus Teilbüchern ein ../
vorangestellt werden muss, Links in Teilbücher darüber hinaus deren Hauptverzeichnis. Das Ziel solcher Links ist die generierte HTML-Datei
Seiten anlegen und löschen¶
Neue Seite¶
Eine neue Seite anzulegen, erfordert drei Schritte (abgesehen von sorgfältiger Überlegung):
- Ergänzung eines Eintrags in der
_config/navigation.yml
des betroffenen Teilbuchs (Link auf.md
-Datei) - Erstellen der zugehörigen Markdown-Datei
- Generieren der Navigation durch das
mkdocs-library
-Script.
Es empfiehlt sich, nach Erstellen der - leeren - Seite einen Git Commit zu erstellen.
Seite entfernen¶
Umgekehrt ist für das Entfernen von Seiten theoretisch nur das Entfernen des
Eintrags aus der navigation.yml
erforderlich. Doch gebietet es die
Code-Hygiene, auch die zugehörige .md
-Datei aus dem Verzeichnis zu löschen.
Auch hier sollte unmittelbar ein Commit erfolgen und die Struktur durch
mkdocs-library
aktualisiert werden.