在 pandoc markdown 输出中使用受防护的代码块

问题描述 投票:0回答:2

有没有办法让

pandoc
在输出markdown时输出受隔离的代码块(即使用三个反引号),而不是缩进四个空格?

markdown pandoc
2个回答
3
投票

可以使用 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。


0
投票

对于它的价值:我在 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;
```
© www.soinside.com 2019 - 2024. All rights reserved.