块级元素文件
- syntax/headeratx.php
实现 ATX 风格的标题语法(使用 # 符号),支持六个级别的标题。该文件负责识别这种格式的标题并将其转换为 DokuWiki 的标题格式。 headeratx.php:1-4 - syntax/headersetext.php
实现 Setext 风格的标题语法(使用下划线),支持两个级别的标题(= 和 -)。该文件处理这种格式的标题并转换为 DokuWiki 标题。 headersetext.php:2-6 - syntax/codeblocks.php
处理缩进式代码块,即使用四个空格缩进的代码。该文件将这些代码块转换为 DokuWiki 的预格式化文本。 codeblocks.php:2-4 - syntax/githubcodeblocks.php
实现 GitHub 风格的代码块语法,使用三个反引号包围代码,并支持语言指定。该文件处理这种格式的代码块并应用适当的语法高亮。 githubcodeblocks.php:3-9 - syntax/blockquotes.php
处理引用块语法,使用 > 符号标记引用内容。该文件支持嵌套引用和引用块内的其他 Markdown 元素。 blockquotes.php:1-8 - syntax/olists.php
实现有序列表语法,使用数字和点标记列表项。该文件处理有序列表并转换为 DokuWiki 的列表格式。 olists.php:2-6 - syntax/ulists.php
实现无序列表语法,使用 *、+ 或 - 符号标记列表项。该文件处理无序列表并转换为 DokuWiki 的列表格式。 ulists.php:2-6 - syntax/hr.php
实现水平线语法,支持三种格式:使用 *、- 或 _ 符号。该文件将这些格式转换为 DokuWiki 的水平线。 hr.php:2-7
内联元素文件
- syntax/italicasterisk.php
实现使用星号的斜体语法,处理单个星号包围的文本。该文件将这种格式转换为 DokuWiki 的强调格式。 italicasterisk.php:2-4 - syntax/italicunderline.php
实现使用下划线的斜体语法,处理单个下划线包围的文本。该文件将这种格式转换为 DokuWiki 的强调格式。 italicunderline.php:2-4
链接和引用文件
- syntax/references.php
实现参考链接定义语法,用于在文档中定义可以被引用的链接。该文件处理链接定义并存储在元数据中供后续使用。 references.php:2-5 - syntax/imagesreference.php
实现图片引用语法,允许使用预定义的引用插入图片。该文件与 references.php 配合使用,处理图片引用并转换为 DokuWiki 的媒体格式。 imagesreference.php:2-8
每个文件都是一个独立的语法插件,继承自 DokuWiki_Syntax_Plugin 类,实现了特定的 Markdown 语法元素。它们通过 DokuWiki 的词法分析器(Lexer)系统注册模式,并在 handle() 方法中处理匹配的内容,最终转换为 DokuWiki 的内部格式。
Notes
dokuwiki-plugin-markdowku 插件采用模块化设计,每个文件专注于处理一种特定的 Markdown 语法元素。这种设计使得插件易于维护和扩展。值得注意的是,该插件不包含处理 Markdown 表格语法的文件,这是它与完整 Markdown 实现的一个主要区别。