开始用Hexo写Blog了. 部署在GitHub Pages上, 也没有遇到什么坑, 还是总结下吧, 顺便练练写作.

安装

安装问题可以在官方文档中找到, 并且有简体中文的翻译.

部署

我是部署在了GitHub Pages上, 所以理论上最好的部署方式是

  • 默认分支是你的blog,
  • source或者其他分支, 可以上传blog的hexo项目文件夹.

这样可以保证如果你电脑上的hexo项目被你不小心删掉了, 也有一个备份. 但是请注意如果你使用的一些插件包括了一些密钥, 请小心上传.

域名

部署在GitHub Pages的话, 访问域名是你项目的名字, <你的gihtub用户名>.github.io

当然GitHub Pages也支持自定域名, 并且在18年5月份支持自定域名的HTTPS.

GitHub Pages is the best way to quickly publish beautiful websites for you and your projects. Just edit, push, and your changes are live. GitHub Pages has supported custom domains since 2009, and sites on the *.GitHub.io domain have supported HTTPS since 2016. Today, custom domains on GitHub Pages are gaining support for HTTPS as well, meaning over a million GitHub Pages sites will be served over HTTPS. 查看更多

如果使用独立域名的话, 需要在GitHub Pages设置一个CNAME, 项目设置中可以设置, 但是更推荐在命令行中进入你的项目中的source文件夹并使用 echo <你的域名> > CNAME, 然后再重新生成并部署上传到GitHub. 这样可以防止你的CNAME文件在部署的时候被删除.

在设置好CNAME之后, 需要去域名商中添加两个CNAME解析. Host设置为 @www, 在Value那里填写你的项目地址 <你的gihtub用户名>.gtihub.io, 然后坐等生效就好了~

还有一点, GitHub Pages的自定域名的HTTPS并不会立即生效. 通常需要等上一段时间, 不超过24小时(应该), 之后再去你的项目设置里, 找到Enforce HTTPS, 并打上勾, 这时候你就可以通过 https://<你的域名>访问你的Blog了.

最后一点, 自定域名似乎并不会自动跳转到https, 你想要加一个301跳转. 先去域名服务商的dns那里设置一个URL跳转 在你的主题模版中添加

1
2
3
4
5
<script type="text/javascript">
var host = "<你的域名>";
if ((host == window.location.host) && (window.location.protocol != "https:"))
window.location.protocol = "https";
</script>

<head>标签中, 这样就完成了所有的准别工作了~ 开始写Blog吧.