我使用rouge
for R 语法高亮已经有一段时间了,所以我可以确认它的工作rouge
时间超过了这个月,而且它做得相当不错(个人意见)。
我有一个使用生成的GitHub 页面站点,不久前jekyll
我经历了切换到rouge
荧光笔的相同过程。但它现在适用于 R 代码。下面是我网站的示例屏幕截图(我添加了一些额外的代码以使这篇文章受益)。
页面上的代码library(ggseas)
和library("ggseas")
(我通常编写的方式)如您所建议的那样:
<span class="n">library</span><span class="p">(</span><span class="n">ggseas</span><span class="p">)</span>
<span class="n">library</span><span class="p">(</span><span class="s2">"ggseas"</span><span class="p">)</span>
如您所见, 的特殊突出显示PRIMITIVE_FUNCTIONS
指的是我们在 for 循环中看到的单词for
and的突出显示in
。
但是,这与在流行的 IDE Studio 中突出显示ggplot()
和ggsea
. 只有library()
(以及其他一些函数,如require()
)不包含在 的列表中PRIMITIVE_FUNCTIONS
,因此不要像应有的那样突出显示:
所以,我很好奇你的代码在你无法使用之前是什么样子的rouge
。如果您只需要修复library()
和require()
(可能还有其他几个)的突出显示,那么您应该能够将它们添加到PRIMITIVE_FUNCTIONS
您推测的列表中。但是,如果您想要对所有非基本函数进行特殊突出显示,那么它会变得更加复杂。
如果有帮助,我已经为我生成的网站发布了我的_config.yml
文件的最后一部分。jekyl
# Build settings
destination: _site
paginate: 10
permalink: /:year/:title/
markdown: kramdown #redcarpet
highlighter: rouge
#redcarpet:
# extensions: ["no_intra_emphasis", "fenced_code_blocks", "autolink", "tables", "strikethrough", "superscript", "with_toc_data"]
#redcarpet:
# extensions: ["no_intra_emphasis", "fenced_code_blocks", "autolink", "tables", "with_toc_data"]
kramdown:
# use Github Flavored Markdown
input: GFM
auto_ids: true
syntax_highlighter: rouge
# do not replace newlines by <br>s
hard_wrap: false
gems: ['jekyll-paginate']
exclude: ['README.md', 'Gemfile', 'Gemfile.lock', 'screenshot.png']
我也刚刚注意到它不会对括号和大括号进行颜色编码,这是可取的。