Dokuwiki 支持脚手架。有时您可能想要让某个命名空间内的页面都具有独特并且相同的页面布局。例如:在叫做 address
的命名空间内预置需要填充数据的空表格。这就可以使用“命名空间模板”轻松搞定。
当一个页面生成,DokuWiki 就会查找是否有模板文件存在,如果有就在编辑窗口内显示。模板就是包含一些维基标记的 .txt
文件.
可用两种模板文件:
_template.txt
,这种用于当前命名空间。__template.txt
(两个前置下划线),这种是与 _template.txt
的区别就是除了可用于当前命名空间外,还可用于所有命名空间(如下所述,可继承)。如果命名空间内两种(可继承的与普通的)模板都有,则采用普通的。
创建模板文件的一种方式是
未见内容就是标准的维基标记文本。
您可以模板文件内使用一些替换模式使模板更加动态化。
@ID@ | 页面的 ID 全称 |
---|---|
@NS@ | 页面的命名空间 |
@CURNS@ | 页面命名空间的最后部分 |
@!CURNS@ | 同上,但是第一个字符大写 |
@!!CURNS@ | 同上,但是所有单词的第一个字符都大写 |
@!CURNS!@ | 同上,但是所有字符大写 |
@PAGE@ | 页面名称(没有命名空间和被下划线取代的空格的 ID) |
@!PAGE@ | 同上,但是第一个字符大写 |
@!!PAGE@ | 同上,但是所有单词的第一个字符都大写 |
@!PAGE!@ | 同上,但是所有字符大写 |
@FILE@ | 页面名(没有命名空间,下划线连接的 ID) |
@!FILE@ | 同上,但是第一个字符大写 |
@!FILE!@ | 同上,但是所有字符大写 |
@USER@ | 创建页面的用户 ID |
@NAME@ | 创建页面的用户名 |
@MAIL@ | 创建页面的用户邮件地址 |
@DATE@ | 会话开始的日期和时间 |
%a %d-%m-%y 等 | 例如 Thu 06-12-12. strftime 使用占位符替换的页面创建时间 |
%% | 字面量 % 符号出现在模板里 |
您不能通过 DokuWiki 编辑 _template.txt
(只有部分人可通过内置文件系统(通常是管理员可通过 FTP 系统或者 WebDAV 系统)可以编辑这些文件)。有三种方式可编辑这些文件:
_template
和 __template
为其他名字。例如:c_template
和 i_template
。这些文件被认为是普通的可编辑维基页面,因为它们不是以下划线开头。注意:本部分内容适用于 Linux 服务器,但是不能在 Windows 系统使用。
这种方式可以将模板存储在特定的命名空间,然后为 DokuWiki 做一个符号链接即可。您也可以删除特定的符号链接,那么模板就不能编辑了。
另一种方式是在目录内创建自身符号链接。所以您可以在自己的命名空间内为 template.txt
创建一个到 _template.txt
的符号链接。
cd /var/www/html/dokuwiki/data/pages/namespace/something ln -s _template.txt template.txt
要使这些软连接运行正常,您需要注意服务器上该目录 FollowSymLinks 参数设置。
注释:本部分内容用于 Windows 服务器,不能用于 Linux 系统。
在服务器上打开命令行窗口(cmd.exe),查看您的模板所在目录。使用 MKLINK
命令创建符号链接。
cd c:\inetpub\wiki\data\pages\namespace\something mklink template.txt _template.txt
插件可以扩展模板功能。
_template
和 __template
的名字。默认值为 c_template
和 i_template
。本插件可以让您将常见的维基页面变为可通过维基界面修改的模板。~yourpagename.txt
名字可为页面名 yourpagename
(在当前命名空间内)~yournamespace.txt
用于子命名空间 yournamespace
下的所有页面只有通过文件系统才可编辑的所有插件。
snippets
的页面列出。