目录

Dokuwiki 基础用法

更深入的使用可能需要使用到 PHP 1)

语法类

格式化语法(官方文档)
自动生成目录需要三个 H4 以上的标题

排序

参考文献:酷玛实验室

需要对页面进行排序自定义, 详情参考上述文章或者官方文档。

# 每个页面指定顺序
{{indexmenu_n>1}}
# navigation 文件中指定排序
{{indexmenu>#1|msort}}

调整导航栏的宽度需要到网站目录下,更改path-to-dokuwiki/lib/tpl/dokuwiki/style.ini文件

_site_width_ = "105em"; 默认是 75em

使用分类标签

Tag PlugIn 搜索支持还需要用到插件 PageList Plugin
以及 tagentry 插件,可以在编辑器下面出现已经使用的Tag,方便选择和输入。

截图上传

安装dropfile plugin
编辑的时候直接把截图拉到编辑框里,就可以实现将图上传到当前的命名空间。然后点击编辑器中的「图片」按钮插入指定的图片。

download

原始大小:                           {{wiki:dokuwiki-128.png}}
指定宽度(50 pixel):                 {{wiki:dokuwiki-128.png?50}}
指定宽度和高度(200×50):              {{wiki:dokuwiki-128.png?200*50}}
重新指定宽度和高度的外部图像(100x100): {{http://de3.php.net/images/php.gif?200x50}}

行内代码

编辑器中没有插入 line code 的按钮,通过 CustomButton 插件 定制一个简单的文字按钮。

Page模板

安装模板插件2)。在站务下新开一个template空间,编辑一份日记模板template 。在AddNewPage插件中增加配置如:

{{NEWPAGE>life:diary:2021#:wiki:templates:diarytemplate}}

脚注

脚注的基本语法是 ((note))。但不能多次使用同一个脚注,因此需要安装扩展 RefNotes Plugin (语法说明)

安装完之后进入管理界面,将 Multi-reference identifier 改为 Note Counter

命名脚注: [(a>This is a note with name "a".)]
Multi-Ref: [(#1)] or [(a)]

其它

文字颜色

插件地址:color 插件 使用方式

<color green>text</color>
Note

插件地址:Note 插件 使用方式, | important | tip | warning | critique |

<note>This is my note ! Remember it!!</note>
This is my note ! Remember it!!
Code

分别使用 Toolbar Code Button 插件在编辑器的工具栏新增一个代码按钮。但只是添加一个最基本的代码段。如果要添加定制的按钮参考上面关于插入行内代码的技巧。行内代码

中文标题

在网站配置中允许 H1 作为页面名字,这样创建页面时可以使用标准化英文字符,显示的时候用其它名字。

空间地图

使用插件 nspages 显示此命名空间下所有的子空间和文件。在命名空间下创建一个文件,然后加入以下代码:

<nspages -subns>

等待使用


扩展技巧

更改模版

最喜欢的 dokubook 模版有一个缺陷,左边的导航栏太窄,更改网站的sidebar也不能改变布局。只有进到 lib/tpl/dokuboo 项目当中,修改 dokubook_design.css 文件。

div.dokuwiki div#dokubook_container_left {
  padding-bottom: 0.8em;
  position: absolute;
  left: 210px; # 170px 改为210
  right: 10px;
}
div.dokuwiki div#sidebar_left {
  position: absolute;
  top: 0;
  left: 0;
  width: 200px; # 160px 改为210
}

修改完不会立马生效,需要切换成别的Template,再切换回来才会启用新的设置。

使用易学包

以下方法过时,不够优美。已经开发了一款易学插件,实现此项功能。

在插件管理界面中,手动上传插件的Zip文件,然后在配置界面选定使用Katex或者MathJax,以及更新新的函数包。


需要先安装 inlineJsMathJax两个插件,然后在文档中的开头插入下面代码。

<PRELOAD>
https://raw.githack.com/maiernte/img/master/libs/bundle.js
</PRELOAD>
<JS>
document.addEventListener("DOMContentLoaded", function() {
  window.mathjaxHuahe();
});
</JS>

更详细的安装和使用方法参考 华鹤易学平台说明

案例:

\(1+2+\dots+n=\frac{n(n+1)}{2}\)

$a^2 + b^2 = c^2$

\(\gua64{泽天夬}\)