Die zentrale Informationsseite des KompetenzwerkD an der Sächsischen Akademie der Wissenschaften zu Leipzig.
Diese Seite verden den Static Page Builder Zola um aus den im content
Verzeichnis befindende Inhalte Format Html-Seiten zu generieren.
Für die visuelle Gestaltung wird eine adaptierte Version des docsacode-Themes verwendet.
Derzeit wird die Seite mittles github-pages gehosted.
Die allgemeine Konfiguration der Website findet man in der config.toml
. Darin sind u.a. der Title der Website, die 'base url' (wird benötigt um die richtigen Links zu generieren) und das verwendete Theme definiert.
Die Inhalte der Seite liegen im content
Verzeichnis vor. Jede .md (Markdown) Datei im Verzeichnis entspricht dabei einer Seite auf der Website. Unterverzeichnisse strukturieren dabei die Inhalte und werden auch so als Menüstruktur in die Website übernommen. Eine _index.md
Datei ist dabei die 'Startseite' des jeweiligen Verzeichnisses.
/content
| - _index.md
| - impressum.md
| /forschungsdatenmanagemnt
| - _index.md
| - policy.md
In diesem Beispiel hat die Seite eine Startseite (_index.md) und einer weitere Seite (impressum.md). Dann gibt es noch eine Sektion 'Forschungsdatenmanagement', welche auch über eine Einstiegsseite (forschungsdatenmanagement/_index.md) und über eine weitere Inhaltsseite (policy.md) besitzt.
Baut man aus diesem Verzeichnis mit Zola eine Webseite können die einzelnen Seiten über folgende urls aufgerufen werden:
# _index.md
http://127.0.0.1:1111/
# impressum
http://127.0.0.1:1111/impressum/
# forschungsdatenmanagement/_index.md
http://127.0.0.1:1111/forschungsdatenmanagement/
# forschungsdatenmanagement/policy.md
http://127.0.0.1:1111/forschungsdatenmanagement/policy/
Unterverzeichnisse können auch wieder Unterverzeichnisse besitzen (in beliebiger Tiefe). Jedoch sollte man aufpassen, die Website nicht zu 'tief' hierarchisch zu gliedern, da dies die Bedienbarkeit der Website erschweren kann.
Die einzelnen Markdown-Seiten besitzen jeweils zu Beginn einen Header mit Metadaten
example.md:
+++
# Header mit Metadaten
title: "Testseite"
description: "Eine Testseite"
weight: 1
+++
# Inhalt von Test
...
Der Header ist jeweilt am Anfang und am Ende mit einem +++
ausgezeichnet und beinhaltet verschiedene Informationen die Zola beim Bau der Website berücksichtigt. So wird das title
Feld in der Regel verwendet um ein Menü zu erstellen (in diesem Beispiel würde die Seite als 'Testseite' ins Menü eingetragen werden). Das Feld weight
kann verwendet werden um die Reihenfolge der Seiten (in der Sektion) im Menü anzupassen.
Ausführliche Informationen zu den im Header möglichen Angaben findet man in der offiziellen Zola-Dokumentation, Die KompetenzwerkD Seite verwendet derzeit jedoch nur die Felder title
, weight
, und sort_by
.
Anschließend an den Header folgt der Inhalt der jeweiligen Seite. Dabei sollte man darauf achten, möglichst immer mit einem h1 Header (einfaches '# ') zu beginnen um ein einheitliches Erscheinungsbild zu wahren.
Um von einer Seite auf eine andere zu verlinken, kann ein Markdown-Link zusätzlich mit @
ausgezeichnet werden.
Z.B. in der Datei /fdm/_index.md
hat ein Link zur seite /fdm/policy.md
folgende Form:
Unsere [Forschungdatenpolicy](@/fdm/policy.md) ...
Statische Elemente wie Bilder können static
Verzeichnis abgelegt werden und dann einfach über den entsprechenden Markdown Befehl eingefügt werden.
/static
| /images
|- saw-logo.png
Einbinden der Grafik in eine Seite:
![](/infoportal/images/saw-logo.png)
In dieses Repo ist die GH-Action Zola Deploy Action eingebunden. Damit wird mit einem Commit im Masterbrach (z.B. durch Änderungen im content
Verziechnis) ein Prozess angestoßen, welcher die Seite neu baut und sie im gh-pages Branch veröffentlicht.
Outdated, dank automatischem Prozess (siehe oben)!
Wurden Inhalte hinzugefügt/geändert/gelöscht, kann man mit dem Befehl zola build
eine neue Version der Website generieren.
$ zola build
Dieser Befehlt erstellt eine neue Version im public
Verzeichnis.
Diese Verzeichniss muss man nun im gh-pages
Branch dieses Repos veröffentlichen (zuvor auch den Master-Branch commiten und pushen!):
$ git subtree push --prefix public origin gh-pages
Die Inhalte dieser Website sind unter CC-0 freigegeben.