calendar-link

Crates.iocalendar-link
lib.rscalendar-link
version0.0.5
created_at2025-05-31 17:56:22.882449+00
updated_at2025-06-12 17:58:27.822702+00
descriptionRust library to generate an event link for Google Calendar, Yahoo! Calendar, Microsoft Outlook, etc.
homepage
repositoryhttps://github.com/raeisimv/calendar-link.git
max_upload_size
id1696515
size53,064
Morteza Raeisi (raeisimv)

documentation

README

Calendar Link

Rust library to generate an event link for Google Calendar, Yahoo! Calendar, Microsoft Outlook, etc.

Example

use calendar_link::prelude::*;

fn main() {
    let date = chrono::DateTime::parse_from_rfc3339("2019-12-29T00:00:00Z").unwrap();
    let evt = CalendarEvent {
        title: "Birthday party",
        start: EventTime::DateTime(TimeType::Utc(date.into())),
        duration: EventDuration::For(Duration::hours(2)),
        url: None,
        uid: None,
        desc: None,
        busy: None,
        stat: None,
        r_rule: None,
        guests: None,
        location: None,
        organizer: None,
    };
    let link = google(evt).unwrap();
    assert_eq!(
        link.as_str(),
        "https://calendar.google.com/calendar/render?action=TEMPLATE&dates=20191229T000000Z%2F20191229T020000Z&text=Birthday%20party".replace("%20", "+")
    );
}

the library heavily is under construction

Stages 1

  • Google calendar link
  • Outlook
  • Outlook Mobile
  • Office 365
  • Office 365 Mobile
  • Yahoo
  • AOL
  • MS Teams
  • iCalendar

LICENSE

MIT

Inspiration

This package draws inspiration from and is a port of the corresponding NPM package.

Commit count: 0

cargo fmt