Pat67 downloadsKeeps created and updated frontmatter timestamps in sync with Markdown file events.
Frontmatter Timestamps is an Obsidian community plugin that keeps configured created and updated YAML frontmatter properties synchronized with Markdown file creation and edit activity.
app.fileManager.processFrontMatter() for note frontmatter changes.YYYY-MM-DD'T'HH:mm:ss.This plugin modifies YAML frontmatter in Markdown notes. Automatic updates and bulk commands can affect many Markdown files. Before enabling the plugin in an important vault, changing property names, or running folder/vault-wide update commands, make a full vault backup or commit your vault to version control.
Use the preview commands before applying folder-wide or vault-wide updates. Verify ignored paths before running bulk operations.
The Created and Updated property cards each have their own native toggle. Both are enabled by default, and existing settings without these fields migrate to the same true/true behavior. Disabling a property never deletes, clears, renames, or changes its existing frontmatter value, and it remains registered as a native Obsidian property type. Re-enabling a property affects future automatic events and explicit bulk updates only; it does not retroactively change old notes.
Automatic events and Update folder/Update vault process only enabled properties. If both properties are disabled, automatic activity produces no timestamp writes and bulk update actions return “Enable at least one timestamp property to update existing files.” When one property is enabled, bulk result notices identify the fields included in that run.
Once published in the Obsidian Community Plugin directory, install it from Obsidian's Community plugins browser.
main.js, manifest.json, and styles.css from a release..obsidian/plugins/frontmatter-timestamps/.After enabling the plugin, new and modified Markdown notes outside ignored paths are processed automatically. By default, the plugin uses:
created for the created timestamp;updated for the updated timestamp;Templates, Utility, Attachment, and Attachments.Date & time values are written as local timestamps in this form:
YYYY-MM-DDTHH:mm:ss
The plugin registers these commands:
Preview commands report what would change without modifying notes. Update commands modify frontmatter in matching Markdown notes.
Ignored paths are configured in plugin settings. A matching ignored folder or file is skipped during automatic updates and bulk commands. Obsidian's internal config folder is always ignored internally.
Changing the created or updated property name uses an explicit rename workflow:
Destination conflicts are skipped by default. The plugin does not overwrite an existing destination property and reports changed, skipped, and failed counts. Use Revert to discard a draft property-name change before applying it.
The rename workflow remains available for disabled properties. Applying a rename is still an explicit global operation, preserves the Enabled/Disabled state, and does not enable the renamed property. Typing in a name field or toggling a property does not rename notes.
The plugin registers configured timestamp properties with Obsidian's property type metadata so they appear using the selected native property type. It preserves unrelated property type entries.
npm ci
npm run test
npm run lint
npm run check
npm run build
The production build emits main.js from the TypeScript source.
These checks should be performed in Obsidian after installing a release. They are not automated test results.
MIT License. See LICENSE.