Markdown Lint

📋 Markdown 规范一站式配置与修复

一键配置 markdownlint 与 pre-commit 钩子,自动修复 MD013/MD040/MD060 等格式错误,支持 monorepo 场景与 CJK 文本优化。

收藏
2.4k
安装
954
版本
0.2.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

本 skill 专为仓库级 Markdown 格式治理设计,提供从初始化到持续集成的完整工作流:

1. 配置文件生成:创建 .markdownlint.json,针对中文内容优化——关闭 MD013(行长限制)、MD033(行内 HTML)、MD035/MD036(水平线/强调标题),并预留 MD025/MD045/MD051/MD056 等按需禁用规则;同时生成 .pre-commit-config.yaml 集成 markdownlint-cli2 与自定义水平线检查脚本。

2. 水平线清理:通过 awk 脚本智能识别 YAML frontmatter 与正文 ---,批量移除违规水平线而不破坏文档元数据。

3. 批量修复markdownlint-cli2 --fix 处理自动修复,对 MD040(代码块无语言标识)等需手动介入的问题给出统计分析与修复建议。

4. Monorepo 适配:支持 #repos #node_modules 排除语法,避免子仓库与依赖目录干扰。

显著优点

  • 中文场景优化:预设规则集针对 CJK 文本、表格管道符间距、中文锚点链接等痛点专项调整,开箱即用。
  • 双重防护机制:markdownlint 覆盖 60+ 规则,叠加自定义 shell 脚本禁止水平线,防止视觉分隔符滥用。
  • 自动化闭环:pre-commit 钩子实现提交前强制检查,配合 --fix 自动修复,降低人工介入成本。
  • 渐进式配置:提供「按需追加禁用」规则表,允许仓库根据导入文档(vendor docs)或复杂表格结构灵活调整。

潜在缺点与局限性

  • Node.js 依赖:核心工具链依赖 npm 生态,对纯 Python/Go 仓库增加环境复杂度。
  • Windows 兼容性:水平线检查脚本为 Bash,Windows 用户需 Git Bash 或 WSL 支持。
  • 非语义检查:仅覆盖格式规范(空格、标题层级、代码块标签),不涉及内容质量、链接有效性或拼写检查。
  • 无法自动修复的规则:MD040、MD025 等需人工判断,大规模 vendor 文档可能需要批量禁用规则而非逐条修复。

适合人群

  • 技术文档团队:需要统一 Markdown 风格规范,尤其是多语言混合(CJK + 英文)场景。
  • 开源项目维护者:希望低成本建立 CI-ready 的文档质量门禁。
  • Monorepo 开发者:需跨子仓库统一格式标准,同时避免递归检查依赖目录。

常规风险

  • 配置漂移.markdownlint.json 分散在多个仓库时,规则集可能随时间分化,建议通过共享配置包或模板仓库同步。
  • pre-commit 版本锁定rev: v0.21.0 可能滞后,需定期运行 pre-commit autoupdate
  • 误删风险:批量清理水平线的 awk 脚本虽保留 frontmatter,但异常格式(如 frontmatter 后空行)可能导致误判,建议先备份或逐仓库验证。

安全等级说明

本 skill 执行文件系统操作(创建配置、修改 .md 内容、安装 git hooks),但作用域限定于当前仓库,不访问网络或敏感数据。水平线清理脚本经 grep 过滤输入,避免错误消息被当作文件名处理,具备基础输入校验。

Markdown Lint 内容

scripts文件夹
手动下载zip · 4.3 kB
check-horizontal-rules.shtext/x-shellscript
请选择文件