このブログをjekyllで生成するにあたって、プラグインとかいろいろと調べたので、このエントリにまとめておきます。

基本的なこと

jekyllのプラグイン機能って?

jekyllにはプラグイン機能があり、いろいろとサイト生成の挙動を拡張できます。作成したプラグインは_pluginsディレクトリに配置して利用します。以下のページの「Available Plugins」というところで、利用できるプラグインも紹介されています。

プラグイン機能の説明: http://jekyllrb.com/docs/plugins/

Liquidって?

jekyllではLiquidというテンプレートエンジンを利用しています。基本的には、変数の表示:{{ variable }}、機能の実行:{% function %}で、テンプレートを作成していきます。Liquidの文法などは次のページに説明があります。

Liquid Documentaion: http://docs.shopify.com/themes/liquid-documentation/basics

設定したこと

jekyllとか関係ないこともありますが、ブログを生成する際に設定したことをずらっと並べていきます。

アイコンを利用する

このブログでは、 {% icon fa-tag %} {% icon fa-calendar %} などのアイコンを利用していますが、これはFont Awesomeというツールキットのアイコンです。以下のプラグインを使えばLiquidのタグでアイコンを表示出来るようになります。

アイコンを表示するプラグイン: http://ryancmorrissey.com/blog/2014/01/25/font-awesome-icons-jekyll-tag-plugin/

Font Awesomeについて: http://fortawesome.github.io/Font-Awesome/

アイコンの一覧: http://fortawesome.github.io/Font-Awesome/icons/

一覧をページングする

一覧ページをページングする場合は、次のページの方法で設定します。

Pagination: http://jekyllrb.com/docs/pagination/

タグページを作る

タグページ(タグ毎の投稿一覧ページ)を作成する場合は、次のプラグインを利用します。このプラグインでタグクラウドも生成出来ます。

jekyll-tagginプラグイン:https://github.com/pattex/jekyll-tagging

カテゴリページを作る

カテゴリページ(カテゴリ毎の投稿一覧ページ)は、次のページを参考に作成しました。 jekyllのカテゴリページ:http://count0.org/2013/07/04/jekyll-category-page.html

サイトマップを作る

サイトマップ(検索エンジンに読み込ませるためのサイトマップ)は、次のプラグインで生成できます。

Jekyll Plugin: sitemap.xml Generator : https://github.com/kinnetica/jekyll-plugins

Liquidのテンプレートを無効にする

投稿の本文に{{ variable }}のような記載があるとLiquidのタグとして処理され困ることがあるので、これを回避するために以下のプラグインで無効化出来るようにします。

Raw tag for jekyll: https://gist.github.com/phaer/1020852

数式を表示する

数式の表示にはMathJaxを利用します。これでLaTexライクに数式が利用できます。以下はjekyllでの設定方法と、MathJax自体のドキュメントです。

MathJax with Jekyll: http://gastonsanchez.com/blog/opinion/2014/02/16/Mathjax-with-jekyll.html

MathJax Documentation: http://docs.mathjax.org/en/latest/index.html

MathJaxを利用する場合は_記号を頻繁に利用するので、redcarpetを利用している場合は、_config.ymlを以下のように設定して強調表示を無効にしておいた方が良さそうです。

markdown: redcarpet
redcarpet:
 extensions: ['no_intra_emphasis']

サイト内検索

jekyllで生成するページは静的ページなので、サイト内検索は外部の機能を利用します(JavaScriptでなんとかするのもアリですが、)。このサイトで利用しているのはGoogleのカスタム検索です。

Googleのカスタム検索: https://www.google.co.jp/cse/?hl=ja

ドラフト原稿を登録する

jekyllでは、_postsの代わりに_draftsというディレクトリ配下に原稿を置くとドラフト原稿となり、--draftsオプションをつけて起動した場合のみ、生成対象にすることが出来ます。これでドラフト原稿安心して、バージョン管理に含めることが出来ますね。。

他にもあるけど、ひとまずこんな感じ。。