pandoc:如何链接到另一个 markdown 文件中的部分



我想创建两个 markdown 文件,并在它们的部分之间有链接。这里的挑战是我希望文件正常工作,无论我要求 pandic 将它们连接到单个 HTML 文件,还是单独的 HTML 文件。麻烦的是,在后一种情况下,链接需要知道另一个HTML文件的名称才能正常工作。

Pandoc 有没有办法在不创建不同版本的降价输入的情况下管理它?

下面使用 Lua 过滤器来修复您的链接。 它假定链接是通过在链接前面加上定义链接的文件(例如 [see here](some-other-file.md#topic) . 一些编辑器使切换到相应文件变得简单,因此这可能是一个额外的优势。

转换为多个HTML文件时,我们需要做的就是将这些链接中的.md文件扩展名替换为 .html .

-- fix-links-multiple-files.lua
function Link (link)
  link.target = link.target:gsub('(.+)%.md%#(.+)', '%1.html#%2')
  return link
end

运行它

pandoc --lua-filter fix-links-multiple-files.lua file-1.md -o file-1.html

对于单个文件,我们可以删除链接的文件部分:

-- fix-links-single-file.lua
function Link (link)
  link.target = link.target:gsub('.+%.md%#(.+)', '#%1')
  return link
end

运行方式

pandoc --lua-filter fix-links-single-file.lua *.md -o outfile.html

相关内容

最新更新