如何在octopress中使语法高亮显示工作

时间:2012-12-16 14:28:51

标签: markdown jekyll octopress

这真令人沮丧。我不知道我的markdown文件有什么问题,因为它在没有任何问题的情况下编译成html但现在每当我运行rake generate时它都会给我这个错误。现在我主要对每个文件使用试错(30个降价文件),如果在运行rake generate

时进行编译,我会逐个测试它们

enter image description here

我很好地运行相同的命令一百次,但如果我不知道有什么问题,那么我该如何调试它。

以下是我发现导致错误的文件:

https://gist.github.com/4307839

https://gist.github.com/4307833

更新

好的,事实证明这不是语法问题,而是语法高亮。 当我做类似的事情时:

{% codeblock lang:JavaScript %}
console.log(25 + "yoyos"); 
//output: "25yoyos" 
{% endcodeblock %}

它不起作用。但是当我删除语言选项时:

{% codeblock %}
console.log(25 + "yoyos"); 
//output: "25yoyos" 
{% endcodeblock %}

有效。

每当我使用rake preview查看页面时,我都会收到此错误。

Liquid error: No such file or directory - -c “import sys; print ‘%d.%d’ % sys.version_info[:2]”

我已经做了一些研究,并在issues on github上尝试了所有可能的解决方案。

  • 捆绑更新
  • 编辑rubypython

if (@python.include? 'python2.7') @python = "python27" end

我通过Windows安装程序通过yari和python 2.7.3安装了ruby 1.9.3。 当我安装octopress时基本上一切都很顺利但是语法突出显然让我很头疼。在这篇博客文章中甚至提到,Windows中的语法突出显示确实存在问题:

http://blog.zerosharp.com/setting-up-octopress-on-windows/

但没有任何作用。

如果你能指出我在那里犯过的一些错误,我真的很感激。

2 个答案:

答案 0 :(得分:5)

不是一个直接的答案,但也许只考虑将你的降价解析器转换为redcarpet(在_config.yml中设置markdown: redcarpet),然后只使用Github风格的markdown的屏蔽代码块来提供语法高亮显示?

支持最新的redcarpet,提供github风味的降价,最近才被添加到Jekyll,所以你可能需要先更新你的Jekyll宝石。就个人而言,我认为使用纯降价写的帖子比使用Liquid进行语法高亮更有意义。

答案 1 :(得分:0)

当我在博客上遇到类似的选择时,我会在Google Code Prettify上选择托管并选择a CDN

您需要插入一些代码以动态地将正确的CSS类添加到代码块中。

我将以下代码添加到我的blog \ source_includes \ custom \ footer.html文件中:

<script type='text/javascript'>
    $(function() 
    {
        $('pre').addClass('prettyprint');
        prettyPrint();
    })
</script>