文本链接 - 规则 - 不死 - 相对链接
这是一个 文本lint 规则 用于验证下调文档中的链接。 它所做的是:
- 它忽略了外部链接. 这个
RegExp用于过滤出此类链接的是/^[a-z][a-z0-9+.-]*:/i - 对于所有相对链接,它会检查是否有由链接指定的文件. 相对链接相对于包含链接的文件解决.
- 对于所有与主锚的相对链接,或仅在同一个文件中的主锚,它检查主锚是否存在. 它将锁定链接作为标记下文档的方式与github一样,即规则使用 滑轮 进行验证.
安装
- 由于这是文本lint规则,所以首先按照 textlint 正在启动向导。 。 。 .
- 此规则作为 npm 软件包可用, 可以使用
npm install --save-dev textlint-rule-no-dead-relative-link
或者说yarn add --dev textlint-rule-no-dead-relative-link接下来yarn install
使用量
如果你对Textlint不熟悉,请参考 正在配置文本林特 用于 textlint 配置细节.
添加以下一个 .textlintrc 文件
- 没有任何选项
{
"rules": {
"no-dead-relative-link": true
}
}
或者说
- 有选项
{
"rules": {
"no-dead-relative-link": {
"resolve-as-markdown": "[.html]"
}
}
}
通过命令行参数使用
textlint --rule textlint-rule-no-dead-relative-link README.md
选项
解析标记
此选项需要一系列文件扩展值, 并将带有这些扩展名的文件视为已标记的文件 .
为等. 配置如下:
{
"rules": {
"no-dead-relative-link": {
"resolve-as-markdown": [".html"]
}
}
}
财务报告和审定财务报表 [README](README.html) 作为输入,此规则将检查是否存在 README.md 文档.
路径图
当需要使用替代文件路径验证相对链接时使用此选项 .
此选项需要一系列源和目的对 。 源值为 a Regex,目的地值为
(单位:千美元) String 包括来自 source 使用 $ 标注.
为等. 配置如下:
{
"rules": {
"no-dead-relative-link": {
"route-map": [
{
"source": "^../javadocs/(\\d+\\.\\d+\\.\\w+)",
"destination": "../../static/javadocs/$1"
}
]
}
}
}
财务报告和审定财务报表 ../javadocs/1.0.x/overview-summary.html 作为正在检查的链接,此规则检查是否存在
overview-summary.html 文件位于 ../../static/javadocs/1.0.x/overview-summary.html。 。 。 .
路由图排序
确保每个 route-map 配对是具体的,因为路由图选项将使用第一个验证相对链接
匹配配置中发现的 regex .
为等. 配置如下:
{
"rules": {
"no-dead-relative-link": {
"route-map": [
{
"source": "../../javadocs/",
"destination": "../website/static/javadocs/"
},
{
"source": "../javadocs/1.0.x/",
"destination": "../../static/javadocs/1.0.x/"
}
]
}
}
}
财务报告和审定财务报表 ../../javadocs/1.0.x/overview-summary.html 作为正在检查的链接,此规则检查是否存在
overview-summary.html 第一个目的地的文件 ../website/static/javadocs/1.0.x/overview-summary.html 换成
第二个目的地 ../../static/javadocs/1.0.x/overview-summary.html。 。 。 .