我想创建两个 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
Run Code Online (Sandbox Code Playgroud)
运行它
pandoc --lua-filter fix-links-multiple-files.lua file-1.md -o file-1.html
Run Code Online (Sandbox Code Playgroud)
在单个文件的情况下,我们可以删除链接的文件部分:
-- fix-links-single-file.lua
function Link (link)
link.target = link.target:gsub('.+%.md%#(.+)', '#%1')
return link
end
Run Code Online (Sandbox Code Playgroud)
运行
pandoc --lua-filter fix-links-single-file.lua *.md -o outfile.html
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2143 次 |
| 最近记录: |