Jekyllで使ってるプラグイン
Table Of Contents
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'
ページ内目次
一度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埋め込み
# gem install jekyll-youtube
して、以下書き足せば使える。
_config.yml
gems:
- jekyll-youtube
Gemfiles
gem 'jekyll-youtube'