DokuWiki

Je lepší, když je to jednoduché

Nástroje uživatele

Nástroje webu


namespaces

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/pages
    • data/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_namespace
  • mv /dokuwiki_base/data/media/old_namespace /dokuwiki_base/data/media/new_namespace
  • rm -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.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
  • 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).

namespaces.txt • Poslední změna: (upraveno správcem (MartinR) mimo DokuWiki)

Pokud není uvedeno jinak, je obsah této wiki dostupný pod licencí:
CC-BY-SA • Uveďte původ - Zachovejte licenci 4.0 Mezinárodní
CC-BY-SA • Uveďte původ - Zachovejte licenci 4.0 Mezinárodní Darovat Běží na PHP Validátor HTML5 Validátor CSS Běží na DokuWiki

Našli jste na stránce chybu, nebo překlep?
Budu vděčný za upozornění.
Děkuji

Nahoru