Table of Contents

命名空间模板

Dokuwiki 支持脚手架。有时您可能想要让某个命名空间内的页面都具有独特并且相同的页面布局。例如:在叫做 address 的命名空间内预置需要填充数据的空表格。这就可以使用“命名空间模板”轻松搞定。

当一个页面生成,DokuWiki 就会查找是否有模板文件存在,如果有就在编辑窗口内显示。模板就是包含一些维基标记的 .txt 文件.

模板文件

可用两种模板文件:

如果命名空间内两种(可继承的与普通的)模板都有,则采用普通的。

创建模板文件的一种方式是

  1. 在维基中将您想要定制的模板内容保存到相关命名空间
  2. 通过 FTP 或者 WebDAV 将该页面重命名为 _template.txt,然后
  3. 就没有然后了。1)

语法

未见内容就是标准的维基标记文本。

替换模式

您可以模板文件内使用一些替换模式使模板更加动态化。

@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 系统)可以编辑这些文件)。有三种方式可编辑这些文件:

通过符号链接可编辑的模板

注意:本部分内容适用于 Linux 服务器,但是不能在 Windows 系统使用。

这种方式可以将模板存储在特定的命名空间,然后为 DokuWiki 做一个符号链接即可。您也可以删除特定的符号链接,那么模板就不能编辑了。

  1. 创建一个叫做 “templates” 的命名空间,或者叫成其他名字也可以。
  2. 在此命名空间内,创建您想要的可编辑的模板
  3. 按照上面给处的说明,将 _template.txt 做硬链接2)到正确的您的模板命名空间内的模板页面。现在您应该已经可以使用维基界面来编辑模板了。

另一种方式是在目录内创建自身符号链接。所以您可以在自己的命名空间内为 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

插件

插件可以扩展模板功能。

只有通过文件系统才可编辑的所有插件。

1)
注意:这些模板只会对命名空间内新创建的页面有效。
2)
软连接好像不行,查看下面的 FollowSymLinks 的注释