fix: update quilldrop doku
R
Rüdiger Küpper
<rpr@9it.de>
committete am 19.02.2026 02:33
77d8f24773dafbfa40bc7a21d1211af10546da4e
| @@ -78,2 +78,3 @@ Das mitgelieferte Theme bietet: | ||
| 78 | -- **Hamburger-Navigation** auf mobilen Geräten mit Fullscreen-Overlay |
|
| 79 | -- **Dropdown-Menus** für verschachtelte Navigation |
|
| 78 | +- **Hamburger-Navigation** auf mobilen Geräten mit Fullscreen-Overlay und eigenem Stacking Context |
|
| 79 | +- **Dropdown-Menus** für verschachtelte Navigation (Touch-optimiert auf Mobile) |
|
| 80 | +- **Integrierte Suche** — Lupe in der Navbar mit Ctrl+K Shortcut |
|
| @@ -118,3 +119,43 @@ Die Startseite zeigt eine konfigurierbare Anzahl von Posts pro Seite (Standard: | ||
| 118 | -- **Tag-Übersicht** unter `/tags` mit Anzahl der Posts pro Tag |
|
| 119 | -- **Tag-Seiten** unter `/tags/kubernetes` mit allen Posts eines Tags |
|
| 120 | -- **Tag-Badges** auf Post-Cards und Einzelseiten |
|
| 119 | +QuillDrop unterstützt sowohl Tags als auch Kategorien zur Strukturierung von Inhalten: |
|
| 120 | + | |
| 121 | +- **Tag-Übersicht** unter `/tags/` mit Anzahl der Posts pro Tag |
|
| 122 | +- **Tag-Seiten** unter `/tags/kubernetes/` mit allen Posts eines Tags |
|
| 123 | +- **Kategorie-Übersicht** unter `/categories/` mit Anzahl der Posts pro Kategorie |
|
| 124 | +- **Kategorie-Seiten** unter `/categories/technik/` mit allen Posts einer Kategorie |
|
| 125 | +- **Tag- und Kategorie-Badges** auf Post-Cards und Einzelseiten |
|
| 126 | +- Tags und Kategorien werden aus dem YAML-Frontmatter (`tags`, `categories`) ausgelesen |
|
| 127 | + | |
| 128 | +### Volltextsuche |
|
| 129 | + | |
| 130 | +QuillDrop enthält eine integrierte Client-seitige Suche, die komplett ohne Backend auskommt: |
|
| 131 | + | |
| 132 | +- **Suchindex** — Beim Generieren wird eine `search-index.json` mit allen Posts erstellt |
|
| 133 | +- **Lazy Loading** — Der Suchindex wird erst beim ersten Öffnen der Suche geladen |
|
| 134 | +- **Multi-Term-Suche** — Mehrere Suchbegriffe werden mit UND verknüpft |
|
| 135 | +- **Felder** — Durchsucht Titel, Vorschau, Tags und Kategorien |
|
| 136 | +- **Keyboard-Shortcut** — `Ctrl+K` / `Cmd+K` öffnet die Suche |
|
| 137 | +- **Lupe in der Navbar** — Klick auf das Such-Icon öffnet das Suchfeld |
|
| 138 | +- **Debounce** — Suchergebnisse erscheinen nach 200ms Tippverzögerung |
|
| 139 | +- **Maximal 8 Treffer** mit Highlighting der Suchbegriffe |
|
| 140 | +- **Escape** oder Klick außerhalb schließt die Suche |
|
| 141 | +- Kein externer Dienst, kein Framework — reines Vanilla JavaScript |
|
| 142 | + | |
| 143 | +### Artikel-Navigation |
|
| 144 | + | |
| 145 | +Am Ende jedes Blog-Posts wird eine Navigation zum vorherigen und nächsten Artikel angezeigt: |
|
| 146 | + | |
| 147 | +- **Neuerer Artikel** (← links) — Verlinkt zum chronologisch neueren Post |
|
| 148 | +- **Älterer Artikel** (→ rechts) — Verlinkt zum chronologisch älteren Post |
|
| 149 | +- Beim neuesten Artikel wird nur "Älterer Artikel" angezeigt |
|
| 150 | +- Beim ältesten Artikel wird nur "Neuerer Artikel" angezeigt |
|
| 151 | +- Zeigt jeweils den Titel des verlinkten Artikels an |
|
| 152 | + | |
| 153 | +### Inhaltsverzeichnis (Table of Contents) |
|
| 154 | + | |
| 155 | +Posts können ein automatisch generiertes Inhaltsverzeichnis aktivieren: |
|
| 156 | + | |
| 157 | +- Aktivierung über `toc: true` im Frontmatter |
|
| 158 | +- Unterstützt **H1, H2 und H3** Überschriften |
|
| 159 | +- **Relative Einrückung** — Das TOC erkennt die minimale Heading-Ebene und rückt relativ dazu ein |
|
| 160 | +- Automatische Anchor-Links zu den jeweiligen Überschriften |
|
| 161 | +- Wird client-seitig generiert für schnelle Seitenladezeit |
|
| @@ -135 +176 @@ Seiten werden als Markdown-Dateien im `sites/`-Verzeichnis abgelegt. Verschachte | ||
| 135 | -Automatisch generierter RSS 2.0 Feed unter `/feed.xml` mit: |
|
| 176 | +Automatisch generierter RSS 2.0 Feed unter `/index.xml` mit: |
|
| @@ -140,0 +182 @@ Automatisch generierter RSS 2.0 Feed unter `/feed.xml` mit: | ||
| 182 | +- URL `/index.xml` für Kompatibilität mit bestehenden Blog-Setups |
|
| @@ -170 +212,3 @@ quilldrop/ | ||
| 170 | -│ ├── js/theme.js |
|
| 212 | +│ ├── js/ |
|
| 213 | +│ │ ├── theme.js # Dark/Light Toggle + TOC Generator |
|
| 214 | +│ │ └── search.js # Client-seitige Volltextsuche |
|
| @@ -175 +219 @@ quilldrop/ | ||
| 175 | -│ │ ├── post.go # Post Struct + FlexTime |
|
| 219 | +│ │ ├── post.go # Post Struct + FlexTime + Tags/Categories |
|
| @@ -179 +223,3 @@ quilldrop/ | ||
| 179 | -│ ├── generator/generator.go # Static Site Generator |
|
| 223 | +│ ├── generator/ |
|
| 224 | +│ │ ├── generator.go # Static Site Generator |
|
| 225 | +│ │ └── search.go # Search-Index Generator (JSON) |
|
| @@ -183 +229 @@ quilldrop/ | ||
| 183 | -│ ├── base.html # Base Layout |
|
| 229 | +│ ├── base.html # Base Layout + Navbar + Suche |
|
| @@ -185 +231 @@ quilldrop/ | ||
| 185 | -│ ├── post.html # Einzelner Post |
|
| 231 | +│ ├── post.html # Einzelner Post + Prev/Next Navigation |
|
| @@ -188 +234,3 @@ quilldrop/ | ||
| 188 | -│ └── tag.html # Tag-Seite |
|
| 234 | +│ ├── tag.html # Tag-Seite |
|
| 235 | +│ ├── categories.html # Kategorie-Übersicht |
|
| 236 | +│ └── category.html # Kategorie-Seite |
|
| @@ -204 +252 @@ quilldrop/ | ||
| 204 | -| JavaScript | Vanilla JS (kein Framework) | |
|
| 252 | +| JavaScript | Vanilla JS — Theme Toggle, Suche, TOC (kein Framework) | |
|
| @@ -326,0 +375,2 @@ Die generierten Dateien im `output/`-Verzeichnis können direkt auf einen Webser | ||
| 375 | +Alle URLs verwenden konsequent Trailing Slashes, um serverseitige Redirects zu vermeiden: |
|
| 376 | + | |
| @@ -330,7 +380,10 @@ Die generierten Dateien im `output/`-Verzeichnis können direkt auf einen Webser | ||
| 330 | -| `/page/2` | Seite 2 der Post-Liste | |
|
| 331 | -| `/posts/2025-11-06-mein-post` | Einzelner Blog-Post | |
|
| 332 | -| `/tags` | Tag-Übersicht | |
|
| 333 | -| `/tags/kubernetes` | Posts mit Tag "Kubernetes" | |
|
| 334 | -| `/sites/ueber-mich` | Statische Seite | |
|
| 335 | -| `/sites/projekte/vm-tracker` | Verschachtelte Projektseite | |
|
| 336 | -| `/feed.xml` | RSS Feed | |
|
| 380 | +| `/page/2/` | Seite 2 der Post-Liste | |
|
| 381 | +| `/posts/2025-11-06-mein-post/` | Einzelner Blog-Post | |
|
| 382 | +| `/tags/` | Tag-Übersicht | |
|
| 383 | +| `/tags/kubernetes/` | Posts mit Tag "Kubernetes" | |
|
| 384 | +| `/categories/` | Kategorie-Übersicht | |
|
| 385 | +| `/categories/technik/` | Posts in Kategorie "Technik" | |
|
| 386 | +| `/sites/ueber-mich/` | Statische Seite | |
|
| 387 | +| `/sites/projekte/vm-tracker/` | Verschachtelte Projektseite | |
|
| 388 | +| `/index.xml` | RSS Feed | |
|
| 389 | +| `/search-index.json` | Suchindex (JSON) | |
|
| @@ -344 +397 @@ Die generierten Dateien im `output/`-Verzeichnis können direkt auf einen Webser | ||
| 344 | -- **Keine JS-Frameworks** - Vanilla JavaScript, unter 90 Zeilen |
|
| 397 | +- **Keine JS-Frameworks** - Vanilla JavaScript für Theme, Suche und TOC |
| @@ -83,2 +83,3 @@ Das mitgelieferte Theme bietet: | ||
| 83 | -- **Hamburger-Navigation** auf mobilen Geräten mit Fullscreen-Overlay |
|
| 84 | -- **Dropdown-Menus** für verschachtelte Navigation |
|
| 83 | +- **Hamburger-Navigation** auf mobilen Geräten mit Fullscreen-Overlay und eigenem Stacking Context |
|
| 84 | +- **Dropdown-Menus** für verschachtelte Navigation (Touch-optimiert auf Mobile) |
|
| 85 | +- **Integrierte Suche** — Lupe in der Navbar mit Ctrl+K Shortcut |
|
| @@ -123,3 +124,43 @@ Die Startseite zeigt eine konfigurierbare Anzahl von Posts pro Seite (Standard: | ||
| 123 | -- **Tag-Übersicht** unter `/tags` mit Anzahl der Posts pro Tag |
|
| 124 | -- **Tag-Seiten** unter `/tags/kubernetes` mit allen Posts eines Tags |
|
| 125 | -- **Tag-Badges** auf Post-Cards und Einzelseiten |
|
| 124 | +QuillDrop unterstützt sowohl Tags als auch Kategorien zur Strukturierung von Inhalten: |
|
| 125 | + | |
| 126 | +- **Tag-Übersicht** unter `/tags/` mit Anzahl der Posts pro Tag |
|
| 127 | +- **Tag-Seiten** unter `/tags/kubernetes/` mit allen Posts eines Tags |
|
| 128 | +- **Kategorie-Übersicht** unter `/categories/` mit Anzahl der Posts pro Kategorie |
|
| 129 | +- **Kategorie-Seiten** unter `/categories/technik/` mit allen Posts einer Kategorie |
|
| 130 | +- **Tag- und Kategorie-Badges** auf Post-Cards und Einzelseiten |
|
| 131 | +- Tags und Kategorien werden aus dem YAML-Frontmatter (`tags`, `categories`) ausgelesen |
|
| 132 | + | |
| 133 | +### Volltextsuche |
|
| 134 | + | |
| 135 | +QuillDrop enthält eine integrierte Client-seitige Suche, die komplett ohne Backend auskommt: |
|
| 136 | + | |
| 137 | +- **Suchindex** — Beim Generieren wird eine `search-index.json` mit allen Posts erstellt |
|
| 138 | +- **Lazy Loading** — Der Suchindex wird erst beim ersten Öffnen der Suche geladen |
|
| 139 | +- **Multi-Term-Suche** — Mehrere Suchbegriffe werden mit UND verknüpft |
|
| 140 | +- **Felder** — Durchsucht Titel, Vorschau, Tags und Kategorien |
|
| 141 | +- **Keyboard-Shortcut** — `Ctrl+K` / `Cmd+K` öffnet die Suche |
|
| 142 | +- **Lupe in der Navbar** — Klick auf das Such-Icon öffnet das Suchfeld |
|
| 143 | +- **Debounce** — Suchergebnisse erscheinen nach 200ms Tippverzögerung |
|
| 144 | +- **Maximal 8 Treffer** mit Highlighting der Suchbegriffe |
|
| 145 | +- **Escape** oder Klick außerhalb schließt die Suche |
|
| 146 | +- Kein externer Dienst, kein Framework — reines Vanilla JavaScript |
|
| 147 | + | |
| 148 | +### Artikel-Navigation |
|
| 149 | + | |
| 150 | +Am Ende jedes Blog-Posts wird eine Navigation zum vorherigen und nächsten Artikel angezeigt: |
|
| 151 | + | |
| 152 | +- **Neuerer Artikel** (← links) — Verlinkt zum chronologisch neueren Post |
|
| 153 | +- **Älterer Artikel** (→ rechts) — Verlinkt zum chronologisch älteren Post |
|
| 154 | +- Beim neuesten Artikel wird nur "Älterer Artikel" angezeigt |
|
| 155 | +- Beim ältesten Artikel wird nur "Neuerer Artikel" angezeigt |
|
| 156 | +- Zeigt jeweils den Titel des verlinkten Artikels an |
|
| 157 | + | |
| 158 | +### Inhaltsverzeichnis (Table of Contents) |
|
| 159 | + | |
| 160 | +Posts können ein automatisch generiertes Inhaltsverzeichnis aktivieren: |
|
| 161 | + | |
| 162 | +- Aktivierung über `toc: true` im Frontmatter |
|
| 163 | +- Unterstützt **H1, H2 und H3** Überschriften |
|
| 164 | +- **Relative Einrückung** — Das TOC erkennt die minimale Heading-Ebene und rückt relativ dazu ein |
|
| 165 | +- Automatische Anchor-Links zu den jeweiligen Überschriften |
|
| 166 | +- Wird client-seitig generiert für schnelle Seitenladezeit |
|
| @@ -140 +181 @@ Seiten werden als Markdown-Dateien im `sites/`-Verzeichnis abgelegt. Verschachte | ||
| 140 | -Automatisch generierter RSS 2.0 Feed unter `/feed.xml` mit: |
|
| 181 | +Automatisch generierter RSS 2.0 Feed unter `/index.xml` mit: |
|
| @@ -145,0 +187 @@ Automatisch generierter RSS 2.0 Feed unter `/feed.xml` mit: | ||
| 187 | +- URL `/index.xml` für Kompatibilität mit bestehenden Blog-Setups |
|
| @@ -175 +217,3 @@ quilldrop/ | ||
| 175 | -│ ├── js/theme.js |
|
| 217 | +│ ├── js/ |
|
| 218 | +│ │ ├── theme.js # Dark/Light Toggle + TOC Generator |
|
| 219 | +│ │ └── search.js # Client-seitige Volltextsuche |
|
| @@ -180 +224 @@ quilldrop/ | ||
| 180 | -│ │ ├── post.go # Post Struct + FlexTime |
|
| 224 | +│ │ ├── post.go # Post Struct + FlexTime + Tags/Categories |
|
| @@ -184 +228,3 @@ quilldrop/ | ||
| 184 | -│ ├── generator/generator.go # Static Site Generator |
|
| 228 | +│ ├── generator/ |
|
| 229 | +│ │ ├── generator.go # Static Site Generator |
|
| 230 | +│ │ └── search.go # Search-Index Generator (JSON) |
|
| @@ -188 +234 @@ quilldrop/ | ||
| 188 | -│ ├── base.html # Base Layout |
|
| 234 | +│ ├── base.html # Base Layout + Navbar + Suche |
|
| @@ -190 +236 @@ quilldrop/ | ||
| 190 | -│ ├── post.html # Einzelner Post |
|
| 236 | +│ ├── post.html # Einzelner Post + Prev/Next Navigation |
|
| @@ -193 +239,3 @@ quilldrop/ | ||
| 193 | -│ └── tag.html # Tag-Seite |
|
| 239 | +│ ├── tag.html # Tag-Seite |
|
| 240 | +│ ├── categories.html # Kategorie-Übersicht |
|
| 241 | +│ └── category.html # Kategorie-Seite |
|
| @@ -209 +257 @@ quilldrop/ | ||
| 209 | -| JavaScript | Vanilla JS (kein Framework) | |
|
| 257 | +| JavaScript | Vanilla JS — Theme Toggle, Suche, TOC (kein Framework) | |
|
| @@ -304,5 +351,0 @@ Das ist mein erster Post mit **QuillDrop**. | ||
| 304 | -## Code-Beispiel |
|
| 305 | - | |
| 306 | -```go |
|
| 307 | -fmt.Println("Hello QuillDrop!") |
|
| 308 | -``` |
|
| @@ -336,0 +380,2 @@ Die generierten Dateien im `output/`-Verzeichnis können direkt auf einen Webser | ||
| 380 | +Alle URLs verwenden konsequent Trailing Slashes, um serverseitige Redirects zu vermeiden: |
|
| 381 | + | |
| @@ -340,7 +385,10 @@ Die generierten Dateien im `output/`-Verzeichnis können direkt auf einen Webser | ||
| 340 | -| `/page/2` | Seite 2 der Post-Liste | |
|
| 341 | -| `/posts/2025-11-06-mein-post` | Einzelner Blog-Post | |
|
| 342 | -| `/tags` | Tag-Übersicht | |
|
| 343 | -| `/tags/kubernetes` | Posts mit Tag "Kubernetes" | |
|
| 344 | -| `/sites/ueber-mich` | Statische Seite | |
|
| 345 | -| `/sites/projekte/vm-tracker` | Verschachtelte Projektseite | |
|
| 346 | -| `/feed.xml` | RSS Feed | |
|
| 385 | +| `/page/2/` | Seite 2 der Post-Liste | |
|
| 386 | +| `/posts/2025-11-06-mein-post/` | Einzelner Blog-Post | |
|
| 387 | +| `/tags/` | Tag-Übersicht | |
|
| 388 | +| `/tags/kubernetes/` | Posts mit Tag "Kubernetes" | |
|
| 389 | +| `/categories/` | Kategorie-Übersicht | |
|
| 390 | +| `/categories/technik/` | Posts in Kategorie "Technik" | |
|
| 391 | +| `/sites/ueber-mich/` | Statische Seite | |
|
| 392 | +| `/sites/projekte/vm-tracker/` | Verschachtelte Projektseite | |
|
| 393 | +| `/index.xml` | RSS Feed | |
|
| 394 | +| `/search-index.json` | Suchindex (JSON) | |
|
| @@ -354 +402 @@ Die generierten Dateien im `output/`-Verzeichnis können direkt auf einen Webser | ||
| 354 | -- **Keine JS-Frameworks** - Vanilla JavaScript, unter 90 Zeilen |
|
| 402 | +- **Keine JS-Frameworks** - Vanilla JavaScript für Theme, Suche und TOC |