微信号:GrowthOfficer

介绍:未来的日子里,希望在这里写下一些自己的思考和感悟;如果可以的话,创造一些美好的事物.

静态网站的动态化

2016-08-26 12:16 马飞

说到静态网站的动态化,其实就跟想减肥又不愿多运动一个道理,那到底鱼和熊掌能不能兼得呢?静态网站确实有诸多优点但它的部署发布流程太繁琐了,之前我为了偷懒写了一个脚本每次写完文章一键发布!


后来在一次team分享会上cc同学提出了一个小创意说现在静态网站+markdown的组合非常流行,我们可不可以做一个移动版的app随时把写好的文章以静态网站的形式发布出去?而且兴致勃勃的说目前没有人这么做如果做出来肯定会火一把😄 。


最近在看持续集成相关的文章,然后发现完全可以通过CI+静态网站生成器+github手机客户端完成之前的idea,于是google了一下发现很多文章都有讲如何通过Travis、flow.ic等持续集成工具来发布由hexo、Jekyll等等静态网站生成器构建的博客,这仿佛也印证了那句话“当你想到一个idea的时候,可能有1000个人已经想到了,100个人在计划了,10个人准备全力去做了,一个人已经干出来了" 不过关键还是看执行力。


既然网上很多文章都有讲为什么还要来写这篇文章呢?还不是因为各种坑嘛,在实际搭建部署的过程中遇到各种莫名的环境配置问题,思路大家都懂😂


关于持续集成和静态网站生成器之类的概念在这里就不重复讲了,有问题自行google。


我的博客框架

我的博客系统是用Hexo+Travis CI+Github搭建的。

因为要使用Gitpage服务,所以生成的网页文件必须是在master分支


  • master分支用来存放生成的Html文件




  • blog_source分支用来存放博客源文件




在Github上生成Access Token

在github的设置页面,点击左侧的Personal access tokens,然后点击右上角的Generate new token按钮,他会让你输入密码,最后进入下图的页面:



这里需要注意因为你要把这个token给CI服务器所以为了安全起见尽量只给必要的权限即可。


Travis CI的环境配置

这里我们把一些敏感的信息都配置在CI服务器上,例如:github的用户名、邮箱、Gitpage的地址、还有刚刚生成的Token。




.travis.yml的配置

这里我们还需要在存放博客源码的仓库里创建一个.travis.yml配置文件,如下图:




内容如下:




其中变量的含义:

  • GH_TOKEN——访问github的token

  • GH_REF——博客托管在Gitpage上的地址

  • USER_NAME——github的用户名

  • EMAIL——github的邮箱


愉快的发布文章

1、通过Android studio来管理发布博客

在AS中有很多不错的插件来支持markdown,这样我们就可以像平时写代码一样来写文章了,完成之后push到服务器,CI那边就会自动编译发布。




2、通过github网站直接发布文章

这种方式就更不依赖环境了,只要有一台可以联网的设备你就可以开心的写文章了。




3、通过github手机客户端

github推出了Android版的客户端,这样写文章是不是更容易了呢


对了文中提到的配置信息如果想要直接copy的点击阅读原文


欢迎关注我


 
猜您喜欢 虚拟化在灾难恢复和业务连续性方面的具体应用(三):「英方周末」第二十期 从map函数引发的讨论 架构师之路:秒杀系统架构优化思路最佳实践 一致性hash原理与实现 2016 var-vs-let 的停火协定