我想创建两个 Markdown 文件,它们的部分之间有链接。这里的挑战是,无论我要求 pandic 将它们连接到单个 HTML 文件还是分离 HTML 文件,我都希望文件正常工作。麻烦的是,在后一种情况下,链接需要知道其他 HTML 文件的名称才能正常工作。
pandoc 有没有办法在不创建不同版本的 Markdown 输入的情况下管理这个?
最佳答案
以下使用Lua filters修复您的链接。它假定链接是通过在其中定义链接的文件作为前缀来编写的,例如 [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
关于markdown - pandoc:如何链接到另一个 Markdown 文件中的部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48169995/