【问题标题】:Highlight with Jekyll and pygments doesn't work用 Jekyll 和 pygments 突出显示不起作用
【发布时间】:2011-10-09 08:55:57
【问题描述】:

我想将pygmentsjekyll 一起使用

我有以下代码:

{% highlight java %}
NullPointerException at org.springframework.core.GenericTypeResolver.getTypeVariableMap
{% endhighlight %}

当我使用jekyll --pygments 生成我的网站时,html 结果是:

<div>
  <pre><code class="java">NullPointerException at org.springframework.core.GenericTypeResolver.getTypeVariableMap</code>
  </pre>
</div>

在此 html 输出中,没有预期的 &lt;span class="n"&gt;&lt;span class="s2"&gt; 标记,并且代码未突出显示。

我做错了吗?

【问题讨论】:

  • 可能是一个愚蠢的问题,但与其使用异常消息进行测试,不如尝试一些实际的 java 代码会发生什么?
  • 是的,我尝试使用 java 代码和 ruby​​ 代码并得到相同的行为
  • 您是否正确安装了 pygments?
  • 我猜,'sudo easy_install Pygments' 工作正常,如何确保它安装正确?

标签: jekyll pygments


【解决方案1】:

您需要生成 CSS 以突出显示。

$ pygmentize -S default -f html > css/pygments/default.css

【讨论】:

  • +10 - 这在 Jekyll 文档中应该更加突出(存在?)
  • 请注意,您还必须告诉 Jekyll 模板选择新的 CSS 文件——在我的例子中,通过编辑 _layouts/default.html(Jekyll 引导程序)。跨度>
  • 我刚刚在jekyll install wiki 中添加了一些关于在安装后如何实际使用 Pygments 的注释。希望它能把事情弄清楚。
  • 如果不明显,必须先安装pygment:pip install Pygment
  • $ pip install Pygment Collecting Pygment Could not find a version that satisfies the requirement Pygment (from versions: ) No matching distribution found for Pygment
【解决方案2】:

单独安装 pygments 并生成 CSS 的替代方法,可以直接从 Jekyllrb 文档here 中拉取 CSS

从我上面提到的文档中提取的直接链接在这里:https://github.com/mojombo/tpw/blob/master/css/syntax.css

(这是作者在GitHub上的官方版本)

该文件名为 syntax.css,将其放入您的 css 文件夹,并在任何/所有文件的标题中创建指向样式表的相对链接以启用语法突出显示。

这可以这样做,例如,我将它放在head.htmlcss.html 中,我有所有相关链接,它位于_include 文件夹中,因此它包含在所有使用它的布局中:

&lt;link rel="stylesheet" href="/css/syntax.css"&gt;

您可能还需要将此添加到您的_config.yml

highlighter: pygments

经过测试,可以在 Jekyll 和 GitHub Pages 上运行(这很特别,因为它只允许非常有限的一组插件)

一个相关的 SO 问题也帮助我找到了正确的解决方案是here。我也很困惑为什么我的代码仍然没有在我移植的模板中突出显示,即使在_config.yml 中添加了这一行。执行jekyll new test-site 时它只能在自动生成的 Jekyll 站点上运行的原因是因为生成的模板已经包含用于语法高亮的 SASS (.scss)(在 _sass 目录中),这有助于将其全部生成为一个main.css.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    相关资源
    最近更新 更多