Movable Type に「パス別」というマッピングのタイプを追加する、MappingBasedArchive というプラグインを公開しました。ざっくりいうと「カスタムフィールドの値ごとにアーカイブを作ることができる」ようになるプラグインです。
できること
- 「出力されるパス」を基準にして、記事をまとめてアーカイブすることができます。
- カスタムフィールドの設定から簡単にパスを設定することができます。
- 特に以下のタイプのカスタムフィールドが登録されていると、選択肢から選ぶだけで利用することができます。
- ドロップダウン
- ラジオボタン
- AnotherCustomFields にも対応しており、カスタムフィールドと同様「ドロップダウン」と「ラジオボタン」のフィールドがある場合、選択肢に表示されます。
- カスタムフィールドのそのままの値を使うだけでなく、例えば数値のフィールドであれば範囲で区切ってアーカイブにすることもできます。
- 任意の順番でアーカイブを並べ替えることができます。
- アーカイブに名前を付けることができます。
デモ
http://screencast.com/t/BTpd3ofH3P
インストール
- GitHubからzipファイルをダウンロードしてください。zipファイル
- ダウンロードしたファイルを展開してください。
- MTのpluginsディレクトリにアップロードしてください。
インストール後のディレクトリの配置は以下のようになります。
$MT_HOME/
plugins/
MappingBasedArchive/
基本的な使いかた
- 「ドロップダウン」タイプのカスタムフィールドを作成します。
- 「パス別」のアーカイブマッピングを作成します。
- 「パス」を選択します。(デフォルトで選択されているので、そのままでも大丈夫です。)
- 鉛筆のアイコンをクリックして、詳細情報を編集することもできます。アーカイブファイルを出力するだけであれば編集する必要はありませんが、<mt:ArchiveList> を利用する場合にはここでマッピングに「名前」を付けておく必要があります。
- テンプレートを保存して、再構築してください。
- ナビゲーションにアーカイブファイルの一覧を入れる場合には、以下のように書くことができます。
<mt:ArchiveList name="EntryDataTypeMapping">
<a href="<mt:ArchiveLink />"><mt:ArchiveTitle /></a>
</mt:ArchiveList>
応用的な使いかた
範囲でまとめる
- 「テキスト」タイプのカスタムフィールドを作成してください。
- このフィールドには数値のみを入れるものとします。
- NumericCustomFields を利用するのもよいかもしれません。
- このフィールドには数値のみを入れるものとします。
- 「パス別」のマッピングを作成してください。
- 「パス」を次のように設定してください。
<mt:NumberField regex_replace="/\d\d$/","00"/>/%i
以下のようなアーカイブファイルが出力されます。
- 100/index.html (100〜199の値)
- 200/index.html (200〜299の値)
- ...
親カテゴリでまとめる
- 「パス別」のマッピングを作成してください。
- 「パス」を次のように設定してください。
<mt:EntryCategories><mt:ParentCategory><mt:CategoryBasename /></mt:ParentCategory></mt:EntryCategories>/%i
サポートしているアーカイブ系のタグ
- mt:ArchiveList
- mt:ArchiveTitle
- mt:ArchiveCount
- mt:ArchiveNext
- mt:ArchivePrevious
- mt:ArchiveLink
よくある(ありそうな)質問と答え
- 1つのマッピングから複数のアーカイブファイルを書き出すことはできますか?
- できません。
サポートしている出力タイプ
- スタティックパブリッシング
- ダイナミックパブリッシング
動作環境
- MT6
コメント