Filter pages
基于特定条件过滤页面
配置参数
- extensions string[] *
The list of extensions this plugin applies to
Default:"*"
- fn function
The function to test the page
Default:(page) => true
描述
此插件允许使用 callback 过滤站点的页面。
安装
此插件需要一个 function,它接收 Page
instance 作为第一个 argument 并且必须返回一个 boolean 值。如果返回 false
,该页面将被丢弃。例如,要删除所有带有 property ignored=true
的页面:
import lume from "lume/mod.ts";
import filterPages from "lume/plugins/filter_pages.ts";
const site = lume();
site.use(filterPages({
fn: (page) => page.data.ignored !== true,
}));
export default site;
限制要测试的文件
默认情况下,此插件测试所有 output files:不仅是 'pages',还包括 assets,例如 .css
。你可以使用 extensions
option 来控制这一点,该 option 指定要应用到的 extensions:
site.use(filterPages({
extensions: [".html", ".json"],
fn: (page) => page.data.ignored !== true,
}));
这将仅测试 extensions 为 .html
或 .json
的 output files,所有其他页面将不会被测试。