あらすじ
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形式とかでどっかにファイルに吐き出して、それを読み込むという手も考えたんだけど、どっちがいいんだろう。
あんまりグローバル変数使いたくないんだけど、他に思いつかなかった。