Support für Header-Navigation

Feature Template

Detailed description

Der Header der Website soll zu einer Navigationsleiste ausgebaut werden. Neben dem Titel der Website und einer Suchleiste sollen High-level-Menüpunkte eingefügt werden können. Ähnlich zu dieser Seite: https://docs.fitko.de/fit/policies/

Justification of the request

Eine Header-Navigationsleiste ermöglicht es, komplexere Dokumentationen übersichtlich zu strukturieren. So können besser semantisch getrennte Bereiche dargestellt werden, als sie untereinander in der Seitenleiste zu organisieren.

Proposed implementation (optional)

Zwei Implementierungen wären denkbar.

Variante 1 – Erweiterung der Meta-JSON um displayOnlyInHeader

  • Neues Boolean displayOnlyInHeader in _meta.json einfügen. Bei wahr, wird der Punkt in der Reihenfolge im _meta.json im Header eingefügt
  • Vorteile: Einfache Umsetzung, analog zur Umsetzung von displayOnlyInFooter
  • Nachteile: _meta.json kann bald unübersichtlich werden, geschachtelte Header-Navigation kann nicht gut umgesetzt werden

Variante 2 – Neustrukturierung der Meta-JSON

  • _meta.json wird folgendermaßen neu strukturiert
{
  "header": {
    "home": {
      "path": "index",
      "title": "Titel zur Startseite",
      "icon": "path/to/icon",
    },
    "navigation": [
      { "title": "", path: "", "children": []},
    ],
  },
  "footer": [
     "navigation": [
       { "title": "", path: "", "children": []},
     ],
     "copyright": {}
  ],
}
  • Vorteile: Übersichtliche und einheitliche Konfiguration, Zukunftsfähig (z.B. einfache Erweiterung um Definitionen zu Übersetzungen oder weitere Ausgestaltungsattribute wie footer > navigation[item] > display: dropdown/list)
  • Nachteile: Zugriff auf Attribute für einen gegebenen Pfad ist komplexer (aktuell direkter Lookup möglich), aufwändiger in der Initialimplementierung

Possible impact

  • Positiv: DWT flexibler an Bedürfnisse anpassbar, Hürden zum Wechsel von z.B. Docusaurus auf DWT geringer
  • Negativ: Breaking Change für Bestandskunden
Edited by Silvan Verhoeven