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>
是每个失效链接被找到的页面。