Ga naar inhoud

Menu en submenu's

Het menu van deze site maak je niet door mappen aan te maken, maar in één lijst: nav: in mkdocs.yml. Daar bepaal je de volgorde, de titels en welke pagina's erin staan.

Hoe het menu eruitziet

Het menu heeft drie niveaus, en elk niveau ziet er anders uit:

Niveau Waar je het ziet Voorbeeld op deze site
1 Als tabbladen bovenaan, onder de kop Aan de slag, Deelnemers, Beheer
2 In het zijmenu links. Is het een groep, dan wordt het een vet kopje Het aanbod, Inschrijven, het kopje Afrekenen
3 In het zijmenu, onder dat kopje Zakelijk afrekenen, onder Afrekenen

Kijk maar in het tabblad Deelnemers: Afrekenen staat daar als kopje, met Zakelijk afrekenen eronder. Klik je op het kopje zelf, dan kom je op de pagina van Afrekenen.

Op een telefoon zitten alle niveaus in het menu achter linksboven.

De lijst in mkdocs.yml

Zo ziet het deel Deelnemers eruit:

mkdocs.yml
nav:
  - Home: index.md
  - Deelnemers:                                   # (1)!
      - deelnemers/index.md                       # (2)!
      - Het aanbod: deelnemers/aanbod.md          # (3)!
      - Inschrijven: deelnemers/inschrijven.md
      - Afrekenen:                                # (4)!
          - deelnemers/afrekenen/index.md
          - Zakelijk afrekenen: deelnemers/afrekenen/zakelijk.md
      - Mijn evenementen: deelnemers/mijn-evenementen.md
  1. Een titel zonder bestand erachter is een groep. Op het bovenste niveau wordt hij een tabblad.
  2. Een pagina zonder titel die index.md heet, is de pagina van de groep zelf. Klik je op Deelnemers, dan kom je hier. (Dat regelt navigation.indexes.)
  3. Titel: bestand. De titel is wat er in het menu staat; de kop op de pagina zelf mag anders zijn.
  4. Een groep binnen een tabblad: in het zijmenu een kopje, met zijn pagina's (het derde niveau) eronder. Nog een groep dieper wordt een uitklapbaar menu; doe dat liever niet, drie niveaus is genoeg.

Klik op de nummers

De nummers in het codeblok hierboven zijn annotaties: klik erop voor uitleg. Hoe je die maakt, staat bij Opmaak en bouwstenen.

Een pagina die niet in het menu staat

Staat een pagina niet in nav:, dan vindt niemand hem door te bladeren. Dat is bijna altijd een vergissing, dus stopt mkdocs build --strict dan met een melding. Zet de pagina in het menu, of haal hem weg.

Wat het menu verder doet

Deze instellingen staan in mkdocs.yml onder theme: → features::

navigation.tabs
Het bovenste niveau als tabbladen.
navigation.sections
Een groep op het tweede niveau als kopje in het zijmenu, met zijn pagina's eronder.
navigation.indexes
Een groep kan zijn eigen pagina hebben (index.md).
navigation.footer
Onderaan elke pagina de knoppen Vorige en Volgende, in de volgorde van het menu.
navigation.top
Een knop Terug naar boven zodra je omhoog scrolt.
toc.follow
De inhoudsopgave rechts loopt mee terwijl je leest.

De inhoudsopgave rechts

De koppen van een pagina (## en ###) vormen vanzelf de inhoudsopgave rechts. Elke kop krijgt een anker: ga er met de muis op staan en klik op het ¶-teken om een link naar precies die plek te krijgen.

Het menu of de inhoudsopgave verbergen

Voor een enkele pagina kun je het zijmenu en de inhoudsopgave uitzetten, met een blokje bovenaan het bestand. De startpagina van deze site doet dat:

docs/index.md
---
hide:
  - navigation
  - toc
---

# Welkom bij de EventOps-handleiding

Linken naar een andere pagina

Link altijd naar het bestand, met een pad vanaf de pagina waar je staat:

Van Naar Link
deelnemers/aanbod.md deelnemers/inschrijven.md [Inschrijven](inschrijven.md)
deelnemers/aanbod.md beheer/index.md [Beheer](../beheer/index.md)
deelnemers/index.md een kop op een andere pagina [BTW-controle](afrekenen/zakelijk.md#hoe-we-het-btw-nummer-controleren)

Klopt een link niet, dan stopt mkdocs build --strict met een melding. Zo kan er geen dode link online komen.