Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Geo Story Map

kywkkywk23 downloads

Turn Markdown notes into geographic stories with an interactive map and slides.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates6

A small, reusable Leaflet-based StoryMap stack. One Markdown source and one standard StoryMapConfig render in three hosts:

  • standalone React applications;
  • an Obsidian plugin (file-backed full-leaf view);
  • a Docusaurus site via a Remark build-time transform and browser client.

Website

A bilingual project site (English / 繁體中文) lives in site/ and renders several live examples with the shared renderer. It is published to GitHub Pages from main by .github/workflows/pages.yml at https://kywk.github.io/story-map/; run it locally with pnpm --filter @story-map/site dev.

Geo Story Map for Obsidian

Turn Markdown notes into geographic stories with an interactive map and slides. Requires desktop Obsidian 1.8.7 or newer; mobile is not supported in this release. The plugin is named Geo Story Map (geo-story-map); the source syntax remains story-map. It does not require the separate Obsidian Leaflet plugin.

  1. Download main.js, manifest.json, styles.css, and THIRD_PARTY_NOTICES.txt from the plugin release.
  2. Put them in <Vault>/.obsidian/plugins/geo-story-map/.
  3. Enable Geo Story Map in Settings → Community plugins. Community listing is pending.
  4. Create a Markdown document using the Story syntax below, then close and reopen it, or run Geo Story Map: Open as map from the command palette.
  5. Use Open as Markdown to edit the same document; the source stays unchanged.
  6. Run Geo Story Map: Find coordinates with AI on a note to look up a place with a configured local CLI agent, confirm it on a map, and write location or copy it.

Add notes under the document's noteFolder, for example Travel/Chile/Places/Santiago.md:

---
story-map-note: true
title: Santiago
location: [-33.4489, -70.6693]
date-created: 2026-01-15
description: The journey begins here.
---

See the plugin guide for settings and note display. Geo Story Map is free, needs no plugin account, and includes no telemetry. Maps request OpenStreetMap tiles by default; configured tile providers and remote media connect to their specified hosts. The plugin reads notes and attachments inside your vault.

Packages

Package Role Distribution
@story-map/story-map-core Framework-agnostic schema, parser, and helpers npm (0.2.0)
@story-map/react-story-map React + Leaflet renderer npm (0.2.0)
@story-map/remark-story-map Remark build-time transform + browser client npm (0.2.0)
@story-map/obsidian-story-map Geo Story Map Obsidian view and Vault resolver GitHub Release 0.2.1

Quick start

corepack enable
pnpm install
pnpm typecheck
pnpm test
pnpm build

pnpm typecheck uses TypeScript project references (tsc -b), so it builds story-map-core for dependents instead of relying on a stale dist.

Run the standalone example:

pnpm --filter @story-map/example-react dev   # http://127.0.0.1:5173

Story syntax

A StoryMap document is a normal Markdown file with story-map: true frontmatter and one fenced story-map configuration block:

---
story-map: true
---

```story-map
schema: storymap/v1
title: Chile Trip
map:
  center: [-33.4489, -70.6693]
  zoom: 6
  showPath: true
noteFolder: Travel/Chile/Places
order: asc
dateField: date-created
noteDisplay: link
includeTags: [travel, chile]
excludeTags: [draft]
```

noteFolder recursively discovers Markdown notes with story-map-note: true, ordered by dateField using order: asc | desc. includeTags keeps notes with any listed frontmatter tag and excludeTags drops notes with any listed tag (both optional). Explicit slides keep their exact order and are never reordered or appended to by folder discovery.

noteDisplay: basic | link | full controls how resolved notes are shown (default link): frontmatter basics, basics with a title link to the note, or the full frontmatter-stripped note body. Obsidian opens the note through host callbacks; Docusaurus renders the published route as a normal browser link.

Docusaurus

remark-story-map transforms each fence at build time into a host element and a browser client mounts the shared renderer. Configure it with vaultRoot, assetBase, and a host resolveNoteHref route callback. See packages/remark-story-map/README.md and examples/docusaurus/.

A full-page map (Open as Story Map, with a Markdown toggle) is deliberately host UI rather than a package option; to add it to a site, follow docs/docusaurus-full-page.md.

Design rule

react-story-map must never import Obsidian or Docusaurus APIs. Platform adapters resolve notes, WikiLinks, Vault frontmatter, local assets, and routes into a StoryMapConfig before render time.

Documentation

  • SPEC.md — product and architecture contract.
  • docs/architecture.md — implementation map for contributors and agents.
  • AGENTS.md — working agreement and definition of done.
  • RELEASING.md — npm and Obsidian plugin release steps.
  • docs/history/ — archived plans.

License

MIT; see LICENSE. Bundled dependency notices accompany the plugin release.

HealthExcellent
ReviewSatisfactory
About
Turn Markdown notes into interactive geographic stories with a Leaflet map and slide-based narrative, rendering a single StoryMapConfig and Markdown source as a full-pane Obsidian view. Open and edit the same file as Markdown or map view, keep notes and attachments in your vault, and display maps with OpenStreetMap tiles by default; desktop Obsidian only.
VisualizationInterface
Details
Current version
0.2.1
Last updated
9 hours ago
Created
3 days ago
Updates
6 releases
Downloads
23
Compatible with
Obsidian 1.8.7+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
kywkkywk
GitHubkywk
  1. Community
  2. Plugins
  3. Visualization
  4. Geo Story Map

Related plugins

Graph Banner

Display a local graph view to the note header

Excalidraw

Visual PKM powerhouse. Create and edit Excalidraw drawings.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Hider

Hide interface elements such as tooltips, status bar, titlebar, and more.

Breadcrumbs

Visualise the hierarchy of your vault using a breadcrumb trail or matrix view.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Maps

Adds a map layout to bases so you can display notes as an interactive map view.

Note Toolbar

Add customizable toolbars to your notes.

Editing Toolbar

The Editing Toolbar is modified from cMenu, which provides more powerful customization settings and has many built-in editing commands to be a MS Word-like toolbar editing experience.

Mermaid Tools

Improved Mermaid.js experience: visual toolbar with common elements and more.