Nir Tamir1k downloadsCreate Markdown-based presentations in Obsidian using Slidev.
Preview Markdown presentations from your Obsidian vault with Slidev. The plugin opens the active note in an embedded presentation view and keeps the displayed slide aligned with your cursor.
@slidev/cli installed locally in that project's
node_modules directory. A global slidev command is neither required nor
used.Quick setup installs a small, version-pinned Slidev starter only after you select Set up Slidev. It never changes a project you configured manually.
https://github.com/nirtamir2/obsidian-slidev and add the plugin.main.js, manifest.json, and styles.css.<your-vault>/.obsidian/plugins/slidev/ and place the three files in that directory.The quickest path is built into the presentation view:
<your-vault>/.slidev/,
downloads its dependencies with npm, verifies the result, and saves it as
the active Slidev project.You can run the same setup from Settings → Slidev → Quick setup. If an installation is interrupted, select Retry setup; the plugin reuses its generated project and asks npm to finish installing it.
To use custom themes, addons, components, or a project stored outside the vault, create and install a Slidev project by following the official getting-started guide. For example:
pnpm create slidev
cd <your-slidev-project>
pnpm install
Then open Settings → Slidev:
node_modules/@slidev/cli/package.json.node from Obsidian's inherited
PATH. If Obsidian cannot find a shell-managed Node.js installation, enter
the absolute path to the executable.3030) or choose a free port from 1 through 65535.Entering a project folder disables quick setup; the plugin does not modify or install dependencies in that project.
The other settings are optional:
The plugin connects to an existing server on the configured port when one is available. Otherwise, it launches the configured project's local Slidev CLI for the active note. Closing the view stops only the process started by that view. Changing the active note restarts that owned process for the new note.
Use standard Slidev Markdown in the note, including --- slide separators.
The buttons above the embedded deck open the current slide in a browser or open
Slidev's presenter view.
If startup fails, see Common problems.
Slidev preserves Obsidian's offline-first model, with the following local access required for its core functionality:
http://localhost:<port>/. That local Vite server may serve requested assets under the vault root so note-relative media works. The generated bridge blocks direct access to .obsidian, unrelated Markdown/Canvas files, and common configuration-data formats. The plugin includes no telemetry. npm, a presentation, a theme, or a Slidev dependency may make its own network requests.<your-vault>/.slidev/ with a marked package.json, npm's lockfile, and node_modules. It refuses to use a symlink or an existing unmarked .slidev directory and never deletes the generated project automatically. A manually configured Slidev project may be outside the vault. The plugin reads that project's @slidev/cli package metadata and executable files, but does not install or change its dependencies. At launch it creates a temporary .obsidian-slidev-<id>.md entry and matching .obsidian-slidev-<id>/ bridge directory in the configured project. Both are removed when the owned process exits or the view restarts/closes. Matching leftovers after an abrupt shutdown may retain vault paths and deck headmatter but are safe to delete after stopping Slidev.See CONTRIBUTING.md for the full development and pull request guide. The quick setup is:
git clone https://github.com/nirtamir2/obsidian-slidev.git
cd obsidian-slidev
pnpm install
pnpm test
pnpm run type-check
pnpm run build
Useful commands:
| Command | Purpose |
|---|---|
pnpm dev |
Watch source files and rebuild in development mode |
pnpm test |
Run the Vitest test suite once |
pnpm run lint |
Check supported repository files with ESLint |
pnpm run format:check |
Check formatting with Prettier |
pnpm run type-check |
Check TypeScript without emitting files |
pnpm run build |
Create a production build |
pnpm run verify:build |
Verify the generated plugin artifacts |
pnpm run ci |
Run the complete local CI pipeline |
Production builds are written to dist/. To build directly into a development
vault, set OUT_DIR to the vault's .obsidian/plugins/slidev directory in
.env.development.local, then run pnpm dev:
OUT_DIR=/absolute/path/to/vault/.obsidian/plugins/slidev
Do not commit that machine-specific environment file. See Common problems if the output is not where you expect.