Sam170 downloadsA zero-dependency minimal plugin to enable html docs in Obsidian
A zero-dependency minimal plugin to enable .html docs inside Obsidian. Inspired by Thariq's "unreasonable effectiveness of HTML".
<iframe>, and works across tabs, embeds (![[doc.html]]), and Canvas.The plugin is ~190 lines of code, ~660 lines of test, and requires no external dependencies.
A demo page (test/fixture.html) demonstrates all the passing HTML features.

Note: Obsidian only shows
.mdfiles in your file explorer, by default. To see your.htmlfiles too, be sure to enable: Settings → Files & links → Show all file types
main.js, manifest.json, and styles.css from the latest release<vault>/.obsidian/plugins/html-docs/.Releases are built and signed by GitHub Actions (.github/workflows/release.yml) so the binaries carry a build attestation you can verify against the source.
git clone https://github.com/smcllns/obsidian-plugin-html-docs/
npm install
npm run dev # watch + rebuild
npm run build # production bundle at `dist/html-docs/`
An E2E test runner validates features, embeds, Canvas cards, and sandboxing are working correctly. Requires obsidian-cli, Obsidian running with a vault open, the plugin installed and enabled, and jq available.
npm test
The script builds the current plugin, copies it into the active vault's plugin folder, reloads it, copies test/fixture.html into the vault temporarily, opens it in Obsidian, verifies the tab view plus markdown and Canvas embeds, collects the iframe’s own self-test results via postMessage, then cleans up.
See test/fixture.html for the full list of features exercised — and the inline notes for what is intentionally blocked.
This plugin will stay simple and do this one thing well.
File issues here, or message me on X: @smcllns.
If you want more features, please fork and customize as you need.