脚注を記述できる MovableType プラグイン:Footnote

Posted by
ぴろり
Posted at
2011/01/22 15:10
Trackbacks
関連記事 (0)
Comments
コメント (1)
Post Comment
コメントできます
Category
プラグイン カテゴリ

 記事内で脚注(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 グローバル フィルタ
 脚注を収集し、脚注部分を参照リンクに置き換えるためのグローバル フィルタです。生成される脚注へのリンク書式を指定する 1 つまたは 2 つの引数を取ります。1 つの引数を与えた場合、第 1 引数中の %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 変数タグ
 現在の脚注の脚注番号です。脚注番号は 1 から始まります。引数はありません。
MTFootnoteText 変数タグ
 現在の脚注の脚注文です。脚注文を囲む括弧は除去されます。引数はありません。

ダウンロード

インストール

 取得したプラグイン ファイルを plugins ディレクトリにコピーします。プラグインの設定などは必要ありません。

いろいろ

  • MovableType 4, 5 で動作します
  • ライセンスは LGPL とします
  • 生成されるリンクの書式やアンカー文字列はプラグイン中にハードコーディングされていますので、そこを修正すれば任意の文字列に変更できます
  • 商用目的または法人利用については 1 つの MovableType につき 1 ライセンスの購入をお願いしております。
    ライセンス料金: ¥1,000 JPY (税込み) 
    一言どうぞ:
  • 商用目的でない個人利用(アフィリエイトを含む)については無償でご利用頂けますが、よろしければ継続開発のためのライセンス購入(任意)をお願いしております。
    お気持ち:  
    一言どうぞ:
このエントリーをはてなブックマークに追加  

  1. *1 グローバルフィルタを適用できて、テンプレートタグが処理されるところならどこでもOKです
  2. *2 こんな感じに
  3. *3 大文字小文字を区別しません


関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事にトラックバックを送るには?

寄せられたコメント (全 1 件中、最新 5 件まで表示しています)

Posted by
tetsutetsu
at
2024/01/02 13:53
ID
tP/TazUI
初めまして。こちらのプラグインを利用させて頂いているのですが、Movable Type 8に対応させるために
いくつか修正する必要がありまして、こちらでカスタマイズしてGitHubで公開してもよいでしょうか?
このページに対してリンクを貼らせて頂き、無償でOSSとして公開するつもりです。

コメントを投稿する

 
 (必須, 匿名可, 公開, トリップが使えます)
 (必須, 匿名可, 非公開, Gravatar に対応しています)
 (必須)
スパム コメント防止のため「投稿確認」欄に ランダムな数字 CAPTCHAについて を入力してから送信してください。お手数ですがご協力のほど宜しくお願いいたします。