2.6 KiB
图形与脚本
Python 绘图项目位于 tools/figures,使用 drawsvg 输出可编辑 SVG。脚本与输出都保留在 Git 中。
pnpm figures
下图是制图工作流的最小示例,用于验证从 Python 源码到文档图片的完整链路。
扩展方式
在 tools/figures/src/endor_figures 下保留各张图的生成逻辑,并在 CLI 中调用。输出目录通过源码位置计算,不依赖运行命令时所在的目录。
CI 会重新生成图片并检查与提交版本一致。Python 依赖保留独立缓存,不进入生产运行镜像。
图形应使用本地字体与资源,并明确标注草案状态。未来可按具体需求加入自动布局或 TypeScript SVG 工具。
位图默认发布压缩版本
SVG 保留可编辑矢量格式;漫画、照片等位图的原始 PNG、JPEG 放在 tools/figures/assets,不放进 public。浏览器只使用生成的 WebP,正文、点击放大和图片适应屏幕都使用同一个压缩地址。
共享策略位于 content/image-policy.json:默认最大宽度 1600 像素、WebP 质量 82、每张图最多 192 KiB,不放大小图。修改策略后重新生成并检查公式、细线和小字是否清晰。
以下涉及图像编码与构建产物生成的命令在已确认的远程 CI/CD runner 上执行;未获明确许可时不在用户本机运行。
pnpm --filter @endor/docs images
pnpm --filter @endor/docs test:images
原图相对 tools/figures/assets 的路径会映射到 apps/docs/public/figures 下同名的 .webp。例如 endor-review-gate.png 对应 /figures/endor-review-gate.webp。文档只嵌入后一个地址,制作原稿不随网页发布。
远程生产构建会运行压缩脚本;CI 先生成 WebP,再重新编码核对产物与原稿、策略是否一致。WebP 是构建派生文件,不必在本机生成或提交;Git 保存原稿、制作记录与共享策略。检查同时拒绝公开目录里的原始位图及 Markdown 图片或 HTML img 直接引用的原始 PNG、JPEG。SVG 无需转成位图,仍按前述流程提交可编辑输出。
同一位置切换多张配图
把两张或更多 /figures/endor- 图片写在同一段,中间换行但不插入空行,正文会将它们呈现为图组。左右按钮和键盘左右方向键可以切换,下方圆点表示当前图片,也可点击直接选择。图片保留点击放大能力。
图组一次只挂载当前图片,切换后才加载下一张压缩图,不预先下载整组原图。