搞了一个晚上。。终于搞定

一开始搜Highlighter的插件,官方推荐的是RougePygment

尝试了一下直接配置

highlighter: rouge

highlighter: pygment

前一个报错说没有这个包,但是使用gem install的时候依然下载错误

查看了下官方的Troubleshooting Documents

官方支持的包叫做pygment.rb【这真的不是扩展名?凸(゜皿゜メ)

反正各种配置都无效,gem install里面根本搜不到这个包

最后搜到一篇用JS的Solution:在Jekyll中用SyntaxHighlighter高亮代码

超酷的SyntaxHighlighter

实际上就是几个CSS+JS的引用,试了一下加载速度比较快并不需要本地存储

还提供了不同的主题可以选择

从中选择自己需要的语言的CSS,然后在对应页面引用即可

使用时将代码用pre tag围起来

<pre class="brush: cpp">
</pre>

此外还有各种设置,可以查看官方文档

比如高亮第1行和3行的格式为

<pre class="brush: cpp; highlight: [1,3]">
</pre>

使用前的效果

def show
  @widget = Widget(params[:id])
  respond_to do |format|
    format.html # show.html.erb
    format.json { render json: @widget }
  end
end

使用后

	def show
	  @widget = Widget(params[:id])
	  respond_to do |format|
	    format.html # show.html.erb
	    format.json { render json: @widget }
	  end
	end

只要保证导入了对应语言的JS就行

非常希望官方集成一下。。