ical2rem.rb
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:ical2rem.rb converts iCalendar files to the Remind calendar syntax
ical2rem.rb
===========

Author:      Patrick Hof   
Copyright:   Copyright (C) 2008 Patrick Hof  
License:     GPLv3  

Download:    git clone https://github.com/courts/ical2rem.rb.git  
YARD docs:   [http://courts.github.com/ical2rem.rb](http://courts.github.com/ical2rem.rb)

`ical2rem.rb` is based on the Perl program
[`ical2rem.pl`](http://wiki.43folders.com/index.php/ICal2Rem) by Justin B.
Alcorn . It converts an _iCalendar_ file's `VEVENT` and `VTODO` components to
[_Remind_](http://www.roaringpenguin.com/products/remind) syntax. You should be
able to use it as a drop-in replacement for `ical2rem.pl` with only minor
modifications. The command line client which comes with ical2rem.rb is called
`ical2rem-cli` and can be found in the `/bin` directory.

Installation
============

`ical2rem.rb` requires [RiCal](http://ri-cal.rubyforge.org/) You can
install it with RubyGems:

    gem install ri_cal

`ical2rem.rb` itself has a gemspec file, so you can easily build a gem
and install it with:

    gem build ical2rem.rb.gemspec
    gem install ical2rem.rb-x.x.x.gem

Besides that, no further installation steps are required.  Note that
ical2rem.rb only works with ruby 1.9, not 1.8.


Usage
=====

You can get usage information by running `ical2rem-cli` with the
`-h` switch:

    Usage: ical2rem-cli [options] < input-file [> output-file]
            --label LABEL                Calendar name
            --lead-time LEAD             Advance minutes 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 supply.

`ical2rem-cli` will read any iCalendar file parseable by RiCal 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 I was
using at the time. Also, `ical2rem.pl` does not support showing starting
and ending times of events.

The first version used Sam Roberts' vPim, but since it didn't work well with
Ruby 1.9 for some time, I decided to switch to RiCal.

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-cli` 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.

Contributors
------------

*   [Christian G. Warden](https://github.com/cwarden)

Thanks
------

*   [Justin B. Alcorn](http://www.jalcorn.net/) for writing `ical2rem.pl`
*   Rick DeNatale for [RiCal](http://ri-cal.rubyforge.org)
*   Sam Roberts for [vPim](http://vpim.rubyforge.org)

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。