You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写匹配所有节点类型的Pandoc Lua过滤器?

如何编写匹配所有节点类型的Pandoc Lua过滤器

一、简便实现方式

在Pandoc Lua过滤器中,无需逐个指定所有节点类型,直接返回单一动作函数即可实现对所有节点的匹配,效果和你提供的Python Panflute代码一致:

-- Lua filter:匹配所有节点
function action(elem)
    print(pandoc.utils.type(elem))
end

return action

如果偏好通过父类型覆盖的方式,除了Block和Inline,还需加上Meta类型(用于处理文档元数据),写法如下:

-- Lua filter:通过父类型覆盖所有节点
function action(elem)
    print(pandoc.utils.type(elem))
end

return {
    {Block = action},
    {Inline = action},
    {Meta = action}
}

二、获取完整元素类型列表

有两种可靠途径获取完整的Pandoc元素类型列表:

  • 运行终端命令:pandoc --list-element-types,该命令会直接输出所有支持的节点类型名称,涵盖Block、Inline、Meta等所有类别。
  • 查看Pandoc官方文档的Lua过滤器章节,其中的「Element types」部分详细列出了每个类型的具体名称和说明。

内容的提问来源于stack exchange,提问作者wolfrevo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 17:42:04