@SuperSkypper3 downloadsExport one or more iCalendar feeds from frontmatter date properties.
Super iCAL Export generates one or more .ics calendar files from frontmatter date properties in your vault.
It is designed for workflows where notes represent media releases, shows, deadlines, or events, and each selected date property should become an iCalendar feed that can be published elsewhere — for example a GitHub Gist — and subscribed to from Google Calendar, Apple Calendar, or Outlook.
This project is a fork of the Obsidian sample plugin, which provided the project scaffolding, build tooling and CI. All features listed below are specific to Super iCAL Export.
.ics file.iCAL-Event-ID in note frontmatter.iCAL-Event-ID from Obsidian's properties UI.obsidian://open links so calendar entries jump straight to the note.manifest.json, main.js and styles.css from the
latest release.<Vault>/.obsidian/plugins/super-ical-export/.Requires Obsidian 1.4.10 or later.
Each calendar tab has its own settings:
When a calendar updates, Super iCAL Export scans the Markdown notes in your vault. Notes with a valid value in the selected date property become calendar events.
If a note does not have an iCAL-Event-ID, the plugin creates one:
iCAL-Event-ID: 7ffnbq06j8g9bt78lr0jgidiq8
That ID is used as the event UID, so repeated exports update the same event instead of creating duplicates.
If two exported notes share the same iCAL-Event-ID, the older note keeps it and the newer note receives a fresh one on the next update.
Date-only values become all-day events:
Release Date: 2026-05-31
Date/time values become timed events with a default duration of one hour:
Release Date: 2026-05-31T14:00:00
Empty or invalid dates are skipped. An existing iCAL-Event-ID is kept so the same event identity can be reused if the date is filled in later.
One simple publishing flow is:
.ics file with Super iCAL Export.For stable syncing, keep the same Gist file and raw URL, and replace the file contents whenever the plugin regenerates the .ics.
Any static host works the same way, for example Cloudflare Pages, Netlify, or a raw GitHub URL.
npm install
npm run build
npm run lint
Copy the release artifacts to:
<Vault>/.obsidian/plugins/super-ical-export/
Then reload Obsidian and enable Super iCAL Export.
Releases are created automatically when a version tag is pushed. Keep
versions.json in sync with the manifest.json version, add a
# Changelog - vX.Y.Z section to CHANGELOG.md, then push the tag:
git push origin 0.0.1
The tag has to match the manifest.json version exactly, with no v prefix.
Report issues and feature requests at github.com/SuperSkypper/super-iCAL-export/issues.