使用 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
我正在尝试改进用于过滤输入的过滤代码。
我的输入是这样的:
<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