无意间发现了这么一个项目,感觉很好很强大,因而研究了一下,搭建了基于Gridea和GitHubPage的静态博客。现将搭建过程记录,以飨读者。
1. 概念与原理
1.1 GitHub
GitHub是一个面向开源及私有软件项目的托管平台。通俗点来说像一个网盘,办公室将代码推到GitHub,回家之后再拉下来,然后就可以接着工作了。除此之外,可以多人协作完成一个项目,项目成员提交的代码互相之间都可以看到并进行合并与修改,项目成员之外的人也可以fork一份代码,修改代码之后, PR(Pull Request)到项目分支,项目管理员选择合并与否。
学习资料:
1.2 GitHub Page
GitHub Page 是 GitHub 公司推出的网页服务。GitHub会分配一个域名到你的仓库(eg:我的仓库被分配的域名为: LuckyHH.github.io),通过该域名就可以访问到你的项目。此时,仓库其实就是一个静态资源服务器了。
1.3 Gridea
Gridea 是一个写作客户端。是类似生成器之类的东西,在 Gridea 上写完文章之后,会将各种资源文件生成并同步到 GitHub仓库上,通过域名访问到的就是美化后的页面了。
类似的服务还有大名鼎鼎的 Hexo 和 Jekyll.只不过他俩需要通过命令去生成和推文件,不如 Gridea 方便。
2. 实践
其实 Gridea 作者自己录了视频,我看了一下还挺详细的。这里就不长篇大论了。
3. 自定义域名
通过 GitHub 分配的域名就可以访问到博客了。如果使用自定义域名,请看本节,否则跳过。
3.1 域名准备
首先准备一个域名。可以到阿里云或者腾讯云随便买一个即可,域名不需要备案。推荐到阿里云购买。
其实也有很多国外公司提供的免费域名(eg:Freenom),但大都只有一年的免费使用时间,续费还挺贵的。
3.2 域名解析
将域名解析到GitHub的服务器
[阿里云]
打开阿里云域名解析控制面板并点击解析设置
点击添加记录,在弹出的框中,如图 3.2.3 中箭头部分输入 图 3.2.2 中框出的记录值,其他默认。点击确定即可
[腾讯云]
打开腾讯云域名解析控制面板并点击解析
点击添加记录,在输入框中按图 3.2.5 输入即可。进行四次添加记录操作,记录值分别填入 图 3.2.2中框出的记录值
3.3 Gridea配置
在软件上添加记录即可
4. 注意
- GitHub的服务器在国外,所以博客访问速度会很慢,挂个VPN访问会快很多
- 每次在Gridea同步完修改之后,需要等待几分钟网页才会有变化,这是GitHub服务器缓存导致的,无解