博客从jekyll迁移至hexo并部署zeit过程

无意中看了自己原有博客页面google search的搜索情况,虽然内容价值不高,点击率也很低,但是也算是做到了自己的知识记录和简单分享,想起来坚持下去还是很有意义。因而将当初自己手动写的jekyll模板实现的简单博客页面迁移至功能更丰富,风格更现代的hexo,通过部署到免费的zeit,获取了独立的域名并将博客添加进了百度索引,希望我所遇到的问题及其解决方法能与更多的人分享,一如我一直享用其他人的知识经验一样。

Zeit部署Hexo博客

原本想通过百度收录自己原本github page地址,以便自己的博客可以通过百度搜索分享给其他人,但是百度无法收录github page,据查是因为百度爬虫过于频繁,被github禁止,因此得通过购买域名代理到github page,最后通过其他博主的推荐,使用zeit可以实现静态博客的部署,并支持CDN加速,全球都有节点,免费版一个月20GB的流量,对于博客已经完全够用了。

Zeit不支持git子模块

Hexo用于的人很多,用于生成静态博客实用方便,社区提供的插件也很丰富。此次将原有jekyll博客迁移至hexo问题不大,主要的坑点在于zeit无法支持git子模块,其论坛显示,当前无法做到子模块的自动拉取,原因是github没有对功能支持。
因此,Hexo/themesnext主题直接提交其原始文件,不进行子模块的关联,这样在zeit上自动构建时就会避免构建失败,next文件夹中无内容的问题。这样的弊端是要手动更新next版本,以获取到最新功能和bug修复。
github博客项目每次提交后,zeit会被触发自动构建最新的提交版本,然后部署到它的服务器上,因而,博客项目在提交时,不能只提交hexo生成的public静态输出文件目录,而是要把包含_config.yml的hexo根目录,一起提交,这样zeit的持续集成服务能直接build和deploy。因此,在本地写博客的好处是只要写对应的博客md文件,不用hexo generate后再叫public文件目录了。
目录概览:
blog-tree