一个用于创建注释的 pandoc 过滤器

我正在尝试将一些包含注释文本的 html 文档转换为带有注释的 odt(或 docx)文档。这似乎需要使用 pandoc 过滤器。

输入包含文本、标识符和链接...

<span class="comment c-MIGWMM5CsW0d4l4y">一些带注释的文本
  <sup><a href="#c-MIGWMM5CsW0d4l4y">*</a></sup>
</span>

在同一文件中的其他位置,注释文本和标识符如下...

<p role="comment" class="comment" id="c-MIGWMM5CsW0d4l4y">一条注释</p>

odt 文件中的注释/评论如下所示...

<text:p text:style-name="P1">
  <office:annotation office:name="__Annotation__0_1417392441" loext:resolved="false">
    <dc:creator>GCU Arbitrary</dc:creator>
    <dc:date>2022-02-10T17:53:16.400752734</dc:date>
    <text:p text:style-name="P2">
      <text:span text:style-name="T1">一条注释</text:span>
    </text:p>
  </office:annotation>一些带注释的文本<office:annotation-end office:name="__Annotation__0_1417392441"/>
</text:p>

从哪里开始呢?

修改: pandoc 写入 ODT 的程序 似乎不会将注释写入 .odt 文件中,它们似乎也没有在 AST 中表示(例如 pandoc --from odt --to native comment.odt 忽略了注释)。

在这种情况下,可能需要一种方法来在 AST 中表示注释,并可能需要读者/编写者扩展,而不仅仅是一个简单的过滤器?

另一种方法可能是使用 soffice 的 XML 或 XSLT 过滤器。

原文链接 https://stackoverflow.com/questions/71070564

点赞