帖子代码工程阅读器与 CMS 发布工作流
- 为 Blog、Study 和 Projects 三类帖子增加统一的可选代码工程展示能力,普通帖子保持原有阅读版式。
- CMS 新增“代码工程阅读器”配置,可启用阅读器、上传项目 ZIP、指定默认打开文件并设置阅读器标题。
- 新增类似 VS Code 的只读代码阅读器,支持文件夹树、文件切换、语法高亮、复制代码、自动换行和明暗主题。
- 阅读器使用 Monaco Editor,并通过动态加载保证普通帖子不会加载编辑器资源。
- 移动端将文件目录改为可展开抽屉,代码区域继续支持横向滚动和自动换行。
- 构建流程新增代码包预处理脚本,使用 fflate 解压 ZIP,并生成安全的文件清单与纯文本预览资源。
- 代码包处理会限制压缩包、单文件、文件数量和解压后总体积,阻止路径穿越与压缩炸弹。
- 自动过滤 .git、node_modules、dist 等无关目录,并拒绝 .env、私钥和证书等敏感文件。
- 二进制文件会保留在文件树中但不提供内容预览;上传的代码只读展示,不会在网页中执行。
- 新增代码包自动化测试,验证文本语言识别、二进制识别、目录过滤和敏感文件拒绝逻辑。
- 新增“代码工程阅读器:在帖子中展示完整项目目录”项目技术记录,整理数据结构、CMS 操作、构建流程和安全边界。