Obsidian Cloudflare Pages
VerifiedPublish selected Obsidian markdown from a vault to a static site and deploy to Cloudflare Pages.
$ Add to .claude/skills/ About This Skill
# OpenClaw Skill: Obsidian/Markdown → Cloudflare Pages
This is an OpenClaw Skill for publishing Markdown to Cloudflare Pages.
- Works with Obsidian vault folders or any Markdown folder
- Originally built for reading Obsidian Web Clipper output:
- - https://obsidian.md/clipper
- Automates a safe publishing flow:
- Select notes from your source folder
- Sync to a publish workspace
- Build static HTML with Quartz
- Deploy to Cloudflare Pages
Commands
- `node skills/obsidian-cloudflare-pages/bin/publishmd-cf.js init`
- - Creates `config/config.json` from example
- `node skills/obsidian-cloudflare-pages/bin/publishmd-cf.js wizard`
- - Interactive setup wizard for config (vault, folders, site/domain, Cloudflare project)
- `node skills/obsidian-cloudflare-pages/bin/publishmd-cf.js setup-project`
- - Initializes Quartz project in configured workspace if missing
- `node skills/obsidian-cloudflare-pages/bin/publishmd-cf.js doctor`
- - Validates paths + required binaries
- `node skills/obsidian-cloudflare-pages/bin/publishmd-cf.js sync`
- - Syncs selected notes/assets into publish content folder
- `node skills/obsidian-cloudflare-pages/bin/publishmd-cf.js build`
- - Runs Quartz build in project dir
- `node skills/obsidian-cloudflare-pages/bin/publishmd-cf.js deploy`
- - Deploys to Cloudflare Pages with wrangler
- `node skills/obsidian-cloudflare-pages/bin/publishmd-cf.js run`
- - sync → build → deploy
Config
Copy and edit:
`skills/obsidian-cloudflare-pages/config/config.example.json` → `skills/obsidian-cloudflare-pages/config/config.json`
Safety defaults - Publish allowlist by folder - Optional `publish: true` frontmatter gate - Exclude private folders by default
Requirements
- `node` 20+
- `rsync`
- `npm`
- `npx quartz`
- `wrangler`
Cloudflare API token setup (recommended)
- Create a Cloudflare API token with at least:
- Account → Cloudflare Pages:Edit
- (Optional) Zone → DNS:Edit if you want DNS automation elsewhere
You can either export env vars in your shell profile (`~/.zshrc`) or use the skill-local `.env` file.
Option A: shell profile (`~/.zshrc`)
```bash export CLOUDFLARE_API_TOKEN="<your-token>" export CLOUDFLARE_ACCOUNT_ID="<your-account-id>" ```
Reload shell:
```bash source ~/.zshrc ```
Option B: skill-local env file (recommended for this skill)
```bash cp skills/obsidian-cloudflare-pages/.env.example skills/obsidian-cloudflare-pages/.env # then edit .env ```
The CLI auto-loads `skills/obsidian-cloudflare-pages/.env` (without overriding existing shell env vars).
- Wizard now asks for:
- Full production domain (e.g. `YOURDOMAIN.COM`)
- Branding settings (root source folder, source index label, root index label, sidebar title HTML)
- Token/account env var names (defaults above)
- Optional basic-auth protection (username/password)
Notes
- ⚠️ `setup-project` fallback behavior: if the direct Quartz bootstrap command fails, the fallback path may clear files in the configured workspace directory before cloning Quartz. Use a dedicated workspace path for this skill.
OpenClaw usage tips
- Example prompts:
- “Set up obsidian-cloudflare-pages wizard for my markdown folder.”
- “Run doctor and tell me what dependency is missing.”
- “Sync, build, and deploy to Cloudflare Pages.”
- “Enable basic auth and redeploy.”
- Best practices:
- Keep secrets in `.env` (never in chat logs)
- Commit `config.example.json`, not personal `config.json`
- Use a scoped Cloudflare token (Pages edit, DNS edit only if needed)
- Start on a test subdomain before production
Standalone usage (outside OpenClaw)
This works as a plain Node CLI too:
```bash node bin/publishmd-cf.js init node bin/publishmd-cf.js wizard cp .env.example .env # fill .env values node bin/publishmd-cf.js run ```
Security note
Basic auth in this skill is intentionally simple and optional. Do not publish highly sensitive content unless you fully understand your security model and hardening choices.
Use Cases
- Publish selected Obsidian vault notes to a static site deployed on Cloudflare Pages
- Run an interactive setup wizard to configure vault paths, domains, and Cloudflare project settings
- Sync, build, and deploy Markdown content in a single command using Quartz as the static site generator
- Protect published content with optional basic authentication for private or draft sites
- Validate environment setup with a doctor command that checks paths and required binaries
Pros & Cons
Pros
- +End-to-end pipeline from Obsidian notes to live Cloudflare Pages site in one command
- +Safety-first design with publish allowlists and optional frontmatter gates to prevent accidental exposure
- +Works standalone as a plain Node CLI outside of OpenClaw
Cons
- -Tightly coupled to Quartz for static site generation — cannot use Hugo, Jekyll, or other generators
- -Requires multiple system dependencies (Node 20+, rsync, npx quartz, wrangler)
FAQ
What does Obsidian Cloudflare Pages do?
What platforms support Obsidian Cloudflare Pages?
What are the use cases for Obsidian Cloudflare Pages?
100+ free AI tools
Writing, PDF, image, and developer tools — all in your browser.
Next Step
Use the skill detail page to evaluate fit and install steps. For a direct browser workflow, move into a focused tool route instead of staying in broader support surfaces.