### 4.命名空间
这部分内容很重要,如果设置不好,会造成文件存放结构混乱。
命名空间的原理,类似文件目录。
当你写一个链接`[[newpage]]`就是链接当前目录下的`newpage`页面。
`[[csz:newpage]]`表示链接 `csz`目录下的`newpage`的页面。
`[[jsb:testpage]]`表示链接`jsb`目录下的`testpage`的页面。
其实,也不用管目录,只需要理解,同一类型的页面,尽量放到同一个命名空间下(目录下)。
### 5.增加链接
在 wiki 中的文件,都是以网页形式存在。可以任意在文本中增加链接。
wiki 会自动识别外部链接,`https://www.baidu.com`, 会自动加上链接:https://www.baidu.com
你也可以给外部链接加上链接文本:`[[https://www.baidu.com|链接到百度]]`,是这样的:[[https://www.baidu.com|链接到百度]]
对于我们wiki内部的链接,可以直接用:`[[基础入门题]]`,则会自动链接到文件[[基础入门题]]
若内部链接的名字是英文的,你可以增加链接文字:`[[jsb:home|链接到技术部首页]]`,其效果为:[[jsb:home|链接到技术部首页]]
若内部链接是无效的(没有链接指向的页面),则会指向一个不存在的页面,此时,你可以新建这个页面。
这也是 wiki 中**新建文件**(新建页面)的方法。例如
``[[我并不存在]]`` 显示为:[[我并不存在]]
**建议:**
``[[我并不存在]]``只是一个例子,只是告诉同学们新起一个子页面很方便,大家不要照着做就新起一个``[[我并不存在]]``
的页面并点击链接就进去这个子页面创建和编辑内容了,因为这样起名字会在同一目录下产生同一个文件,例如你在测试组,
就会产生同一个文件:``csz:我并不存在``,如果大家都在上面创建了内容并修改,就会产生不同的同学在修改同一个文件
的结果。大家在理解这个语法的基础上,应该这样新起一个`[[我并不存在]]`的子页面。例如你的名字叫超越,你就应该这
样起新的页面:`[[csz:chaoyue:wbbcz|我并不存在]]`,其中:csz是测试组的首个字母,chaoyue即你的名字,这两项
是固定的。wbbcz是我并不存在的首个字母,你可以任意修改成你想要的字母,“我并不存在”这几个字也可以任意改变成你想
要起的新页面的名称。
查看下一个命令:👇
-------
### 6.新建页面
按照上面的步骤,出现红色的[[我并不存在]]点击及以上的建议,会生成一个新的“该主题尚不存在”的页面,如下图:
{{:pasted:20240701-182519.png}}
点击右侧的小铅笔图案(第一个)(**不要在本页点击,你可能没有权限的**)
{{:pasted:20240701-182632.png?150*80}}
如果是手机操作,会有些不同,如下图:\\
{{:wiki:pasted:20240702-094155.png?400*400}}
就可以直接编辑,按照之前的语法编辑,
{{:pasted:20240701-182848.png?300}}
最后点击保存,新页面就生成了。
___
更详细的命名空间解释可以查看这里:[[target=blank|https://www.dokuwiki.org/zh:namespaces|命名空间详细解释]]
====== 命名空间 ======
当把一个页面(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的翻译
{{NEWPAGE}}
===== 删除命名空间 =====
命名空间内的所有页面都被移除之时,该命名空间逻辑上不再存在。DokuWiki通常也会删除这个刚清空的文件夹。
,,,
======= 如何重命名命名空间 =====
你可以使用[[http://www.isection.co.uk/doku.php|PageMove插件]]将每个页面从旧的命名空间移动到新的命名空间。请参考相关文档了解这是否满足你的需要。
手动的方式稍困难些:
* 重命名表示命名空间的文件夹,这些文件夹在:
* ''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)发现需要修改的链接)。
* 浏览新命名空间下的每个页面,这会创建已经丢失的已移除的命名空间下的页面的索引信息和元数据。
但是,你依然留下大量无用信息,例如''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''
* 浏览你wiki的每一个页面
我知道这很费解(可能我忘记/弄乱一些你认为应该做的事情)。所有的都是[[PITA]]。你可以使用一些可重建整个wiki的搜索索引、删除整个cache和/或旧版wiki从而避免手动操作的[[doku>plugins|插件]]。
{{indexmenu>#1|navbar msort}}
{{NEWPAGE}}