私のJekyllブログをVPSに配置しました。 Pygments強調表示を使用して、Github風味のマークダウンを追加したいのですが、どのファイルをどのように編集する必要があるのかわかりません。
これまでのところ、私が設定した唯一のファイルは_config.yml
wichは次のようになります。
1 safe: false
2 auto: false
3 server: false
4 server_port: 4000
5 baseurl: /
6 url: http://localhost:4000
7
8 source: .
9 destination: ./_site
10 plugins: ./_plugins
11
12 future: true
13 lsi: false
14 pygments: false
15 markdown: maruku
16 permalink: date
17
18 maruku:
19 use_tex: false
20 use_divs: false
21 png_engine: blahtex
22 png_dir: images/latex
23 png_url: /images/latex
24
25 rdiscount:
26 extensions: []
27
28 kramdown:
29 auto_ids: true,
30 footnote_nr: 1
31 entity_output: as_char
32 toc_levels: 1..6
33 use_coderay: false
34
35 coderay:
36 coderay_wrap: div
37 coderay_line_numbers: inline
38 coderay_line_numbers_start: 1
39 coderay_tab_width: 4
40 coderay_bold_every: 10
41 coderay_css: style
Github風のMarkdownおよびPygmentsハイライトを使用するようにJekyllを適切に構成するにはどうすればよいですか?
jekyll> = 0.12.1以降redcarpet2はJekyllでネイティブにサポートされているため、設定をmarkdown: redcarpet
に設定するだけで、残りのmumbojumboなしでGFM /フェンス付きコードブロックを使用できます...
あなたは明示的にGithub風味のマークダウンを要求するので、非マークダウンリキッドフォーマットでコードブロックを作成する答えを探しているのではないと思います。
{% highlight python %}
def yourfunction():
print "Hello World!"
{% endhighlight %}
しかし、フェンスされたコードブロックで何かを書くことができればいいのです:
```python
def yourfunction():
print "Hello World!"
```
このためには、redcarpetマークダウンパーサーを使用します。
Github風味のマークダウンは、「Redcarpet」というマークダウンパーサー 1 を使用します。皮肉なことに、Githubフレーバーマークダウンは redcarpet2 を使用しますが、このマークダウンパーサーはデフォルトでJekyllによってサポートされていません。代わりに、Ruby gemをインストールすることで、これをプラグインとして追加できます。
gem install redcarpet
次に redcarpet2 Jekyllプラグイン を追加します。 (Jekyllにプラグインをインストールすると、そのリポジトリで.rb
Rubyスクリプトが_plugins
ディレクトリに配置されます。_plugins
のサブディレクトリに置くことができます。も)。
次に、そのドキュメントで説明されているように、redcarpet2を使用するように_config.yml
を編集します。
markdown: redcarpet2
redcarpet:
extensions: ["no_intra_emphasis", "fenced_code_blocks", "autolink", "strikethrough", "superscript"]
これはgithub-flavored-markdown aka redcarpet2によって提供される一般的な拡張機能を追加します(まあ、ほとんど。これは、問題を番号で識別したり、ハッシュでコミットしたりするようなgithub固有のマークダウン機能を実行しないため、技術的に同じではありません)。
プラグインがあるということは、当面は、サイトをローカルで構築し、_site
をgithubにコピーする必要があります。サイトをホストしている場合は、jekyllエンジンのGithubバージョンではredcarpet2を使用できないためです(これを見る 未解決の問題 ジキルで)
注:ところで_config.yml
で指定したすべてのマークダウンエディターは必要ありません。 redcarpet2を使用した基本的な例については、この config と、それに関連する関連するjekyllディレクトリを確認することができます。
ジキルの最高の部分は、言ったように here 、
...テンプレートディレクトリ(Webサイトの生の形式を表す)を取得し、それをTextileまたはMarkdownおよびLiquidコンバーターで実行し、完全な静的Webサイトを吐き出します...
つまり、デフォルトでMarkdownとpygmentsが強調表示されます。
この設定では、discardまたはデフォルトの_config.yamlを使用できます。既存の構成で、pygmentsをtrueに設定することができます:pygments: true
。
これはあなたがすることです
Markdown:ファイルに* .markdownという名前を付けます(例:2012-12-01-my-post.markdown
)。ルートディレクトリ内の任意の場所に配置します。通常は、_postsに配置します。
Jekyllがこのファイルを解析すると、マークダウンフィルターを通過します。追加のボーナスとして、*。textileとして保存し、 textile を使用して解析します。そしてもちろん、それを.htmlにしておけば、マークダウンの解析は行われません。
pygments:コードでこれを行うだけです:
{% highlight python %}
def yourfunction():
print "Hello World!"
{% endhighlight %}
また、次のようにして行番号を取得します。
{% highlight python linenos %}
{% endhighlight %}
編集:また、コマンドを使用して構文スタイルシートを生成する必要があります
pygmentize -S default -f html > style.css
前述のとおり here および@ joshuahornby10による。明らかに、htmlにstyle.cssを含めます。次に、コードが構文で強調表示されます。
これが機能するために、_config.yamlの設定を変更する必要はありません。 jekyll --server --auto
を使用してサイトを実行し、見栄えがよいかどうかを確認してください。補足として、_configファイルを編集するときは、自動実行を停止し、変更を行うためにjekyllを再実行する必要があります。
構成ファイルの変更
pygments: false
に
pygments: true
これは、マークダウンファイル(素晴らしいリソース http://daringfireball.net/projects/markdown/ )でコードセクションを記述するときに、pygmentsスタイルを使用することを意味します。あなたがインストールしたことを確認してください、これは私が犯した間違いです。また、インストールしたら、スタイリングを実行するためのcssファイルを作成する必要があります(当然のように聞こえますが、この間違いを犯しました)
pygmentize -S default -f html > stylesheets/pygments.css
ここにあるテーマのいずれかにデフォルトを変更できます:
http://pygments.org/demo/35195/
マークダウンに関して、私はそれを読んで、pygmentsを機能させるためには、マークダウンをマルクにして、設定ファイルですでに設定している必要があります。
これがお役に立てば幸いです。Jekyllは素晴らしいブログプラットフォームですが、文書化が不十分です。