Dokuwiki 插件开发

尝试开发一个简单的插件,将自己的易学包使用到维基平台上。主要参考MathJax1) 以及官方的文档2) 3)

易学插件

完成的插件源取名Yixue, 代码发布到Yixue(Github repository)。仅仅使用了插件模版的Action部件,加载Katex库文件和已经完成的华鹤易学库文件。主要的功能都在javascript库中完成,这个插件仅仅做一个加载的动作。其中几个关键的文件,在此加以说明:

default.php 插件的默认配置,比如加载路径,使用katex还是MathJax等。
metadata.php 定义配置项的数据类型,如字符串、开关等。
settings.php 位于lang/xx,目录下。为配置项添加文字解释。
action.php 最关键的部件,扩展了 DokuWiki_Action_Plugin 接口。详情请参阅源代码以及Dokuwiki插件开发者手册。

* action.php 定义的class 一定要以 “action_plugin_<插件名称>” 命名,否则运行时不加载。

Action Plugin 模版

如果重新安装后不出现在插件列表里,需要重新命名插件再安装。

删除旧的plugin /home/ubuntu/www/html/lib/plugins/<base-plugin-name>

Addnewpage 插件

AddnewPage插件经常出现 登陆后仍提示“抱歉,您没有权限增加页面” 的问题。参考文章 Addnewpage 插件无法使用问题的解决 提出了一个解决方案。

尝试了在插件的 syntax.php 文件中的 render 函数一开始加入以下代码(第三行)

# public function render(....) {
global $lang;
$renderer->info['cache'] = false;
# ...}

maiernte 2021/08/20 08:01

工具/编辑/devdokuwikiplugin.txt · 最后更改: 2022-07-15 07:45 由 goldentianya
回到顶部
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0