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,所有其他页面将不会被测试。