#! /usr/bin/env ruby require 'calendar' if ARGV.size <= 2 puts "Usage: #{$0} year filename [event-file ...]" exit end year = ARGV[0].to_i pdf = ARGV[1] # Read events events = Events.new for file in ARGV[2..-1] IO.foreach(file) do |line| line =~ /^(\d\d\d\d-\d\d-\d\d): (.*)$/ date = Date.parse($1) events[date] = $2 % (year - date.year) end end # Create the calendar cal = Booklet.new(mm2pt(80), mm2pt(130), mm2pt(5), mm2pt(5), mm2pt(0), mm2pt(13)) cal.add(FrontPage.new('Kalender', year)) for month in 1..12 cal.add(LeftMonthPage.new(year, month, events)) cal.add(RightMonthPage.new(year, month)) end 6.times { cal.add(NotePage.new) } cal.save(pdf)