ON THIS PAGE 
Dynamic Markdown
Dynamic Frontmatter
Description
Dynamic markdown frontmatter fields
Purpose
Streamline content editing, while reducing potential for human error.
Approach
These steps add a dynamic lastModified markdown frontmatter field.
Install VS Code Extensions
Install Run on Save (I used pucelle's.  It worked, so didn't try other, simlarly named extensions) and  Markdown All In One VS Code extensions.
Create Custom Script
Create script, @/update-frontmatter.js:
//<--------@/update-frontmatter.ts--------------------------------------------->
const fs = require('fs');
const path = require('path');
const filePath = process.argv[2];
const currentDate = new Date().toISOString().split('T')[0];
fs.readFile(filePath, 'utf8', (err, data) => {
  if (err) {
    console.error(err);
    return;
  }
  const updatedData = data.replace(/lastModified: '.*'/, `lastModified: '${currentDate}'`);
  fs.writeFile(filePath, updatedData, 'utf8', (err) => {
    if (err) {
      console.error(err);
      return;
    }
    console.log(`Updated lastModified date to ${currentDate} in ${filePath}`);
  });
});
//<--------@/update-frontmatter.ts--------------------------------------------->
Config VS Code Tasks
Create a task, @/.vscode/tasks.json, to run the script on save:
{
    "version": "2.0.0",
    "tasks": [
      {
        "label": "Update Frontmatter",
        "type": "shell",
        "command": "node",
        "args": [
          "${workspaceFolder}/update-frontmatter.js",
          "${file}"
        ],
        "problemMatcher": [],
        "isBackground": true
      }
    ]
}
Config VS Code Settings
Add to @/.vscode/settings.json:
"editor.codeActionsOnSave": {
    "source.fixAll": true
 },
"files.autoSave": "onWindowChange",
"files.autoSaveDelay": 1000,
"files.associations": {
    "*.md": "markdown"
},
"files.watcherExclude": {
    "**/.git/objects/**": true,
    "**/.git/subtree-cache/**": true,
    "**/node_modules/**": true
},
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true,
"files.autoGuessEncoding": true,
"files.defaultLanguage": "markdown",
"files.exclude": {
    "**/.git": true,
    "**/.DS_Store": true,
    "**/node_modules": true
},
"runOnSave.commands": [
    {
    "match": "\\.md$",
    "command": "node ${workspaceFolder}/update-frontmatter.js ${file}"
    }
],
Copyright @ 2025 Anne Brown