Vengeance Blog

Pull from Vengeance into Obsidian

Bring repo blog posts into your vault so you can edit them in Obsidian.

Vengeance Blog1 minInspired by Obsidian sync workflow
Cover image for Pull from Vengeance into Obsidian

Setup first

Before pull 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
  • obsidianBlogRoot — folder where pulled posts go (default: Blogs)
  • mappings — needed if you push edits back from Obsidian

Example:

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

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

VengeanceObsidian

How pull works

Rendering diagram...

The Blogs/ prefix comes from obsidianBlogRoot in your config.

Example

Repo has:

txt
1content/blog/frontend/how-browsers-work.md

You run:

powershell
1npx tsx scripts/sync-obsidian.ts pull "frontend/how-browsers-work.md"

Obsidian gets Blogs/frontend/how-browsers-work.md — with [[how-browsers-work]] wikilinks for the Obsidian graph. The blog repo keeps markdown links like [How Browsers Work](/frontend/how-browsers-work) for the website.

Edited something? Push it back:

powershell
1npx tsx scripts/sync-obsidian.ts push "Blogs/frontend/how-browsers-work.md"

Pull everything

powershell
1npm run sync:pull

Mirrors all of content/blog/Blogs/<category>/. Safe to re-run.

Push vs pull

PullPush
Directionrepo → ObsidianObsidian → repo
One filetsx ... pull "frontend/post.md"tsx ... push "Blogs/Drafts/post.md"
All filesnpm run sync:pullnpx tsx scripts/sync-obsidian.ts push

Tip: New drafts → Blogs/Drafts/. Pulled posts → Blogs/frontend/, Blogs/about/, etc. For push workflow details, see Push from Obsidian to Vengeance.

Check counts

powershell
1npm run sync:status