印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
MovableType サクラが邪魔なエイプリル

今年の四月一日のブログは,サクラサクです。是非,拙サイトにお越しください。今年は例年よりも桜の開花が遅れていますが,ここだけは満開です。そしてやはり読みにくくなっております。

■ ■ ■

今年のエイプリルフールは,どこも自粛傾向にある。先月の大地震 (2011年東北地方太平洋沖地震 - Wikipedia) で多くの人が亡くなり,物資は減り,計画停電が行われ,放射性物質が飛び散っているからである。エイプリルフールも停電並に輪番制となるようだ (今年のエイプリルフールは輪番での実行に - スラッシュドット・ジャパン)。

さて,このサイトでは,例年4月1日になると嫌がらせ企画が行われている。気の利いたジョークが思いつかないので,これくらいが精一杯なのである。

今年は,何もやらないつもりだったのだが,「桜を咲かせてみれば?」という妻の提案をそのまま実装することにした。いかにも春らしいではないか。桜の花が満開である。関東地方は,今年2011年は桜の開花が遅れていて,まだ満開になっていない。しかし,ほら,このサイトは満開だよ。

いかんせん読みにくい (思った通りだ)。

桜の花の画像の挿入は,Movable Type のためのプラグインを書くことで実現している。キモは次のサブルーチンである。

sub foolish {
  my $self = $_[0];
  my $text = $_[1];
  my @taglist = (
       '<img src="/mticons/cherryblossom-1.gif" width="18" height="18" alt="Cherryblossom 1" />',
       '<img src="/mticons/cherryblossom-2.gif" width="18" height="18" alt="Cherryblossom 2" />',
       '<img src="/mticons/cherryblossom-3.gif" width="18" height="18" alt="Cherryblossom 3" />',
       '<img src="/mticons/cherryblossom-4.gif" width="18" height="18" alt="Cherryblossom 4" />',
       '<img src="/mticons/cherryblossom-5.gif" width="18" height="18" alt="Cherryblossom 5" />',
       '<img src="/mticons/cherryblossom-6.gif" width="18" height="18" alt="Cherryblossom 6" />'
     );
  srand();
  $text =~ s/(\p{InJapanese})/$1$taglist[rand($#taglist)]/g;
  $self->text($text);
}

6種類の桜の花の画像を用意しておいて,ランダムに選んで日本語文字の後ろに挿入している。半角英数字の後ろには入らないようになっている。画像の HTML タグをリストに入れるのには,もう少しスマートな方法がありそうだが思いつかなかった。

結果は次のようになる。

Cherryblossom 5Cherryblossom 4Cherryblossom 1Cherryblossom 2Cherryblossom 5Cherryblossom 3Cherryblossom 2Cherryblossom 4Cherryblossom 5Cherryblossom 1Cherryblossom 1Cherryblossom 4,サCherryblossom 1Cherryblossom 3Cherryblossom 3Cherryblossom 4Cherryblossom 2Cherryblossom 1Cherryblossom 5。是Cherryblossom 4Cherryblossom 1,拙Cherryblossom 2Cherryblossom 4Cherryblossom 4Cherryblossom 4Cherryblossom 4Cherryblossom 5Cherryblossom 4Cherryblossom 4Cherryblossom 1Cherryblossom 4Cherryblossom 2Cherryblossom 1。今Cherryblossom 5Cherryblossom 4Cherryblossom 2Cherryblossom 4Cherryblossom 5Cherryblossom 3Cherryblossom 2Cherryblossom 5Cherryblossom 1Cherryblossom 2Cherryblossom 4Cherryblossom 1Cherryblossom 5Cherryblossom 3Cherryblossom 2Cherryblossom 5Cherryblossom 2Cherryblossom 1Cherryblossom 5Cherryblossom 2,こCherryblossom 3Cherryblossom 1Cherryblossom 4Cherryblossom 1Cherryblossom 3Cherryblossom 5Cherryblossom 5Cherryblossom 4Cherryblossom 4。そCherryblossom 1Cherryblossom 2Cherryblossom 5Cherryblossom 5Cherryblossom 5Cherryblossom 1Cherryblossom 5Cherryblossom 1Cherryblossom 3Cherryblossom 1Cherryblossom 1Cherryblossom 5Cherryblossom 4Cherryblossom 2Cherryblossom 4Cherryblossom 4Cherryblossom 2Cherryblossom 5

それではまた来年もお楽しみに (来年もかよ〜)。

Posted by n at 2011-04-01 14:42 | Edit | Comments (0) | Trackback(0)
Trackbacks

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


(必須, 表示されます)


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


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


Confirmation Code (必須)


Remember info (R)?