大家好,我是正在实战各种 AI 项目的程序员晚枫。
🤔 为什么写这篇?
上周写了篇推荐白开水 AI 社区排版工具的文章。
有读者问:
“这个工具好用是好用,但背后用了什么技术?靠谱吗?”
好问题!
今天就来扒一扒这个工具的技术栈。
🔍 先上结论
技术栈:
- 前端:Vue.js + Element UI
- Markdown 解析:markdown-it
- 代码高亮:highlight.js
- 部署:Nginx 静态托管
靠谱吗?
- ✅ 主流技术栈
- ✅ 开源可审计
- ✅ 白开水 AI 社区背书
- ✅ 无后端,数据不上传
结论:靠谱,可以放心用。
📦 技术架构拆解
1. Markdown 解析
核心库:markdown-it
1 | import markdownit from 'markdown-it' |
为什么选它?
- 性能好(比 marked 快)
- 插件生态丰富
- 支持 CommonMark 规范
2. 代码高亮
核心库:highlight.js
支持的语言:
- Python ✅
- JavaScript ✅
- Java ✅
- Go ✅
- C++ ✅
- … 共 185 种语言
支持的主题:
- default(默认)
- atom-one-dark(暗黑)
- github(GitHub 风)
- solarized-light(太阳能)
- … 共 96 种主题
3. 实时预览
原理很简单:
1 | // 监听输入 |
延迟优化:
- 使用防抖(debounce)
- 300ms 延迟渲染
- 避免频繁计算
4. 样式定制
CSS 变量实现:
1 | :root { |
用户调整配置时,只需修改 CSS 变量。
5. 一键复制
核心代码:
1 | async function copyToClipboard() { |
兼容性:
- Chrome ✅
- Edge ✅
- Safari ✅
- Firefox ⚠️(部分版本支持)
🎯 为什么没有后端?
你可能发现了:这个工具纯前端。
好处:
1. 数据安全
- 文章内容不上传服务器
- 没有数据泄露风险
- 本地处理,隐私保护
2. 速度快
- 无网络请求延迟
- 解析在本地完成
- 秒开秒用
3. 成本低
- 只需静态托管
- 无数据库
- 无服务器运维
托管方案:
- GitHub Pages
- Vercel
- Netlify
- 自有 Nginx
白开水 AI 社区用的是自有服务器。
🔒 安全性分析
潜在风险
1. XSS 攻击
Markdown 允许 HTML,可能有 XSS 风险。
防护:
1 | import DOMPurify from 'dompurify' |
2. 恶意脚本
用户输入可能包含 <script> 标签。
防护:
- markdown-it 默认禁用脚本
- DOMPurify 二次过滤
- CSP 头限制
3. 数据泄露
纯前端应用,数据不上传。
验证方法:
- 打开浏览器开发者工具
- 切换到 Network 标签
- 使用工具时观察网络请求
- 应该没有文章内容的上传请求
💡 开源价值
代码在哪里?
白开水 AI 社区开源项目:
排版工具代码:
- 社区正在整理开源
- 预计近期发布
- 欢迎贡献 PR
为什么开源?
- 透明:代码公开,无后门
- 可信:社区共同审计
- 可定制:可以自己改
- 可学习:前端练手好项目
🚀 技术人怎么用?
用法 1:直接使用
访问 https://python4office.cn/md2mp/
写文章,排版,发布。
用法 2:自己部署
1 | # 克隆代码(开源后) |
用法 3:二次开发
可以定制:
- 添加新主题
- 支持更多 Markdown 语法
- 集成图床上传
- 添加模板系统
🎓 学习价值
这个项目适合:
- ✅ 前端初学者(代码简洁)
- ✅ Vue.js 学习者(实战项目)
- ✅ Markdown 爱好者(理解解析原理)
- ✅ 开源贡献者(参与社区项目)
技术点:
- Vue 3 Composition API
- Markdown 解析
- 代码高亮
- 剪贴板 API
- CSS 变量
🚀 立即体验
工具地址:https://python4office.cn/md2mp/
建议:
- 先用起来,感受效果
- 等代码开源,研究实现
- 有兴趣可以贡献 PR
- 一起把工具做得更好
📚 相关阅读 & 课程推荐
OpenClaw 智能助手
- GitHub: https://github.com/openclaw/openclaw
- PyPI:
pip install openclaw
AI 编程学习入口
- 课程目录:https://www.bilibili.com/cheese/play/ss982042944/
- 《流畅的 Python》20 讲:https://python4office.cn/course/AI/fluent-python/README/
- CPython 设计与实现:https://python4office.cn/course/AI/cpython-internal/README/
交流群
- 微信:扫码加好友
- 微博:@程序员晚枫
- 知乎:@程序员晚枫
- B 站:Python 自动化办公社区
金句:好的工具,不仅好用,还要透明、可信、可学习。
行动:用这个工具写篇文章,然后看看源码,学点新技术!