記事内で脚注(footnote)を利用できるようにする MovableType プラグインを書いてみました。
ブログ記事やウェブページなどの本文、追記など*1に以下の書式で脚注を埋め込むことができます。脚注はグローバルフィルタを適用することによって、脚注本文へのリンクに置き換えられます。また、グローバルフィルタによって収集された脚注は、後ほど、テンプレートタグを用いてページの末尾などにまとめてリスト化*2することができます。
脚注は HTML のように<footnote>ほげほげ</footnote> タグ または <fn>ふがふが</fn> タグで囲んで記述します。 更に、<fn>(ぴよぴよ)</fn> のように、括弧で括って記述することで、 脚注タグが処理されないような場合でも、脚注文を含んだままの自然な文章として読むことが可能です。 この場合、脚注文から括弧は除去されます。
脚注は HTML のように*1 タグ または *2 タグで囲んで記述します。 更に、*3 のように、括弧で括って記述することで、 脚注タグが処理されないような場合でも、脚注文を含んだままの自然な文章として読むことが可能です。 この場合、脚注文から括弧は除去されます。
# 記事の本文を表示します。脚注タグを参照リンクに置き換えます。 <$MTEntryBody gather_footnote="<sup>%s</sup>","*%d"$> # 脚注を収集できた場合、脚注のリストを表示します <MTIfFootnotes> # 脚注ごとにループします <MTFootnotes> <MTFootnotesHeader><ul></MTFootnotesHeader> <li><a name="<MTFootnoteAnchor>" href="#<MTFootnoteRefer>">*<MTFootnoteCount></a>:<MTFootnoteText></li> <MTFootnotesFooter></ul></MTFootnotesFooter> </MTFootnotes> </MTIfFootnotes>
gather_footnote
グローバル フィルタ%d
は脚注番号に置き換えられます。2 つの引数を与えた場合、第 1 引数中の %s
は生成された参照リンクに、第 2 引数中の %d
は脚注番号に置き換えられます。引数に reset
を指定した場合*3、脚注番号が 1 にリセットされ、直前の gather_footnote
で指定した書式がそのまま利用されます。
# gather_footnote="%d" を指定した場合: # gather_footnote="%s","%d" と同じ動作になります <a title="脚注文" name="referral-1" href="#footnote-1">1</a> # gather_footnote="<sup>%s</sup>","[%d]" を指定した場合: <sup><a title="脚注文" name="referral-1" href="#footnote-1">[1]</a></sup>
MTIfFootnotes
条件タグgather_footnote
グローバル フィルタで収集した脚注が 1 個以上存在した時に真になります。MTFootnotes
ブロック タグgather_footnote
グローバル フィルタで収集した脚注を順番に列挙するためのブロックタグです。引数はありません。MTFootnotesHeader
条件タグMTFootnotes
ブロックタグ内で、最初のループの時、真になります。MTFootnotesFooter
条件タグMTFootnotes
ブロックタグ内で、最後のループの時、真になります。MTFootnoteAnchor
変数タグMTFootnoteRefer
変数タグMTFootnoteCount
変数タグMTFootnoteText
変数タグmaster
) ... バグ修正や機能追加など開発途中のバージョンです。開発中の新機能などをいち早く利用できますが、新しいバグが生まれていたり、テストが不十分な場合があります。取得したプラグイン ファイルを plugins ディレクトリにコピーします。プラグインの設定などは必要ありません。
寄せられたコメント (全 1 件中、最新 5 件まで表示しています)
いくつか修正する必要がありまして、こちらでカスタマイズしてGitHubで公開してもよいでしょうか?
このページに対してリンクを貼らせて頂き、無償でOSSとして公開するつもりです。