Calendars and events
Events come from a public Google Calendar or any iCal (.ics) feed. They appear in three places.
Calendar page
Your site's full calendar at /calendar.
- View buttons (Month, Week, Day, and a list view) with Today, Previous, and Next controls.
- Your local timezone, shown as for example Timezone: MDT (-06:00). It follows the visitor's browser, not the site — so a parent travelling out of state sees times shifted to where they are.
- What's on the left depends on how many calendars the page has:
- More than one calendar — a checklist of them, each toggled on or off, plus an Export Calendar button.
- Exactly one calendar — no checklist (there'd be nothing to filter). Instead of Export Calendar you get an Add Calendar button, which offers Add to Google, Add to Outlook, Add to Apple, and Add to other calendar.
If someone asks where their Export Calendar button went, this is why: the page has one calendar, so it shows Add Calendar instead. - Color-coding — each calendar shows in its own color. This is the only surface that shows color. - Covers about a year back to two years ahead.
Events terrace
The events area on a Terraced page. Turned on from the Terrace Menu. Covers the same range as the Calendar page.
Event block
An events list on a Grid page (one calendar feed per block).
- Shows upcoming events only — up to about two years ahead. No past events.
- Shows 15 by default; change it with the Number of Events setting in the block.
Recurring events expand into one entry per occurrence within each surface's range — a weekly meeting appears as a separate entry each week.
Getting a calendar's iCal URL
For a Google Calendar:
- In Google Calendar, open the three-dot menu next to the calendar → Settings and sharing.
- Under Access permissions for events, set Make available to public with See all event details (not "See only free/busy").
- Under Integrate calendar, copy the Secret address in iCal format (the
.icsURL).
Outlook and district calendar tools provide a similar publish/subscribe/iCal export address. The calendar must be publicly reachable; private calendars can't be subscribed to.
Adding a calendar
Grid page (Event block): + (lower-left admin menu) → Events → enter a Title, paste the .ics address into ICS Url (or pick one under Reuse an existing calendar) → Add Block.
Terraced page: + → Manage Content Sources → under Add New Source, click the calendar icon (Add Calendar Feed) → on the Add New Calendar Feed form, paste the URL, optionally set a Color, and click Go. Turn on the Events terrace from the Terrace Menu if it isn't already on.
Calendar page: go to /calendar → click the gear icon to open its content-source manager (iCal sources only) → add the source the same way.
Refresh
- Calendars refresh automatically about once an hour.
- Calendar page / Events terrace: open the source in the manager and click Refresh Feed.
- Event block: save the block to refresh it.
- A source with a problem shows a red "Oops, there was an error!" notice with View full error when opened.
FAQ
- Events show with no titles or times. The Google Calendar is shared as "See only free/busy (hide details)." Change it to Make available to public with See all event details.
- The calendar isn't syncing at all. Confirm the source calendar is public. A private calendar can't be subscribed to — make a public mirror calendar and share editing with whoever maintains it.
- Why are there no past events in my Event block? Event blocks show upcoming events only. Use the Calendar page or an Events terrace to show past events.
- My Event block only shows 15 events. That's the default. Raise it with the Number of Events setting in the block.
- Changes at the source aren't showing. Click Refresh Feed (Calendar page or Events terrace) or save the Event block. If it still won't update, Google may have rotated the iCal secret address — copy a fresh one and re-paste it.
Last updated: May 2026.