Jekyll站点GitHub Action链接检查器正则更新:兼容尾斜杠并补.md后缀
调整后的正则配置
可直接替换原有重写规则,兼容带/不带末尾斜杠的两类内部路径:
{ "pattern": "(?<![\\w/])(/[^\\s<>#?]+?)(?:/)?(\\s|$)(?!\\.\\w)", "replacement": "$1.md$2" }
规则逻辑说明
- 核心调整:将原规则强制匹配末尾斜杠的逻辑,改为可选匹配末尾单斜杠,无斜杠的纯内部路径也能被正常识别
- 防护机制避免误伤正常内容:
- 前置断言
(?<![\\w/]):确保匹配单元是独立完整的链接,不会从普通文本中间截断匹配内容 - 后置断言
(?!\\.\\w):跳过已经带文件后缀的路径(如.md、.pdf、.jpg等),不对已经合规的链接做重复修改 - 单独捕获路径后的空白/行尾标记,替换后保留原位置的分隔符,不会挤压后续文本
- 路径匹配使用排除法(过滤空白、链接语法尖括号、锚点
#、查询参数?),可兼容带版本号、短横线等特殊字符的路径结构
- 前置断言
实际匹配效果参考
| 输入路径 | 处理结果 |
|---|---|
/docs/article1/ | 替换为/docs/article1.md |
/docs/article1 | 替换为/docs/article1.md |
/docs/article1.md | 不触发替换,保持原内容 |
https://example.com/docs/article1 | 不触发替换,保持原内容 |
/docs/article1#intro | 不触发替换,保持原内容 |
/docs/v2.1/guide/ | 替换为/docs/v2.1/guide.md |
内容的提问来源于stack exchange,提问作者Mark Zegarelli
相关产品推荐
相关产品推荐

