Bring your Pilgrim walks into Obsidian. Waymark imports a .pilgrim export and turns each walk into a Markdown note whose transcribed voice reflection is the body — searchable, wiki-linkable text that becomes part of your vault, not a record locked in another app.
Status: v1.1. Manual import; an optional interactive map and place backlinks — see Maps & place names.
- One Markdown note per walk, created in a folder you choose (default
Waymark/). - The note carries:
- Frontmatter — date, distance, duration, pace, steps, intention, reflection word count, and celestial keys (moon phase + illumination, dominant element, planetary day, seasonal marker), plus provenance (the
.pilgrimschema + Pilgrim app version + Waymark version). All keys are namespacedwaymark-*, so they never collide with your own properties, and they're Dataview-friendly. - Reflection — each voice recording's transcription, in order, marked when AI-enhanced.
- Moments — labelled waypoints as
[[wiki-links]], each with how far into the walk it was dropped. - On this walk — distance, duration, pace, ascent/descent, steps, time spoken/meditated, and the UTC time range.
- Timeline — activities and pauses in order, each with how far into the walk it began.
- Sky — moon phase + illumination, planetary hour, dominant element, and seasonal marker (when the export carries celestial data).
- Weather — condition, temperature, humidity, and wind (when present).
- Map — an interactive route map, when you add a Mapbox token (see below).
- Photos — geo-located photos embedded inline (when the export contains them).
- Frontmatter — date, distance, duration, pace, steps, intention, reflection word count, and celestial keys (moon phase + illumination, dominant element, planetary day, seasonal marker), plus provenance (the
- Re-import is idempotent: running it again updates the existing notes in place (matched by a stable walk id), never creating duplicates.
- Edits made in the Pilgrim editor (edited transcriptions, archived walks) are replayed on import, so notes reflect your latest changes.
Until Waymark is in the community-plugin directory, install manually:
- Download
main.js,manifest.json, andstyles.cssfrom a release. - Copy them into your vault at
.obsidian/plugins/waymark/. - Enable Waymark in Settings → Community plugins.
- In the Pilgrim app, export a
.pilgrimfile. - In Obsidian, run “Import .pilgrim file…” from the command palette, or click the footprints ribbon icon.
- Pick the file. Waymark creates/updates one note per walk and shows a summary.
Set the destination folder in Settings → Waymark → Walks folder.
On first import, Waymark drops a “Waymark Dashboard” note in your walks folder with Dataview tables (all walks, full-moon walks, longest reflections). Install the Dataview community plugin to render them. The dashboard is created once and never overwritten, so you can edit it freely.
Both features are off by default and live in Settings → Waymark.
Each note can embed a route map rendered from the walk's GeoJSON:
- Install the obsidian-leaflet community plugin — it draws the map.
- Create a free Mapbox token at account.mapbox.com/access-tokens and paste it into Settings → Waymark → Mapbox access token.
On the next import, walks with a route gain a ## Map section backed by a .geojson sidecar in the attachments folder. The sidecar holds the walk's full, precise route; it stays in your vault and is never sent over the network. Heads-up: the token is written into your notes and data.json, so it travels with your vault — treat it as public and set a usage cap on it in your Mapbox account.
Turn on Settings → Waymark → Look up place names and each walk gains a **Near:** [[Place]] backlink, so walks from the same area cluster in your graph.
Place names come from OpenStreetMap's Nominatim service:
- Only the approximate start of each walk is sent, coarsened to ~100 m — for walks that begin at home, that's roughly your neighborhood, not your address.
- Results are cached locally so re-imports don't re-query, and lookups are throttled to honor Nominatim's usage policy.
- Each note attributes place names to © OpenStreetMap contributors, per the ODbL.
If a lookup fails, the walk simply gets no place name — the import never blocks.
Each note has a Waymark-managed region delimited by invisible comment markers:
%% waymark:begin id=… | Waymark-managed — edits here are not preserved; write below the end marker %%
…generated reflection, stats, photos…
%% waymark:end %%
## Notes ← your space — anything here is never touched
- Write your own notes below the end marker (the
## Notesarea), or anywhere outside the markers. That content is yours and survives every re-import. - If you edit inside the managed region, Waymark notices on the next import and skips that walk rather than overwriting your edit — it will be listed as “skipped — edited” in the import summary. Your words are never silently lost. (The trade-off: a walk you've hand-edited inside the region won't automatically pick up later app updates; reset the region if you want it regenerated.)
- If the markers get deleted, Waymark skips the note rather than rewriting it.
- Daily-note merge — link or embed each walk into that day's daily note.
- Theme / intention graph — connect walks that share an intention or theme.
- A portable
.pilgrim → Markdownengine so the same import can target other tools (Logseq, Day One, …).
npm install
npm run dev # esbuild watch -> main.js
npm test # vitest
npm run build # typecheck + production bundleThe .pilgrim parser is vendored from the pilgrim-viewer project (the format's source of truth) and kept DOM-free; Waymark adds the Obsidian render and idempotent-write layers on top.