⋮ Obsah
Vytvoření jmenných prostorů
https://www.dokuwiki.org/namespaces
Jmenné prostory není třeba vytvářet zvlášť; stačí vytvářet stránky s dvojtečkami v Názvy stránek. Řetězec za poslední dvojtečkou bude název samotné stránky, všechny ostatní řetězce jsou jmenné prostory. Veškeré jmenné prostory použité v názvu stránky, které zatím neexistují, DokuWiki automaticky vytvoří.
Jmenný prostor lze také vytvořit ve správci médií po výběru souboru v lokálním počítači a přidáním název: (jmenného prostoru) těsně před názvem mediálního souboru v poli pro nahrávání. Kliknutím na nahrát se jmenný prostor (složka) vytvoří za běhu a bude viditelný po obnovení okna.
V DokuWiki jsou stránky vytvářeny jako v každé jiné wiki. Stačí vytvořit odkaz na neexistující stránku, na odkaz kliknout a poté zvolit „Vytvořit stránku“. Viz také Vytvoření stránky.
| Příklady: | |
|---|---|
| example .example .:example | odkazuje na stránku "example" v aktuálním jmenném prostoru. |
| :example | odkazuje na stránku "example" v kořenovém jmenném prostoru. |
| ..example ..:example .:..:example | odkazuje na stránku "example" v nadřazeném jmenném prostoru |
| wiki:example | odkazuje na stránku "example" ve jmenném prostoru "wiki". Jmenný prostor "wiki" je umístěn pod kořenovým jmenným prostorem. |
| ns1:ns2:example :ns1:ns2:example | odkazuje na stránku "example" ve jmenném prostoru ns2. Jmenný prostor ns2 je pod jmenným prostorem ns1; ns1 je pod kořenovým jmenným prostorem. |
| .ns1:ns2:example .:ns1:ns2:example | odkazuje na stránku "example" ve jmenném prostoru ns2. Jmenný prostor ns2 je pod ns1, ns1 je pod aktuálním jmenným prostorem. |
| ..ns1:ns2:example ..:ns1:ns2:example | odkazuje na stránku "example" ve jmenném prostoru ns2. Jmenný prostor ns2 je pod ns1, ns1 je vedle aktuálního jmenného prostoru (tj. ns1 a aktuální jmenný prostor jsou pod stejným nadřazeným prostorem, ať už je tento prostor kdekoliv v rámci kořene). |
| .ns1:ns2: .:ns1:ns2: | odkazuje na úvodní stránku jmenného prostoru ns2. Jmenný prostor ns2 je pod ns1, ns1 je pod aktuálním jmenným prostorem. Viz níže Výchozí propojení jmenného prostoru, jak je určena úvodní stránka. |
| ~example ~:example | odkazuje na stránku "example" s využitím aktuální stránky jako jmenného prostoru. Např. pokud je stránka „foo:bar“, odkaz povede na „foo:bar:example“. Jedná se o účinný způsob vytváření podjmenných prostorů z existující stránky. |
Pozor: Syntaxe relativních a absolutních vnitřních odkazů není unikátní a je složitější než běžné konvence adresářů a souborů.
Odkazy jsou absolutní pouze tehdy, pokud mají prefix „:“ nebo žádný prefix, ale mají v sobě další (či koncové) „:“.
Odkazy relativní k aktuálnímu jmennému prostoru mohou také začínat tečkou nebo „.:“ („..“ nebo „..:“ pro nadřazený jmenný prostor).
Odkazování na obrázky
Co se týče jmenných prostorů, obrázky a další mediální soubory se řeší stejně jako wiki stránky. Například, následující odkazuje na obrázek patřící do aktuálního jmenného prostoru:
{{image.jpg}}
Mazání jmenných prostorů
Pokud jsou všechny stránky uvnitř jmenného prostoru odstraněny (viz mazání stránky), jmenný prostor logicky přestává existovat. DokuWiki většinou smaže i nyní prázdnou složku.
Jak přejmenovat jmenný prostor?
Ručně
Chcete-li přejmenovat jmenný prostor ručně, musíte:
- Přejmenovat složky představující jmenný prostor v:
data/pagesdata/media(pokud existuje)
- Odstranit metadata pro jmenný prostor ze složky
data/meta - Odstranit archivní data pro jmenný prostor ze složky
data/attic(nebo je přesunout, pokud chcete zachovat staré verze)
Například na Unix systému můžete:
mv /dokuwiki_base/data/pages/old_namespace /dokuwiki_base/data/pages/new_namespacemv /dokuwiki_base/data/media/old_namespace /dokuwiki_base/data/media/new_namespacerm -Rf /dokuwiki_base/data/meta/old_namespace- přesunout:
mv /dokuwiki_base/data/attic/old_namespace /dokuwiki_base/data/attic/new_namespace
nebo odstranit:rm -Rf /dokuwiki_base/data/attic/old_namespace
Všimněte si, že názvy old_namespace a/nebo new_namespace mohou být potřeba zakódovat, pokud obsahují ne-latinské znaky (např. řečtina, azbuka atd.).
- Opravte (úpravou obsahu) všechny odkazy na stránky pod přesunutým jmenným prostorem (můžete je najít ještě před přesunem pomocí zpětných odkazů).
- Projděte každou stránku v novém jmenném prostoru. Tím se vytvoří potřebné indexy a metadata pro stránky v novém prostoru.
Přesto vám zůstane v datech spousta zbytečností. Například v data/changes.log, různé soubory v cache (například .idx soubory atd.). Pokud můžete, začněte raději z čistého stavu (opět na Unixu), ale pozor – tím přijdete o veškerou historii (tj. poslední změny):
cat /dev/null > /dokuwiki_base/data/changes.logrm -Rf /dokuwiki_base/data/attic/*rm -Rf /dokuwiki_base/data/cache/?rm -Rf /dokuwiki_base/data/cache/*.idxrm -Rf /dokuwiki_base/data/cache/purgefile- Projděte každou stránku své Wiki.
UPOZORNĚNÍ: Uvědomuji si, že je to zdlouhavé (a možná jsem na něco zapomněl nebo něco popletl). Celkově je to pracné. Nabízí se také využít některé pluginy, které jsou dostupné pro (znovu)vytváření vyhledávacího indexu celé wiki, mazání cache nebo starých verzí wiki a tím se vyhnout ručnímu postupu.
Výchozí propojení jmenného prostoru
Je možné odkazovat na výchozí stránku jmenného prostoru tak, že uzavřete ID odkazu dvojtečkou: [[foo:bar:]]. Která stránka se odkazuje záleží na existenci určitých pojmenovaných souborů. Pro [[foo:bar:]] se hledají následující stránky v tomto pořadí:
foo:bar:$conf['start']
foo:bar:bar
foo:bar
První nalezená stránka bude použita jako cíl odkazu. Automatické skloňování se na tyto odkazy nevztahuje.
Viz config:startpage, jak nastavit výchozí jméno startovní stránky (výchozí je start).