写在前面

由于看到了Netlify可以持续部署,而且没有GitHub Pages的限制,所以就开始了折腾的过程。再加上没有昂贵的服务器的费用以及不用花费精力去维护服务器,可以用自己喜欢的编辑器来编辑markdown文件,Typora真的好评!说了这么多,还不是为了折腾。其实前期花费在各种折腾上的钱差不多接近1K了,玩了很多个服务器,包括腾讯云的,vultr的,hostens的,justhost.ru的,阿里云的,然后又买了接近有10个域名了吧,折腾真的伤不起Orz。Hugo写博客的好处就在于只需要域名的费用,再加上Netlify的自动持续部署功能方便得不要不要的,所以就心动了。

准备工作

Hugo的本地环境搭建

本人使用的MBP,所以当然是在macos的终端环境下搭建的,终端推荐iTerm2 + ZSH,功能强大又赏心悦目。

  1. 安装Hugo
1
   brew install hugo
  1. 查看Hugo版本
1
   hugo version
  1. 创建一个新的网站
1
   hugo new site blog
  1. 进入网站的的主题目录下,选一个心仪的主题按照Hugo的官方网站的操作安装一个主题(不知不觉挖了一个坑)。主题我选的是even,颜值高又简洁
1
2
3
   cd blog
   git init #这一步很重要
   git submodule add https://github.com/olOwOlo/hugo-theme-even themes/even
  1. 用even文件夹中exampleSite的config文件覆盖blog下的config文件,这一步是为了适配主题

  2. 给博客添加内容,首先回到blog目录下,然后

1
   hugo new post/test.md  #post/posts根据主题的config的规则来选,even就是post,其它某些是posts
  1. 本地查看博客
1
   hugo server -D

然后进入终端提示的网址就可以看见博客的内容了。

GitHub相关操作

这一步其实主要是涉及到终端中GitHub账号的配置以及在Github上添加SSH key。

  1. 终端GitHub账号的配置
1
2
   git config --global user.name "username"
   git config --global user.emall "email"
  1. 本地生成SSH key

查看是否生成过SSH key

1
   cd ~/.ssh

不为空则生成过,可以直接进行使用;

若没有,则

1
   ssh-keygen -t rsa -C "title" #title随便

然后再将.ssh路径下的id_rsa.pub文件中的内容复制到GitHub上就成功了,GitHub中SSH key的相关设置在user的setting当中。文件可以用vim或者nano或者其它编辑器打开。

正戏开始

Netlify的操作

请参考Hexo+Netlify快速搭建个人博客

本地的操作

Git 一把梭开始,进入blog目录

1
2
3
git add .
git commit -m "Initial commit"
git push orgin master

部署成功

Failed

又是一个坑。其实Netlify也是需要配置的,所以在blog目录下添加一个netlify.toml文件,再push到远程仓库,配置直接复制Hugo官方网站的就好,注意修改版本号,一定要匹配才能部署成功。

然后

Succeed

填坑

由于even可以修改配色,所以就想着修改来看一看,但是因为even是作为一个submodule添加的,所以对even模块的修改并没有办法push到远程仓库中,怎么半呢?搜了很久的博客找到了解决办法。

首先把blog下的.gitmodules文件删除。

然后,把even中的.git文件删除,这一步是让blog成为一个Git项目;之后把even文件夹整体移出blog,把blog的修改push到远程仓库,然后再把even移动回来。然后添加even内容。

1
git add themes/even

然后再push到远程仓库中,这样对even的修改就可以push到远程仓库了。

参考资料

Hexo+Netlify快速搭建个人博客

如何解决 Git 仓库嵌套问题

Host on Netlify