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

标签 markdown pandoc

我想创建两个 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/

相关文章:

ruby - RDiscount:只允许某些标签

markdown - 如何使用 Markdown 显示 block 中的数学方程式

maven - 使用 maven-exec-plugin 运行命令行

markdown - 如何使用液体标签访问 Jekyll 中未渲染( Markdown )的内容?

html - Pandoc Markdown : ignore text in PDF (but include in HTML) Updated?

continuous-integration - 用于持续集成的 Markdown 语法检查?

markdown - 链接到 Bitbucket Markdown 中带有空格的文件名

php - "Safe"PHP Markdown 处理器?

image - 如何使用Pandoc图像对齐来对齐同一行中的两个图像?

r - 未在 bookdown PDF 中保留的 HTML 格式的超链接