去年に引き続き,今年も CSS ネイキッドデーというイベントに参加する。スタイルファイルを移動するシェルスクリプトを書いて対応する。
「CSS Naked Day」は,「1年に1度,自分のウェブサイトを CSS なしで表示させてみよう」というイベントである。去年2007年は,4月5日だった (nlog(n): スタイルシートがさっぱり見つかりません)。今年は4月9日に行われる。今年の Naked Day がこの日である理由は次だそうだ (CSS Naked Day)。
CSS Naked Day には,ページにあらかじめ仕掛けておく PHP スクリプトが公開されている。その日になると自動的にスタイルシートの読み込みをしなくするというものである。UTC (GMT) 標準時を使い (協定世界時 - Wikipedia),4月9日の前後12時間を含めた丸2日を対象日としているようだ。つまり,下の図のようになる。
協定世界時 (UTC) を使っているので,ネイキッドになるのは世界的に同一時刻からとなる。日本時間では4月8日21:00から4月10日21:00までということになる。
全てのテンプレートに仕込んで,全ページを再構築するのは面倒なので,シェルスクリプトを書いて対応することにした。ネイキッドにする期間は上記の通りで,4月9日を含む2日間である。ファイル名は例えば naked.sh とする。
環境は Vine Linux 4.2, sh は GNU bash version 2.05b.0(1), date コマンドは date (GNU coreutils) 5.96 である。
仕組みとしては,その時刻が来たらスタイルファイルの名前を変更し,企画が終わる時刻になったら元に戻すというものである。date コマンドには負の時刻を設定できないため,当日の-12時の代わりに前日の12時としている。
スタイルファイルのファイル名とパス名を,サイトにあわせて変更するのを忘れずに。スクリプトに実行許可を与えて,
試しに1度実行してみる。もし,スタイルファイルのパス名が正しくなければ,次のようなメッセージが表示される。
何も言わずに終了するのであればOK。
スクリプトを crontab に登録し,1時間毎に実行するようにしておく。
設定して放っておけば,自動的に CSS のリネームが行われる。
日付が変わるだけであれば,このスクリプトは来年もそのまま使える。
Posted by n at 2008-04-08 21:10 | Edit | Comments (0) | Trackback(0)
Master Archive Index
Total Entry Count: 1957