loonghappy3 downloadsEdit HTML metadata with native Properties and include it in the vault property catalog.
English · 简体中文
Edit properties of HTML notes using Obsidian's native Properties interface, and include HTML properties in the vault-wide property catalog and occurrence counts. Metadata stays inside each HTML file as a JSON data block. No companion Markdown files or third-party HTML plugins are required.
Preview release. Supports desktop Obsidian 1.14.4 only; verified on Windows.
Vibe-coded project: Developed through human–AI collaboration and AI-assisted coding. The verification record documents the actual checks and their limits. This project is still a preview.

The GIF uses synthetic notes. The native property editor is on the right; the vault-wide catalog is on the left. Adding “复习计划” (Review plan) to an HTML note creates a catalog entry with an occurrence count of 1.
Until the plugin is available in Obsidian's community directory, install it manually:
html-frontmatter-<version>.zip asset.html-frontmatter folder into your vault's .obsidian/plugins/ directory. The resulting plugin folder must be .obsidian/plugins/html-frontmatter/, with main.js and manifest.json directly inside it.Alternatively, create .obsidian/plugins/html-frontmatter/ and place the release's standalone main.js and manifest.json files inside it. License notices are embedded in main.js and also provided as separate release files. Node.js is not required to use the installed plugin.
.html or .htm file inside your vault.You can also right-click an HTML file in the file explorer and choose 编辑 HTML 属性. The property pane stays pinned to the selected file. Read the HTML body using your existing preferred method; this plugin does not render it.
Run Obsidian's Show all properties command to open the native vault-wide property catalog. HTML and Markdown notes contribute to the displayed property names and occurrence counts. A property used by one HTML note has an occurrence count of 1.
There is no need to maintain JSON manually. If a file has no metadata block, saving its first property inserts one:
<script type="application/json" id="obsidian-frontmatter">
{
"course": "Databases",
"chapter": 6,
"reviewed": false,
"tags": ["course/databases"]
}
</script>
The block is non-executing JSON. Flat objects and lists of primitive values are supported; tags, aliases, and cssclasses must be string lists. Invalid, duplicate, or unsupported metadata blocks are refused rather than overwritten.
Use Node.js 24 and npm. The release-packaging command currently requires Windows PowerShell:
npm ci --ignore-scripts --no-audit --no-fund
npm run release
The installable folder, ZIP, and SHA-256 file are generated under dist/. Build output, dependencies, and test-vault state are excluded from the source repository.
Documentation index · Development · Verification record · Architecture · Changelog
MIT. Bundled dependencies retain their own notices in THIRD_PARTY_NOTICES.md. Detailed development documents are currently in Simplified Chinese.