外部参照检查
Xrefcheck是一种用于验证存储库文档中本地和外部引用的工具,该工具快速、易于设置,并且适合添加到CI中。
动机
随着项目的发展,文档中的链接有断开的趋势。这通常是因为:
- 文件移动;
- 降价标题重命名;
- 外部站点停止存在。
此工具将帮助您保持参考的有序性。
目的
与其他解决方案相比,此工具尝试实现以下几点:
- 快速性-即使对于中等大小的存储库,也会立即验证本地引用。
- 简单的设置-无需额外操作,只需在存储库根目录中运行该工具即可。现成支持相对和绝对本地链接。
- 保守的验证器允许在CI中使用此工具,不应报告误报(例如在需要验证的站点上)。
与其他解决方案的比较
- 链接(linky)-一个用Rust编写的配置良好的验证器,一次扫描一个指定的文件,与诸如
找到
.此工具需要进行一些配置,然后才能应用于存储库或添加到CI。
- 棒极了-用Ruby编写的解决方案,可以轻松地包含在CI中或集成到GitHub中。它的功能包括重复URL检测、指定允许的HTTP错误代码和报告生成。在写作时,它只扫描外部引用,不可能检查锚定。
- 备注验证链接和remark-lint-no-dead-urls公司-高度可配置的Javascript解决方案,用于分别检查本地和远程链接。如果多个存储库集中在一个文件夹中,它可以一次检查它们。使用JavaScript编写,在大型存储库上速度相当慢。
- 标记-链接-检查-另一个用JavaScript编写的检查器每次扫描一个特定的文件。支架
邮寄地址:
链接解析。
- url检查器-检查指定文件中链接的GitHub操作。
- 链接检查-高级网站爬虫,检查
HTML格式
文件夹。对于这项特殊任务,还有其他解决方案,我们在这里没有提到。
在编写本文时,列出的解决方案不支持ftp/ftps链接。
依赖关系↑
外部参照检查要求您吉特
PATH中的2.18.0或更高版本。
我们为您提供了以下使用外部参照检查的方法:
如果这些都不适合你,请打开一个问题!
要查找存储库中所有断开的链接,请从其文件夹中运行:
外部参照检查
要同时显示所有找到的链接和定位,请执行以下操作:
外部参照检查-v
有关其他选项的说明:
xrefcheck帮助
特殊功能
忽略外部链接如果不想验证某些外部链接,可以使用以下方法之一忽略这些链接:
-
将与忽略链接匹配的正则表达式添加到ignoreRefs(忽略参考)
配置文件的参数。
例如:
ignoreRefs(忽略参考):-https://bad.参考。(org|com)(/?)
允许忽略这两者https://bad.reference.org
和https://bad.reference.com
带或不带最后一个“/”。
-
使用以下忽略模式之一添加右侧就地注释(每个模式只是具有特定语法的注释)。
-
忽略链接:
有几种方法可以添加此注释:
-
只需在忽略链接之前像常规文本一样添加它。
错误的['com'引用](https://bad.reference.com) <!-- xrefcheck:忽略链接-->和错误的[“org”引用](https://bad.reference.org网站)
-
用单行新行将忽略链接与注释和以下文本分开。
错误的['com'引用](https://bad.reference.com)和坏<!--xrefcheck:忽略链接-->[组织](https://bad.reference.org)参考
因此,只有https://bad.reference.org网站
将被忽略。
-
如果忽略链接是段落中的第一个链接,则也可以在段落之前添加注释。
<!-- xrefcheck:忽略链接-->[错误的“组织”引用](https://bad.reference.org)[错误的“com”引用](https://bad.reference.com)
还是一样的https://bad.reference.org
在这种情况下将被忽略。
-
忽略以下段落:
<!-- 外部参照检查:忽略段落-->错误的['org'引用](https://bad.reference.org)错误的['com'引用](https://bad.reference.com)错误的['io'引用](https://bad.参考.io)
这样,https://bad.reference.org
和https://bad.reference.com
将被忽略,并且https://bad.参考.io
仍将进行验证。
-
忽略整个文件:
<!-- 评论--><!-- 另一条评论--><!-- xrefcheck:忽略文件-->…文件的其余部分。。。
使用此选项可以忽略整个文件。
正在配置
配置模板(解释了所有选项)可以转储为:
xrefcheck转储配置-t GitHub
当前支持的选项包括:
构建说明↑
运行烟囱安装
构建所有内容并安装可执行文件。如果你想使用阴谋集团,你需要运行(堆叠2容器
)[https://hackage.haskell.org/package/stack2cabal]首先!
CI和nix↑
要仅生成可执行文件,请运行无构建
。可以在CI上使用此行来使用外部参照检查:
nix运行-fhttps://github.com/serokell/xrefcheck/archive/master.tar.gz-c外部参照检查
我们的CI使用nix-build xrefcheck.nix
构建整个项目,包括测试和Haddock。它基于哈斯克尔nix
项目。如果你愿意,你也可以这样做。
用于进一步的工作↑
问题跟踪程序↑
我们使用GitHub问题作为问题跟踪程序。您可以使用GitHub帐户登录以发表评论或创建新问题。
供参与者使用↑
请参阅贡献.md了解更多信息。
关于Serokell↑
外部参照检查由❤️ 通过塞罗凯尔.塞罗基尔的名称和标志是塞罗基尔奥尤的商标。
我们喜欢开源软件!请参见我们的其他项目或雇佣我们设计、发展和发展您的想法!