Featured image of post Hugo 网站搭建:从 0 到 1 的完整步骤

Hugo 网站搭建:从 0 到 1 的完整步骤

网站介绍

Hugo 作为目前最流行的静态网站生成器之一,以极速构建、灵活配置和丰富主题生态著称,特别适合搭建个人博客、文档站或作品集。以下是我从环境准备到部署上线的完整实操步骤,新手可按此流程逐步推进。

引用第一步:环境准备(安装 Hugo)

Hugo基于Go语言开发,需先确保本地环境支持,不同系统安装方式略有差异: Windows 系统:推荐用 Chocolatey 包管理器,命令:choco install hugo-extended(安装扩展版,支持 SCSS 等样式编译,多数主题依赖);若无 Chocolatey,可从Hugo 官网下载 exe 文件,添加到系统环境变量。

macOS 系统:用 Homebrew 安装,命令:brew install hugo,同样建议安装扩展版(部分 Homebrew 源默认是扩展版,可通过hugo version验证,带extended字样即正确)。

Linux 系统:Ubuntu/Debian 用户用sudo apt install hugo,CentOS 用户用sudo dnf install hugo,或从官网下载压缩包解压后放到/usr/local/bin。

安装完成后,打开终端输入hugo version,若显示版本号(如hugo v0.125.0+extended linux/amd64 BuildDate=2024-04-24T15:02:16Z),说明环境配置成功。

第二步:创建 Hugo 项目

选一个本地目录(如Documents/websites),执行命令创建项目:
hugo new site my-hugo-blog(my-hugo-blog是项目名,可自定义)。 进入项目目录:cd my-hugo-blog,此时目录结构如下(核心目录作用已标注:

1
2
3
4
5
6
7
8
my-hugo-blog/
├── archetypes/       # 内容模板(新建文章时默认的Front Matter格式)
├── content/          # 核心内容(文章、页面都放在这里)
├── data/             # 数据文件(如YAML/JSON,用于动态渲染内容)
├── layouts/          # 自定义模板(覆盖主题模板时用)
├── static/           # 静态资源(图片、CSS、JS,构建时会直接复制到public)
├── themes/           # 主题目录(存放下载的Hugo主题)
└── config.toml       # 网站配置文件(核心!基础设置、主题配置都在这里)

初始化 Git 仓库(可选但推荐):git init,后续管理主题、备份代码更方便。

第三步:安装并配置主题

Hugo 本身不自带页面样式,需通过主题实现外观和功能。新手建议选维护活跃、文档完善的主题,推荐 3 个主流主题:
PaperMod:轻量、简洁,支持暗黑模式、搜索,适合博客。
LoveIt:功能丰富(评论、搜索、音乐、代码高亮),颜值高。
Even:极简风格,专注内容,配置简单。
以安装 PaperMod 为例,步骤如下:
克隆主题到themes目录: git clone https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod。 配置主题:打开config.toml,添加一行theme = “PaperMod”(注意:等号前后有空格)。 参考主题文档配置细节:每个主题的配置项不同(如菜单、颜色、评论),一定要看主题的 README(比如 PaperMod 的文档在GitHub Wiki),避免瞎配置导致功能失效。

第四步:配置网站基础信息

修改config.toml,填写核心配置(以下是 PaperMod 主题的基础示例,其他主题可参考文档调整): toml 网站基础URL(部署后访问的地址,如GitHub Pages填"https://你的用户名.github.io/")

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
baseURL = "https://example.com/"
网站标题
title = "我的Hugo博客"
语言编码(中文填"zh-CN")
languageCode = "zh-CN"
网站描述(SEO用)
description = "用Hugo搭建的个人博客,分享技术与生活"
作者信息
[
author
]
 name = "你的名字"

导航菜单(显示在顶部/底部,可自定义)
[[
menu.main
]]
 name = "首页"
 url = "/"
 weight = 1  # 权重越小,排序越靠前

[[
menu.main
]]
 name = "文章"
 url = "/posts/"
 weight = 2

[[
menu.main
]]
 name = "关于"
 url = "/about/"
 weight = 3

注意:baseURL必须正确!如果部署到 GitHub Pages,格式是https://用户名.github.io/仓库名/(若仓库名是用户名.github.io,则填https://用户名.github.io/),否则会导致图片、链接失效。

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计