# Created Daily Note Sync Created Daily Note Sync is an Obsidian plugin that creates missing daily notes from the `created` field in Markdown frontmatter. [Chinese README](./README.zh-CN.md) ## Features - Starts automatically when the plugin is enabled in Obsidian. - Watches Markdown file changes. - Reads `created` from frontmatter. - Creates the corresponding daily note if it does not already exist. - Adds a command palette action: full vault scan and create missing daily notes. - Adds file explorer context menu actions for full scan and current Markdown file processing. - Uses Chinese in-plugin notices, commands, menu labels, and settings UI. - Reuses Obsidian's built-in Daily Notes configuration first, then falls back to plugin settings. ## Example When a note contains: ```yaml --- created: 2026-05-18 --- ``` The plugin checks whether this file exists: ```text Daily notes folder / 2026-05-18.md ``` If it does not exist, the plugin creates it. ## Date formats Supported examples: ```yaml created: 2026-05-18 created: 2026/05/18 created: 2026-05-18T09:30:00+08:00 ``` Invalid dates are skipped. ## Configuration behavior The plugin first reads Obsidian's Daily Notes core plugin configuration from the current vault config directory: - Daily note folder - Daily note template If that configuration is missing or unreadable, the plugin falls back to its own settings: - Fallback daily note folder - Fallback daily note template - Excluded folders - Show current file during full vault scan ## Usage ### Automatic mode After the plugin is enabled, edit or save a Markdown file with a valid `created` frontmatter field. The plugin will create the missing daily note automatically. ### Full vault scan Open the command palette and run the full vault scan command. The plugin scans Markdown files in the vault and creates missing daily notes for valid `created` dates. ### Context menu Right-click in the file explorer to run the full vault scan. Right-click a Markdown file to process only that file. ## Development ```bash npm install npm test npm run lint npm run build npm run check:bundle npm audit --omit=dev ``` ## Release assets For a GitHub Release or Obsidian community plugin submission, upload at least: - `main.js` - `manifest.json` This plugin currently has no custom CSS, so `styles.css` is not required. ## Review-friendly notes - Source code is written in TypeScript under `src/`. - Tests are under `tests/`. - `main.js` is generated by esbuild and does not include inline sourcemaps. - Runtime code does not depend on Node-only modules such as `fs`, `path`, `stream`, or `Buffer`. - Vault file operations use Obsidian's Vault API. - The plugin uses `Vault#configDir` instead of hardcoding `.obsidian`. - `package-lock.json` is committed for reproducible installs. ## License MIT