印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
DownloadMovableTypePlugin 休日表示カレンダープラグイン 2.10

休日表示カレンダープラグインの MTOS/MT 4.1 版をリリースする。

■ ■ ■

Movable Type のカレンダーに色づけをする,休日表示カレンダープラグイン 2.10 をリリースする。MTOS/MT 4.1 に対応する。MT 3 以下では動作しない。MT 3 以下は,前のバージョン 2.0 が使える。

ダウンロードは nlog(n) - 休日表示カレンダープラグイン2 からどうぞ。

以下のようなディレクトリ構成となっている。

plugins/
  JCalendarColor/
    JCalendarColor.pl
    lib/
      JCalendarColor/
        L10N.pm
        L10N/
          en_us.pm
          ja.pm
プラグイン設定
プラグイン設定


設定は,ブログのプラグイン設定画面から行うことができる。デフォルトでは,色を直接指定するようになっているが,スタイルシートで色づけをした方がスマートである (nlog(n): カレンダーにスタイルシートを適用)。

設定の GUI 画面とテンプレートの両方で設定がある場合,テンプレートの設定が優先される。したがって,アーカイブテンプレート毎に違う色づけも可能である。また,「month」属性については,月別アーカイブテンプレートだけに使うものなので,設定画面で設定できるようにはしていない。

実は,このプラグインにはバグがある。使っている Perl モジュール Date::Japanese::Holiday が改正祝日法を取り入れていないからである。祝日法の改正は,2007年1月1日に行われた (国民の祝日について)。この法律改正により,直近では,2008年5月6日が振替休日となったのである (2008年、ゴールデンウィークが長くなる | エキサイトニュース)。

プログラムを書いて確認すると,

use Date::Japanese::Holiday qw(is_japanese_holiday);
print "Date::Japanese::Holiday ", Date::Japanese::Holiday->VERSION, "\n";
print "2008, 5, 4 is ", is_japanese_holiday(2008, 5, 4) ? "" : "not ", "holiday\n";
print "2008, 5, 5 is ", is_japanese_holiday(2008, 5, 5) ? "" : "not ", "holiday\n";
print "2008, 5, 6 is ", is_japanese_holiday(2008, 5, 6) ? "" : "not ", "holiday\n";

実行結果は次のようになる。

$ perl holiday-check.pl
Date::Japanese::Holiday 0.05
2008, 5, 4 is holiday
2008, 5, 5 is holiday
2008, 5, 6 is not holiday

現在,Date::Japanese::Holiday に連絡中。メールに応答がないので,忙しいのだと思われる。バージョンアップされない場合は,違うモジュールに変更するかも知れない。

今日は29日。肉の日リリースである (nlog(n): フリーソフトは肉の日に)。ドキュメントの書き直しは後日。

Posted by n at 2008-02-29 22:59 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?