当把一个页面(Page)比作文件时,一个命名空间(namespace)就相当于一个目录或者文件夹。在DokuWiki中,您可以采用命名空间来将页面分类。命名空间的命名规则与页面命名规则相同,请参考pagenames。
一个DokuWiki的初始安装包含了以下两个内建的命名空间: wiki和playground。
以下内容为heiljsf对caii的翻译进行的解释。
命名空间:
其实就是dokuwiki的data/pages下建立的目录
如果你不使用命名空间.那么你所有建立的页面都到保存在data/pages下,变得非常难以管理.
根目录:
指的是dokuwiki下data/pages的路径为根目录.所有页面中创建目录和文档都会保存到这里面.
例子: | 如果.你要建立一个叫 example 的页面 |
---|---|
example | 表示当前目录下建立了一个的“example”页面。 |
:example | 表示根目录(这里的根目录表示data/pages)下建立了一个叫做“example”页面。 |
wiki:example | 表示在“wiki”目录下建立了一个叫的“example”的页面。 |
(如果根目录下没有叫wiki的目录 会自动在建立一个叫wiki的目录.不需要去服务器上添加) |
|
test:wiki:example | 表示在“test/wiki”目录下建立了一个叫的“example”的页面。 |
(如果根目录下没有叫test的目录或test目录下没有wiki目录 会自动在建立这两层的目录test/wiki.不需要去服务器上添加) |
|
.wiki:example | 表示当前目录下的wiki目录里建立了一个叫example的页面 |
(假如你现在在根目录的test目录下 那就会在test目录下建立一个wiki目录.再在wiki目录里建立一个example页面) |
其余操作请参照 caii的翻译
你不需要独立地创建命名空间,只需简单地在页面名中使用冒号就可以创建。在最后一个冒号之后的语言符号(token)就是页面本身的名字,其他的语言符号都是命名空间。DokuWiki会自动创建页面用到的、不存在的所有命名空间。
例子: | |
---|---|
example | 表示当前命名空间的“example”页面。 |
:example | 表示根部命名空间的“example”页面。 |
wiki:example | 表示命名空间“wiki”中的页面“example”。命名空间“wiki”位于根部命名空间之下。 |
ns1:ns2:example | 表示命名空间ns2中的“example”页面。命名空间ns2位于命名空间ns1下面;命名空间ns1位于根部命名空间下。 |
:ns1:ns2:example | 同上。 |
.ns1:ns2:example | 表示名命名空间ns2下的“example”页面。命名空间ns2位于命名空间ns1下面;命名空间ns1位于当前命名空间下。 |
.ns1:ns2: | 表示命名空间ns2的“开始”页面。命名空间ns2位于命名空间ns1下面;命名空间ns1位于当前命名空间下。 |
: 同样,[..namespace:] – 表示上级命名空间,——这应该记载在文档中。
命名空间内的所有页面都被移除之时,该命名空间逻辑上不再存在。DokuWiki通常也会删除这个刚清空的文件夹。
你可以使用PageMove插件将每个页面从旧的命名空间移动到新的命名空间。请参考相关文档了解这是否满足你的需要。
手动的方式稍困难些:
data/pages
data/media
(如果存在)data/meta
下的元数据data/attic
下的历史记录数据(或者将它们移走,如果你想保留旧版)例如,在Unix主机上,你可以:
mv /dokuwikibase/data/pages/oldnamespace /dokuwikibase/data/pages/newnamespace
mv /dokuwikibase/data/media/oldnamespace /dokuwikibase/data/media/newnamespace
rm -Rf /dokuwikibase/data/meta/oldnamespace
rm -Rf /dokuwikibase/data/attic/oldnamespace
要注意,对于非拉丁字符设置(例如希腊语、俄语等),需要编码 oldnamespace
等词语。
和/或
newnamespace
但是,你依然留下大量无用信息,例如data/changes.log
中、cache下的各种文件(包括.idx
文件等)。如何困难,你可以按照下面的方法从空白状态
开始(同样,在Unix下),要注意的时,这意味着丢失所有的历史信息(也就是最近修改
):
cat /dev/null > /dokuwikibase/data/changes.log
*
rm -Rf /dokuwikibase/data/attic/
*
rm -Rf /dokuwikibase/data/cache/?
*
rm -Rf /dokuwikibase/data/cache/.idx
rm -Rf /dokuwiki_base/data/cache/purgefile
我知道这很费解(可能我忘记/弄乱一些你认为应该做的事情)。所有的都是PITA。你可以使用一些可重建整个wiki的搜索索引、删除整个cache和/或旧版wiki从而避免手动操作的插件。
对于以冒号结尾的链接ID(linked)[[foo:bar:]],可能指向命名空间下的默认文件。 链接指向哪个页面,取决于所存在的特定名字的文件。对于[[foo:bar:]],会检测以下页面:
foo:bar:$conf['start'] foo:bar:bar foo:bar
系统按照上面的顺序检测页面,并会链接到最先找到的页面。对于这些链接,不会在链接中检查多种格式(autoplural linking)。
这个特征仅在2006-09-28 RC1版或更新版上可用。