更新段落使用lua筛选器

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

我拥有的输入看起来像这样:

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

我使用这样的一个筛选器来将“Pagebreak”这个词替换为实际的docx分页XML部分:

function Para (el)
  -- 将只包含“Pagebreak”单词的段落转换为换行符。
  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代码来实现这一点?

从“ 从论文创建手册 ”的例子中,我发现可以检查进入元素的类。但是我如何修改现有段落以在其中插入分页符呢?

点赞
用户214446
用户214446

很不幸,pandoc 的文档模型当前不支持段落上的属性。但是,您可以改用 div

<div class="pageBreak">第三页</div>

我看到你已经找到了有关分页符的公开问题

2020-07-02 12:37:25