关于博客建站简介,请参考上篇
(一) 使用 Hugo 搭建个人博客保姆级教程(上篇)
(一)Hugo 安装
Hugo在多个操作系统下的安装
准备工作
- 安装golang
- 安装hugo之前,先安装好golang,推荐安装最新版本。
Windows 用户强烈建议使用 Scoop 安装(关于 Scoop 安装及使用可参考 Scoop 安装及使用),进入 Windows 终端执行命令
scoop install hugo
Mac 用户如果已经安装 HomeBrew 工具,一行命令即可完成
brew install hugo
Linux 用户及其他安装方式,可以参考 Hugo官方安装指导 ,这里我以 CentOS 7.6 为例采用源码方式安装 Hugo,在安装之前需要先安装 git
以及 go编译器
:
1.1 Git 安装及配置
# 安装git
yum install git
# 配置git
git config --global user.name "your_user_name"
git config --global user.email "your_mail"
# 查看配置是否生效
git config --list
# 生成本地ssh key添加到github
ssh-keygen -t rsa -C "your_mail"
# 查看公钥
cat /root/.ssh/id_rsa.pub
# 进入github的settings设置,添加公钥即可
1.2 Go编译器
# 下载go
wget - https://go.dev/dl/go1.17.5.linux-amd64.tar.gz
tar -xzvf go1.17.5.linux-amd64.tar.gz
mv go /usr/bin
# 更改环境变量
export PATH=$PATH:/usr/local/go/bin
source ~/.bash_profile
# 验证安装
go version
# go version go1.17.5 linux/amd64
1.3 Hugo安装
# 方式一:官方源码安装
mkdir $HOME/src
cd $HOME/src
git clone https://github.com/gohugoio/hugo.git
cd hugo
go install --tags extended # 我到这一步经常卡住
# 方式二:更推荐
cd /etc/yum.repos.d
wget https://copr.fedorainfracloud.org/coprs/daftaupe/hugo/repo/epel-7/daftaupe-hugo-epel-7.repo -O hugo.repo
yum update
yum install hugo
hugo version
# 出现hugo v0.91.1 linux/amd64 BuildDate=2021-12-22T16:48:53Z
(二)Hugo 博客搭建
2.1 新建站点
打开终端,进入想要创建文件夹的路径,在终端中输入
hugo new site hugoblog
终端提示如下:
hugoblog 文件夹下会出现如下的文件
2.2 下载主题
根据终端的提示,前往 Hugo主题官网 找到自己喜欢的主题,然后点击下载会跳转到主题的github,
把终端的路径调整到博客文件夹的themes目录下,输入:
git clone https://github.com/adityatelange/hugo-PaperMod.git
比如我的主题是PaperMod
然后在themes文件夹下会出现如下文件目录:
使用该主题的方法就是在站点文件夹下的配置文件里输入主题的名字:
theme: PaperMod # 主题名字,和themes文件夹下的一致
然后将主题文件夹里面的一些静态文件和配置文件复制到站点目录下,目的是为了可以自定义博客的样式,而不会改动主题文件夹里的样式,这样主题要更新的时候,直接在主题目录下git pull就可以,站点目录的修改会优先覆盖主题里的配置,所以可以实现平滑更新。
2.3 配置文件
- 在 Hugo 网站文件夹的根目录下,使用 Visual Studio Code 打开 config.toml 文件。
如果你还没用过 Visual Studio Code,建议下载安装一下,是一个很好用的开源文本编辑器,同时支持 Windows、Linux 和 macOS 操作系统。
- 参考所选 Hugo 主题的配置说明,编辑 config.toml 文件。
注意:theme 配置项指的是所选主题的名称,必须与所选主题被克隆至的目录名相同。在本例中,即 theme = “PaperMod”。
本站配置文件如下,待会已上传到相应的 gitee 仓库
baseURL: 'https://www.scutzch.com/'
languageCode: zh-cn # en