Drop your syllabus PDF
Read entirely in this browser. The file is never uploaded anywhere.
Duly reads a source, pulls out every date in it, and lets you keep only the ones you actually want. What's left becomes one calendar you subscribe to, so it stays current instead of going stale the week after you build it.
Your calendars
Start with a source
Read entirely in this browser. The file is never uploaded anywhere.
Duly suits anything that publishes a pile of dates in one place and then quietly changes them. If you have a source in mind, say what it is.
| Type | Title | Deadline | Shows as | Note |
|---|
Drag the handle at the left of a row to reorder. Untick anything you don't want. Add an end date to turn a single deadline into a multi-day window, like an exam period or a break, which lands on the calendar as a banner rather than a timed reminder.
Puts these events at a URL people can subscribe to. Subscribers get changes automatically, and you can edit and re-publish as often as you like.
The only thing that lets you change this calendar later. It is stored as a one-way hash on the server, so nobody can look it up for you, and it is shown exactly once.
Kept in this browser too, so re-publishing from this machine just works.
Or take the files. A download is a one-time copy that never updates —
Google's import screen only offers calendars that already exist, so the events land in your personal calendar and mix in with everything else. Make the empty calendar first and the dropdown will offer it:
Apple Calendar asks you at import time and offers New Calendar…, so it needs none of this. Either way an imported copy never updates: if a date moves, you re-import and clean up by hand.
A subscribed feed always lands in its own calendar, separate from yours, and Google names it from the feed itself. You can hide it, recolour it, or unsubscribe in one click, and it re-checks for changes on its own.
Edit anything here and hit re-publish: the URL stays the same and subscribers pick the change up on their next refresh. Nobody has to be told to re-download anything.
The Add to Google Calendar button above uses
cid=webcal://…. That prefix is required — with
https Google imports a dead copy instead of subscribing, which is
the exact trap this whole step exists to avoid.