xref: /plugin/navigatorlabels/README.md (revision f784693fd643602c71433fdb2b221710c6f55439)
1<!-- Folder structure finalized on 2026‑03‑18 -->
2
3# NavigatorLabels Plugin
4*A helper plugin providing multilingual sorting, AUTOINDEX support, and customizable UI vocabulary for the Navigator theme.*
5
6## Overview
7NavigatorLabels extends the **Navigator** theme with helper functions and configuration options that keep navigation calm, predictable, and multilingual‑friendly.
8
9The plugin provides:
10
11- **Multilingual article‑stripping** for natural alphabetical sorting
12- **AUTOINDEX integration** for Navigator’s autolist behavior
13- **Customizable UI labels** for the theme’s top bar and navigation vocabulary
14- **Unicode‑aware normalization** for consistent sorting across languages
15
16NavigatorLabels is designed specifically for the **DokuWiki** engine and integrates seamlessly with the Navigator theme.
17
18---
19
20## Features
21
22### Multilingual Sorting Engine
23NavigatorLabels removes leading articles and elisions before sorting page titles.
24This produces natural alphabetical order across multiple languages.
25
26Supported out of the box:
27
28- **Portuguese:** a, as, o, os, um, uma, uns, umas
29- **English:** the, an
30- **Spanish:** el, la, los, las, un, una, unos, unas
31- **French elisions:** l’, d’, qu’
32
33The list is fully configurable in the Admin panel.
34
35### AUTOINDEX Handling
36NavigatorLabels provides internal helper functions used by the Navigator theme to:
37
38- detect the `~~AUTOINDEX~~` marker
39- normalize titles
40- generate calm, predictable autolists
41
42When combined with the **Navigator** theme, the marker remains invisible to readers while still being detected by Navigator.
43
44### Customizable UI Vocabulary
45Administrators can define the labels used in the Navigator top bar via the Admin Configuration Settings, allowing:
46
47- multilingual wikis
48- custom terminology
49- simplified or domain‑specific navigation
50
51### Unicode‑Aware Normalization
52The plugin handles:
53
54- punctuation
55- hyphens
56- apostrophes
57- NBSP and thin spaces
58- French elisions
59- accented characters
60
61This ensures consistent behavior even when titles come from Word, PDFs, macOS, or multilingual sources.
62
63---
64
65## Installation
66
671. Place the plugin folder in:
68   `<your_wiki>/lib/plugins/navigatorlabels/`
69
702. Ensure `plugin.info.txt` is present and correctly configured.
71
723. Visit:
73   **Admin → Configuration Settings → NavigatorLabels**
74   to customize:
75
76   - articles to ignore when sorting
77   - top‑bar labels
78   - other Navigator‑specific vocabulary
79
80No additional configuration is required for basic operation.
81
82---
83
84## Configuration
85
86### Articles to Ignore When Sorting
87A multiline field allows administrators to define a comma‑separated list of articles and elisions.
88
89**Default example:**
90
91a, as, o, os, um, uma, uns, umas,
92the, an,
93el, la, los, las, un, una, unos, unas,
94l’, d’, qu’
95
96
97The plugin is Unicode‑aware and accepts both `'` and `’`.
98
99### Top Bar Labels
100NavigatorLabels exposes several UI vocabulary fields used by the Navigator theme.
101These can be customized to match your wiki’s language or tone.
102
103---
104
105## Sorting Behavior
106
107NavigatorLabels normalizes titles before sorting by removing leading articles and elisions defined in the configuration.
108
109Examples:
110
111| Original Title                     | Normalized | Sorted Under |
112|-----------------------------------|------------|--------------|
113| A Casa                            | Casa       | C            |
114| The Journey                       | Journey    | J            |
115| El Camino                         | Camino     | C            |
116| L’Été                             | Été        | É            |
117| D’Amour                           | Amour      | A            |
118| Navigator is cool (if configured) | is cool    | I            |
119
120Normalization is:
121
122- Unicode‑aware
123- punctuation‑aware
124- NBSP‑safe
125- multilingual
126
127---
128
129## Compatibility
130
131- **DokuWiki:** Greebo → current
132- **PHP:** 7.4+ and 8.x
133- **Themes:** Designed for the Navigator theme; safe alongside others
134- **Languages:** Fully multilingual
135
136---
137
138## Changelog
139
140The complete development history is kept in
141**[CHANGELOG.txt](CHANGELOG.txt)**
142to ensure a single, consistent source of truth.
143
144This README focuses on usage and configuration.
145
146---
147