使用 lua 过滤器更新段落

Update paragraph using lua filter

我正在尝试改进用于过滤输入的过滤代码。

我的输入是这样的:

<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>

我使用这样的过滤器来用实际的 docx 分页符替换单词“分页符”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}
}

我控制输入 HTML,并希望通过删除 <p style="display: none">Pagebreak</p> 以支持常规段落的属性来简化它。我想要的是:

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

我应该写什么lua代码来实现这个?

从“Creating a handout from a paper”示例中我看到可以检查传入元素的 类。但是如何修改现有段落以在其中分页?

不幸的是,目前 pandoc 的文档模型 doesn't support attributes on paragraphs。但是,您可以改用 div

<div class="pageBreak">Page 3</div>

我看你已经找到了 open issue about page breaks