前言
这是一篇使用Hugo+Stack搭建博客的教程,主要是为了记录自己搭建博客的过程,方便以后使用。
安装 Hugo
Hugo是由Go编写的快速现代静态网站生成器,旨在让网站创建变得有趣。
在使用Hugo时常常需要使用到 Git、Go和Dart Sass。
不过第三个Dart Sass没看懂怎么安装,不过也没有什么影响。
安装 Git
打开上面的Git官网之后,点击 Download for Windows 。
之后选择 Standalone Installer 下的 64-bit Git for Windows Setup.
你会得到一个 Git-x.xx.x-64-bit.exe ,之后打开文件一路默认即可。
安装 Go
打开上面的Go官网之后,点击 Download 。
同样打开之后一路确认即可。
安装 Hugo
我这里使用的是 Win11,所以直接使用官方使用的安装方式:
|
|
如果没有 winget ,可以去GitHub下载 exe文件。
在 Assets 里找到 hugo_extended_x.xxx.x_windows-amd64.zip 的文件下载,之后解压到文件夹中。
之后将文件夹添加到环境变量中。
验证安装
打开终端,输入一下命令,如果出现以下内容,说明安装成功。
|
|
Hugo的版本中一定要带有
+extended
。
创建网站
如果您是Windows用户:
- 不要使用命令提示符
- 不要使用 Windows PowerShell
- 请在 PowerShell 或 Linux 终端(如WSL或Git Bash)中运行这些命令
PowerShell 和 Windows PowerShell 是不同的应用程序。
上面是Hugo官方文档给出的提示,我这里使用的是Microsoft Store中的PowerShell7。
运行以下命令,运行时将其中的site-folder
替换为你想要的文件夹名称。
|
|
安装 Stack 主题
紧接着上面的命令,在site-folder
路径下运行以下命令:
|
|
然后打开 Stack主题的模板仓库,
克隆这个仓库或者其他什么办法,将其中的config
文件夹复制到你的site-folder
中,然后默认生成的那个hugo.toml
就可以删除了。
确定config
文件夹中的_default
文件夹下的config.toml
文件存在之后,运行以下命令:
|
|
之后会出现以下内容:
|
|
然后在浏览器中打开这个http://localhost:xxxx/
,就可以看到你的网站了。
但是这个端口每次启动都会变,如果想要端口不变的话可以在命令后面加上
-p 端口号
, 如果想要局域网内的设备也可以访问的话可以在命令后面加上--bind 0.0.0.0
。
1
hugo server --bind 0.0.0.0 -p 8080
至于配置主题,回头单独开一个教程吧。有一说一,官网的文档是有点简陋的
编写博客
文件结构
文章的文件夹是放在content/posts
文件夹下的,文件结构如下:
|
|
可以使用一下命令创建一个新的文章:
|
|
Markdown
打开使用上面命令生成的index.md
文件,会发现最上方自动生成了一个使用+++
分隔的内容,这个内容就是 Front Matter(前置参数)。
+++
围起来的内容格式是TOML,---
围起来的内容格式是YAML。
这里使用TOML为例。
|
|
部署
GitHub
新建 GitHub 仓库
打开 https://github.com/new ,在 Repository name 里填写你在 安装 Stack 主题 中使用的仓库名,然后点击 Create repository 。
将文件上传到 GitHub
打开终端,在site-folder
路径下运行以下命令:
|
|
之后每次想要更新网站时,只需要运行以下命令:
|
|
Vercel
配置 Vercel 项目
首先打开 https://vercel.com/,注册或登录。进入 Overview 界面,点击右上角的 Add New… 里的 Project 。
在左侧的 Import Git Repository 中登录 GitHub,选择刚刚创建的仓库,然后点击 Import。
之后在 Framework Preset 中选择 Hugo,然后点击下方的 Build and Output Settings,按照下图填写, 然后点击 Deploy,等待一段时间后,就可以进入项目页面了。
|
|
等待 Status 变为 Ready 后,就可以点击上面 Domains 下的链接打开你的网站了。
自定义域名
可以看到,默认的域名是 xxxx.vercel.app
,这个域名不仅不美观,更重要的是,他在国内基本处于无法访问的状态。
点击项目名上方的 Settings,然后点击 Domains -> Add,在 Add Domain 中输入你的域名。
我这里使用的域名解析是 Cloudflare,在添加域名后会自动跳转到 Cloudflare 的页面,点击同意后会自动在 DNS 解析中添加对应的解析。
而自动添加的解析的目标值依旧是不方便访问的cname.vercel-dns.com
,这里手动将其修改成cname-china.vercel-dns.com
。
等待一段时间后就可以使用自己的域名访问啦!