# Blog Family Sync

This local Obsidian plugin syncs the public vault blog folders with the local
Astro sites under `/Users/neeldhara/forgejo/blogs`.

The plugin id remains `microblog-sync` so the existing Obsidian installation can
be upgraded in place. In Obsidian, the visible plugin name is **Blog Family
Sync**.

## Targets

| Vault folder           | Local content folder                                 | Preview                          |
| ---------------------- | ---------------------------------------------------- | -------------------------------- |
| `blogs/micro`          | `micro/src/content/blog`                             | `http://127.0.0.1:4321/blog/...` |
| `blogs/01-research`    | `allblogs/sites/research/src/content/research`       | `http://127.0.0.1:4331/...`      |
| `blogs/02-vibes`       | `allblogs/sites/vibes/src/content/vibes`             | `http://127.0.0.1:4332/...`      |
| `blogs/03-puzzles`     | `allblogs/sites/puzzles/src/content/puzzles`         | `http://127.0.0.1:4333/...`      |
| `blogs/04-reflections` | `allblogs/sites/reflections/src/content/reflections` | `http://127.0.0.1:4334/...`      |
| `blogs/05-poetry`      | `allblogs/sites/poetry/src/content/poetry`           | `http://127.0.0.1:4335/...`      |
| `blogs/06-reviews`     | `allblogs/sites/reviews/src/content/reviews`         | `http://127.0.0.1:4336/...`      |
| `blogs/07-art`         | `allblogs/sites/art/src/content/art`                 | `http://127.0.0.1:4337/...`      |

## Commands

Search for **Blog Family Sync** in the command palette:

- `Sync all configured blogs`
- `Sync current blog vault folder to repo`
- `Sync current blog repo folder to vault`
- `Two-way sync current blog`
- `Sync and preview current note`
- `Publish current note`
- `Publish all changes for current blog`

Preview starts the matching Astro dev server if the configured local URL is not
already responding. Publish syncs first, runs that target's build command,
commits staged content changes, and pushes to Forgejo. For the seven `allblogs`
targets, publish also refreshes and pushes the `home` repo's
`content/blog-index.json` so `neeldhara.blog` redeploys with the newest
featured/latest entries.

## Notes

- Obsidian is the source of truth for day-to-day writing.
- Deletions are not mirrored unless `Delete orphaned target files` is enabled.
- The plugin watches all configured vault folders and also polls for external
  edits, which catches changes made by another editor.
- Debug output is written to
  `.obsidian/plugins/microblog-sync/debug.log`.
