速查表
所有配置选项都在一个简单的页面中
Lume 实例化
以下是创建新站点时所有可用的选项(以及默认值):
const site = lume(
{
/** 站点源文件的路径 */
src: "./",
/** 构建目标路径 */
dest: "./_site",
/** 是否在构建前清空目标文件夹(在 `dest` 中定义) */
emptyDest: true,
/** 默认包含路径 */
includes: "_includes",
/** 站点位置(用于生成最终 URL) */
location: new URL("http://localhost"),
/** 设置为 true 以生成美观的 URL (`/about-me/`) */
prettyUrls: true,
/** 本地服务器选项 */
server: {
/** 监听端口 */
port: 3000,
/** 在浏览器中打开服务器 */
open: false,
/** 404 错误时提供的文件 */
page404: "/404.html",
/** 服务器的可选中间件 */
middlewares: [];
},
/** 本地观察器选项 */
watcher: {
/** 观察器忽略的路径 */
ignore: [
"/.git",
(path) => path.endsWith("/.DS_Store"),
],
/** 检查更改的间隔,单位为毫秒 */
debounce: 100,
},
/** 组件选项 */
components: {
/** 用于访问组件的变量名 */
variable: "comp",
/** 用于保存组件 CSS 代码的文件名 */
cssFile: "/components.css",
/** 用于保存组件 Javascript 代码的文件名 */
jsFile: "/components.js",
}
},
{
/** 默认加载的 url 插件的选项 */
url: undefined,
/** 默认加载的 json 插件的选项 */
json: undefined,
/** 默认加载的 markdown 插件的选项 */
markdown: undefined,
/** 默认加载的 modules 插件的选项 */
modules: undefined,
/** 默认加载的 nunjucks 插件的选项 */
nunjucks: undefined,
/** 默认加载的 search 插件的选项 */
search: undefined,
/** 默认加载的 paginate 插件的选项 */
paginate: undefined,
/** 默认加载的 yaml 插件的选项 */
yaml: undefined,
}
)
Lume 站点配置
所有可用于配置站点构建的可用函数:
/** 注册事件监听器 */
site.addEventListener(eventType, fn);
/** 注册插件 */
site.use(plugin);
/** 注册一个指定名称的脚本 */
site.script(name, commandOrFunction);
/** 注册数据加载器 */
site.loadData(extensions, loader);
/** 注册 HTML 页面加载器和其他选项 */
site.loadPages(extensions, loader);
site.loadPages(extensions, options);
/** 注册静态资源页面加载器 */
site.loadAssets(extensions, loader);
/** 注册预处理器 */
site.preprocess(extensions, fn);
/** 注册处理器 */
site.process(extensions, fn);
/** 注册模板过滤器 */
site.filter(name, fn, async = false);
/** 注册模板助手函数 */
site.helper(name, fn, options);
/** 注册数据变量 */
site.data(name, value, scope = "/");
/** 注册页面 */
site.page(pageData, scope = "/");
/** 注册组件 */
site.component(context, component, scope = "/");
/** 配置在数据层叠中合并键的策略 */
site.mergeKey(key, merge, scope = "/");
/** 复制静态文件/文件夹 */
site.copy(from, to);
/** 复制剩余文件 */
site.copyRemainingFiles(filter);
/** 忽略文件或文件夹 */
site.ignore(...paths);
/** 配置独立的作用域以优化更新后的构建 */
site.scopedUpdates(...scopes);
/** 定义远程文件 */
site.remoteFile(filename, url);
Lume 函数
site
实例中的其他实用函数:
/** 返回根目录的绝对路径 */
site.root(...subdirs);
/** 返回 src 目录的绝对路径 */
site.src(...subdirs);
/** 返回 dest 目录的绝对路径 */
site.dest(...subdirs);
/** 触发事件 */
site.dispatchEvent(event);
/** 运行使用 `site.script()` 注册的脚本 */
site.run(script);
/** 清空 dest 目录 */
site.clear();
/** 构建站点 */
site.build();
/** 重新构建站点,重新加载更改的文件 */
site.update(changedFiles);
/** 渲染单个页面 (供 on_demand 插件使用) */
site.renderPage(file, extraData);
/** 返回任何页面/文件的最终 URL */
site.url(path, absolute = false);
/** 获取任何文件的内容 */
site.getContent(file, loader);