Obsah
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ší:
- Přejmenuj adresář který představoval požadovaný namespace v adresářích:
data/pages
data/media
(pokud existuje)
- Odstran metadata pro namespace pod adresářem
data/meta
- Odstran attic data pro namespace pod adresářem
data/attic
(nebo také přejmenuj, pokud chceš zachovat starou verzi)
Například, na Unixové stanici můžeš udělat toto:
mv /dokuwiki_base/data/pages/old_namespace /dokuwiki_base/data/pages/new_namespace
mv /dokuwiki_base/data/media/old_namespace /dokuwiki_base/data/media/new_namespace
rm -Rf /dokuwiki_base/data/meta/old_namespace
rm -Rf /dokuwiki_base/data/attic/old_namespace
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.).
- Opravit (jejich editací) všechny odkazy na stránkách, které ukazovaly na přesunutý jmenný prostor (ještě než jmenný prostor přejmenuješ, můžeš použít backlinks pro každou stánku v požadovaném jmenném prosotru).
- Projdi každou stránku v novém jmeném prostoru. Tím se vytvoří ztracené indexy a metadata pro stránky pod přesunutým jmenným prostorem.
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
):
cat /dev/null > /dokuwiki_base/data/changes.log
rm -Rf /dokuwiki_base/data/attic/*
rm -Rf /dokuwiki_base/data/cache/?
rm -Rf /dokuwiki_base/data/cache/*.idx
rm -Rf /dokuwiki_base/data/cache/purgefile
- Projít opravdu všechny stránky Tvojí Wiki.
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ýš.