Dokuwiki Plugin – SearchResultsWithPath

Bei Dokuwiki werden standardmäßig gefundene Seiten in der Suche mit ihrer id angezeigt. Das kann man in Dokuwiki umstellen, sodass er stattdessen die erste Überschrift als Namen der Seite anzeigt, was zu deutlich schöneren und lesbareren Suchergebnissen führt. Aus beispielsweise

wood_fence (spiel:objects:buildable)
wood_fence (spiel:rezepte:crafting)

wird mit eingeschalter use_headings Option ein

Holzzaun (Wood Fence)
Holzzaun (Wood Fence)

Wie am Beispiel erkennbar ist, ergab sich damit ein kleines Problem: Ich wollte natürlich die schönen Namen für die Suchergebnisse haben (unter anderem, weil nur diese die deutsche Übersetzung beinhalteten), allerdings gibt es einige Seiten, die gleich heißen, jedoch in unterschiedlichen Pfaden liegen. Der Pfad der Seite wird bei eingeschaltetem use_headings jedoch leider ausgeblendet, was dazu führte, das die Suchergebnisse ohne einen Blick in die URL nicht unterscheidbar waren.

SearchResultsWithPath

Bei SearchResultWithPath handelt es sich um ein weiteres Action-Plugin, das sich an das SEARCH_QUERY_PAGELOOKUP Event hängt und den Titel der Seite um ihren Pfad ergänzt. Dadurch greift die Funktionalität des Plugins nur, wenn die Dokuwikioption use_headings auf „navigation“ oder „both“ konfiguriert ist – in anderen Fällen zeigt Dokuwiki selbstständig den Pfad der Seite an.

Funktionalität

Das gewünschte Ergebnis sind also die schönen Seitennamen, die mitsamt Pfad angezeigt werden sollen. Und wenn wir gerade schon dabei sind: Auch der Pfad sollte sich in schön präsentieren und stets durch die Überschrift der Namespace-Seite angezeigt werden.

Konfigurierbarkeit

Zwei Konfigurationsschlüssel machen die Darstellung des Pfades anpassbar:

use_ns_heading Nutze die erste Überschrift der Namespace oder Namespace:start Seite als Anzeigename, falls vorhanden
show_path_only_as_heading Zeige den Pfad nur an, wenn eine Überschrift als Anzeigename verwendet werden kann

Mit use_ns_heading = off kann man auf die Standardanzeige, die Dokuwiki mit ausgeschaltetem use_headings verwendet, wechseln und sich die ID-Kette des Pfades der Seite anzeigen lassen. Unser Beispiel würde dann zu

Holzzaun (Wood Fence) [spiel:objects:buildable]
Holzzaun (Wood Fence) [spiel:rezepte:crafting]

Mit use_ns_headings = on wird versucht, von der Namespace Seite (hier also spiel:objects:buildable) oder deren Startseite (spiel:objects:buildable:start) die erste Überschrift als Namen anzuzeigen, sprich das Verhalten, das use_headings erzeugt, wird hier auf die Namespaces abgebildet. Das ergibt dann folgende Suchtreffer:

Holzzaun (Wood Fence) [Platzierbares]
Holzzaun (Wood Fence) [Herstellung]

Mit show_path_only_as_heading ist schlussendlich noch konfigurierbar, ob Pfade generell nur angezeigt werden sollen, wenn eine Überschrift als Anzeigename genutzt werden kann. Diese Option wird ignoriert, falls use_ns_heading ausgeschaltet ist.

Code und Dokumentation

Den Code gibt es auf Github, die Dokumentation in der Pluginkategorie von Dokuwiki. In live kann man sich das Plugin – und das Beispiel – auf dem Stardew Valley Wiki anschauen.

 

Mehr über Dokuwiki-Action-Plugins gibt es in diesem Artikel zu lesen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *