vsme30 downloadsCreate and edit travel footprint notes with maps, photos, and structured metadata.
Footprint Studio is an Obsidian community plugin for creating and editing travel footprint notes with an interactive map, photos, and structured frontmatter.
https://github.com/user-attachments/assets/5e18d479-8beb-4297-b91f-f25a9e1601a1
The plugin interface is currently available in Simplified Chinese.
Footprint Studio is primarily designed to organize footprint data in Obsidian. If you would also like to publish your footprints on a personal website, see bgo.me/footprints for an example. You can build a similar page by reading the footprint notes with your preferred website framework.
Once the plugin is accepted into the community plugin directory:
main.js, manifest.json, and styles.css from the latest GitHub release.<vault>/.obsidian/plugins/footprint-studio/.The default folders are:
footprintsattachment/footprints/<footprint-name>blogAll three paths, the map defaults, and the tile URL can be changed in the plugin settings. The command 保存当前足迹 has no default hotkey; assign one in Settings → Hotkeys if desired.
Footprint Studio stores settings through Obsidian and only modifies files in the configured vault folders. Removing a managed photo from a footprint may move that photo to the system trash when the footprint is saved.
The plugin makes direct network requests for its map features:
nominatim.openstreetmap.org.No analytics or telemetry are collected by this plugin. Review the OpenStreetMap tile usage policy and Nominatim usage policy before heavy use.
Requirements: Node.js 20 or newer and pnpm 10.
pnpm install
pnpm run dev
Run a production build and type check with:
pnpm run build
The build creates main.js locally. Compiled files are attached to GitHub releases and are intentionally not tracked in the source repository.
Make sure all changes have been committed on main, then run one of:
npm run release -- patch
npm run release -- minor
npm run release -- major
The release script checks that local main matches origin/main, runs a production build, updates package.json, manifest.json, and versions.json, creates the release commit and version tag, and pushes both to GitHub. The tag triggers the release workflow, which publishes the GitHub release automatically.
To publish a specific version, use npm run release -- 1.2.3. Update minAppVersion in manifest.json and commit it before running the release command when compatibility requirements change.
The release must contain main.js, manifest.json, and styles.css.