【问题标题】:Syntax Highlighting with Pygments is failing via Liquid Templates String ErrorPygments 的语法突出显示因 Liquid 模板字符串错误而失败
【发布时间】:2011-12-09 17:08:33
【问题描述】:

我正在使用 Jekyll 将我的 markdown 和 Pygments 转换为语法高亮。

这是maruku显示的错误:

Liquid error: undefined method `join' for "\n song_info = []\n for song in songs:\n song_info.append(song.name) \n":String

标记如下:

{% highlight python %}
    song_info = []
    for song in songs:
        song_info.append(song.name)                                                                                                                                   
{% endhighlight %}

在 iPython 中测试 Pygments 不会产生错误。

有什么想法吗? ;o(

提前致谢!

【问题讨论】:

    标签: python markdown jekyll liquid pygments


    【解决方案1】:

    只需将liquid-2.3.0 gem 文件替换为latest version from Github

    它适用于jekyll-0.11.2 + liquid-2.3.0 + Pygments

    【讨论】:

      【解决方案2】:

      顺便说一句,GitHub recommends using RedCarpet

      要使用它,configure Jekyll by adding markdown: redcarpet to ./_config.yml。然后,在你的开发机器上安装RedCarpet[sudo] gem install redcarpet,这样你就可以编译你的 Jekyll 站点了。

      【讨论】:

      • Arrgh,我无法完全按照基于 Ruby 的预期工作(猜测是因为我依靠官方 Ubuntu 存储库为我提供东西).. . 尝试将 Liquid 恢复到 v2.2.2 并告诉 jekyll 使用 RedCarpet(这似乎没有这样做)...
      • 使用 RedCarpet 或任何其他降价风格与他遇到的 Liquid 错误无关。
      【解决方案3】:

      我遇到了同样的问题,并将液体 gem 恢复到版本 2.2.2 作为解决方法。似乎是 2.3.0 版本的 pygments 支持中的一个错误,或者 Jekyll 对它的使用。

      sudo gem uninstall liquid
      sudo gem install liquid --version '2.2.2'
      

      【讨论】:

      • 非常感谢!我也有同样的问题,这对我也有用。
      • 注意当前的 jekyll 0.11.2(在撰写本文时)需要至少为 2.3 的液体,因此您可能需要回到早期的 jekyll(例如 0.11.0)才能使用此解决方法
      猜你喜欢
      • 2022-11-10
      • 1970-01-01
      • 1970-01-01
      • 2017-04-26
      • 1970-01-01
      • 1970-01-01
      • 2010-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多