#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

#37 in Date and time

Download history 8/week @ 2018-11-24 8/week @ 2018-12-01 10/week @ 2018-12-08 38/week @ 2018-12-15 37/week @ 2018-12-22 5/week @ 2018-12-29 11/week @ 2019-01-05 5/week @ 2019-01-12 3/week @ 2019-01-19 5/week @ 2019-01-26 1/week @ 2019-02-02 2/week @ 2019-02-09 2/week @ 2019-02-16 14/week @ 2019-02-23 21/week @ 2019-03-02

54 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