MarkdownCanDo is an interactive website for learning, writing, and exploring the capabilities of Markdown. 
Requirements: Node.js 20 or later and pnpm 10.
pnpm install
pnpm devThe development command detects port conflicts and automatically selects the next available port.
Build and preview the production site:
pnpm build
pnpm previewThe production site is deployed as Cloudflare Worker Static Assets, with a private R2 bucket and a SQLite Durable Object for temporary image uploads. Review the custom domain and IMAGE_* limits in wrangler.jsonc before deploying a fork.
For first-time setup, create the private markdown-can-do-uploads Standard bucket, keep both r2.dev and public custom-domain access disabled, and add the 1-day uploads/ lifecycle rule. The full commands, quota rationale, hotlink checks, and monitoring procedure are in the Cloudflare image upload guide.
pnpm test
pnpm typecheck
pnpm cloudflare:deploy:dry
pnpm cloudflare:deployThe legacy-domain redirect is maintained separately through wrangler.redirect.jsonc.
- VitePress and Vue
- Milkdown Crepe for WYSIWYG editing
- markdown-it and DOMPurify for Markdown rendering and sanitization
- Mermaid, KaTeX, and ABCJS for extended content
- Cloudflare Workers Static Assets
- Private Cloudflare R2 image storage and Durable Object quotas
Chinese is the primary version. English and Portuguese content may lag behind and should be checked when copy changes.
v0.9 is a pre-1.0 release. The main experience is deployable and usable, while content coverage, accessibility, bundle size, and editor compatibility will continue to improve before v1.0.
