DokuWiki

It's better when it's simple

使用者工具

網站工具


zh-tw:namespaces

分類名稱

若將頁面比擬成檔案,那麼分類名稱(Namespaces,或稱命名空間、分類空間)就有如資料夾或目錄。

在DokuWiki中,可以使用分類名稱來歸納頁面。分類名稱的限制與頁面名稱相同。

建立分類名稱

分類名稱毋須事先建立,只要在建立頁面時,頁面名稱的前方加上冒號即可,最後一個冒號之後的是頁面名稱,之前的則都是分類名稱。例如「篇章:燭之武退秦師」,「篇章」是分類名稱,「燭之武退秦師」是頁面名稱。若該分類名稱尚未建立,系統會自動建立。

順帶一提,在DokuWiki裏,建立頁面的方式與其他wiki一樣,只要建立一個連結指向尚未建立的頁面,然後點擊該連結,再使用「編修頁面」來建立該頁面。 新增頁面.

範例:
example
.example
.:example
表示當前分類名稱裏的“example”頁面。
:examplerefers 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版或更新的版本。

zh-tw/namespaces.txt · 上一次變更: 2013-01-06 20:28 由 IchirouUchiki

若無特別註明,本 wiki 上的內容都是採用以下授權方式: 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