lua - Pandoc Lua 过滤器将章节和部分包装在 div 中
问题描述
我一直在使用 javascript 将章节或章节“内容”(它与下一章节或章节标题之间的元素)包装在一个div
(用于 UI 目的)中。我想在构建时而不是运行时使用 Lua 过滤器来做同样的事情。
根据我对抽象语法树 ( AST ) 的阅读,这些元素组不能以明显的方式直接选择。这让我相信我必须遍历所有文档元素,类似于手册中的以下示例中的操作方式。
function Pandoc(doc)
local hblocks = {}
for i,el in pairs(doc.blocks) do
if (el.t == "Div" and el.classes[1] == "handout") or
(el.t == "BlockQuote") or
(el.t == "OrderedList" and el.style == "Example") or
(el.t == "Para" and #el.c == 1 and el.c[1].t == "Image") or
(el.t == "Header") then
table.insert(hblocks, el)
end
end
return pandoc.Pandoc(hblocks, doc.meta)
end
我想我可以使用类似的方法,但在Header
块之间累积元素并将它们捆绑到Div
s. 这是一种合理的方法,还是我在这里遗漏了一些关于 AST 的明显内容?
解决方案
推荐阅读
- python - 用于特征选择的详尽网格搜索
- android - 空对象引用上的“int android.graphics.Bitmap.getWidth()”
- javascript - Mongoose 在更新时将数组更新为默认值
- reactjs - React/JSX 方法定义的优缺点
- msal - msal 问题:意外的令牌 < 在 Angular 5 应用程序中
- ubuntu - Eigen + MKL 不适用于 Ubuntu。适用于 OSX
- javascript - 如何在反应中访问多维数组值?
- unity3d - 如何压缩我签名的 apk?
- asp.net-web-api - 未找到 Asp.Net Core Api 404 .Master
- express - 带有护照js的蓝鸟错误的猫鼬承诺