xref: /plugin/navigatorlabels/README.md (revision 870feaba4a318656a2503c9f6f6b0e47b2f3b23c)
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 navigatorlabels plugin folder in:
68   `<your_wiki>/lib/plugins/`
69
702. Visit:
71   **Admin → Configuration Settings → NavigatorLabels**
72   to customize:
73
74   - articles to ignore when sorting
75   - top‑bar labels
76   - other Navigator‑specific vocabulary
77
78No additional configuration is required for basic operation.
79
80---
81
82## Configuration
83
84### Articles to Ignore When Sorting
85A multiline field allows administrators to define a comma‑separated list of articles and elisions.
86
87**Default example:**
88
89a, as, o, os, um, uma, uns, umas,
90the, an,
91el, la, los, las, un, una, unos, unas,
92l’, d’, qu’
93
94
95The plugin is Unicode‑aware and accepts both `'` and `’`.
96
97### Top Bar Labels
98NavigatorLabels exposes several UI vocabulary fields used by the Navigator theme.
99These can be customized to match your wiki’s language or tone.
100
101---
102
103## Sorting Behavior
104
105NavigatorLabels normalizes titles before sorting by removing leading articles and elisions defined in the configuration.
106
107Examples:
108
109| Original Title                     | Normalized | Sorted Under |
110|-----------------------------------|------------|--------------|
111| A Casa                            | Casa       | C            |
112| The Journey                       | Journey    | J            |
113| El Camino                         | Camino     | C            |
114| L’Été                             | Été        | É            |
115| D’Amour                           | Amour      | A            |
116| Navigator is cool (if configured) | is cool    | I            |
117
118Normalization is:
119
120- Unicode‑aware
121- punctuation‑aware
122- NBSP‑safe
123- multilingual
124
125---
126
127## Compatibility
128
129- **DokuWiki:** Greebo → current
130- **PHP:** 7.4+ and 8.x
131- **Themes:** Designed for the Navigator theme; safe alongside others
132- **Languages:** Fully multilingual
133
134---
135
136## Changelog
137
138The complete development history is kept in
139**[CHANGELOG.md](CHANGELOG.md)**
140to ensure a single, consistent source of truth.
141
142This README focuses on usage and configuration.
143
144---
145