31

Jekyll ブログを VPS にデプロイしました。Pygments の強調表示を使用して、Github 風の Markdown をそれに追加したいと思いますが、どのファイルをどのように編集する必要があるのか​​ わかりません。

これまでのところ、私が構成した唯一のファイルは_config.yml次のようになります。

  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 を適切に構成するにはどうすればよいですか?

4

4 に答える 4

48

編集:より簡単になりました

Jekyll >= 0.12.1 の時点で、redcarpet2 は Jekyll によってネイティブにサポートされているため、設定を に設定するだけmarkdown: redcarpetで、GFM / フェンスで囲まれたコード ブロックを使用しても問題ありません。

元の答え

明示的に Github フレーバーのマークダウンを要求するので、非マークダウンの Liquid 形式でコード ブロックを作成する回答を探していないと思います。

{% 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)。

次に、そこのドキュメントで説明されているように、_config.ymlredcarpet2 を使用するように編集します。

markdown: redcarpet2
redcarpet:
  extensions: ["no_intra_emphasis", "fenced_code_blocks", "autolink", "strikethrough", "superscript"]

これは、github-flavored-markdown aka redcarpet2 によって提供される一般的な拡張機能を追加します (まあ、ほとんどです。これは、番号による問題の識別やハッシュによるコミットなどの github 固有のマークダウンを実行しないため、技術的には同じではありません)。

redcarpet2 は jekyll エンジンの Github バージョンでは利用できないため、プラグインを使用するということは、サイトをローカルで構築し、_siteそこでサイトをホストしている場合は github にコピーする必要があることを意味します (こちらの未解決の問題を参照してください)。ジキル)

: ところで、指定したすべてのマークダウン エディターは必要ありません_config.ymlredcarpet2 を使用した基本的な例については、この構成とそれに付随する関連する jekyll ディレクトリを 見たいと思うかもしれません。

于 2012-11-28T20:42:38.423 に答える
11

ここで述べたように、Jekyll の最良の部分は、

...テンプレート ディレクトリ (Web サイトの未加工の形式を表す) を受け取り、それを Textile または Markdown および Liquid コンバーターを介して実行し、完全な静的 Web サイトを吐き出します...

つまり、Markdown と pygments がデフォルトで強調表示されます。

このセットアップでは、デフォルトの _config.yaml を破棄または使用できます。既存の構成では、pygments を true: に設定したい場合がありますpygments: true

これがあなたがすることです

  • Markdown : たとえば、ファイルに *.markdown という名前を付けて2012-12-01-my-post.markdown、ルート ディレクトリ内の任意の場所に配置します。通常、_posts に配置します。

    jekyll がこのファイルを解析するとき、マークダウン フィルターを介して渡します。追加のボーナスとして、 *.textile として保存し、テキスタイルを使用して解析します。もちろん、.html のままにしておくこともできるので、マークダウンの解析は行われません。

  • pygments : コードでこれを行うだけです:

    {% highlight python %}
    def yourfunction():
         print "Hello World!"
    {% endhighlight %}
    

    次のようにして行番号を取得することもできます。

    {% highlight python linenos %}   
    {% endhighlight %}
    

編集:また、コマンドを使用して構文スタイルシートを生成する必要があります

pygmentize -S default -f html > style.css

ここと@joshuahornby10で言及されているように。明らかに、html に style.css を含めます。次に、コードが pygments で構文強調表示されます。

ああ、これが機能するために _config.yaml の設定を変更する必要はありません。を使用してサイトを実行し、jekyll --server --auto見栄えが良いかどうかを確認してください。補足として、_config ファイルを編集するときは、自動実行を停止して、変更を有効にするために jekyll を再実行する必要があります。

于 2012-11-24T21:23:49.930 に答える
4

設定ファイルの変更で

 pygments:    false 

 pygments:    true

これは、マークダウン ファイル (優れたリソースhttp://daringfireball.net/projects/markdown/ ) にコード セクションを記述するときに、pygments スタイルを使用することを意味します。インストールしたことを確認してください。これは私が犯した間違いです。また、インストールしたら、スタイリングを行うためのcssファイルを作成する必要があります(当たり前のように聞こえますが、私はこの間違いを犯しました)

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

ここにあるテーマのいずれかにデフォルトを変更できます。

http://pygments.org/demo/35195/

マークダウンに関しては、ピグメントを機能させるには、構成ファイルで既に設定したマルクになるようにマークダウンする必要があることを読みました。

これがお役に立てば幸いです。Jekyll はすばらしいブログ プラットフォームですが、文書化されていないことがわかりました。

于 2012-11-27T23:52:40.070 に答える