Vengeance Blog

Push from Obsidian to Vengeance

Write in Obsidian, run one command, your note becomes a blog post.

Vengeance Blog1 minInspired by Obsidian sync workflow
Cover image for Push from Obsidian to Vengeance

Setup first

Before push works, copy the example config and point it at your vault:

powershell
1copy .vengeance\config.example.json .vengeance\config.json

Then edit .vengeance/config.json:

  • vaultPath — absolute path to your Obsidian vault
  • mappings — which Obsidian folders map to which blog categories
  • obsidianBlogRoot — where pulled posts land in the vault (default: Blogs)

Example:

json
1{2  "vaultPath": "C:/Users/you/Documents/MyVault",3  "mappings": [4    {5      "obsidianFolder": "Blogs/Drafts",6      "blogCategory": "frontend",7      "direction": "bidirectional"8    }9  ],10  "obsidianBlogRoot": "Blogs"11}

This file is gitignored — it stays on your machine only.

ObsidianVengeance

How push works

Rendering diagram...

Example

You write Blogs/Drafts/my-react-tips.md in Obsidian:

markdown
1---2title: My React Tips3description: Three hooks I use every day4---5 6## useMemo7Use when profiling shows a real cost.

You run:

powershell
1npx tsx scripts/sync-obsidian.ts push "Blogs/Drafts/my-react-tips.md"

You get content/blog/frontend/my-react-tips.md → open /frontend/my-react-tips.

Use [[how-browsers-work]] in Obsidian to link another note — push converts it to a blog route. See Pull from Vengeance into Obsidian for the reverse direction.

Where to write

Obsidian folderGoes to
Blogs/Drafts/content/blog/frontend/
Blogs/about/content/blog/about/

Those folders must match mappings in .vengeance/config.json.

Commands

powershell
1npm run sync:status                                              # check vault + counts2npx tsx scripts/sync-obsidian.ts push "Blogs/Drafts/note.md"    # one file3npx tsx scripts/sync-obsidian.ts push                           # all mapped folders