#calendar #ical #ics

icalendar

Early, minimal icalendar crate

7 releases (breaking)

✓ Uses Rust 2018 edition

0.6.0 Mar 9, 2019
0.5.0 Dec 21, 2018
0.4.0 Dec 21, 2018
0.3.1 Jul 2, 2017
0.1.0 Nov 20, 2016

#30 in Date and time

Download history 2/week @ 2019-02-15 8/week @ 2019-02-22 25/week @ 2019-03-01 38/week @ 2019-03-08 19/week @ 2019-03-15 67/week @ 2019-03-22 1/week @ 2019-03-29 12/week @ 2019-04-05 8/week @ 2019-04-12 11/week @ 2019-04-19 4/week @ 2019-04-26 4/week @ 2019-05-03 17/week @ 2019-05-10 15/week @ 2019-05-17 33/week @ 2019-05-24

79 downloads per month
Used in 1 crate

MIT/Apache

28KB
555 lines

iCalendar in Rust

Travis license Crates.io version documentation

A very WIP library to generate rfc5545 calendars. This is still just an early idea, there is not much implemented yet. I haven't even read the full spec yet.

You want to help make this more mature? Please talk to me, Pull Requests and suggestions are very welcome.

Examples

let event = Event::new()
    .summary("test event")
    .description("here I have something really important to do")
    .starts(UTC::now())
    .class(Class::Confidential)
    .ends(UTC::now() + Duration::days(1))
    .append_property(Property::new("TEST", "FOOBAR")
              .add_parameter("IMPORTANCE", "very")
              .add_parameter("DUE", "tomorrow")
              .done())
    .done();

let bday = Event::new()
    .all_day(UTC.ymd(2016, 3, 15))
    .summary("My Birthday")
    .description(
r#"Hey, I'm gonna have a party
BYOB: Bring your own beer.
Hendrik"#
)
    .done();

let todo = Todo::new().summary("Buy some milk").done();


let mut calendar = Calendar::new();
calendar.add(event);
calendar.add(todo);
calendar.add(bday);

License

Dependencies

~2MB
~24K SLoC