jamesjarvis37 downloadsSync Strava activities to your periodic notes.
Sync your Strava activities to Obsidian daily notes with OAuth2 authentication.
The plugin is under review for the community plugin store (obsidianmd/obsidian-releases#9891). Once approved, install it via Settings → Community plugins → Browse.
jamesjarvis/obsidian-strava-periodic-syncBRAT automatically updates the plugin whenever a new release is published.
main.js and manifest.json from the latest release<vault>/.obsidian/plugins/strava-periodic-note-sync/Warning: Do not clone the repository into your vault. The repo contains
node_modules/andsrc/, which bloat the vault and break iCloud sync. Onlymain.jsandmanifest.jsonbelong in the plugin folder.
Your settings are stored in data.json inside the plugin folder — keep that file when updating manually.
localhostcode parameter from the redirected URL (the localhost URL will fail to load - that's expected)The plugin adds an Activities section to your daily notes:
#### Activities
- 🏃 **Morning Run** - 5.2 km in 28:15 (5:26 /km) | +45m elevation
- 🚴 **Evening Ride** - 22.4 km in 52:30 (25.6 km/h) | +180m elevation
The plugin updates these frontmatter fields:
| Field | Description |
|---|---|
walking_distance_m |
Walk/Hike activities (metres) |
running_distance_m |
Run activities (metres) |
cycling_distance_m |
Ride activities (metres) |
swimming_distance_m |
Swim activities (metres) |
active_time |
Total moving time (minutes) |
| Setting | Description | Default |
|---|---|---|
| Daily Notes Folder | Path to daily notes folder | Auto-detect |
| Section Header | Markdown header for activities | #### Activities |
| Omit Empty Section | Hide section when no activities | false |
| Auto-Sync Enabled | Enable background syncing | true |
| Sync Frequency | How often to auto-sync | 30 minutes |
| Historical Sync Days | Backfill previous days | 0 |
npm install
npm run build
npm run test # Run tests once
npm run test:watch # Run tests in watch mode
npm run lint
Keep the repository outside your vault. To test a build in Obsidian:
npm run build
OBSIDIAN_VAULT=/path/to/vault npm run install-to-vault
This copies only main.js and manifest.json into the plugin folder, then reload Obsidian to pick up the change. For faster iteration with npm run dev, the community Hot Reload plugin reloads the plugin automatically on rebuild.
npm version patch --no-git-tag-version
This syncs the version across package.json, manifest.json, and versions.json via version-bump.mjs. Then:
git tag X.Y.Z (no v prefix — Obsidian requires the tag to match the manifest version)git push origin X.Y.ZCI drafts a GitHub release with main.js and manifest.json attached. Publish the draft to make it available.
MIT License - see LICENSE for details.