Pandoc:将Markdown转换为HTML,语法高亮器

14

我正在将Markdown转换为HTML,并希望包含语法高亮的代码。

我从一些包含如下语法的Markdown工作:

  ~~~ {.c}
  long factorial (int n)
  {
    long result = 1;
    while (n > 1)
      result *= n--;
    return result;
  }
  ~~~

但我不知道使用了哪个语法高亮扩展来处理此语法。有什么好的扩展可以推荐吗?


10
Pandoc会自动进行语法高亮,您无需外部扩展程序。只需要确保使用-s标志以获取包含用于高亮显示的CSS的独立HTML文件。您还可以使用--highlight-style选项调整配色方案。注意:这些注释假定您正在使用最新版本的Pandoc,即1.9.4.2。 - John MacFarlane
谢谢,你知道为什么没有自动生成$HOME/.pandoc文件夹吗?当我尝试使用任一选项时,都会出现错误“pandoc: slidy: openFile: does not exist”。 - Rose Perrone
1
当我添加 -s 选项时,我会收到以下错误信息:pandoc -m -t -s slidy 7-functional-design.md -o 7-functional-design.hpart。如果我尝试改为添加 --highlight-style=haddock,我会得到相同的错误信息。 - Rose Perrone
谢谢,但我发现这会破坏格式(单词将悬停在项目符号上方)。另外,我能否为不同的语言指定语法高亮显示? - Rose Perrone
3
使用pandoc时,命令行中指定的语法高亮设置被视为开/关开关。请不要将其与不同语言的语法高亮混淆。 若要为不同语言设置语法高亮,请在您的文件中写入该语言的名称,例如:~~~~ruby - AZ.
显示剩余2条评论
1个回答

3

请在给出负面评价之前先阅读评论答案并编辑。

解决方案

Pandoc会自动进行语法高亮,您不需要安装其他外部插件。

请确保使用-s标志,这样您就可以获得一个独立的HTML文件,并带有所需的CSS文件以进行高亮显示。您也可以使用--highlight-style选项来调整着色方案。

注意:这些评论假设您正在使用最新版本的Pandoc, 1.9.4.2.

当我添加了-s选项后,我收到以下错误信息:pandoc -m -t -s slidy 7-functional-design.md -o 7-functional-design.hpart. 如果我尝试添加--highlight-style=haddock而非-s,我仍然会收到同样的错误消息。

您应该使用-s -t slidy而不是-t -s slidy.

slidy是-t选项的参数,必须紧跟在其后面。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接