Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用lua过滤器更新段落_Lua_Pandoc - Fatal编程技术网

使用lua过滤器更新段落

使用lua过滤器更新段落,lua,pandoc,Lua,Pandoc,我正在努力改进过滤输入的过滤代码 我的输入如下所示: <html> <body> <p>Page 1</p> <p style="display: none">Pagebreak</p> <p>Page 2</p> <p style="display: none">Pagebreak</p> &

我正在努力改进过滤输入的过滤代码

我的输入如下所示:

<html>
  <body>
    <p>Page 1</p>
    <p style="display: none">Pagebreak</p>
    <p>Page 2</p>
    <p style="display: none">Pagebreak</p>
    <p>Page 3</p>
  </body>
</html>

第1页

分页符

第2页

分页符

第3页

我使用这样的过滤器将单词“Pagebreak”替换为实际的docx Pagebreak XML片段:

function Para (el)
  -- Turning paragraphs which contain nothing but a Pagebreak word
  -- into line breaks.
  if #el.content == 1 and el.content[1].text == "Pagebreak" then
    return pandoc.RawBlock('openxml', '<w:p><w:r><w:br w:type="page"/></w:r></w:p>')
  end
end

return {
  {Para = Para}
}
功能段(el)
--翻页只包含分页符的段落
--换行。
如果#el.content==1,el.content[1].text==“Pagebreak”,则
返回pandoc.RawBlock('openxml','')
结束
结束
返回{
{Para=Para}
}
我控制输入HTML,并希望通过删除Pagebreak来简化它,而在常规段落中添加一个属性。我想要的是:

<html>
  <body>
    <p>Page 1</p>
    <p class="pageBreak">Page 2</p>
    <p class="pageBreak">Page 3</p>
  </body>
</html>

第1页

第2页

第3页

我应该编写什么lua代码来实现这一点?


从“”示例中,我看到可以检查传入元素的类。但是我如何修改现有段落以使其具有分页符呢?

不幸的是,目前pandoc的文档模型。但是,您可以使用
div

<div class="pageBreak">Page 3</div>
第3页
我看你已经找到了