Before the beginning

最开始的时候,网站采用hexo搭建。但是在使用过程中出现了以下的问题

  • 每次Hexo编译的时间过长,本来改动特别小(可能只有一篇文章的一点东西改动)就要重新生成和部署一次,等待的时间从20秒到2分钟不等,但是Hugo编译的速度就要比Hexo快很多。
  • 基于Hexo的Even主题和Hugo的Even主题相比,明显是Hugo的主题更加的好看,并且有很多新增的功能。

基于上述两点考虑,我最后决定迁移到Hugo之中。

Hugo的安装和使用

Windows版本

与Hexo类似,需要安装Hugo。

Hugo可以在Hugo的Github Releases中找到。截至2020年2月2日,最新的版本是V0.63。hugo_0.63.2_Windows-64bit.zip

warning

有趣的是,这个Blog采用的Even主题,如果用了hugo_0.63.2_Windows-64bit.zip,就会让我的主页丢失。我不太确定是什么引起的,如果不是extended版本似乎就不会这样。 我目前使用的版本是v0.55.6,在这个版本下,Hugo编译的结果是正常的。

下载解压后,可以发现里面只有一个hugo.exe文件。请将它解压到一个非中文目录下。例如:

E:\blog\hugo

接着,将这个路径添加到系统环境变量中。在Win10下,可以选择: 1. 对开始菜单右键,选择设置 2. 在打开的windows设置中,在“查找设置”对话框中输入“编辑系统环境变量” 3. 在打开的系统属性中,点击环境变量,在系统变量中找到“Path”,点击编辑。在弹出的“编辑环境变量”中,加入hugo.exe所在的目录。在本例中,为“E:\blog\hugo”(不包括引号内容)

如果已经成功添加环境变量,打开cmd,输入

1
hugo version

可以得到类似下边的输出

Hugo Static Site Generator v0.55.6-A5D4C82D windows/amd64 BuildDate: 2019-05-18T07:57:00Z

那么证明Hugo已经安装完成,可以正常使用。

主题的挑选和下载

该Blog选择了Even主题,可以参考Even-Hugo进行安装。

编译安装之后,一般需要修改config.toml以便进行个性化

关于该Hugo主题下的一些Tips

增加导航菜单按钮

若想增加导航菜单,可以修改config.toml

1
2
3
4
5
[[menu.main]]             # config your menu              # 配置目录
  name = "Home"
  weight = 10
  identifier = "home"
  url = "/"

配置相应的menu。例如,我想添加pdfArchives标签页,那么只需要在这段后边添加

1
2
3
4
5
[[menu.main]]
  name = "PdfArchives"
  weight = 50
  identifier = "pdfArchives"  
  url = "/pdfArchives/"

即可,其中weight指的是排序的权重。这个数字越小,就会在整个菜单栏中排越前边。

Bat脚本进行推送

如果利用git,可以较为轻松的实现一键部署。此Blog采用的bat脚本如下

1
2
3
4
5
6
7
8
hugo --theme=even --baseUrl="https://Suwenjunliu.github.io/"
cd E:\blog\hugo-blog\junliusw.cn\public
git init
git remote add origin https://github.com/Suwenjunliu/Suwenjunliu.github.io.git
git add -A
git commit -m "commit"
git push -u origin master -f
cd E:\blog\hugo-blog\junliusw.cn

关于Github停止密码登录的问题

今天重新的推送Blog更新的时候发现了问题,在cmd中运行上述bat提示:

1
2
3
4
5
Logon failed, use ctrl+c to cancel basic credential prompt.
Password for 'https://Suwenjunliu@github.com':
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://Suwenjunliu@github.com/Suwenjunliu/Suwenjunliu.github.io.git/

因此,我们需要申请一个用于部署blog的token。可以在Github主页中找到Setting,选择Developer settings,在personal access tokens中,选择生成一个新的tokens。然后根据需要选择这个tokens对应的功能,记住对应的tokens值,并且替换掉上述对应的GithubName,比如我申请到的tokens叫做AAA,那么只需要将

1
git remote add origin https://github.com/Suwenjunliu/Suwenjunliu.github.io.git

替换为

1
git remote add origin https://github.com/Suwenjunliu/AAA.github.io.git

即可。请妥善保管好Token值!