分類名稱
若將頁面比擬成檔案,那麼分類名稱(Namespaces,或稱命名空間、分類空間)就有如資料夾或目錄。
在DokuWiki中,可以使用分類名稱來歸納頁面。分類名稱的限制與頁面名稱相同。
建立分類名稱
分類名稱毋須事先建立,只要在建立頁面時,頁面名稱的前方加上冒號即可,最後一個冒號之後的是頁面名稱,之前的則都是分類名稱。例如「篇章:燭之武退秦師」,「篇章」是分類名稱,「燭之武退秦師」是頁面名稱。若該分類名稱尚未建立,系統會自動建立。
順帶一提,在DokuWiki裏,建立頁面的方式與其他wiki一樣,只要建立一個連結指向尚未建立的頁面,然後點擊該連結,再使用「編修頁面」來建立該頁面。 新增頁面.
範例: | |
---|---|
example .example .:example | 表示當前分類名稱裏的“example”頁面。 |
:example | refers to the page “表示根部分類名稱裏的”example“頁面。 |
..example ..:example .:..:example | 表示上層分類名稱裏的”example“頁面。 |
wiki:example | 表示位於”wiki“分類名稱裏的”example“頁面。而”wiki“為位於根部之下的分類名稱。 |
ns1:ns2:example :ns1:ns2:example | 表示在分類名稱”ns2“裏的”example“頁面;而”ns2“為位於分類名稱”ns1“之下的分類名稱,”ns1“為位於根部之下的分類名稱。 |
.ns1:ns2:example .:ns1:ns2:example | 表示位於分類名稱”ns2“裏的”example“頁面;而”ns2“為位於分類名稱”ns1“之下的分類名稱,”ns1“為位於當前分類名稱之下的分類名稱。 |
..ns1:ns2:example ..:ns1:ns2:example | 表示位於分類名稱”ns2“裏的”example“頁面;而”ns2“為位於分類名稱”ns1“之下的分類名稱,”ns1“為位於與當前分類名稱平行的分類名稱。(當前的分類名稱與ns1都同樣位於某個上層分類名稱裏) |
.ns1:ns2: | 表示位於分類名稱”ns2“裏的”start“頁面;而”ns2“為位於分類名稱”ns1“之下的分類名稱,”ns1“為位於當前分類名稱之下的分類名稱。 (start為初始頁面,可以利用configuration setting裏的startpage來修改成其他的名稱。) |
刪除分類名稱
當某個分類名稱裏的頁面都被移除,邏輯上這個分類名稱也不復存在。Dokuwiki通常也會刪除這個已被清空的目錄。
如何修改分類名稱的名稱?
手動方式
必須完成以下步驟:
- 修改Server端的表示該分類名稱的資料夾名稱:
data/pages
data/media
(如果有的話)
- 移除
data/meta
內的資料原資料 - 移除
data/attic
內的歷史紀錄資料(如果你想保留舊版紀錄,也可以把它們移到別的地方)
例如,在Unix主機上,你可以這樣做:
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
請注意,若不是拉丁系字碼,old_namespace
以及/或是new_namespace
要先編碼過。(如希臘文、俄文等等)
- (經由編輯連結)修正指向已移除的分類名稱下所有頁面的連結(在移除分類名稱之前,你可以反向連結(backlink)找到需要修改的連結)。
- 檢視新的分類名稱中所有的頁面,以重建頁面的索引資訊和metadata。
可是您仍會留下大量無用信息,例如在data/changes.log
中、cache下的各種檔案(包括.idx
檔案等)。如果可以,你不妨按下述方法,從空白狀態開始(當然,也是在Unix下)。要注意的時,這意味着所有的歷史訊息(也就是最近的修改)都會丟失:
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
- Browse each and every page of your Wiki.
DISCLAIMER : I understand this is convoluted (and maybe I missed/messed a couple of things you should also do). All in all this is a PITA. You may also use a couple of plugins that are available for (re)building the searchindex for the complete wiki, erasing entire cache and/or old wiki revisions thus avoiding to do this manually.
我知道這很費解(可能我忘記或搞亂了一些你認為應該做的事情)。這裏所有的都是PITA。你可以使用一些可重建整個wiki的搜索索引,刪除整個cache及/或舊版wiki,從而避免手動操作的附加元件。
使用附加元件
你可以使用第三方開發者所提供的PageMove附加元件來將某個分類名稱裏的每個頁面搬到新的分類名稱裏。請先參閱相關資料以確認是否符合你的需要。
分類名稱的預設連結
對於以冒號結尾的連接ID(linkid)[[foo:bar:]],可能指向分類名稱下的預設文件。 連結指向哪個頁面,取決於所存在的特定名字的文件。 以[[foo:bar:]]為例,DokuWiki會檢測以下頁面:
foo:bar:$conf['start'] foo:bar:bar foo:bar
系統按照上面的順序檢測頁面,並會連至最先找到的頁面。在這些連結中,系統不會檢查多種格式(autoplural linking)。
這個特性僅適用於2006-09-28 RC1版或更新的版本。