Jekyll & Asciidocでシンタックスハイライト

Jekyllのシンタックスハイライトテーマを変更する

Jekyllのデフォルトのテーマはダサいので変更する.
https://github.com/jwarby/jekyll-pygments-themesから適当なテーマを持ってきて,中身を以下のファイルと差し替える.(バックアップを取ろう)

<your-jekyll-site>/_sass/_syntax-highlighting.sass

色が変な場合は以下のようにpreタグとcodeタグに適当な色を設定すると直る.

~~~css pre { color:#DDD; } .highlight code { color:#DDD; } ~~~

Asciidocでの書き方

JekyllはAsciidocに対応しているが,Asciidocのソースコードの書き方ではハイライトされない.それの解決策を紹介する.

やり方

Jekyll & Asciidocでシンタックスハイライトをつけるには,

++++
{% raw %}~~~c %}{% endraw
#include <stdio.h>
int main(int argc, char *argv[]){
	printf("Hello World\n");
	return 0;
}
{% raw %}~~~{% endraw %}
++++

という風に記述すればよい.

表示例

上記の例は以下のように表示される.

~~~c #include int main(int argc, char *argv[]){ printf("Hello World\n"); return 0; } ~~~