zhangjing361/wengao-box
效率与系统工具把 Markdown 或 AI 回答在浏览器本地转成可继续编辑的 Word 文档,并提供中文排版模板。
项目介绍
文稿盒用于把已有的 Markdown 文本——包括从 AI 助手复制来的回答——转换为可继续编辑的 .docx 文件。它面向需要快速得到 Word 草稿、又不想手工重排标题、列表和表格的人。
解析和 DOCX 生成都在浏览器内完成。据项目说明,正文只在当前页面内存中处理,不上传、不发给模型、不存入 localStorage。预览展示的是内容和样式,不是 Word 的精确分页效果。
支持的输入包括一级至六级标题、段落、粗体/斜体/删除线、最多 3 层的有序与无序列表、管道表格、行内代码与围栏代码、引用和分隔线。提供两套 A4 中文模板:普通文档和课程报告;两者都依赖本机已安装的字体。
快速使用
仓库没有绑定在线演示地址,按文档说明需在本地运行。需要 Node.js 22.12+,推荐 Node.js 24。
npm ci
npm run dev
打开终端显示的本地地址。不能直接双击源码里的 index.html,源码需要开发服务器或构建步骤处理。若已有在线部署,产品内流程是:点击「载入示例」,选择「普通文档」或「课程报告」,填写文件名,点击「下载 Word」,再用文字处理软件打开生成的 .docx。仓库中提供了输入示例和导出后的 Word 示例。
生成可部署的静态产物:
npm run build
npm run preview
生成的 dist/ 可放到静态服务器,资源使用相对路径,因此也适用于 GitHub Pages 的仓库子路径。部署细节见发布指南。
使用约束
- 不会自动保存。刷新或关闭页面可能丢失未导出的文稿;页面会尝试触发离开提醒,但浏览器不保证所有关闭场景都弹窗。
- 不下载或嵌入图片,只保留图片说明与地址;链接会转成名称加地址的文本。HTML 按文字保留,不执行。
- LaTeX 公式只作为文字保留,不转成 Word 公式。脚注、复杂图表、富文本剪贴板样式和复杂 Markdown 扩展不在承诺范围内。
- 输入上限为 100,000 个字符(按 JavaScript UTF-16 长度计)和 500 个块级元素。表格最多 30 列、200 行(含表头);某行列数多于表头时拒绝转换,避免静默丢失单元格。
- 课程报告模板只是通用排版预设,不代表任何学校的格式标准。不嵌入字体,打开文件后的显示效果取决于本机字体。
- 导出文件不含宏或远程图片关系,但工具不会核查正文内容或其中地址是否可信。
开发与测试
npm test
npm run build
npm audit
浏览器测试默认使用本机 Edge,命令为 npm run test:browser。没有 Edge 时,可先执行 npx playwright install chromium,再设置 PW_CHANNEL=chromium 运行(Windows PowerShell 下为 $env:PW_CHANNEL='chromium'; npm run test:browser)。测试覆盖范围和未验证环境见 QA 记录。代码结构上,parser.js 生成共享文档结构,preview.js 用安全 DOM 构建预览,exporter.js 生成 DOCX,templates.js 管理排版预设。
许可与贡献
项目采用 MIT 许可证,第三方依赖许可见完整声明。贡献时请提供脱敏且可复现的输入、预期效果和实际截图,不要提交真实学生信息、公司资料、密码或 API Key。
HotRepo 点评
该项目在 HotRepo 2026-11-02 的 JavaScript 新项目榜中出现,统计窗口约两小时内新增 4 个 Star,采集到的 Star 总数从 108 升到 112。这是单日的小样本,不能据此判断持续趋势。资料中更值得关注的是它对边界的说明相当具体:字符和表格上限、不自动保存、不嵌入字体,以及表格某行宽于表头时拒绝转换而不是静默丢单元格。对于只需要在本地完成 Markdown 转 Word 的场景,这些约束正是采用前应核对的要点。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。