Skip to content

Latest commit

 

History

History
211 lines (153 loc) · 11.3 KB

File metadata and controls

211 lines (153 loc) · 11.3 KB

doocs-md

WeChat Markdown Editor

status node pr stars forks
release npm docker

中文 | English

Overview

Instantly renders Markdown into WeChat-ready articles, so you never have to wrestle with formatting in the WeChat Official Account editor again. Standard Markdown syntax is all you need to produce clean, well-styled articles.

If this project is useful to you, a Star ⭐️ is always appreciated.

Online Editor

https://md.doocs.org

Chrome is recommended for the best experience.

Motivation

Most open-source WeChat Markdown editors suffer from overly complex styles that require manual tweaking after every paste. This project aims to provide a simpler, more focused editor so content creators can spend their time writing rather than fixing layout.

Pull requests are welcome. You can also share ideas in Discussions.

Features

  • Standard Markdown syntax and math formulas (KaTeX)
  • Mermaid diagrams, PlantUML, and GFM alert blocks
  • Ruby annotation extension: [text]{ruby} and [text]^(ruby) formats
  • Multiple code highlight themes; customizable theme colors and CSS
  • Local draft management with auto-save
  • Sync editor preferences after sign-in (cloud sync)
  • Multiple image hosting options (GitHub, Alibaba Cloud OSS, Tencent COS, Qiniu, MinIO, S3, Cloudflare R2, and more)
  • File import and export
  • AI assistant integration (DeepSeek, OpenAI, Tongyi Qianwen, Tencent Hunyuan, Volcengine, 302.AI, etc.)

Supported Image Hosts

# Service Configuration required Notes
1 Default No -
2 GitHub Repo, Token How to get a GitHub token
3 Alibaba Cloud OSS AccessKey ID, AccessKey Secret, Bucket, Region Docs
4 Tencent COS SecretId, SecretKey, Bucket, Region Docs
5 Qiniu Kodo AccessKey, SecretKey, Bucket, Domain, Region Docs
6 MinIO Endpoint, Port, UseSSL, Bucket, AccessKey, SecretKey Docs
7 S3-compatible Endpoint, Region, Bucket, AccessKey, SecretKey Supports AWS S3, Oracle, DigitalOcean, and other S3-compatible storage
8 WeChat Official Account appID, appsecret, proxy domain Tutorial
9 Cloudflare R2 AccountId, AccessKey, SecretKey, Bucket, Domain S3 API docs
10 Upyun Bucket, Operator, Password, Domain Docs
11 Telegram Bot Token, Chat ID Usage guide
12 Cloudinary Cloud Name, API Key, API Secret Docs
13 Custom upload Yes How to configure

Demo

Theme switching Image upload
demo1 demo2
Style customization One-click formatting
demo3 demo4

Development & Build

# Install the required Node version
nvm i && nvm use

# Install dependencies
pnpm i

# Start the dev server, available at http://localhost:5173/md/
pnpm web dev

# Production build, served under /md/
pnpm web build

# Production build, served at the root path
pnpm web build:h5-netlify

# Chrome extension dev mode
# After starting, open chrome://extensions/, enable Developer mode,
# then load the unpacked extension from apps/web/.output/chrome-mv3-dev
pnpm web ext:dev

# Package the Chrome extension
pnpm web ext:zip

# Package the Firefox extension — output: apps/web/.output/md-{version}-firefox.zip
pnpm web firefox:zip

# Package the uTools plugin — output: apps/utools/release/md-utools-v{version}.zip
pnpm utools:package

# Cloudflare Workers development and deployment
pnpm web wrangler:dev
pnpm web wrangler:deploy

Self-hosting

Option 1: npm CLI

# Install globally
npm i -g @doocs/md-cli

# Start (default port: 8800)
md-cli

# Start with a custom port
md-cli port=8899

Supported CLI options:

  • port: Listening port. Defaults to 8800; a random port is chosen if occupied.
  • spaceId: dcloud service space ID
  • clientSecret: dcloud service space secret

Option 2: Docker

docker run -d -p 8080:80 doocs/md:latest

Then open http://localhost:8080 in your browser. For more details on the Docker image, see https://github.com/doocs/docker-md.

Star History

Star History Chart

Who's Using It

See USERS.md for a list of WeChat Official Accounts using this project.

Contributing

PRs and Issues are welcome. Please read CONTRIBUTING.md for the contribution workflow and guidelines.

Support

If this project has been helpful, you're welcome to support its continued development.

support1
support2

Feedback

For bug reports or feature requests, please open an Issue. You can also scan the QR code below to join the WeChat discussion group. If the QR code has expired, add the account as a friend with the note md.

doocs-md-wechat-group
wechat-ylb