https://github.com/alangrainger/obsidian-frontmatter-modified-date
Automatically update a frontmatter/YAML modified date field
https://github.com/alangrainger/obsidian-frontmatter-modified-date
Last synced: 7 months ago
JSON representation
Automatically update a frontmatter/YAML modified date field
- Host: GitHub
- URL: https://github.com/alangrainger/obsidian-frontmatter-modified-date
- Owner: alangrainger
- License: mit
- Created: 2023-07-31T17:36:49.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-30T10:00:16.000Z (8 months ago)
- Last Synced: 2024-11-30T04:46:31.512Z (7 months ago)
- Language: TypeScript
- Size: 538 KB
- Stars: 81
- Watchers: 4
- Forks: 10
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - alangrainger/obsidian-frontmatter-modified-date - Automatically update a frontmatter/YAML modified date field (TypeScript)
README
  
# Update modified field on edit
This plugin will automatically update a modified property in your frontmatter/YAML when you edit a note.
This is different from other plugins in that it does not use the filesystem modified time. The frontmatter will only update when you actually work on a file inside Obsidian.
---
## Options
- Specify whatever YAML field name you prefer.
- Specify the date format, using [MomentJS format](https://momentjs.com/docs/#/displaying/format/).
- Exclude folders which you don't want to be automatically updated. This is important for anywhere you store your scripts or Templater templates.### Date format
This is specified in [MomentJS format](https://momentjs.com/docs/#/displaying/format/).
You should note that this doesn't necessarily need to be *only* a date. Moment format lets you put any free text inside square brackets `[]`. Some ways this might be useful in Obsidian is if you want to make your date into a link.
#### Make the date into a link
You would specific a link like this (which is surrounding Obsidian's normal wikilink brackets with extra square brackets):
`[[[]YYYY-MM-DD[]]]`
### Use typing events instead of Obsidian events
The modified time will update when Obsidian fires an `editor-change` event. If you have another plugin like Linter or an external application updating your files, the modified date will update.
If you want to avoid updates from other processes modifying your notes, turn on the setting to "Use typing events instead of Obsidian events".
### Excluding files
You can exclude a folder and all its subfolders in the Settings page.
If you want to exclude a single file, you can add a property called `exclude_modified_update` and give it a value. Setting it to `true` or using the Checkbox property type would be the most sensible option.
### Append date to history
You can also append the date to a history array by adding a checkbox property called `append_modified_update`. This is useful if you want to keep track of every time you edit a note.
> 🚩 **Warning**
>
> Removing the `append_modified_update` property from the frontmatter will remove all saved modification dates.The default frequency of entries is maximum one per day - so if you update a note on the same day it will modify the existing entry for that day, rather than appending a new one.
If you wish to change that frequency, you can edit your `data.json` file and change the value for `appendMaximumFrequency`. You can use any MomentJS unit of time, e.g. `second`, `minute`, `hour`, `month` etc.
---
## "Merging changes" popup
It's possible when using this plugin that you will see a message like this, however it should be a rare occurance rather than the norm:

This is due to the way Obsidian itself handles the frontmatter update. If you are typing into a note at the same time that Obsidian updates the frontmatter field, it will show that message. There is no "external" process modifying the file, it is Obsidian itself.
My plugin works by waiting for 10 seconds after you stop typing before updating the frontmatter. By doing it this way it reduces the chance of that message popping up. However, if you start typing again the exact instant Obsidian is updating the frontmatter field, you'll see that message. It won't affect anything, it's just annoying. Hopefully they resolve this at some point.
Please note that you do not need to have the file open for the frontmatter to update. The updates go into a queue and the file will update even after you close it.