目录

语法插件

语法插件是扩展DokuWiki语法的插件。为了理解在DokuWiki中注册新语法需要什么,您应该阅读解析器是如何工作的。

简介

语法插件示例需要:

此外,还需 plugin.info.txt 文件。有关插件及其文件以及如何创建更多语法组件的详细信息,请参阅插件文件结构。

该类至少需要实现以下函数:

需要时可以重写以下附加方法:

可以根据需要定义其他函数。建议在自定义函数前面加下划线,以避免与将来的插件规范增强功能发生名称冲突。

继承成员

继承函数

语法类型

DokuWiki使用不同的语法类型来确定哪些语法可以嵌套。你可以在表格中设置文本格式。要将插件集成到这个系统中,需要指定它是哪种类型,以及哪些类型可以嵌套在其中。以下类型当前可用:

模式在模式中使用…说明
container listblock, table, quote, hr 容器是一种复杂的模式,可以包含许多其他模式——hr打破了这一原则,但不应该在表/列表中使用它们,所以将它们放在这里
baseonly header某些模式仅允许在基本模式中使用
formatting strong, emphasis, underline, monospace, subscript, superscript, deleted, footnote 设置文本样式的模式–脚注的行为类似于设置样式
substition 'acronym', 'smiley', 'wordblock', 'entity', 'camelcaselink', 'internallink', 'media', 'externallink', 'linebreak', 'emaillink', 'windowssharelink', 'filelink', 'notoc', 'nocache', 'multiplyentity', 'quotes', 'rss' 标记被简单替换的模式-它们不能包含任何其他模式
protected 'preformatted', 'code', 'file', 'php', 'html' 具有开始和结束标记但不应应用其他模式的模式
disabled unformatted在此模式中,不应应用wiki标记,但不保留行尾和空白
paragraphs eol用于标记段落边界

要了解每种类型的含义以及在其中注册的其他格式类,请阅读inc/parser/parser.php中的注释。

教程:语法插件说明

本教程的目标是解释DokuWiki语法插件中涉及的概念,并完成编写自己的插件所涉及的步骤。

对于那些真的不耐烦开始的人,获取一个语法插件框架的副本。这是一个简单的插件,输出“Hello World!”当它在wiki页面上遇到“<TEST>”时。

快速摘要

modes

handle

render