====== Dokuwiki 插件开发 ====== 尝试开发一个简单的插件,将自己的易学包使用到维基平台上。主要参考MathJax(([[https://github.com/liffiton/dokuwiki-plugin-mathjax|MathJax Plugin Github repository]])) 以及官方的文档(([[https://www.dokuwiki.org/zh:devel:plugins|Dokuwiki 插件开发]])) (([[https://www.dokuwiki.org/zh:development|Dokuwiki 开发者手册]]))。 ===== 易学插件 ===== 完成的插件源取名Yixue, 代码发布到[[https://github.com/maiernte/dokuwiki-plugin-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_<插件名称>” 命名,否则运行时不加载。 [[https://www.dokuwiki.org/devel:action_plugins|Action Plugin 模版]] 如果重新安装后不出现在插件列表里,需要重新命名插件再安装。 删除旧的plugin ''%%/home/ubuntu/www/html/lib/plugins/%%'' ===== Addnewpage 插件 ===== AddnewPage插件经常出现 登陆后仍提示“抱歉,您没有权限增加页面” 的问题。参考文章 [[http://liangzl.com:8080/get-article-detail-20337.html|Addnewpage 插件无法使用问题的解决]] 提出了一个解决方案。 尝试了在插件的 syntax.php 文件中的 render 函数一开始加入以下代码(第三行) # public function render(....) { global $lang; $renderer->info['cache'] = false; # ...} --- //[[goldentianya@gmail.com|maiernte]] 2021/08/20 08:01// {{tag>wiki}}