Hugo是一个静态网站生成框架,可以把Markdown文件转换成静态网站。 PaperMod是一个Hugo主题,可以让你快速搭建一个个人博客。github Action和clooudflare可以让你自动部署你的博客,不需要自己手动部署,也不需要自己购买服务器,可以选择一种你喜欢的方式。
环境准备
首先得安装git,git是一个版本控制工具,可以让我们方便得从代码仓库中拉取代码。 git安装教程可以自行搜索,这里不赘述
安装Hugo
接着我们需要安装Hugo,Hugo的安装教程官方网站也介绍的非常详细,可以根据自己的操作系统选择对应的教程进行安装。
对于windows用户,我推荐直接下载release包中的可执行文件,然后把可执行文件放到环境变量中(可以直接放到C:\Windows\System32
目录下),这样就可以在命令行中直接使用hugo命令了。
Hugo常用命令
首先我们检查我们Hugo是否安装成功,打开命令行,输入hugo version
,如果输出了Hugo的版本号,说明Hugo安装成功。我们可以通过查看官方的quick start示例来了解Hugo的基本用法。
PaperMod主题配置
了解了Hugo的基本用法后,我们就可以开始配置PaperMod主题了。 可以参考PaperMod官方的安装教程。 整体按照教程走下来没有什么难度,我讲一个我在其中有困惑的点。
在这个Sample中,我被它标题中的Page.md
给误导了,
我以为这个Page.md
是一个博文页面,实际上这个Page.md
中的内容是一个模板,我们可以在这个模板中定义我们的页面的一些属性,比如标题、日期、作者、标签等等。
创建archetypes/post.md
文件(模板文件要放在archetypes
目录下),然后将Page.md
中的内容复制到archetypes/post.md
文件中。这样我们就可以通过下面的命令快速创建一个博文页面了,后续只需在markdown文件中添加内容就行。
|
|
注意上面这条命令中生成的文件在content目录下,除非你在<name>
中输入的是明确带路径的名字,比如:
|
|
主要注意事项就是这些了,下面讲解自动部署博客的方法。
使用github Action或者cloud flare部署博客
github Action实现自动部署
创建两个仓库:
- 源码仓库: 存放 Hugo 项目源码
- 发布仓库: username.github.io 用于存放生成的静态文件
在源码仓库创建 GitHub Actions 工作流文件: 创建
.github/workflows/hugo.yml
文件:
|
|
设置部署密钥:
- 生成 SSH 密钥对
- 添加公钥到发布仓库的 Deploy Keys
- 添加私钥到源码仓库的 Secrets(命名为 ACTIONS_DEPLOY_KEY)
这个方法我还没有实际去尝试过,但是我觉得应该是可以的,可能会有一些小问题。 下面的cloudflare自动部署方法我是动手实践过的,也是本博客部署使用的方法。
cloud flare实现自动部署
使用cloud flare实现自动部署非常简单,参考这篇cloudflare的官方文档即可。 总结起来就下面几步
- 创建一个github仓库
- 将hugo生成的网站文件上传到github仓库中
- 创建一个cloudflare账号,进入到控制面板
- 选择Workers & Pages > Create application > Pages > Connect to Git
- 选择你刚刚创建的github仓库,然后选择构建和部署
- 部署过程中,提供下面的信息
配置选项 | 值 |
---|---|
Production branch | main |
Build command | hugo |
Build directory | public |
此外还需要提醒的一点是,可能cloudflare提供的hugo版本比较老,可以通过设定环境变量的形式,指定hugo版本。
环境变量 | 值 |
---|---|
HUGO_VERSION | 0.145.0 |
最后点击Deploy按钮,就可以自动部署你的博客了。
自动部署好后,就可以开始写博客了,只需把新添加的内容推送到github仓库中托管站点可以自动更新博客内容,尽情发挥你的想象吧!