feat: add icalendar
This commit is contained in:
41
__misc/icalendar/src/main.rs
Normal file
41
__misc/icalendar/src/main.rs
Normal file
@@ -0,0 +1,41 @@
|
||||
use chrono::{Duration, NaiveDate, Utc};
|
||||
use icalendar::{Calendar, Class, Component, Event, Property, Todo};
|
||||
|
||||
fn main() {
|
||||
let my_calendar = Calendar::new()
|
||||
.name("example calendar")
|
||||
.push(
|
||||
// add an 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(),
|
||||
)
|
||||
.push(
|
||||
// add a todo
|
||||
Todo::new()
|
||||
.summary("groceries")
|
||||
.description("Buy some milk")
|
||||
.done(),
|
||||
)
|
||||
.push(
|
||||
// add an all-day event
|
||||
Event::new()
|
||||
.all_day(NaiveDate::from_ymd(2016, 3, 15))
|
||||
.summary("My Birthday")
|
||||
.description("Hey, I'm gonna have a party\nBYOB: Bring your own beer.\nHendrik")
|
||||
.done(),
|
||||
)
|
||||
.done();
|
||||
|
||||
println!("{}", my_calendar);
|
||||
}
|
||||
Reference in New Issue
Block a user