1.0.0 • Published 4 years ago
@hollen/datebook v1.0.0
Documentation
Demo
Try the online calendar generators →
Quick Start
Installation
yarn add datebookExamples
import { ICalendar } from 'datebook'
const config: CalendarOptions = {
  title: 'Happy Hour',
  location: 'The Bar, New York, NY',
  description: 'Let\'s blow off some steam with a tall cold one!',
  start: new Date('2022-07-08T19:00:00'),
  end: new Date('2022-07-08T23:30:00'),
  attendees: [
    {
      name: 'John Doe',
      email: 'john@doe.com',
      icsOptions: {
        rsvp: true
      }
    },
    {
      name: 'Jane Doe',
      email: 'jane@doe.com'
    }
  ],
  // an event that recurs every two weeks:
  recurrence: {
    frequency: 'WEEKLY',
    interval: 2
  }
}
const icalendar = new ICalendar(config)iCalendar
With a reminder
icalendar
  .addAlarm({
    description: 'Remember this event'
    trigger: {
      minutes: 10
    }
  })This will add a reminder that shows 10 minutes before the event.
With multiple events
const secondEvent = new ICalendar({
  title: 'Monthly Meeting with Boss Man',
  location: 'Conference Room 2A, Big Company, Brooklyn, NY',
  description: 'Meeting to discuss weekly things',
  start: new Date('2022-07-08T19:00:00'),
  recurrence: {
    frequency: 'MONTHLY'
  }
})
icalendar.addEvent(secondEvent)This will add a second event to the same .ics file.
Adding other ICS properties
icalendar.addProperty('CATEGORIES', 'MEETINGS,MANAGEMENT')This will add the CATEGORIES ICS property to the iCalendar instance.
Downloading
icalendar.download()This will download Happy Hour.ics onto the user's device. On most mobile devices, this will open the default calendar app with the event.
Google Calendar
const googleCalendar = new GoogleCalendar(config)
googleCalendar.render()googleCalendar.render() will return a URL that the user can navigate to and pre-fill event details:
https://calendar.google.com/calendar/render?action=TEMPLATE&text=Happy%20Hour&details=Let's%20blow%20off%20some%20steam%20with%20a%20tall%20cold%20one!&location=The%20Bar%2C%20New%20York%2C%20NY&dates=20220708T190000%2F20220708T230000&recur=RRULE%3AFREQ%3DWEEKLY%3BINTERVAL%3D1Browser Support
The latest versions of all major browsers are supported.
| Yes ✅ | 20+ ✅ | 11+ ✅ | Yes ✅ | 15+ ✅ | 10.1+ ✅ |