有没有办法让
pandoc
在输出markdown时输出受隔离的代码块(即使用三个反引号),而不是缩进四个空格?
可以使用 Lua 过滤器“手动”创建块输出:
local fenced = '```\n%s\n```\n'
function CodeBlock (cb)
-- use pandoc's default behavior if the block has classes or attribs
if cb.classes[1] or cb.attributes[1] then
return nil
end
return pandoc.RawBlock('markdown', fenced:format(cb.text))
end
将以上内容保存到文件中,然后通过
--lua-filter
选项将文件传递给 pandoc。
对于它的价值:我在 Org 中使用了源代码块,例如:
#+begin_src
select * from universe;
#+end_src
使用以下方法将它们转换为缩进代码块:
pandoc --from=org --to=markdown --output=output.md input.org
但是如果我添加
sql
(或 java
或任何其他语言),Pandoc 就会切换到围栏块:
#+begin_src sql
select * from universe;
#+end_src
输出:
``` {.sql}
select * from universe;
```