28

jekyllpygmentsを使いたい

私は次のコードを持っています:

{% 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出力には、期待されるタグ<span class="n"><span class="s2">タグがなく、コードは強調表示されていません。

私は何か間違ったことをしていますか?

4

2 に答える 2

38

ハイライトするには、cssを生成する必要があります。

$ pygmentize -S default -f html > css/pygments/default.css
于 2012-03-20T00:12:32.930 に答える
2

pygmentsを個別にインストールしてCSSを生成する代わりに、ここのJekyllrbドキュメントからCSSを直接​​プルすることができます。

上記のドキュメントから抽出された直接リンクは次のとおりです:https ://github.com/mojombo/tpw/blob/master/css/syntax.css

(これはGitHubの作者の公式バージョンです)

このファイルはsyntax.cssと呼ばれ、cssフォルダーにドロップし、任意/すべてのファイルのヘッダーにスタイルシートへの相対リンクを作成して、構文の強調表示を有効にします。

これは、たとえば、すべての相対リンクがある場所に配置しhead.htmlたり、フォルダー内に配置したりすることで、それを使用するすべてのレイアウトに含まれるようにすることができます。css.html_include

<link rel="stylesheet" href="/css/syntax.css">

これをあなたの_config.yml:に追加する必要があるかもしれません

highlighter: pygments

JekyllおよびGitHubPages(非常に限られたプラグインのセットしか許可しないため、これは特別です)で動作するようにテストされています

適切な解決策にたどり着くのにも役立った関連するSOの質問はここにあります。また、に行を追加した後でも、移植しているテンプレートでコードが強調表示されない理由にも戸惑いました_config.yml。自動生成されたJekyllサイトで機能するのは、生成されたテンプレートに、構文を強調表示するためのSASS()が(ディレクトリ内に)jekyll new test-siteすでに含まれているためです。これにより、すべてを1つに生成できます。.scss_sassmain.css

于 2015-04-29T05:29:23.693 に答える