Slugify URLs
Slugify 所有页面 URL,移除潜在冲突的字符
配置参数
- extensions string[] *
The list of extensions this plugin applies to
Default:[ ".html" ]
描述
slugify_urls
插件转换你的页面和文件中的所有 URL,通过移除或替换潜在冲突的字符,例如重音符号、空格等。
一旦启用,输出路径将自动 slugify:空格被替换为 -
,诸如 ñ
或 á
这样的字符被替换为 ASCII 等效字符(n
和 a
),并转换为小写:
/posts/My First Post.md => /posts/my-first-post/index.html
安装
在你的 _config.ts
文件中导入此插件以使用它:
import lume from "lume/mod.ts";
import slugifyUrls from "lume/plugins/slugify_urls.ts";
const site = lume();
site.use(slugifyUrls());
export default site;
配置
默认情况下,仅 HTML 页面会被 slugify。 如果你想将此插件应用于其他文件,例如 jpg 图片,请使用 extensions
选项:
site.use(slugifyUrls({
extensions: [".html", ".jpg"],
}));
或者设置 *
来 slugify 所有文件:
site.use(slugifyUrls({
extensions: "*",
}));
Slugify 选项
你可以使用以下选项配置 slugifier:
/* 默认选项 */
site.use(slugifyUrls({
lowercase: true, // 将所有字符转换为小写
alphanumeric: true, // 将非字母数字字符替换为它们的等效字符。例如:ñ 替换为 n。
separator: "-", // 用作单词分隔符的字符
stopWords: ["and", "or", "the"], // 不包含在 slug 中的单词列表
replace: { // 包含单个字符替换的对象
"Ð": "D", // eth
"ð": "d",
"Đ": "D", // crossed D
"đ": "d",
"ø": "o",
"ß": "ss",
"æ": "ae",
"œ": "oe",
}));