• Stars
    star
    112
  • Rank 312,240 (Top 7 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 9 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Script gets public Google calendar and displays list of events.

FormatGoogleCalendar

Script gets public Google calendar and displays list of events.
Example: http://www.kacurak.com/formatgooglecalendar/example.html

How to install

Step 1: Link the library

The library could be found in the dist folder of this repository.

<!-- FormatGoogleCalendar Javascript file -->
<script src="/js/format-google-calendar.min.js"></script>

Step 2: Create HTML markup

<ul id="events-upcoming">
</ul>
<ul id="events-past">
</ul>

Step 3: Call the FormatGoogleCalendar

formatGoogleCalendar.init({});

Options

  • calendarUrl (string, url of a public Google calendar)
  • past (boolean, determines if past events should be displayed)
  • upcoming (boolean, determines if upcoming events should be displayed)
  • sameDayTimes (boolean, determines whether to show times for single-day events)
  • dayNames (boolean, determines whether to show day names, beta feature)
  • pastTopN (integer, number of latest past events, -1 means display all)
  • upcomingTopN (integer, number of upcoming events, -1 means display all)
  • recurringEvents (boolean, determines if recurring events should be shown as multiple events)
  • timeMin (timestamp, Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored.)
  • timeMax (timestamp, Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored.)
  • itemsTagName (string, tagname of each event item)
  • upcomingSelector (string, selector name of a parent element of upcoming events)
  • pastSelector (string, selector name of a parent element of past events)
  • upcomingHeading (string, heading of upcoming events)
  • pastHeading (string, heading of past events)
  • format (array, describes format in which should be data displayed, it is a list of strings where wildcards are *date*, *summary*, *description*, *location*, if a string is a different value than a wildcard the string will be appended to the final output)

Notes

You can customize calendarUrl with use of various parameters which are listed in the Google Calendar API page. Following options of this library: recurringEvents, timeMin, timeMax operate directly with the Google Calendar API url parameters.

Example of initialization

formatGoogleCalendar.init({
calendarUrl: 'https://www.googleapis.com/calendar/v3/calendars/[email protected]/events?key=AIzaSyCR3-ptjHE-_douJsn8o20oRwkxt-zHStY',
past: false,
upcoming: true,
sameDayTimes: true,
dayNames: true,
pastTopN: -1,
upcomingTopN: 3,
recurringEvents: true,
itemsTagName: 'li',
upcomingSelector: '#events-upcoming',
pastSelector: '#events-past',
upcomingHeading: '<h2>Upcoming events</h2>',
pastHeading: '<h2>Past events</h2>',
format: ['*date*', ': ', '*summary*', ' โ€” ', '*description*', ' in ', '*location*'],
timeMin: '2016-06-03T10:00:00-07:00',
timeMax: '2020-06-03T10:00:00-07:00'
});