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的解决方案是,让网站名必须与用户名完全一样。
我们需要做的只是:
- 注册一个github账号
- 在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或者博客内容未更新,请清除浏览器缓存或等一会儿。