0

首先,我对 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">#=&gt; 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在终端中运行时,它使用 ruby​​ 1.8.7 为 jekyll 提供服务,并在终端中让我知道(我认为这会是一个问题。或者当我使用 ruby​​ 2.0.0-p247 时,它只是提供它,但没有告诉我它与哪个版本一起提供。

把我的头发拉出来!

4

1 回答 1

2

再过几个晚上,我已经解决了同样的问题(至少它看起来和你提到的非常相似)。

无论如何,对我来说,这是因为 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

让 Pygments 工作。

(甚至认为他们说 Jekyll 的最新版本(从 1.1 开始)默认使用 redcarpet ......无论如何,这可能与所有 ruby​​/python/jekyll 设置之间的一些深层关系有关 - 我只是放手他)。

于 2013-10-02T23:35:24.620 回答