如何用Pandoc Lua Filter移除Quarto生成HTML的data-output_encrypt属性
解决Quarto Lua Filter删除含连字符data属性的语法错误问题
你遇到的语法错误确实是因为属性名中的连字符导致的——Lua不允许使用点(.)访问包含连字符的表键,因为连字符会被解析为减法运算符,从而触发语法错误。
要正确删除data-output_encrypt属性,需要改用方括号语法来访问表键,具体修改后的Lua Filter代码如下:
if FORMAT:match 'html' then function Div (elem) elem.attributes['data-output_encrypt'] = nil return elem end end
补充说明:
- 当表键包含特殊字符(如连字符、空格)或以数字开头时,必须使用方括号
[]包裹键名来访问或修改对应的表值。 - 这种方式适用于所有Quarto/Pandoc Lua Filter中需要处理带特殊字符的HTML属性的场景。
内容的提问来源于stack exchange,提问作者richarddmorey
相关产品推荐
相关产品推荐

