是否有一种方法可以使 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 next(cb.attributes) then
return nil
end
return pandoc.RawBlock('markdown', fenced:format(cb.text))
end
将上述内容保存到文件中,然后通过--lua-filter
选项将该文件传递给pandoc。
--lua-filter
现在改成了 --filter
? - Guildenstern--filter
(或 -F
)需要一个JSON过滤器,即一个以pandoc的JSON作为输入并生成JSON输出的程序,然后将其读回pandoc中。 --lua-filter
(或 -L
)选项需要一个Lua过滤器,由内置在pandoc中的Lua解释器运行。 - tarleb就我个人而言:我在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;
```
pandoc index.html -o index.md
命令。但我认为你可能读错了。据我所知,fenced_code_attributes
选项是用于在读取 markdown 时支持对围栏代码块添加属性的,与写入 markdown 没有任何关系。 - Timmmm