Translations of this page?:

Jmený prostor

Jmený prostor (dále namespace) je podobný adresářům, stejně tak můžeme stránky považovat za soubory 1).

V DokuWiki můžes použit jmené prostory na roztřídění svých stránek. Pro jména jmených prostorů platí stejná omezeni jako pro stránky.

Vytvoření jmené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í jmené prostory použité v celém názvu stránky budou DokuWikií automaticky vytvořeny.

(V DokuWiki se stánky vytvářejí uplně stejně jako v ostatních wikiích. Prostě vytvoř odkaz na neexistující stránku, na tento odkaz klikni a potvrd ž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 stánku “priklad” v namespace ns2. Namespace ns2 is vázán na namespace ns1; namespace ns1 je vázán na aktualní 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 aktualí 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í start.)

Mazání jmeného prostoru

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

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ý namespace (ještě než jmený prostor přejmenuješ, můžeš použít backlinks pro každou stánku v požadovaném namespace).
  • Projdi každou stránku v novém jmeném prostoru. Tím se vytvoří ztracené indexi a metadata pro stránky pod přesunutým jmený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 zapomě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í jmený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 konfiguracni promena nesouci nazev startovaci stranky, 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ýš.

1) pozn. překl.: ono to tak ve skutečnosti je
 
cs/namespaces.txt · Last modified: 2008/08/15 11:00 by ach
 
Imprint Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
WikiForumIRCBugsTranslate