README file from
GithubYAML Creator
YAML Creator is a local-first Obsidian community plugin for creating, organizing, and reusing note properties without hand-editing frontmatter.
Open one focused popup to edit every property in the current Markdown note, add values discovered elsewhere in your vault, or merge a path-aware template. Nothing is written until you select Apply.
Features
- Add, rename, edit, reorder, and delete any top-level YAML property.
- Edit text, numbers, booleans, dates, date-times, empty values, scalar lists, and nested YAML.
- Add, remove, and reorder individual list values such as tags and aliases.
- Reuse pinned, recently used, and vault-discovered categories and values.
- Pin a suggestion with its star button, right-click, or touch long-press.
- Create ordered templates and suggest them using vault-relative path patterns.
- Detect frontmatter changes made after the popup opened before writing.
- Use the same responsive interface on Obsidian desktop and mobile.
- Keep vault data private: no accounts, network requests, advertising, or telemetry.
Terminology
- A category is a top-level property key such as
title,aliases, ortags. - A value is the content stored in a category. A list category can contain several values.
- In the
tagscategory, YAML Creator accepts#projectin the interface and stores the Obsidian-compatible valueproject.
Usage
- Open a Markdown note.
- Select the braces icon in the ribbon, or run YAML Creator: Open editor from the command palette.
- Edit the current categories, select a suggestion, or merge a matching template.
- Select Apply to write the staged properties. Select Cancel to leave the note unchanged.
Each category has controls to pin, move, or delete it. List values have the same controls and can be dragged into order. Advanced YAML accepts nested maps and lists and reports syntax errors inline.
Concurrent edits
The popup is locked to the note that was active when it opened. Before applying, YAML Creator compares that note's current frontmatter with the version originally loaded. If another editor or plugin changed it, the write stops and the popup offers Reload file.
Templates
Templates are managed under Settings → Community plugins → YAML Creator. Every template has:
- A display name.
- One or more vault-relative path globs.
- An ordered YAML mapping of properties.
Supported glob tokens are * for characters within one path segment, ** for any number of folders, and ? for one character.
Example template:
status: draft
tags:
- project
aliases: []
priority: 2
Example patterns:
Projects/**/*.md
Areas/Work/*.md
Daily/202?-*.md
Matching templates appear at the top of the editor, but they are never applied automatically. A merge adds missing properties, preserves existing scalar and nested values, and appends only unique list values.
Suggestions and settings
YAML Creator builds suggestions from Obsidian's metadata cache. It does not read every note body to create the index.
Suggestion order is:
- Pinned items.
- Recently applied items.
- Other vault items by frequency and name.
Existing categories and values are omitted. Only scalar values and scalar lists become value suggestions; nested structures remain editable through Advanced YAML.
Recent suggestions are enabled by default. Settings let you show 1–50 recent items, disable recent recording/display, clear history, clear pins, and manage templates. Disabling recents retains the existing history until it is explicitly cleared.
Installation
Community plugins
After YAML Creator is accepted into the Obsidian community directory:
- Open Settings → Community plugins.
- Select Browse, search for YAML Creator, and install it.
- Enable the plugin.
Manual installation
- Download
main.js,manifest.json, andstyles.cssfrom the release matching the version you want. - Create
<Vault>/.obsidian/plugins/yaml-creator/. - Copy the three files into that folder.
- Reload Obsidian and enable YAML Creator under Community plugins.
Development
Requirements: a current Node.js LTS release and npm.
npm install
npm run dev
For local testing, place or clone the repository at <Vault>/.obsidian/plugins/yaml-creator/. The development process watches TypeScript sources and emits main.js at the repository root.
Run all automated checks:
npm run check
Individual commands are also available:
npm run typecheck
npm run lint
npm test
npm run build
main.js is generated and intentionally excluded from source control. The production build is minified. See DEVELOPMENT.md for the future roadmap and GITHUB_PUBLISHING.md for exact repository and release metadata.
Releasing
- Update
versioninpackage.jsonandminAppVersioninmanifest.jsonif needed. - Run
npm version patch,npm version minor, ornpm version major. The version script synchronizesmanifest.jsonandversions.json. - Push the commit and matching numeric tag, such as
1.0.1. - The release workflow validates, builds, and uploads
main.js,manifest.json, andstyles.cssto the GitHub release.
For a manual release, the locally ignored releases/ folder contains fresh copies of those three files after packaging.
The release tag must exactly match the manifest version. For initial community submission, follow Obsidian's plugin submission guide and submit https://github.com/NameIsKyro/yaml-creator.
Data integrity and YAML formatting
YAML Creator writes through Obsidian's FileManager.processFrontMatter API. It preserves property data, but Obsidian may normalize comments, quoting, anchors, aliases, and formatting when the frontmatter is saved. Back up important vaults and test new plugins in a separate vault first.
The plugin never edits multiple notes in version 1.0.0. Vault-wide and folder-wide operations are roadmap items only.
Privacy
YAML Creator operates entirely inside the active vault. It has:
- No network access.
- No accounts or external services.
- No telemetry or analytics.
- No advertisements or payments.
- No access to files outside the vault.
Settings, template definitions, pins, and recent history are stored using Obsidian's plugin data API.
License
MIT © 2026 NameIsKyro