Hugo-建站教程
使用Hugo + Github Pages搭建自己的博客
1 hugo安装
windows使用chocolatey安装
choco install hugo-extended -confirm
这里需要注意前置条件,要求先安装git,chocolatey和golang
2 新建本地hugo站点
GitHub 页面有两种类型:
- 用户/组织页面 ( https://<USERNAME|ORGANIZATION>.github.io/)
- 项目页面 ( https://<USERNAME|ORGANIZATION>.github.io//)
一般情况我们都是创建用户/组织页面 ( https://<USERNAME|ORGANIZATION>.github.io/)
即在你的github上使用该格式命名新建一个仓库。
然后克隆到本地。在该仓库中使用如下代码初始化本地站点:
|
|
之后安装主题,首先到hugo主题官网上去选择一个漂亮的主题,打开主题文档页面,根据提示将主题安装到本地站点中,这里以LoveIt为例子:
|
|
这样就能把主题下载到themes文件夹下了。
一般情况下,我们只需要配置config.toml,主题文档或者git仓库里面通常有默认config.toml,可以直接粘贴到你本地站点的config.toml。默认配置里面有详细的注释,你可以按需配置。
下一步就是更新你的博客内容了,使用如下命令添加一个新的文章:
|
|
这个命令会在你的content文件夹下的posts文件夹里创建一个first.md,这样你就成功创建了一个文章,你需要配置文章的属性,包括题目title
,作者author
,tag标签tags
以及类别categories
等。这些配置相关的内容你可以在主题文档里面找到示例,直接复制到你的文章下面,按需配置即可。
我们需要在本地启动服务运行一下站点,看看效果,使用如下命令:
|
|
该命令对于
draft=true
的文章并不会渲染,如果使用hugo server -D
则将draft=true
的文章也进行渲染,所以你需要将要渲染的文章的draft
属性改为false
或者直接使用后面一个命令。启动的服务能够进行热重载,每一次对文件的保存都会重启服务,所以你可以一边运行服务一边修改自己的内容或配置。
3 将本地站点部署到Github Pages
本地服务运行站点修改好后,在config.toml里面添加一个属性 publishDir = "docs"
,将输出的静态页面放置到docs文件夹里面,原因是Github Pages里面设置静态页面位置只能是仓库main分支本身或者main分支里面的docs文件夹,仓库本身存储我们的hugo站点,所以我们需要将输出的静态页面输出到docs文件夹。
还有一个需要修改的属性是 baseurl = "https://xxx.github.io/"
,将baseurl设置为自己的github页面url。
然后就可以使用命令输出静态页面:
|
|
完成后,直接使用git推送到远程仓库:
|
|
这里需要注意有一个坑,我们需要在本地站点根目录里面添加一个文件
.nojekyll
否则github将把这个仓库识别为一个jekyll驱动的页面,从而无法解析成功,最后的结果就是你打开你的github页面url展示的是你的readme.md的内容。加入这个空文件后可以避免这个情况。
然后打开git仓库的set页面,选择page选项将 Build and deployment
里 Branch
设置为main分支的docs文件夹。设置完后等一段时间就可以看到github以及帮我们把站点部署好了,你打开你的github页面url就可以看到你的博客。
至此你的个人博客就搭建好了,你可以在本地随时修改内容,之后只需要先使用 hugo
输出静态页面然后使用 git
推送到远程仓库即可。