在使用或开发 HB 及其模块之前,请确保你满足先决条件。
hugo.toml
1[build]
2 writeStats = true
hugo.yaml
1build:
2 writeStats: true
hugo.json
1{
2 "build": {
3 "writeStats": true
4 }
5}
build.writeStats 用于收集站点所使用到的 classes、ids 和 tags,以供 PurgeCSS 清除未使用的 CSS。| 名称 | 版本 | 描述 |
|---|---|---|
| Hugo | 用于构建站点。 | |
| Go | >=1.12 | 用于安装 Hugo 模块。 |
| Git | - | 版本控制系统。 |
| NodeJS | >=16 | 用于构建 JavaScript。 |
| PostCSS CLI | - | 用于转变样式。 |
| RTLCSS | - | 将 LTR CSS 转换为 RTL,如果你没有 RTL 网站则可选。 |
| Autoprefixer | - | 解析 CSS 并在 Can I Use 规则中添加供应商前缀。 |
| PurgeCSS | - | 移除未使用的 CSS。 |
推荐尽可能使用以上构建工具的最新版本。
HB 并不需要 NPM 或 Yarn,但建议有一个,以便用一个命令安装 PostCSS CLI、RTLCSS、Autoprefixer 和 PurgeCSS。
1npm i postcss-cli @fullhuman/postcss-purgecss autoprefixer rtlcss
你也可以使用 -g 或 --global 标志于在全局范围内安装这些软件包。
You can also install those packages globally (with -g or --global flag).
1sudo npm i -g postcss-cli @fullhuman/postcss-purgecss autoprefixer rtlcss
hb 和 hugopress 参数HB 依赖于跨模块的配置,但有一个已知的问题,即语言范围内的参数将覆盖参数,而不是深度合并,这将破坏跨模块的配置。
比如以下的配置例子是不允许的。
hugo.toml
1[language]
2[[language.en]]
3 [language.en.params]
4 [language.en.params.hb]
5 foo = 'bar'
6 [language.en.params.hugopress]
7 foo = 'bar'
hugo.yaml
1language:
2 en:
3 - params:
4 hb:
5 foo: bar
6 hugopress:
7 foo: bar
hugo.json
1{
2 "language": {
3 "en": [
4 {
5 "params": {
6 "hb": {
7 "foo": "bar"
8 },
9 "hugopress": {
10 "foo": "bar"
11 }
12 }
13 }
14 ]
15 }
16}