Hugo+GitHub Pages

(1)工具准备

git,下载地址:https://git-scm.com/arrow-up-right

go,下载地址:https://go.dev/arrow-up-right (可选)

Hugo文件下载:https://github.com/gohugoio/hugo/releasesarrow-up-right

(2)通过Chocolatey安装Hugo(与下二选一)

1:右键管理员powershell.exe命令行启动,输入以下命令:

或者,右键管理员cmd.exe命令行启动,输入以下命令:

2:输入choco显示版本

3:安装hugo(需要翻墙)

4:安装“Sass/SCSS”扩展(需要翻墙,可选)

(3)Hugo环境变量配置(与上二选一)

1:在E盘建立hugo文件夹,把hugo_extended解压后hugo.exe文件放目录下

2:环境变量设置

3:在任意目录右键选择“Git Bash Here”,输入以下命令,验证配置结果

(4)在C盘目录新建blog站点

1:在C盘右键选择“Git Bash Here”

2:新建blog站点

3:切换到blog目录

4:测试网站,并根据提示的地址进行访问

(5)下载主题

1:克隆主题到指定的位置

(6)设置主题

1:新建config.yml文件,复制案例代码

2:config.yml将baseURL改为:

3:在 config.yml 中配置主题:

4:测试网站

5:新建文章

页面案例代码:

6:文件路径为:C:\blog\content\post\first.md,编辑文件内容

circle-info

baseURL的地址为在github仓库中访问的地址:

https://<USERNAME>.github.io

7:config.yml文件中输入中文

首先需要用VS Code软件开发,在右下角设置为UTF-8

然后将鼠标悬浮在中文字上,选择“调整设置”

再点击“在突出显示内容中排除...”即可

8:设置logo

通过网页制作一个图片,名称为:apple-touch-icon.png,放置到static目录下

9:修改页脚

修改blog\themes\PaperMod\layouts\partials\footer.html文件

10:插入图片

第一种:绝对路径(首选)

(图片资源放置在根目录下的static下,也就是网站的绝对路径) 图片存放位置

引入图片的markdown代码

分析:图片请求路径

第二种:相对路径

图片存放位置

引入图片的markdown代码

分析:图片请求路径,这个demo,要和博客文件名相同(我这里此篇博博客的文件名叫demo),所以需要新建demo文件夹。

(7)上传文件至GitHub

1:配置GitHub SSH密钥,设置git的user name和email,例如:

2:检查是否存在SSH Key

如果没有SSH Key,则需要先生成一下,例如:

3:在C:\Users\Administrator\.ssh文件夹下用编辑器打开id_rsa.pub,复制其中的密钥

4:在GitHub后台-->Settings-->SSH and GPG kyes里添加密钥

5:验证

6:在GitHub新建仓库peiyafei.github.io

7:上传文件至peiyafei.github.io仓库

8:修改文件之后,第二次上传或以后上传

circle-info

git pull origin master与git pull --rebase origin master的区别主要是在远程与本地代码的合并上面了。

rebase好处 想要更好的提交树,使用rebase操作会更好一点。 这样可以线性的看到每一次提交,并且没有增加提交节点。

9:批处理提交git(可新建计划任务,每日定时提交)

新建一个Auto_push_git.bat文件,填入以下内容,因为其中使用了绝对路径,bat文件可放到任意位置运行,默认放到blog站点目录运行

10:如果遇到无法上传,错误提示如:“It seems that there is already a rebase-apply directory”

,执行如下命令,然后再运行以上脚本内容

(8)设置自定义域名

1:GitHub Pages页面Custom domain处输入域名

2:在域名商管理后台添加两条CNAME记录

  • 主机记录:www , 记录值:xxx.github.io (仓库名)

  • 主机记录:@ , 记录值:xxx.github.io (仓库名)

3:用自定义域名访问测试

(9)部署到Netlify

1:点击Netlify官网arrow-up-right用GitHub账号一键登录

2:部署过程简单,不再赘述

3:添加CNAME解析

  • 记录类型:CNAME,主机记录:www,记录值:Netlify站点默认生成的访问地址(XXX.netlify.app)

  • 记录类型:CNAME,主机记录:@,记录值:Netlify站点默认生成的访问地址(XXX.netlify.app)

circle-info

主机记录www表示,以www.qtdevelop.com方式访问,

主机记录为@表示:以qtdevelop.com方式访问

(10)搜索引擎优化(SEO)

参考资料:

1.Quick Start :快速的了解如何使用 Hugo

2. Host on Github:了解如何部署 Hugo 作为一个 Github Pages

3.作为拓展阅读材料,我觉得有兴趣可以了解下这些软件是怎么运作的

  • Netlify:做的一些 Vue 或者 React 想上线部署之后可以让别人预览,可以通过 Netlify 这个平台实现

  • Nanobox:本地开发工具,可以消除环境的复杂性,在部署和生产环境之间,进行自动化环境,通过虚拟化使得开发环境更简洁

  • AWS Amplify:亚马逊出品的移动应用开发程序管理工具

  • Firebase:Google 出品的 BAAS

4.了解 GitHub Pages

5.创建一个 Github Pages site

最后更新于