===== 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 [[pagename]]. Ř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é [[page#Vytvoření stránky|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 [[page#Smazání stránky|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í [[backlinks|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é [[plugins|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. [[doku>config:autoplural|Automatické skloňování]] se na tyto odkazy nevztahuje. Viz [[doku>config:startpage]], jak nastavit výchozí jméno startovní stránky (výchozí je ''start'').