Deutsch
Über dieses Handbuch

Dieses Handbuch gehört zum Quartz-Plugin quartz-navigations. Und es ist mit ihm gebaut: das Menü darüber und „Zurück / Weiter“ unter jedem Text kommen von dort.

  • Einstieg — die erste Navigation in fünf Minuten
  • Varianten — alle zehn im Vergleich
  • Rezepte — fertige Kombinationen zum Abschauen
  • Nachschlagen — alle Optionen auf einer Seite

Wie die Einträge dafür aussehen, steht in 8.1.

2.2 – Sortieren

Sortiert werden immer die Kinder eines Ordners untereinander. Drei Verfahren stehen zur Wahl:

options:
  sort: manual        # manual | alphabetical | date
  sortDirection: asc  # asc | desc
  foldersFirst: first # first | last | mixed

Ordner zuerst

Vor jedem Verfahren steht foldersFirst: first stellt die Ordner vor die Seiten, last dahinter, mixed sortiert beide gemeinsam. Innerhalb der Ordner und innerhalb der Seiten gilt dann das gewählte Verfahren.

manual — die Kaskade

Die Vorgabe. Vier Stufen, jede entscheidet nur, wo die vorige gleichstand:

StufeQuelleBeispiel
1die order-Liste in der Konfigurationorder: { docs: [einstieg, setup] }
2navOrder im FrontmatternavOrder: 10
3die Nummer vor dem Datei- oder Verzeichnisnamen02 Setup.md
4der TitelSetup

Wer auf einer Stufe keinen Wert hat, steht hinter allen, die einen haben. Eine Seite mit navOrder kommt also vor jeder Seite ohne — egal, welche Nummer die andere im Dateinamen trägt.

Ohne order, navOrder und Nummern ergibt die Kaskade eine alphabetische Reihenfolge.

Die order-Liste

Die Reihenfolge an einer Stelle, statt verteilt auf viele Frontmatter-Blöcke:

options:
  order:
    "": [docs, blog, ueber]      # die Wurzel
    docs: [einstieg, setup, faq]
  • Der Schlüssel ist der Ordnerpfad; "" ist die Wurzel. docs, docs/, docs/index und docs.md meinen dasselbe.
  • Ein Eintrag ist das letzte Stück des Slugs (einstieg) oder der Datei- bzw. Verzeichnisname (01 Einstieg); Groß- und Kleinschreibung zählt nicht.
  • Was nicht in der Liste steht, folgt danach, geordnet durch die Stufen 2 bis 4.
  • Ein Eintrag, den es im Ordner nicht gibt, meldet der Bau einmal (9.2) — meist ein Tippfehler oder eine umbenannte Datei.

foldersFirst kommt vor der Liste

Mit der Vorgabe foldersFirst: first stehen Ordner vor Seiten, auch wenn die Liste es anders sagt. ueber im Beispiel oben ist eine Seite und landet deshalb hinter docs und blog, wo auch immer sie in der Liste steht. Soll die Liste allein gelten, gehört foldersFirst: mixed dazu.

Eine Zahl, kleiner zuerst. Kommazahlen und negative Werte gehen, ebenso eine Zahl in Anführungszeichen. In einer index.md setzt navOrder den Platz des Ordners unter seinen Geschwistern. Tipp: in Zehnerschritten vergeben, dann passt später etwas dazwischen.

Nummern

01 Einstieg, 02-setup, 3_faq, 4. Anhang — eine Zahl am Anfang, danach -, _, . oder ein Leerzeichen. Die Zahl wird als Zahl verglichen, 10 kommt nach 9. Ob sie im Titel sichtbar bleibt, entscheidet stripNumericPrefix (2.1).

alphabetical

Nur der Titel. Verglichen wird natürlich — Teil 2 vor Teil 10 — und ohne Rücksicht auf Groß- und Kleinschreibung oder Akzente.

Die Sprache entscheidet über die Buchstabenfolge. Das Plugin sortiert mit dem locale aus der Quartz-Konfiguration: Mit de-DE steht Ärger neben Apfel, mit sv-SE hinter Zebra. So sortiert jeder Rechner gleich, auf dem die Site gebaut wird. Auf einer mehrsprachigen Site sortiert jeder Baum nach seiner Sprache: mit dem locale der Site, wenn es dieselbe Sprache ist, sonst mit dem Sprachcode (8.3).

date

options:
  sort: date
  dateField: created    # created | modified | published
  sortDirection: desc   # das Neueste zuerst

Die Daten kommen von Quartz’ Plugin created-modified-date; welches Datum eine Seite hat, bestimmt dessen Konfiguration. Seiten ohne Datum stehen am Ende, bei gleichem Datum entscheidet der Titel.

Die Richtung

sortDirection: desc kehrt jede Stufe um, auch den Titel. Fehlende Werte bleiben trotzdem am Ende: Ein Blog mit sort: date und desc listet die Beiträge ohne Datum hinter den datierten, nicht davor.

Zwei Navigationen, zwei Reihenfolgen

Jeder Eintrag sortiert für sich. Ein Pager durch die Beiträge nach Datum und eine Seitenspalte in manueller Reihenfolge vertragen sich — sie lesen dann zwei verschieden sortierte Bäume (1.3).