Offensive Thinking

Internet Thoughtcrime

    Author::     Patrick Hof 
    Copyright::  Copyright (C) 2008 Patrick Hof
    License::    GPLv3
    Download::   git clone git://github.com/courts/ical2rem.rb.git
    
    ical2rem.rb is based on the Perl program ical2rem.pl by Justin B. 
    Alcorn (http://wiki.43folders.com/index.php/ICal2Rem). It converts an
    iCalendar file's VEVENT and VTODO components to the
    Remind syntax. You should be able to use it as a drop-in replacement
    for ical2rem.pl with only minor modifications.
    
    = Installation
    
    ical2rem.rb requires vPim (http://vpim.rubyforge.org). You can install
    it with ruby-gems:
    
      # sudo gem install vpim (may require root privilege)
    
    Besides that, no further installation steps are required.
    
    
    = Usage
    
    You can get usage information by running ical2rem.rb with the
    -h switch:
    
      Usage: ./ical2rem.rb [options] < input-file [> output-file]
              --label LABEL                Calendar name
              --lead-time LEAD             Advance days to start reminders
              --heading HEADING            Define a priority for static entries
          -t, --todos                      Process TODOs?
          -c, --config-file FILE           Use config file FILE (default: .ical2rem.yaml)
          -d, --debug                      Show debug info
          -h, --help                       Show this help
    
    The configuration file (default .ical2rem.yaml) further explains the
    options you can give to it.
    
    ical2rem.rb will read any iCalendar file parseable by Vpim from
    STDIN and print its output to STDOUT.
    
    
    = Overview
    
    ical2rem.rb was mainly written because ICal::Parser, the iCal
    parsing library ical2rem.pl uses, bailed out on my 64bit Ubuntu. Also,
    ical2rem.pl does not support showing starting and ending times of
    events.
    
    ==== Events
    
    ical2rem.rb parses iCalendar VEVENTs in a similar way to
    ical2rem.pl, but it will also recognize TIME-DATE values in
    DTSTART and DTEND and add them to the output by using remind's
    DURATION property.
    
    ==== ToDos 
    
    Like ical2rem.pl, ical2rem.rb also parses iCalendar
    VTODOs. Unlike ical2rem.pl, ical2rem.rb will not
    parse them by default, parsing has to be enabled with the command line switch
    '-t'. At the moment, the same simple approach to parsing as in
    ical2rem.pl is used. This may improve in future versions.
    
    == Bug Reports / Feature Requests / Patches
    
    Please send bug reports to my e-mail address given above. Adding 
    [BUG ical2rem.rb] to the subject will greatly increase your chance of not
    getting stuck in my spam filter. The same goes for feature requests, including
    [FEATURE ical2rem.rb] would be nice.
    
    For patches, please send them as git patches formatted with 
    git-format-patch -n if possible. Make sure they commit cleanly against
    the current master branch.
    
    Otherwise, at least include [PATCH ical2rem.rb] in your subject.
    
    == Thanks
    
    - Justin B. Alcorn (http://www.jalcorn.net/) for writing ical2rem.pl
    - Sam Roberts for vPim (http://vpim.rubyforge.org)