Table of Contents

Jmenný prostor

Jmenný prostor (dále namespace) je podobný adresářům, stejně tak můžeme stránky považovat za soubory. V DokuWiki lze použít jmenné prostory na roztřídění stránek. Pro jména jmenných prostorů platí stejná omezeni jako pro stránky.

Vytvoření jmenného prostoru

Nelze vytvořit namespace samostatně (sám o sobě); prostě vytvoř stránku s dvojtečkami v názvu. znaky po poslední dvojtečce budou jménem stránky (souborem) a všechny ostatní skupiny znaků mezi dvojtečkami budou představovat jednotlivé jmené prostory (adresáře). Všechny neexistující jmenné prostory použité v celém názvu stránky budou DokuWikií automaticky vytvořeny.

(V DokuWiki se stránky vytvářejí úplně stejně jako v ostatních wikiích. Prostě vytvoř odkaz na neexistující stránku, na tento odkaz klikni a potvrď že stránku chceš vytvořit.) Přidávání stránek .

Příklady:
priklad
.priklad
.:priklad
odkazuje na stánku “priklad” v aktuálním namespace.
:priklad odkazuje na stánku “priklad” v kořenovém (rootovském) namespace.
..priklad
..:priklad
.:..:priklad
odkazuje na stánku “priklad” v rodičovském (parent) namespace
wiki:priklad odkazuje na stánku “priklad” v namespace “wiki”. Namespace “wiki” je vázán na rootovský namespace.
ns1:ns2:priklad
:ns1:ns2:priklad
odkazuje na stánku “priklad” v namespace ns2. Namespace ns2 je vázán na jmený prostor ns1; namespace ns1 je vázán na rootovský namespace.
.ns1:ns2:priklad
.:ns1:ns2:priklad
odkazuje na stránku “priklad” v namespace ns2. Namespace ns2 is vázán na namespace ns1; namespace ns1 je vázán na aktuální namespace.
..ns1:ns2:priklad
..:ns1:ns2:priklad
odkazuje na stánku “priklad” v namespace ns2. Namespace ns2 je vázán na namespace ns1; namespace ns1 je vázán na aktuální namespace (tj. oba ns1 a aktuální namespace jsou pod stejným rodičovským namespace, všechno vychází z rootovského namespace, tento rodič může být pod sebou samým).
.ns1:ns2: odkazuje na stánku “start” v namespace ns2. Namespace ns2 je vázán na namespace ns1; namespace ns1 je vázán na aktuální namespace.

(Výchozí stánka se může jmenovat jinak než “start”, záleží na nastavení config.)

Mazání jmenného prostoru

Pokud budou odstraněny všechny stránky z jmenného prostoru, logicky přestává dál tento jmenný prostor existovat. DokuWiki obvykle prázdný adresář smaže.

Jak přejmenovat namespace?

Můžeš použít rozšíření PageMove pro přesun každé stránky ze starého namespace do nového. Prozkoumej prosím dokumentaci, jestli to je opravdu to co požaduješ.

Manuální metoda je obtížnější:

Například, na Unixové stanici můžeš udělat toto:

Pamatuj, ze názvy old_namespace a/nebo new_namespace musí být encodována pokud mají obsahovat národní znaky (tj. české, řecké, ruské atp.).

Ale stále bude okolo spousty drobnosti. Například v data/changes.log, různé soubory v cache (připojené .idx soubory atp.). Pokud opravdu chceš začít na zelené louce, tak je postup následující (opět pod Unixem), ovšem pozor, takto budou ztraceny všechny předchozí informace (tj. poslední úpravy):

Chápu že je to zamotané (a možná jsem zapomněl/spletl několik věcí, které bys mohl také udělat). Suma sumárum je to pěkný opruz. Taky můžeš použít něco z pluginů které jsou určené pro (re)buildování vyhledávacích indexů wiki, mazání cache a/nebo starých revizí a uniknout tak ruční práci.

Výchozí linkování jmenných prostorů

Je možné odkazovat na název končící dvojtečkou: [[foo:bar:]]. To která stránka bude zobrazena záleží na tom, který soubor bude existovat. Pro následující odkaz [[foo:bar:]] se bude zjištovat přítomnost následujících souboru:

foo:bar:$conf['start']       // kde $conf['start'] je konfigurační proměnná nesoucí název startovací stránky, obvykle 'start'
foo:bar:bar
foo:bar

Stránky jsou kontrolovány v tomto pořadí a první nalezený odkaz bude použit. Ostatní stránky nebudou brány v potaz.

:!: Tato vlastnost je dostupná až od verze 2006-09-28 RC1 a výš.