声明
以下具体操作环境为 macOS,不同操作系统操作思路一致
快速开始
开始前准备:
- 安装了 homebrew 软件包管理系统
- 安装了 git 分布式版本控制系统
- 拥有一个 GitHub 静态网站托管仓库(GitHub Pages)
- 在执行代码前可以先查看本文中
会遇到的问题
# 安装 hugo 静态网站生成器
brew install hugo
# 找一个放置网站数据的地方
cd ~/Workspace
# 创建一个名为 Lhz-blogs 的新网站项目目录
# --format 来选取构建的首选文件格式(toml 默认 | yaml | json)
hugo new site Lhz-blogs --format yaml
# 进入新创建的项目目录
cd Lhz-blogs
# 在项目根目录下初始化 git 仓库
git init
# 拉取最新的 PaperMod 网站主题
git submodule add --depth=1 https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod
# 追加网站主题配置信息
# 拿我的 hugo.yaml 举个例子
baseURL: https://lhzzz08.github.io
languageCode: en-us
title: Lhz's blog
theme: PaperMod
params:
homeInfoParams:
Title: "在这里分享我的个人见解与技术心得🎉"
Content: "大二在读,专注于Web安全,欢迎交流👏(wx:lhz13588161325)"
# 创建一篇 quickstart.md 的文章,位于 content/posts/ 目录下
hugo new posts/quickstart.md
# 编辑文章
open content/posts/quickstart.md -a Typora
# 在本地启动一个 Web 服务器预览博客,可以边写边改,在部署前检查
hugo server
# 将项目源文件编译成静态文件并输出到项目根目录的 public 目录下
hugo
# 切换为静态文件目录
cd public
# 在静态目录下初始化第二个 git 仓库
git init
# 为静态文件仓库添加一个名为 git-blog 的远程仓库,指向您的 GitHub Pages 仓库 URL
git remote add git-blog https://github.com/lhzzz08/lhzzz08.github.io.git
# 显示当前仓库配置的所有远程仓库的详细信息
git remote -v
# 将目录下的所有静态文件添加到 git 暂存区
git add .
# 将暂存区的文件提交到本地仓库
git commit -m "init myblog"
# 将本地 main 分支的内容提交到远程仓库
git push -u github-blog main
会遇到的问题:
-
hugo new posts/quickstart.md在 content/posts/ 目录下生成的 .md 文件中要修改draft: false,否则本地以及最终构建时将被忽略 -
git push -u github-blog main命令填写的密码不是账号的密码,而是要用个人访问令牌(Personal Access Token,PAT)来代替 Github 账号密码,关于具体如何生成 PTA,可以查阅相关资源
后续更新文章流程:
# 在项目根目录下执行命令
hugo new posts/demo.md
# 启动本地 web 服务器,边写边看渲染效果
hugo server
# 编辑文章内容
open content/posts/demo.md -a Typora
# 在本地测试没问题后,构建静态文件
hugo
# 如果进行了配置文件以及文件名修改,可能需要整体重新构建静态文件(删除 public/ 下的所有可见文件)
hugo
# 推送到 GitHub 远程仓库
cd public
git add .
git commit -m 'add new demo.md'
git push
通过学习以上内容,你就学会了简易的博客构建以及更新流程,但还有许多配置、美化,增加细节等方面可以以后学习,我有空会追加在这篇文章更新的😘
文章中插入图片
我这里采用 static 目录的方式讲解,Hugo 默认会将项目根目录下 static 文件夹里的所有内容,原封不动地拷贝到最终生成的 public 文件夹中
存放图片:
在你的项目根目录下找到 static 目录,建议创建子目录,把图片放入目录中即可
# 创建演示目录
mkdir /static/images
引用图片:
从文章中引用时,去掉 static 前缀,直接从 static 目录下开始写即可,演示图片位置/static/images/demo.jpg,引用语句为

上面的哈基米就是我演示的图片
使用分类和标签功能
什么是分类和标签功能?就是如下图中的分类功能,点击即可查看特定分类或标签的所有内容



第一步:在网站根目录下的 hugo.yaml 中添加几行配置信息
homeInfoParams:
Title: "在这里分享我的个人见解与技术心得🎉"
Content: "大二在读,专注于Web安全,欢迎交流👏(wx:lhz13588161325)"
# 需要添加的
menu:
main:
- identifier: home
name: Home
url: /
weight: 10
- identifier: categories
name: Categories
url: /categories/
weight: 20
- identifier: tags
name: Tags
url: /tags/
weight: 30
第二步:在每一篇文章头中添加相关的配置信息
date: '2025-11-20T15:16:41+08:00'
draft: false
title: '如何快速搭建个人博客'
categories: ["其他分享内容"] # 需要添加 多个分类用逗号隔开即可
tags: ["网站搭建"] # 需要添加 多个标签用逗号隔开即可
添加网站图标
第一步:自己准备一个合适的图片(我这里用 SVG 图标作为演示),并将图片放到 /static 目录下,命名为 favicon.svg,但是 Apple 设备对 SVG 的支持不够好,所以需要将 SVG 图标转成 180x180 像素的图片,命名为 apple-icon.png 也是放在/static 目录下
第二步:在 hugo.yaml 配置文件中添加相应配置信息
params:
homeInfoParams:
Title: "XXX"
Content: "XXX"
# 要添加的在下面
assets:
favicon: "favicon.svg"
favicon16x16: "favicon.svg"
favicon32x32: "favicon.svg"
apple_touch_icon: "apple-icon.png"