Przenoszenie lokalnych sidebarów do namespace’ów
Po uporządkowaniu struktury namespace’ów i aktywowaniu szablonu sprintdoc okazało się, że lokalne sidebary dla działu kulinarnego były zapisane jako zwykłe strony w root namespace:
kulinaria_sidebar→ plikdata/pages/kulinaria_sidebar.txtkulinaria_wypieki_sidebar→ plikdata/pages/kulinaria_wypieki_sidebar.txt
To działało, ale było sprzeczne z zalecanym wzorcem DokuWiki, w którym lokalny sidebar dla namespace’u powinien nazywać się po prostu sidebar i leżeć w tym namespace, np.:
:sidebar→ globalny sidebar (root)kulinaria:sidebar→ sidebar dlakulinaria:*kulinaria:wypieki:sidebar→ sidebar dlakulinaria:wypieki:*
1. Przeniesienie kulinaria_sidebar → kulinaria:sidebar
Strona kulinaria_sidebar zawierała dopracowane menu dla całych kulinariów:
====== Kulinaria ======
* [[start|Strona główna]]
* [[kulinaria:kulinaria|Strona działu Kulinaria]]
====== Działy ======
* [[kulinaria:jednogarnkowce:jednogarnkowce|Jednogarnkowce]]
* [[kulinaria:pieczone|Pieczone]]
* [[kulinaria:wypieki:wypieki|Wypieki]]
* [[kulinaria:wypieki:slodkosci:slodkosci|Słodkości]]
* [[kulinaria:zupy:zupy|Zupy]]
* [[kulinaria:szynkowar|Szynkowar]]
====== W tym dziale ======
{{indexmenu>kulinaria#1|navbar notoc}}Zamiast kombinować w menedżerze plików, strona została przeniesiona przez Rename/Move:
- stare ID:
kulinaria_sidebar - nowe ID:
kulinaria:sidebar
Efekt końcowy na poziomie plików:
data/pages/kulinaria/sidebar.txtDzięki temu:
- globalny sidebar to nadal
:sidebar(root), - dla stron
kulinaria:*wykorzystywany jest lokalnykulinaria:sidebar, - DokuWiki stosuje zasadę „najbliższy sidebar wygrywa” – lokalne menu kulinarne nadpisuje globalne.
2. Przeniesienie kulinaria_wypieki_sidebar → kulinaria:wypieki:sidebar
Analogicznie rozwiązano lokalny sidebar dla wypieków. Strona kulinaria_wypieki_sidebar (w root) miała treść:
====== Wypieki ======
* [[start|Strona główna]]
* [[kulinaria:kulinaria|Kulinaria]]
* [[kulinaria:wypieki:wypieki|Strona działu Wypieki]]
====== Poddziały ======
* [[kulinaria:wypieki:pieczywo:chleb_na_zakwasie|Pieczywo — przykład]]
* [[kulinaria:wypieki:slodkosci:slodkosci|Słodkości]]
====== W tym dziale ======
{{indexmenu>kulinaria:wypieki#1|navbar notoc}}Została przeniesiona Rename/Move do:
- stare ID:
kulinaria_wypieki_sidebar - nowe ID:
kulinaria:wypieki:sidebar
Co dało plik:
data/pages/kulinaria/wypieki/sidebar.txtPo tym kroku:
kulinaria:sidebarjest lokalnym menu dla całych kulinariów,kulinaria:wypieki:sidebarjest jeszcze bardziej szczegółowym menu dla wypieków i ma pierwszeństwo dla stronkulinaria:wypieki:*,- root namespace przestał zawierać techniczne „*_sidebar” – zostały tylko
start,sidebari katalogi namespace’ów.
3. Dlaczego tak jest lepiej
- struktura plików odpowiada dokładnie logice namespace’ów,
- każdy dział może mieć swoje własne menu, bez mieszania wszystkiego w globalnym
:sidebar, - łatwiej będzie w przyszłości dodać kolejne sidebary (np.
czyszczenie_domu:sidebar) w dokładnie taki sam sposób.
Na tym etapie wiki ma:
- globalny sidebar dla całej instalacji,
- dedykowany sidebar dla
kulinaria:*, - dedykowany sidebar dla
kulinaria:wypieki:*, - czysty root bez roboczych stron sidebarowych.