Jekyllで使ったプラグインたち(これから書く)

完全に単なるメモ

Amazonアフィリエイト

今はAmazonのリンクを作るにはProduct Advertising APIを使うものなんだそうです。ってところが世代ギャップか。

tokzk/jekyll-amazonを使えばよい。 作者が日本人なので日本語でも解説されて いますがgithubのREADMEと同じですね。

_config.yml

gems:
  - jekyll-amazon

Gemfiles

gem 'jekyll-amazon', group: [:jekyll_plugins]

AWS_ACCESS_KEY_IDとAWS_SECRET_KEYを環境変数で設定してからJekyllを動かす、 のを忘れずに。

$ export ECS_ASSOCIATE_TAG=...
$ export AWS_ACCESS_KEY_ID=...
$ export AWS_SECRET_KEY...

なお、とこかの記事で上記の環境変数名が合ってないという指摘が ありましたが既に対処されたコードになってます。

Twitterツイート埋め込み

rob-murray/jekyll-twitter-plugin に書いてあるとおり。

これ入れると初期化warningがでるようになっちゃいますが、 まあ実害はないのでスルーしてよし。

_config.yml

gems:
  - jekyll-twitter-plugin

Gemfiles

gem 'jekyll-twitter-plugin'

ページ内目次

toshimaru/jekyll-toc

一度parseされた本文をtocが食ってtocを頭につけて 書き出すという構造なので、あまり妙なテーマを使っていると tocが書き出されないという罠がある。

_config.yml

gems:
  - jekyll-toc

Gemfiles

gem 'nokogiri'
gem 'jekyll-toc'

toc生成にはnokogiriを使ったHTML解析をしています。 一応nokogiriを食わせておいた方が安心な気がする。


{{ content | toc }}

これをやると、本文をtocが食ってtocを頭につけて返すという 構造になります。

ちゃんとtoc部分を囲みたい、等があるとしたら、


  {% if page.toc }

  目次を示すdivタグ
  目次だよーというh2タグ

    {{ content | toc_only }}

  目次を示すdivタグを閉じる

  {% endif }


  本文をはじめるdivタグ

    {{ content | inject_anchors }}

  本文を終わるdivタグ

こんな感じに、contentを目次だけ出すtoc_onlyに食わせる部分と、 content内のアンカーを埋め込むinject_anchorsに食わせる部分に 分けると良いです。

ちなみに、これを書こうとして気づいたんですが、 Jekyllの文法を生で出すのは raw と endraw でくるめばよいの だそうです(ソース)。

Youtube埋め込み

dommmel/jekyll-youtube

# gem install jekyll-youtube

して、以下書き足せば使える。

_config.yml

gems:
  - jekyll-youtube

Gemfiles

gem 'jekyll-youtube'