calendar-link
v2.8.0
Published
π Calendar link generator for popular services, like Google, Outlook, and Yahoo.
Downloads
334,267
Maintainers
Readme
π Calendar Link
| | Status | | - | - | | Build | | | Health | | | Community | |
JavaScript library to generate an event link for Google Calendar, Yahoo! Calendar, Microsoft Outlook, etc.
Usage
// Usage with Node.js
const { google, outlook, office365, yahoo, ics } = require("calendar-link");
// Usage with TypeScript or ES6
import { google, outlook, office365, yahoo, ics } from "calendar-link";
// Set event as an object
const event = {
title: "My birthday party",
description: "Be there!",
start: "2019-12-29 18:00:00 +0100",
duration: [3, "hour"],
};
// Then fetch the link
google(event); // https://calendar.google.com/calendar/render...
outlook(event); // https://outlook.live.com/owa/...
office365(event); // https://outlook.office.com/owa/...
yahoo(event); // https://calendar.yahoo.com/?v=60&title=...
ics(event); // standard ICS file based on https://icalendar.org
Options
| Property | Description | Allowed values |
| ------------------ | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| title
(required) | Event title | String |
| start
(required) | Start time | JS Date / ISO 8601 string / Unix Timestamp |
| end
| End time | JS Date / ISO 8601 string / Unix Timestamp |
| duration
| Event duration | Array with value (Number) and unit (String) |
| allDay
| All day event | Boolean |
| rRule
| Recurring event | iCal recurrence rule string NOTE: Only supported by google
and ics
|
| description
| Information about the event | String |
| location
| Event location in words | String |
| busy
| Mark on calendar as busy? | Boolean |
| guests
| Emails of other guests | Array of emails (String) |
| url
| Calendar document URL | String |
Notes
- Any one of the fields
end
,duration
, orallDay
is required. - The allowed units in
duration
are listed here: https://day.js.org/docs/en/durations/creating#list-of-all-available-units. - The
url
field defaults todocument.URL
if a globaldocument
object exists. For server-side rendering, you should supply theurl
manually. Not all calendars support theguests
andurl
fields. - If you don't pass the start and end time in UTC, Google will convert it to UTC but Outlook won't, so it's a good idea to use UTC when passing dates and times
- There are some known issues in Office 365 because of which we can't generate a consistent link in all devices (#542)
Compatibility
This package uses URLSearchParams (Node.js >= 10, 97%+ browsers), but if you need to include a polyfill, you can include url-search-params-polyfill first.
License
MIT Β© Anand Chowdhary