11---
2- title : " Made in goHugo | 使用hugo框架搭建个人博客"
2+ title : " goHugo | 使用hugo框架搭建个人博客"
33date : 2023-09-17T15:36:21+08:00
44slug : use-hugo
55tags : [web]
@@ -11,7 +11,7 @@ tags: [web]
1111---
1212
1313[ Hugo] ( https://gohugo.io/ ) 是一个优秀的静态网页生成框架,适合博客或小型文档之类的没有动态数据交互的网页应用。
14- 一直打算翻新博客,尝试了纯粹三大件 、也试过一些其他框架,但因为水平太次最终还是回来投奔Hugo。
14+ 一直打算翻新博客,尝试过朴素三大件 、也试过一些其他框架,但因为水平太次最终还是回来投奔Hugo。本篇介绍hugo的基本结构及用法 。
1515
1616## 安装Hugo
1717
@@ -22,9 +22,9 @@ tags: [web]
2222
2323Hugo分为standard和extended两个版本。区别是extended版本会把图片处理成WebP格式的,还有自带的sass处理器。两者的占用相差也不大,一般情况都选择extended即可。
2424
25- ## 框架结构
25+ ## 目录结构
2626
27- 完成上一步安装後,选择合适的位置 ,输入:
27+ 完成安装後,选择合适的路径 ,输入:
2828
2929``` shell
3030hugo new site my-site
@@ -48,7 +48,7 @@ my-site/
4848└── hugo.toml <-- 配置文件,网站的全局配置
4949```
5050
51- 现在可以启动hugo自带的网页服务器,访问默认地址` 127.0.0.1:1313 ` 观察网页效果:
51+ 现在可以启动hugo自带的网页服务器,方便在本地调试网站。 访问默认地址` 127.0.0.1:1313 ` 观察网页效果:
5252
5353``` shell
5454hugo serve
@@ -75,12 +75,13 @@ echo "theme = 'stack'" >> hugo.toml
7575
7676## 内容管理
7777
78- Hugo的所有内容都放在` content/ ` 之中管理,根据内容的分层结构处理路由等事务。\
79- 先来介绍一个重要概念,** Page bundles** 。page bundle分两种,其一是** leaf bundle** ,另一是** branch bundle** 。
78+ Hugo的所有内容都放在` content/ ` 之中管理,根据内容的分层结构处理路由等事务。
79+ 先来介绍一个重要概念,** Page bundles** 。
80+ 分两种,** leaf bundle** 和 ** branch bundle** 。
8081
8182### leaf bundle
8283
83- 把内容及其配套资源统放到一个文件夹里,其中内涵一个 ` index.md ` ,如此形成一个leaf bundle。譬如这里有一个about /文件夹,内涵一篇文章和一张图片:
84+ 把内容及其所需的资源统放到一个文件夹里,其中包含一个 ` index.md ` ,形成一个leaf bundle。譬如一个about /文件夹,其中有一篇文章和一张图片。
8485
8586``` txt
8687content/
@@ -90,11 +91,11 @@ content/
9091
9192```
9293
93- 顾名思义, leaf喻为植物形态的末端,不再有后继,是内容管理的基本单元。
94+ leaf喻为植物形态的末端,不再有后继,是内容管理的基本单元。
9495
9596### branch bundle
9697
97- 而branch bundle则更高一层,可容纳后继的文件夹,用作目录或其他功能页面:
98+ 而branch bundle则更高一层,可用作目录,包含任意数量的子文件夹,其中包含一个 ` _index.md ` 。
9899
99100``` txt
100101content/
@@ -107,15 +108,14 @@ content/
107108└── _index.md
108109```
109110
110- branch/下的` _index.md ` 和所有内涵的文件夹是一个branch、content/同理,所以这里有两个branch bundles。
111+ 这里面有几个branch bundle?\
112+ content/作为顶层文件夹,肯定是一个brach bundle,其中的branch/有_index.md,所以答案是两个。
111113
112- > ⚠️ content/作为顶层,自然永远都是brach bundle。
113-
114- page bundle组织彼此相关联的内容,避免什么资源文件都往` static/ ` 或` assets/ ` 放。
114+ page bundle组织彼此相关联的内容,避免什么东西都往` static/ ` 或` assets/ ` 这两个公共资源文件夹里放。
115115
116116## 配置文件
117117
118- Hugo之前默认生成一个全局配置文件 ` hugo.toml ` :
118+ Hugo默认在新的项目生成一个全局配置文件 ` hugo.toml ` :
119119
120120``` toml
121121# hugo.toml
@@ -125,19 +125,20 @@ title = 'My New Hugo Site'
125125theme = ' stack'
126126```
127127
128- ` title ` 随意修改,这是浏览器标签页的标题;\
129- ` baseURL ` 是部署地址,我接下来使用Github Action部署网站,所以我改成"https://proxyerium.github.io"。
128+ ` title ` 是浏览器标签页的标题,随意修改;\
129+ ` baseURL ` 定义网站的基本url,作为所有相对链接的绝对参照点,乱填可能会导致资源无法正确定位。
130+ 我使用Github Action部署网站,所以写"https://proxyerium.github.io/",**注意尾部一定要有斜杠**。
130131
131132## 部署网站
132133
133- 部署网站有 [ 许多方法 ] ( https://gohugo.io/hosting-and-deployment/ ) , 我还没尝试过Github Action以外的方法,暂且只写这一种 : P
134+ 部署网站有许多方法,参考 [ 官方文档 ] ( https://gohugo.io/hosting-and-deployment/ ) 。 我还没尝试过Github Action以外的方法,暂且只写这一种 : P
134135
135136### Github Actions
136137
1371381 . 远程仓库,找到Settings -> Pages -> Source,改成"Github Actions"。
1381392 . 本地仓库,创建工作流脚本` .github/workflows/hugo.yaml ` ,用官方提供的[ 工作流模板] ( https://gohugo.io/hosting-and-deployment/hosting-on-github/#procedure ) 即可,唯独留心里面的` HUGO_VERSION ` 对应自己正在使用的版本,免得兼容问题。
1391403 . 整理好所有内容後推送到远程仓库。
140- 4 . 找到远程仓库顶部Actions标签页,观赏工作流程,结束後便能访问已部署的网站 ,大功告成!
141+ 4 . 找到远程仓库顶部Actions标签页,观赏action流程,完成後便能访问部署好的网站 ,大功告成!
141142
142143## 挖坑
143144
@@ -147,6 +148,7 @@ theme = 'stack'
147148
148149|||
149150| :-:| :--|
151+ | 2024-11-22 | 略微修改,修正含糊有误的文段 |
150152| 2024-10-13 | 重写 |
151153| 2023-02-20 | 略微修改 |
152154| 2023-09-27 | 略微修改 |
0 commit comments