1. hugo

hugo中根据指示,下载hugo, go, git.

根据指示可以创建一个demo熟悉操作:

hugo new your_site_name
cd your_site_name
hugo server
然后打开浏览器输入<http://localhost:1313/>即可浏览网站
(虽然现在什么也没有)

需要注意的是,macos下载go之后可能仍然会对相关指令报错:

command not found: go

按照这个链接添加PATH即可解决

也可以去中文站点获得更流畅的阅读体验。

2. github pages

github提供无需付费,无需备案的网站部署方案:git pages.

为了使给给每个人的url互斥,github的解决方案是,让网站名必须与用户名完全一样。

我们需要做的只是:

  1. 注册一个github账号
  2. 在github中创建一个新的仓库,名字为<你的用户名>.github.io

3. themes

接下来,可以去https://themes.gohugo.io/挑选你喜欢的主题,也可以去github挑选star数较高的主题。hugo的社区总体来说比较成熟。

这里推荐两个主题:

academic 适合于学术主页

PaperMode 适合于个人博客

当选好了主题之后,要将主题应用到我们的网站上来。

这里提供两个方案:

1. 直接用,本人采取的就是这个
git clone <https/ssh of the theme>
git submodule update --init --recursive

2. 把他当作一个主题,主要是为了防止以后想换主题
hugo new site_name
cd site_name/themes
git clone <http/ssh of the theme>
git submodule update --init --recursive

不熟悉git操作的话可以自行google或者参考git command

之后,可以用命令来创建新文章

hugo new article_name.md

这个article.md会被默认放入content文件夹中

用vscode或者其他md编辑器打开此文件后便可以快乐的写文章了

具体的工作流可以参考:workflow

更多操作,请阅读主题的README文件进行配置

4. 网站部署

理论上说,只要把site的子文件夹public中的文件(hugo生成的网页文件)都push到github上即可。

hugo生成的site本身是一个repo,而git不允许其子文件夹public也成为一个repo。然而,我们必须得让public与<你的名字>.github.io仓库建立连接,这里我提供两种解决方案:

1. 删除site本身的.git文件(直接在图形界面操作)然后将public初始化为git仓库并与<你的用户名>.github.io连接:

cd name_of_your_site
hugo
cd public
git remote add origin <ssh or https of your repo>

这里推荐使用ssh,原因是可以自行配置(具体自己查)使得不用每次都输入密码

2. 使<你的用户名>.github.io成为site的submodule,详见
<https://www.atlassian.com/git/tutorials/git-submodule>

cd name_of_your_site
git submodule add -f -b master <https or ssh of your repo> public

如果想要更方便一点的话,建议选择第一种方案。

接下来要将hugo生成的本地文件推到github仓库中进行部署

1. 如果你用的是第一种方案
cd name_of_your_site/public
git push

2. 如果你是第二种
cd name_of_your_site
git add --all
git commit -m "write something"
git push

之后打开https://你的用户名.github.io就可以欣赏你自己的博客了

如果显示404或者博客内容未更新,请清除浏览器缓存或等一会儿。