WordPress 开发
基于 wordpress 开发主要是模版开发和插件开发。模版开发用于展示前端数据,wordpress 可以让每一个前端页面路由都由一个模版文件来响应,可以 Post 模版,也可以是 Page 模版,Page 模版主要用于展示不同于 Post 统一风格的页面。当然也可以定义不同 Post 的页面模版。 插件开发主要用于拓展 Admin 管理页面。也可…
DokuWiki 插件开发要点总结
DokuWiki 插件开发要点总结表格(含日志、调试、缓存) 主题 说明 建议与注意事项 语法类型 块级语法 vs 内联语法 块级:使用 addEntryPattern / addExitPattern;内联:用 addSpecialPattern 块级语法 可跨行,常以两个连续换行符(空行)断开段落或块 注意保留换行,避免影响下一个语法块匹配 内…
markdowku 插件中各个文件的作用
块级元素文件 syntax/headeratx.php 实现 ATX 风格的标题语法(使用 # 符号),支持六个级别的标题。该文件负责识别这种格式的标题并将其转换为 DokuWiki 的标题格式。 headeratx.php:1-4 syntax/headersetext.php 实现 Setext 风格的标题语法(使用下划线),支持两个级别的标题…
在 DokuWiki 的指令遍历期间删除标签

如何识别和删除段落说明 在 DokuWiki 中,段落由两个特定的指令表示: p_open- 打开一个段落 p_close- 结束段落 遍历指令时,您可以检查这些指令类型并跳过它们: // Get instructions $instructions = p_get_instructions($text); // Create a filtered…
在 DokuWiki 的 render 阶段修改指令
您的问题是关于在 DokuWiki 插件的 render() 方法中获取并修改指令的示例。 在 DokuWiki 中,通常 render() 方法接收的是已经处理过的数据,而不是原始指令。但是,有几种方法可以在渲染阶段获取和修改指令: 1. 使用 nest() 方法处理修改后的指令 最直接的方法是使用 nest() 方法,它允许您传入一组指令并执行…
DokuWiki 的中间过程指令
在 DokuWiki 中,解析过程会生成一系列中间指令(instructions),这些指令随后被传递给渲染器来生成最终输出。这些指令是 Parser 和 Renderer 之间的桥梁。 指令的基本结构 DokuWiki 的指令通常是一个数组,包含三个元素: 指令名称(如 p_open、cdata 等) 参数数组 文本在原始文档中的位置 从代码中可…
10 种 DokuWiki 语法处理方法示例与总结
1. 自动嵌套语法处理(使用getAllowedTypes()和UNMATCHED状态) 这种方法通过声明允许的语法类型,让DokuWiki自动处理嵌套语法。 class syntax_plugin_example extends \dokuwiki\Extension\SyntaxPlugin { public function getAllow…
Dokuwiki 命名空间排序分页
根据您之前的讨论和DokuWiki的代码结构,我将为您实现一个按日期排序并分页显示命名空间下页面的功能。这个功能可以通过两种方式实现:自定义action方法或自定义语法插件。 最佳实现方式:自定义Action方法 对于这种功能,自定义Action方法是更合适的选择,原因如下: 这是一个页面级别的功能,需要处理整个页面的显示 需要处理URL参数(如页…
Dokuwiki 在页面中设置变量,然后在模版中判断变量
您的问题是关于如何将 DokuWiki 的特定页面设置为 landing page,并控制导航元素的显示。 是的,您可以在页面中设置特殊变量,然后在模板的 main.php 中检测这些变量来控制导航的显示。DokuWiki 提供了几种方法来实现这一点: 方法一:使用页面元数据 您可以在页面中添加特殊的元数据标记,然后在模板中检测这些元数据: 在您想…
Dokuwiki 如何在页面中声明控制 toc 是否可以显示?
在 DokuWiki 中,您可以通过在页面中添加特殊语法来控制目录(TOC)是否显示。有两种方法可以实现这一点: 1. 使用 ~~NOTOC~~ 语法 如果您想在特定页面中禁用目录,可以在页面的任何位置添加 ~~NOTOC~~ 标记。这会将该页面的 toc 元数据标记设置为 false,从而阻止目录的显示。 2. 通过修改页面元数据 DokuWik…
Dokuwiki 默认起始页 Start 路径隐藏
在 DokuWiki 中,start 页面通常是每个命名空间下的默认页面。如果你希望在访问一个目录路径(比如 /wiki/namespace/)时自动显示 namespace:start 页面,但 URL 中不出现 start,这其实是 DokuWiki 默认就支持的行为,前提是链接是指向目录而不是具体页面。 一、确认你的配置支持“隐藏 start…