二、核心特性
·自动识别 Hugo 项目,无需额外声明。
·内置 Hugo Extended 版本,支持 SCSS/SASS 编译。
·灵活的版本管理,支持指定任意 Hugo 版本。
·自动缓存构建产物,加速重复构建。
四、项目要求
确保你的 Hugo 项目根目录包含以下任意一个配置文件或目录:
| 配置文件 | 说明 |
| hugo.toml / hugo.yaml / hugo.json | Hugo 新版配置格式(推荐) |
| config.toml / config.yaml / config.json | Hugo 旧版配置格式 |
| config/_default/ 目录 | Hugo 多环境配置方式 |
系统通过检测这些文件自动判断项目是否为 Hugo 项目。
五、部署步骤
1. 创建 Hugo 项目。
hugo new site my-sitecd my-site
2. 添加 edgeone.json 配置文件(可选但推荐)。
{ "buildCommand": "hugo –minify", "outputDirectory": "public"}
3. 在本地开发完相关的页面。
4. 推送代码到 Git 仓库。
5. 在 Makers 控制台关联仓库并部署。
系统会自动检测到 Hugo 项目并完成构建部署。
六、Hugo 版本管理
Makers 预装了 Hugo Extended v0.147.5 作为默认版本, 支持 SCSS/SASS 编译。
七、版本优先级
按以下优先级确定使用的 Hugo 版本(从高到低):
| 优先级 | 方式 | 说明 |
| 1(最高) | edgeone.json 的 hugoVersion 字段 | 项目级配置,推荐使用 |
| 2 | HUGO_VERSION 环境变量 | 运行时环境变量 |
| 3(最低) | 预装版本 | v0.147.5 |
八、方式一:通过 edgeone.json 指定版本(推荐)
在项目根目录的 edgeone.json 中添加 hugoVersion 字段:
{ "hugoVersion": "0.139.0", "buildCommand": "hugo –minify", "outputDirectory": "public"}
注意:版本号支持带或不带 v 前缀,例如 "0.139.0" 和 "v0.139.0" 均可。
九、方式二:通过环境变量指定版本
在 Makers 控制台的项目设置中,添加环境变量:
HUGO_VERSION=0.139.0
十、方式三:使用默认版本
如果未指定版本,系统将使用预装的 Hugo Extended v0.147.5。
十二、构建命令
在 edgeone.json 中通过 buildCommand 配置 Hugo 构建命令:
{ "buildCommand": "hugo –minify", "outputDirectory": "public"}
常用的 Hugo 构建命令示例:
| 命令 | 说明 |
| hugo | 默认构建 |
| hugo –minify | 构建并压缩 HTML/CSS/JS |
| hugo –minify –gc | 构建、压缩并清理未使用资源 |
| hugo -e production | 使用 production 环境配置构建 |
| hugo –baseURL https://example.com | 指定站点基础 URL |
十三、输出目录
Hugo 默认输出目录为 public,请在 edgeone.json 中将 outputDirectory 设置为 public(或你自定义的输出目录)。
十四、构建缓存
Makers 会自动管理 Hugo 的构建缓存,无需手动配置。
十五、缓存机制
·缓存目录:resources/_gen。
·缓存内容:Hugo 图片处理结果、SCSS/SASS 编译产物等生成资源。
·恢复时机:每次构建开始前自动恢复上次缓存。
·保存时机:每次构建完成后自动保存。
十六、缓存效果
利用 resources/_gen 缓存,重复构建时可跳过已处理的图片和已编译的样式文件,显著减少构建时间。
十七、支持的配置格式
Hugo 支持多种配置文件格式,Makers 均能正确识别:
十八、单文件配置
my-hugo-site/├── hugo.toml # 推荐├── content/├── layouts/└── static/
十九、旧版单文件配置
my-hugo-site/├── config.toml # 旧版格式,仍然支持├── content/├── layouts/└── static/
20、多环境配置(目录方式)
my-hugo-site/├── config/│ └── _default/│ ├── hugo.toml│ ├── params.toml│ └── menus.toml├── content/├── layouts/└── static/
22、1. 如何确认系统检测到了我的 Hugo 项目?
构建日志中会出现 Hugo project detected. 提示,并显示当前使用的 Hugo 版本,例如:
Using Hugo v0.147.5
23、2. 构建报错提示 Hugo 版本不支持某功能怎么办?
检查你的 Hugo 主题或模板要求的最低版本,在 edgeone.json 中指定对应版本:
{ "hugoVersion": "0.128.0"}
24、3. Hugo 安装失败(退出码 14)怎么办?
可能原因:
·指定的 Hugo 版本号无效(不存在该版本的 release)。
·网络问题导致下载失败。
解决方法:
·确认版本号正确,可在 Hugo Releases 页面查看所有可用版本。
·如果是临时网络问题,重新触发构建即可。
25、4. 为什么使用的是 Hugo Extended 版本?
Hugo Extended 版本内置了对 SCSS/SASS 的编译支持,大多数 Hugo 主题都依赖此功能。Makers 始终安装 Extended 版本,确保与主流主题的兼容性。
26、5. Hugo 项目需要 package.json 吗?
不需要。Hugo 项目的检测独立于 Node.js 生态,系统通过 Hugo 配置文件(如 hugo.toml)进行检测。但如果你的项目同时使用了 npm 包(如 PostCSS),可以同时包含 package.json。
27、6. 如何清除构建缓存?
如果遇到缓存导致的构建异常,可以在构建命令中添加清理步骤:
{ "buildCommand": "rm -rf resources/_gen && hugo –minify", "outputDirectory": "public"}
29、最小配置
项目根目录只需包含 Hugo 配置文件(如 hugo.toml),系统将使用默认版本和默认构建行为。
30、推荐配置
edgeone.json:
{ "hugoVersion": "0.147.5", "buildCommand": "hugo –minify", "outputDirectory": "public"}
31、高级配置(多环境)
edgeone.json:
{ "hugoVersion": "0.147.5", "buildCommand": "hugo –minify -e production", "outputDirectory": "public"}