lunarch30 downloadsTransform Markdown notes into fast, programmable views with rules, templates, Bases integration, and live editing.
Programmable, reactive views for Obsidian.
Morphic turns Markdown notes into rich, programmable interfaces while keeping the underlying vault as ordinary Markdown. A view can match notes by metadata and structure, render custom HTML, evaluate expressions, embed Obsidian Bases data, apply scoped CSS, run trusted local JavaScript, and remain fresh as the vault changes.
The runtime is built around a simple performance principle:
Unchanged data should cause no work. Changed data should update only what actually changed.
Morphic is designed for vaults where a custom view is more than a static template. It treats each rendered surface as an owned, revision-aware transaction and tracks the data that surface actually consumes. This lets the runtime invalidate precisely, reject stale asynchronous work, retain safe rendered structure, and avoid unnecessary full refreshes.
Core strengths include:
Morphic 0.1.0 supports:
{{file.content}} workflows;Morphic Core V2 is organized around seven runtime systems:
For deeper implementation details, see docs/CORE_V2.md.
Build Morphic, then place these files in:
<Vault>/.obsidian/plugins/morphic/
Required plugin artifacts:
main.js
manifest.json
styles.css
Then reload Obsidian and enable Morphic under Settings → Community plugins.
Requirements:
Install dependencies and run the main checks with:
node scripts/pinned-npm.mjs install --ignore-scripts --no-package-lock
node scripts/pinned-npm.mjs run check:repo-hygiene
node scripts/pinned-npm.mjs run check:release-metadata
node scripts/pinned-npm.mjs run build
node scripts/pinned-npm.mjs test
node scripts/pinned-npm.mjs run lint
Additional benchmark and provenance tooling is available under scripts/ and src/__benchmarks__/.
Morphic is optimized for sustained reactive workloads rather than treating every update as a fresh full render. The runtime combines compiled plans, dependency revisions, retained surfaces, no-op detection, owner-local scheduling and cache-aware data access.
Performance work remains evidence-driven: important paths are measured with repeated warmup/sample runs, semantic checksums, percentile reporting and real-Obsidian integration workloads. Version 0.1.0 is the first public development release; optimization of cold-start and cold-render paths continues on the development line.
Template JavaScript runs locally inside Obsidian and should only be enabled for templates you trust. JavaScript execution can be disabled when a view only needs HTML, CSS, expressions and native Obsidian rendering.
Morphic-authored code is distributed under GPL-3.0-only.
Copyright © 2026 Lộc Phan.