以前作ったfootnote用プラグイン( footnote-extra: Octopress用footnoteのプラグイン) だとテーブル内等でのfootnoteがきちんと反映されてないことに気付いたので もともとMarkdown Extra以外用に作っていた直接footnoteを書いてしまう物に 移行しました。
footnote-extra
以前作ったもの:
Markdown Extra対応のパーサー(KramdownやRDiscountの新しいもの(>=2.0.7))
では[^1]
みたいな書き方でfootnoteが書けるので、
これを使ってfootnoteをLatexみたいにその場で書ける様にした物です。
これの利点は、Markdown記法で直接書いても番号さえ注意すれば 書ける事なんですが、実際には両方使うことはあまりないかな、と。
このプラグインはKramdwonとかでHTML化する前に、一回Markdown記法の footnote形式に置き換えます。
この時に、footnote部分がテーブル内等にあると上手く反映されません。 (Kramdownとかだとごにょごにょすれば出来ないわけでは無いと思いますが。。。)
古いページを見てたらそんなページがあったので直すためにもう一方のプラグインを 使うことにしました。
footnote-inline
もともとfootnote-extra内に Markdown Extra未対応のパーサーを使ってる人用、ということで作ったものですが、 こちらは変換時にhtmlのfootnoteへ直接変換してしまいます。
基本的な使い方はfootnote-extraと同じです。
fnex
/footnote_extra
をfnin
/footnote_inline
へ、
footnotes_extra
/footnotes_list_extra
の代わりに
footnotes_inline
/footnotes_list_inline
を使います。
Kramdownでテストした限りではテーブル無いなどに埋め込まれていてもきちんと 反映されました。
変換する際に、footnoteになる部分は直接プラグイン内でパーサーを通しています。
以前はKramdown専用で、RDiscountを使いたい場合は直接書き換えなくてはいけない
様な仕様でしたが、
Kramdown、RDiscount、Marukuに対応して、これらが_config.yml
で指定されてる
時はこれらのパーサーを使ってfootnoteの部分を変換します。
これら以外の場合はOctopress内にあるRubypantsというクラスで簡単な 整形だけ行いますが、必要な場合は使うパーサーを書き加えて上げる必要があるかもしれません。
上手く言ってなかったページはこのページ:
現在はテーブルの中でもきちんとフットノートへのリンクがついてて 内容も下にきちんと反映されています。