cn-linebreak:中文网页文案断行审查与修复工具

前言

在 DeepSeek Harness (DSH) 插件生态中,处理中文网页文案时,排版问题常被忽视。显式断行错误(如孤字行)或缺少 CSS 保护规则,会导致页面在浏览器中显示不佳。cn-linebreak 是一个针对这类问题的审查与修复工具。

这是什么

cn-linebreak 是一个中文网页文案断行审查与修复工具。它由 chiang21fcb 维护,是一个零依赖、纯 JavaScript(需 Node >= 18)的静态 HTML 审计器。该工具将《中文网页文案断行修复指南》中的规则转化为可执行的检查,旨在解决显式断行错误及高风险写法。

核心功能

该插件提供以下核心能力:

  • 审查显式断行错误:检查孤字行、标点符号规则违规(如行首/行尾出现禁则标点)、缺少 word-break: keep-all、覆盖文本元素的全局 white-space: nowrap、保护词被换行拆开等。
  • 自动修复:在自然停顿处(如 ,。;:、)自动插入 <wbr> 标签。修复模式会跳过脚本、样式、预格式化文本区域以及 .no-break 保护区域。
  • 代理工具:安装后,DSH 代理可直接调用 cn_linebreak_audit 工具。
  • 静态审计:支持对静态 HTML 进行全面检查。

安装与启用

安装该插件包(它也是 DeepSeek Harness 的标准插件包):

dsh plugin --profile <name> add cn-linebreak

安装完成后,插件会注册 cn_linebreak_audit 工具,供代理调用。该工具支持通过配置文件覆盖 protectedPhrases(保护词典)等参数。

典型用法

以下是该工具在命令行和代码中的典型用法:

# 审查一个文件
npx cn-linebreak page.html

# 审查并输出修复版 HTML(stdout),摘要走 stderr
npx cn-linebreak --fix page.html > page.fixed.html

# 完整 JSON 报告
npx cn-linebreak --json page.html

在 JavaScript 环境中,可以通过 CommonJS 引入:

const { auditHtml } = require('cn-linebreak')
const report = auditHtml('<p>读产品手册,提取事实,输出文档。</p>', { mode: 'fix' })
console.log(report.issues)

适用场景与注意

该工具适合需要对中文网页断行进行规范化检查的开发者。

需要注意以下几点:
* 静态检查局限:工具只能看到 HTML 中已明确存在的 <br>/<wbr> 和文本/CSS 结构,无法感知浏览器按真实字号、容器宽度渲染后的实际换行结果。
* 修复模式保守:修复模式是机械插入,任何语义边界(如产品名)都需要人工复核。
* 人工复核:不能识别浏览器渲染后的孤字行(该功能在路线图 v0.4.0 中规划)。

结语

cn-linebreak 提供了一套标准化的中文断行检查方案,适合集成到 DSH 工作流中。通过明确的断行标记(<wbr>)和 CSS 规则,可以提升中文网页的排版质量。

查看目录页
查看 GitHub 仓库

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜