本项目基于 wechat-format 进行二次开发,感谢 lyricat 的创意和贡献!
Markdown 文档自动即时渲染为微信图文,让你不再为微信文章排版而发愁!只要你会基本的 Markdown 语法,就能做出一篇样式简洁而又美观大方的微信图文。
在线地址Gitee Pages:https://doocs.gitee.io/md
GitHub Pages:https://doocs.github.io/md
注:推荐使用 Chrome 浏览器,效果最佳。另外,对于国内(中国)的朋友,访问 Gitee Pages 速度会相对快一些。
为何二次开发现有的开源微信 Markdown 编辑器,样式繁杂,也不符合我个人的审美需求。在我使用它们进行文章排版的时候,经常还要自己做一些改动,费时费力,因此动手做了二次开发。
欢迎各位朋友随时提交 PR,让这款微信 Markdown 编辑器变得更好!如果你有新的想法,也欢迎在 Discussions 讨论区反馈。
功能特性效果图
- 支持自定义 CSS 样式
- 支持 Markdown 所有基础语法
- 支持浅色、暗黑两种主题模式
- 支持 Ctrl F 快速格式化文档
- 支持色盘取色,快速替换文章整体色调
- 支持多图上传,可自定义配置图床
- 支持自定义上传逻辑
- 支持在编辑框右键弹出功能选项卡
- 支持批量转换本地图片为线上图片
注意事项
如果你使用了某些浏览器脚本修改了网页背景色,可能导致渲染后的文章出现背景色分块的现象,详见 #63。
某些浏览器插件,会对文章样式造成破坏。现象是:复制粘贴到公众号后台文章,点击保存时,样式丢失,详见 #151。
自定义上传逻辑在工具上没有提供预定义图床的情况下,你只需要自定义上传逻辑即可,这对于例如你不方便使用公共图床,而是使用自己的上传服务时非常有用。
你只需要在给定的函数中更改上传代码即可,为了方便,这个函数提供了可能使用的一些参数:
示例代码:
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, // ali-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
通过我们的 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 即可。
开源地址https://gitee.com/Doocs/md
,