DokuWiki

It's better when it's simple

Uživatelské nástroje

Nástroje pro tento web


cs:namespaces

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ýš.

cs/namespaces.txt · Poslední úprava: 2013-11-19 21:47 autor: 109.230.53.61

Kromě míst, kde je explicitně uvedeno jinak, je obsah této wiki licencován pod následující licencí: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki