PostCSS
使用 PostCSS 转换你的 CSS 代码。
配置参数
- extensions string[]
The list of extensions this plugin applies to
Default:[ ".css" ]
- includes string boolean
Custom includes path for
Default:postcss-import
site.options.includes
- plugins any[]
Plugins to use by postcss
Default:[autoprefixer()]
- useDefaultPlugins boolean
Set
Default:false
to remove the default pluginstrue
- name string
The name of the helper
Default:"postcss"
描述
PostCSS
插件使用 PostCSS 处理器加载和转换你的 CSS 文件。
安装
在你的 _config.ts
文件中导入此插件以使用它:
import lume from "lume/mod.ts";
import postcss from "lume/plugins/postcss.ts";
const site = lume();
site.use(postcss(/* Options */)); // 选项
export default site;
PostCSS 插件
PostCSS 默认启用了 postcss_autoprefixer 插件,以自动添加 vendor prefixes。
使用 plugins
属性添加更多插件。例如,要使用 postcss-nesting 插件:
import postcss from "lume/plugins/postcss.ts";
import nesting from "npm:postcss-nesting";
site.use(postcss({
plugins: [nesting()],
}));
Includes
PostCSS 插件使用 postcss-import,通过在 _includes
目录中查找来内联本地的 @imports
。
/* 从 _includes/css/reset.css 导入 CSS 文件 */
@import "css/reset.css";
/* 导入相对路径的 CSS 文件 */
@import "./variables.css";
你可以更改 CSS 文件的 _includes
目录,或者使用 includes
选项完全禁用它:
// 将 CSS 的 includes 文件夹更改为 _styles
site.use(postcss({
includes: "_styles",
}));
// 禁用 includes(本地的 @import 将不会被内联)
site.use(postcss({
includes: false,
}));
Hooks
此插件公开了以下 hooks:
addPostcssPlugin(plugin)
用于添加额外的插件。postcss(processor)
用于以底层方式修改处理器实例。
import lume from "lume/mod.ts";
import postcss from "lume/plugins/postcss.ts";
import nano from "npm:cssnano";
const site = lume();
site.use(postcss());
site.hooks.addPostcssPlugin(nano);
export default site;
postcss
过滤器
此插件还注册了 postcss
过滤器,以便你可以在模板引擎中转换 CSS 代码。例如:
{{ set css }}
body::after {
content: "Hello, the CSS world!";
}
{{ /set }}
<style>
{{ css |> postcss }}
</style>
配置 VSCode
你可以使用 Postcss extension for VS Code 扩展来为 VS Code 配置语法高亮。