http://pandoc.org/demos.html#examples的子弹点18显示了如何通过为--highlight-style
提供参数来更改使用的语法高亮显示器。例如:
pandoc code.text -s --highlight-style pygments -o example18a.html
pandoc code.text -s --highlight-style kate -o example18b.html
pandoc code.text -s --highlight-style monochrome -o example18c.html
pandoc code.text -s --highlight-style espresso -o example18d.html
pandoc code.text -s --highlight-style haddock -o example18e.html
pandoc code.text -s --highlight-style tango -o example18f.html
pandoc code.text -s --highlight-style zenburn -o example18g.html
我想知道这些是否是唯一可用的配色方案。如果没有,我如何加载不同的语法荧光笔?我可以定义自己的吗?
答案 0 :(得分:20)
如果您的pandoc --version
表示发布了1.15.1
(2015年10月15日)或更新,那么您可以检查--bash-completion
参数是否适用于您获取完整列表可用的内置高亮样式。
运行
pandoc --bash-completion
如果有效,你会看到很多输出。它将远远超出上述原始问题......
如果--bash-completion
有效,请将此行放在${HOME}/.bashrc
文件的末尾(在Mac OS X或Linux上 - 还不能在Windows上运行):
eval "$(pandoc --bash-completion)"
打开新终端后,您可以使用pandoc
命令与"标签完成" :
pandoc --h[tab]
将产生
--help --highlight-style --html-q-tags
pandoc --hi[tab]
将产生
pandoc --highlight-style
现在再次点击[tab]
键,您就会看到
espresso haddock kate monochrome pygments tango zenburn
它是所有可用语法荧光笔的列表。要缩短预期,您还可以输入
pandoc --hi[tab][tab]
得到相同的结果。
Pandoc的bash选项卡完成也适用于所有其他命令行开关:
pandoc -h[tab]
产生这一点 - 所有可能的命令行参数列表:
Display all 108 possibilities? (y or n)
--ascii --indented-code-classes --template
--asciimathml --jsmath --title-prefix
--atx-headers --katex --to
--base-header-level --katex-stylesheet --toc
--bash-completion --latex-engine --toc-depth
--biblatex --latex-engine-opt --trace
--bibliography --latexmathml --track-changes
--chapters --listings --variable
--citation-abbreviations --mathjax --verbose
--columns --mathml --version
--csl --metadata --webtex
--css --mimetex --wrap
--data-dir --natbib --write
--default-image-extension --no-highlight -A
--dpi --no-tex-ligatures -B
--dump-args --no-wrap -D
--email-obfuscation --normalize -F
--epub-chapter-level --number-offset -H
--epub-cover-image --number-sections -M
--epub-embed-font --old-dashes -N
--epub-metadata --output -R
--epub-stylesheet --parse-raw -S
--extract-media --preserve-tabs -T
--file-scope --print-default-data-file -V
--filter --print-default-template -c
--from --read -f
--gladtex --reference-docx -h
--help --reference-links -i
--highlight-style --reference-odt -m
--html-q-tags --section-divs -o
--id-prefix --self-contained -p
--ignore-args --slide-level -r
--include-after-body --smart -s
--include-before-body --standalone -t
--include-in-header --tab-stop -v
--incremental --table-of-contents -w
Pandoc标签完成的一个有趣用例是:
pandoc --print-default-d[tab][tab]
给出pandoc --print-default-data-file
的完成输出列表。通过此列表,您可以深入了解Pandoc实例在执行其工作时将加载哪些数据文件。例如,您可以调查Pandoc的默认ODT(OpenDocument文本文件)输出样式的详细信息,如下所示:
pandoc --print-default-data-file odt/content.xml \
| tr " " "\n" \
| tr "<" "\n" \
| grep --color "style"
答案 1 :(得分:16)
--highlight-style=STYLE|FILE
指定要在突出显示的源代码中使用的着色样式。 选项为
pygments
(默认),kate
,monochrome
,breezeDark
,espresso
,zenburn
,haddock
和tango
。 有关pandoc中语法突出显示的更多信息,请参阅 Syntax highlighting,下方。也可以看看--list-highlight-styles
。而不是 STYLE 名称,带有扩展名的JSON文件 可能会提供
.theme
。这将被解析为KDE 语法高亮主题和(如果有效)用作 突出风格。要查看可以的示例主题 已修改,pandoc --print-default-data-file default.theme
。
库skylighting(旧版本highlighting-kate)用于突出显示。如果您不喜欢任何提供的配色方案,您可以:
.theme
文件,<span>
标记,您可以使用自定义CSS设置样式,或$highlighting-macros$
部分替换为您的自定义颜色定义,如this issue中所述。答案 2 :(得分:14)
自pandoc 2.0.5起,您还可以使用--print-highlight-style
输出theme
文件并对其进行修改。
对我而言,使用此选项的最佳方式是
选择一种愉快的风格
输出其theme
文件
编辑theme
文件
使用它!
选择你已经存在的风格:
theme
文件一旦确定哪种样式最接近您的需要,您可以使用(例如theme
默认样式)输出其pygments
文件:
pandoc --print-highlight-style pygments
以便您可以使用例如
将此样式存储在文件中pandoc --print-highlight-style pygments > my_style.theme
使用Skylighting JSON Themes指南,根据您的需要/品味编辑文件。
在右侧文件夹中,只需使用
即可pandoc my_file.md --highlight-style my_style.theme -o doc.html
答案 3 :(得分:11)
如果您使用的是Pandoc 1.18版(2016年10月发布)或更高版本,则可以获得新答案:
pandoc --list-highlight-languages
和
pandoc --list-highlight-styles
将为您提供所需的所有信息。
添加到v1.18的其他新信息命令行参数是:
pandoc --list-input-formats
pandoc --list-output-formats
pandoc --list-extensions