综合介绍
微信 Markdown 编辑器(WeChat Markdown Editor)是一款高度简洁的微信图文排版工具,旨在帮助用户轻松创建美观的微信文章。该编辑器支持所有基础的 Markdown 语法,并提供丰富的功能,如数学公式、Mermaid 图表渲染、代码块高亮、自定义主题色和 CSS 样式、多图上传、文件导入导出等。用户只需掌握基本的 Markdown 语法,即可快速生成样式简洁、排版美观的微信图文内容。该项目基于 Vue3 开发,提供在线编辑器和 Docker 镜像部署,方便用户随时随地进行编辑和发布。
在线编辑器:直接访问 在线编辑器地址 或 备用地址,推荐使用 Chrome 浏览器以获得最佳效果。
功能列表
- 支持 Markdown 所有基础语法
- 数学公式和 Mermaid 图表渲染
- 丰富的代码块高亮主题
- 自定义主题色和 CSS 样式
- 多图上传功能
- 文件导入导出功能
- 本地文章管理和草稿自动保存
- 支持多种图床配置(如 GitHub、阿里云、腾讯云等)
- Docker 镜像部署
使用帮助
自定义上传逻辑
在工具上没有提供预定义图床的情况下,你只需要自定义上传逻辑即可,这对于例如你不方便使用公共图床,而是使用自己的上传服务时非常有用。
你只需要在给定的函数中更改上传代码即可,为了方便,这个函数提供了可能使用的一些参数:
示例代码:
const { file, util, okCb, errCb } = CUSTOM_ARG
const param = new FormData()
param.append(`file`, file)
util.axios
.post(`http://127.0.0.1:9000/upload`, param, {
headers: { 'Content-Type': `multipart/form-data` },
})
.then((res) => {
okCb(res.url)
})
.catch((err) => {
errCb(err)
})
// 提供的可用参数:
// CUSTOM_ARG = {
// content, // 待上传图片的 base64
// file, // 待上传图片的 file 对象
// util: {
// axios, // axios 实例
// CryptoJS, // 加密库
// OSS, // tiny-oss
// COS, // cos-js-sdk-v5
// Buffer, // buffer-from
// uuidv4, // uuid
// qiniu, // qiniu-js
// tokenTools, // 一些编码转换函数
// getDir, // 获取 年/月/日 形式的目录
// getDateFilename, // 根据文件名获取它以 时间戳+uuid 的形式
// },
// okCb: resolve, // 重要!上传成功后给此回调传 url 即可
// errCb: reject, // 上传失败调用的函数
// }
如果你创建了适用于其他第三方图床的上传代码,我们非常欢迎你分享它。
如何开发和部署
# 安装依赖
npm i
# 启动开发模式
npm start
# 部署在 /md 目录
npm run build
# 访问 http://127.0.0.1:9000/md
# 部署在根目录
npm run build:h5-netlify
# 访问 http://127.0.0.1:9000/
快速搭建私有服务
方式 1. 使用 npm cli
[](https://github.com/doocs/md#%E6%96%B9%E5%BC%8F-1-%E4%BD%BF%E7%94%A8-npm-cli)
通过我们的 npm cli 你可以轻易搭建属于自己的微信 Markdown 编辑器。
# 安装
npm i -g @doocs/md-cli
# 启动
md-cli
# 访问
open http://127.0.0.1:8800/md/
# 启动并指定端口
md-cli port=8899
# 访问
open http://127.0.0.1:8899/md/
md-cli 支持以下命令行参数:
port
指定端口号,默认 8800,如果被占用会随机使用一个新端口。spaceId
dcloud 服务空间配置clientSecret
dcloud 服务空间配置
方式 2. 使用 Docker 镜像
如果你是 Docker 用户,也可以直接使用一条命令,启动完全属于你的、私有化运行的实例。
docker run -d -p 8080:80 doocs/md:latest
容器运行起来之后,打开浏览器,访问 http://localhost:8080 即可。
使用指南
- 基本操作:
- 打开在线编辑器或本地实例,进入编辑界面。
- 在编辑区域输入 Markdown 语法内容,实时预览效果。
- 使用工具栏中的按钮进行格式调整,如加粗、斜体、列表等。
- 高级功能:
- 数学公式:使用 LaTeX 语法输入数学公式,如
$E=mc^2$
。 - Mermaid 图表:输入 Mermaid 语法创建流程图、序列图等,如:
graph TD; A-->B; A-->C; B-->D; C-->D;
- 代码块高亮:使用三引号加语言名称创建代码块,如:
def hello_world(): print("Hello, world!")
- 自定义样式:在设置中添加自定义 CSS 样式,调整文章外观。
- 多图上传:点击工具栏中的图片按钮,选择多张图片上传,并配置图床。
- 文件导入导出:使用文件菜单中的导入导出功能,方便地管理文章文件。
- 数学公式:使用 LaTeX 语法输入数学公式,如
- 图床配置:
- GitHub 图床:配置 Repo 和 Token 参数,详细步骤见 GitHub 文档。
- 阿里云 OSS:配置 AccessKey ID、AccessKey Secret、Bucket 和 Region 参数,详细步骤见阿里云文档。
- 腾讯云 COS:配置 SecretId、SecretKey、Bucket 和 Region 参数,详细步骤见腾讯云文档。
- 其他图床:根据需要配置其他图床,如七牛云、MinIO、Cloudflare R2 等。
注意事项
- 某些浏览器插件可能会影响文章样式,建议在无插件模式下使用编辑器。
- 如果遇到样式丢失或渲染问题,可参考项目的 GitHub 讨论区或提交问题反馈。
通过以上步骤,用户可以轻松上手微信 Markdown 编辑器,快速创建和发布高质量的微信图文内容。