祝祭日.ics
祝日対応カレンダーとvpimを使って*1祝祭日のiCalendarデータを作ってみる。
$ ruby -riconv -rCalendar -rvpim/icalendar -e '
include Calendar
include Vpim
c = Iconv.new("UTF-8", "EUC-JP")
i = Icalendar.create
f = Date.new(1990, 1, 1)
t = Date.new(2015, 12, 31)
(f..t).each do |d|
if h = holiday(d.day,d.mon,d.year,d.wday)
e = Icalendar::Vevent.create(d, "DTEND" => d + 1, "SUMMARY"=> c.iconv(h))
i.push(e)
end
end
puts i'
このようにして作ったデータはMozilla Firefoxのカレンダーで読むことを確認できた。「祝日対応カレンダー」はコマンドラインでもよく使っているが、大変便利でありがたい。
それにしてもical.mac.comのJapanese32Holidays.icsが更新されると良いのだがなあ。
追記(2005-02-05): Japanese32Holidays.icsは、実際には新しい祝祭日にも対応しているっぽいのだけどその指定が微妙におかしいようだ、という情報をもらった。もしかするとMac OS X上では問題なく表示されるのかも?
*1 このくらいならvpimを使わなくても文字列の埋め込みでいけるだろうけど。