RecentCalendar プラグインの改造
ちまたのブログを見ていると、トップページには数日分の新しい記事が表示されていて、その下に、「古い記事へ」とか「前の日へ」とかいうリンクがある、という感じになっています。このリンクをクリックすることで、より古い方へとさかのぼって記事を見ていけるようになっているわけです。
FreeStyleWikiでも同じようなことができないかと思い、RecentCalendar プラグインを改造してみました。
インストール
- 以下のファイルをダウンロードし、解凍後、plugin/calendar以下にコピーする。
- RecentCalendarHandler.pmは追加されるが、RecentCalendar.pm、CalendarHandler.pmは上書きされるので注意!
- recentcalendar.zip(150)
- plugin/calendar/Install.pmに以下の行を追加する。
$wiki->add_handler("RECENTCALENDAR","plugin::calendar::RecentCalendarHandler");
使い方
例えば、本サイトのFrontPageの記載は以下の通り。
{{recentcalendar 日記,5,,today}}
これで、従来のRecentCalendar プラグイン同様、「日記/XXXX-X-X」という名前のページ5日分が表示され、さらにその後に、「これより前の5日分」というリンクが表示されることになります。このリンクをクリックすると、これより前の5日分のページが表示され、その後にまた同様のリンクが表示されます。以下、この繰り返し。
与える引数については、3つめまでは従来のRecentCalendar プラグイン通り。
4つめの引数は日付で、「today」は本日以降(本日を含む)を表します。本日以外の日付を指定する場合は「20080601」のように、年は4桁、月、日は必ず2桁で指定します。数字による日付指定の場合、指定した当日の分は表示されません。また、省略すると「today」を指定した場合と同じですが、「これより前のn日分」のリンクは表示されません(従来のRecentCalendar プラグインと全く同じ動作)。
バグというか仕様
- 日付指定できる時点で全然RecentCalendarじゃなくなってる気がしますが、別のプラグインを作るのも面倒だったので、これで許してください。
- 日付指定だけどリンク非表示、というのも、面倒なので作りませんでした。
- 数字による日付指定時には、常に当日非表示であることにご注意ください。
- 「today」だと当日表示も含む。
- 日付の取り扱いが面倒だったもので。面倒面倒面倒ばっかり。すいません。
参考
- BugTrack-plugin/308 日記用ナビゲーションプラグイン
- diary_navi プラグインでも同じようなことは出来るのですが、これだと一日分しか表示できないので、この改造を思い立ちました。
宿題
- AutoPagerizeに対応したい……。