MovableType で「去年の今頃はこんな記事を書いていました」というリストを作成するのに便利なプラグインを作ってみました。日記系サイトなどで、埋もれてしまった過去記事へのナビゲーションを提供できるという点では面白いかもしれません。1 年前から記事内容に何の成長も感じられなかったりするとチョッピリ凹むこと請け合いです。
似た機能を持つプラグインに Brad Choate 氏の MTOnThisDay というプラグインがあります。こちらは、過去の全ての記事に遡って同じ日付に書かれた記事を抽出することができます。一方、今回作成した LastYearEntries プラグインは、昨年の今日を基準に前後 n 日間の範囲に投稿された記事を抽出する点が異なります。
MT4.21 および MT3.37 で動作確認がとれています。
<MTLastYearEntries days="30" lastn="5"> <MTEntriesHeader>去年の今頃はこんな記事を書いていました:</MTEntriesHeader> - <$MTEntryTitle$> </MTLastYearEntries>
MTLastYearEntries
コンテナ タグMTEntry*
テンプレート タグを使用することができます。また、MTEntriesHeader
と MTEntriesFooter
も使用することができます。
days
days
日間に投稿された記事を抽出します。該当する期間に記事が一つも含まれない場合には何も出力されません。省略時には昨年の今日から前後 30 日分の記事を抽出します。lastn
lastn
件表示します。指定しなかった場合には該当する記事が全て表示されます。sort_order
ascend
(昇順)またはdescend
(降順)で指定します。指定しなかった場合には昇順になります。master
) ... バグ修正や機能追加など開発途中のバージョンです。開発中の新機能などをいち早く利用できますが、新しいバグが生まれていたり、テストが不十分な場合があります。
寄せられたコメント (全 4 件中、最新 5 件まで表示しています)
http://www.magicvox.net/archive/2008/10162210/
さっそく使ってみました。楽しいですね。
1年前の記事がある場合だけ「去年の今頃は…」の見出しをつけたくて、個別エントリーのページで、次のようにしてみました。
(MTEntriesHeaderを使いたかったのですが、<ul>の中に入れるとスタイルが悩ましかったので。 )
<div id="lastyear">
<MTLastYearEntries days="15" lastn="1">
<MTIfNonZero tag="MTEntriesCount">
<h2>去年の今ごろは…</h2>
</MTIfNonZero>
</MTLastYearEntries>
<ul>
<MTLastYearEntries days="15" lastn="5">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a> (<$MTEntryDate format="%Y.%m.%d"$>)</li>
</MTLastYearEntries>
</ul>
</div>
記事の有無にかかわらず「去年の今ごろは…」の見出しを表示することも考えてみましたが、
その場合は、もし1年前の記事がない時は「サボっていました」のような文字列を表示できるといいのですが…。
何かいい方法があるでしょうか?
バグ修正版の0.11をアップしておきましたのでご利用ください。
早速ですが、MTLastYearEntriesについてご質問があります。
このプラグインは全てのブログを対象としてエントリーを表示させてしまうのでしょうか?
MTLastYearEntriesを<MTMultiBlog>タグでid指定しても他のブログのエントリーが表示されたしまいます。
個別のブログを指定して昨年のエントリーを表示する方法はありませんか?
よろしくお願いいたします。