Check URLs

自动检查你网站的 URLs 以检测失效链接

配置参数

extensions string[]

The list of extensions this plugin applies to

Default:
[ ".html" ]
strict boolean

True to require trailing slashes and ignore redirections (oldUrl variables)

Default:
false
ignore string[]

The list of URLs to ignore

external boolean

True to check external links

Default:
false
output string function

To output the list to a json file

描述

这个插件检查你网站的内部链接,以及可选的外部链接,并在发现失效链接时发出警告。

安装

在你的 _config.ts 文件中导入此插件以使用它:

import lume from "lume/mod.ts";
import checkUrls from "lume/plugins/check_urls.ts";

const site = lume();

site.use(checkUrls(/* 选项 */));

export default site;

默认检查

默认配置将检查你所有的内部链接,并在发现失效链接时发出警告。这个插件与 重定向 兼容:当找到指向不存在页面的链接,但它重定向到一个存在的页面时,该 url 被认为是有效的。

严格模式

有一个模式用于更_严格_的检测:

site.use(checkUrls({
  strict: true,
}));

在_严格_模式下,**不允许重定向,**所有链接必须指向最终页面。 这也影响到尾部斜杠:例如 /about-me 是无效的,但 /about-me/ 是有效的。

外部 URLs

默认情况下,此插件仅检查内部链接。但你可以配置它来检查指向外部域名的链接:

site.use(checkUrls({
  external: true,
}));

Warning

这个选项可能会使构建变慢,特别是当你有很多外部链接时,所以可能最好只在偶尔启用它。

输出

默认情况下,找到的失效链接会显示在控制台中。使用 output 选项可以将失效链接列表导出到 JSON 文件:

site.use(checkUrls({
  external: true,
  output: "_broken_links.json",
}));

或者使用一个函数进行自定义输出:

site.use(checkUrls({
  external: true,
  output: (brokenLinks) => {
    console.log(`${brokenLinks.size} broken links found!`); // 发现失效链接!
  },
}));

brokenLinks 参数的类型是 Map<string, Set<string>>:map 的键是找到的失效链接,而 Set<string> 是每个失效链接被找到的页面。