首先,我对Jekyll很陌生(并在StackOverflow上发帖),但到目前为止我已经做到了。我曾经让 Jekyll 在受围栏的块代码中输出突出显示的代码片段。最终,过了一会儿我又回来处理事情,并注意到格式又回到了这个位置,没有行号和<a>
标签:
<code class="ruby language-ruby" data-lang="ruby">
<span class="k">def</span>
<span class="nf">print_hi</span><span class="p">(</span><span class="nb">name</span><span class="p">)</span>
<span class="nb">puts</span>
<span class="s2">"Hi, </span><span class="si">#{</span><span class="nb">name</span><span class="si">}</span><span class="s2">"</span>
<span class="k">end</span>
<span class="n">print_hi</span>
<span class="p">(</span><span class="s1">'Tom'</span><span class="p">)</span>
<span class="c1">#=> prints 'Hi, Tom' to STDOUT.</span>
</code>
上面的代码派生自:
```ruby
def print_hi(name)
puts "Hi, #{name}"
end
print_hi('Tom')
#=> prints 'Hi, Tom' to STDOUT.
```
我的_config.yml:
name: Your New Jekyll Site
markdown: redcarpet
pygments: true
permalinks: pretty.
我注意到的一件关键事情是,当我在终端中运行rvm use system
时,它为 jekyll 提供 ruby 1.8.7,并在 terminak 中让我知道(我认为这将是一个问题。或者,当我使用 ruby 2.0.0-p247 时,它只是提供它,但没有告诉我它与哪个版本一起提供。
我的头发扯下来!
再过几个晚上,我已经解决了同样的问题(至少它看起来像你提到的非常相似的问题)。
无论如何,对我来说,这是因为设置的 Python 版本比"Pygments"脚本支持的(根据此源代码)更新,该脚本负责这些块处理。
最新版本(目前)是 3.3。在玩和实验后,重新安装 2.7.5 版本的 Python 解决了这个问题。
我是Windows用户(我想,在当前情况下,这对于Linux来说没有太大区别)并在本地使用jekyll服务器。
此外。。。不确定您使用的是哪种确切方法(我也试图在免费的 Heroku 托管 dyno 上安装 Jekyll,因为它在这里提到),所以在那里遇到了同样的问题(意思是,相同的结果),但经过一些探索发现那些家伙默认使用 Python 2.7.4,我必须在 _config.yml Jekyll 配置文件中明确指定以下内容:
markdown: redcarpet
pygments: true
让俾格门人的事情起作用。
(甚至认为他们说最新版本的 Jekyll(从 1.1 开始)默认使用红地毯......无论如何,这可能与所有 Ruby/Python/Jekyll 设置之间的一些深层关系有关——我只是放手了,他)。