markdownlint配置文件规则未生效,如何排查解决?
问题根源:混淆了两个不同的Markdown检查工具
你遇到的核心问题是混用了mdl(Ruby实现的Markdown lint工具)和markdownlint-cli(Node.js实现的工具),两者的配置文件格式、命名规则完全不兼容:
- 你写的
.markdownlint.yml是markdownlint-cli的配置文件 - 但你执行的是
mdl命令,该工具只会读取自己的配置文件(默认.mdlrc),所以你的规则根本没被正确加载。
两种解决思路
思路1:继续使用mdl工具
步骤1:创建正确的配置文件
将原配置改为mdl支持的格式,保存为.mdlrc(YAML格式):
rules: # 启用默认规则 - default: true # 自定义MD013的行长度为240 - rule: MD013 options: line_length: 240 # 忽略YAML前置内容(匹配开头的---块) - exclude: patterns: - ^---$ - ^\w+:.*$ - ^---$
步骤2:执行检查
mdl --config .mdlrc test.md
思路2:改用markdownlint-cli工具(推荐,配置更直观)
步骤1:安装工具
npm install -g markdownlint-cli
步骤2:保留你的.markdownlint.yml配置
确保配置格式正确(缩进无错误):
default: true ignore_front_matter: true MD013: line_length: 240
步骤3:执行检查
markdownlint --config .markdownlint.yml test.md
额外验证点
- 确认你的YAML前置内容格式标准:必须是文件开头的
---开头、---结尾的块,示例:
--- title: 测试文档 date: 2024-05-20 ---
- 若使用
markdownlint-cli,可通过markdownlint --verbose test.md确认配置是否被正确加载。
内容的提问来源于stack exchange,提问作者jeremywat
相关产品推荐
相关产品推荐

