分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

zhangjing361/wengao-box

效率与系统工具

把 Markdown 或 AI 回答在浏览器本地转成可继续编辑的 Word 文档,并提供中文排版模板。

113
2
JavaScript
MIT
创建于 2 天前

项目介绍

文稿盒用于把已有的 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 生成,更新于 ,以项目官方文档为准。