あらすじ
Jekyll ではてなダイアリーのような脚注をつけられるプラグインを作った。
文中に登場した ref タグの引数を集めて ref_anchor タグが打たれた箇所にリスト出力する、というもの。
こう書くと、
- 超スタンダード {{ " {% ref といわれている " }} %}
- 誰の PC にも入っている {{ " {% ref といわれている " }} %}
- 誰でも簡単に使える {{ " {% ref といわれている " }} %}
- きめ細かいデザインが可能
- 画像やフローの挿入も簡単
(略)
{{ " {% ref_anchor " }} %}こうなる。

(略)

一応、やりたいことはできたんだけど、以下のようなことができなくて力技でなんとかした。
できる
同じ .md ファイル内に ref タグと ref_anchor タグを書くと問題なくいける。
上記あらすじの例がそう。
できない
ref タグは .md ファイル内に。 ref_anchor タグは「記事の一番最後に一つあればいい」ということでテーマ内に書いて集約したい。
と思って、 テーマ( _includes/themes/twitter/post.html ) に書いてみたが、これだと脚注が拾えなかった…。
デバッグしてみると、どうもレンダリングの順番で、 _includes/themes/twitter/post.html(ref_anchor) -> _posts/xxx.md(ref) になっているから拾えないっぽい?
対応
うまくできる方法もあるのかもしれないけど、とりあえずグローバル変数を使う方法で脚注を拾うことに成功した。
もう一つ、記事と脚注の対応をjson形式とかでどっかにファイルに吐き出して、それを読み込むという手も考えたんだけど、どっちがいいんだろう。
あんまりグローバル変数使いたくないんだけど、他に思いつかなかった。