一个面向中文写作的小型排版工具,当前为纯静态版本(无 Umi、无 Ant、无 React)。
- TypeScript
- Vite
- 原生 DOM
- 正则驱动排版规则
src/main.ts:前端入口(仅启动)src/core:平台无关的排版核心逻辑(可复用到 Web / Bot / CLI)src/web:浏览器 UI 与本地存储逻辑src/bin:可执行文件侧的适配入口(与 Web 解耦)src/bot:Telegram 对接接口层(不绑定 grammy,便于单独演进)
- 业务入口用
src/bot/service.ts的typesetForTelegram或createTelegramHandler。 - 会话状态建议用
src/bot/store.ts的 LRU+TTL 存储,避免 chat 状态无限增长。 - 长消息建议启用
src/bot/text.ts的自动分片,规避 Telegram 4096 字符限制。
仓库已内置 npm 镜像(.npmrc):https://registry.npmmirror.com/。
npm install
npm run devnpm run build构建产物目录为 dist/,可直接部署到 GitHub Pages。
仓库内置 GitHub Actions:推送到 master 后自动构建并发布 dist/ 到 Pages。
- 已加入高级正则能力探测。
- 不支持高级正则的浏览器会自动走兼容回退路径(避免语法级报错)。
- 删除空行
- 段首缩进
- 中英文间加空格
- 删除中文与中文标点间空格
- 多项标点修正(逗号、句点、冒号、问号、叹号、分号、括号、书名号、破折号等)
- 段落间隔设置(含自定义分隔符)
- 在纯文本规则基础上进行 Markdown 安全排版
- 跳过并保护以下范围:
- 代码块(fenced code,支持反引号或波浪线)
- 行内代码(
...) - URL 与自动链接
- 表格分隔线
- HTML 注释块
- 支持“保护范围预览”开关,便于观察跳过区域
tests/case/test-text-plain-regression.txt(纯文本回归样例)tests/case/test-text-markdown-regression.md(Markdown 回归样例)
- Markdown 规则继续细化(列表、引用、任务列表等)
- 更细粒度规则开关(按规则组启停)
- 更多可配置规则(如引号、间隔号、简繁转换)
MIT