博客即代码

以前我写过一篇博客,敏捷的写博客,借鉴了敏捷看板的思想来管理博客。git

而在DevOps领域有一个很火的技术实践叫作基础设施即代码。Kief对基础设施即代码的解释是这样子的:github

基础设施即代码是一种使用新的技术来构建和管理动态基础设施的方式。它把基础设施、工具和服务以及对基础设施的管理自己做为一个软件系统,采纳软件工程实践以结构化的安全的方式来管理对系统的变动。web

里面的关键一点是以软件工程实践的方式来管理基础设施。那么对于咱们的博客可不能够也采纳软件工程实践的方式来管理那?答案是可行的。安全

  1. 选取合适的语法服务器

    既然想写代码同样写博客,那么首先要选择一种语法了,这种语法就是MarkdownMarkdown很是容易上手,包含的tag刚刚够用,尤为展现代码很是方便,自从用了它不再用和烦人的CSS打交道了。人们不只用Markdown在stackoverflow上发问题、解答问题,还在GITHUB上track issue,甚至如今写邮件也用Markdown了。拿它来写技术文章简直不用太爽。网络

  2. 选取合适的框架hexo

    实现基础设施代码须要选择一款基础设施自动化工具,这些工具的特色是全命令行操做,很容易实现自动化。那么创建本身的技术博客站点也须要选择一个博客框架,支持全命令行操做的博客框架有JekyllOctopressHexo等。它们各自的特色不在本文的讨论范围。但我多说一句,我如今使用的是Octopress,我也用过Hexo,我更喜欢Hexo,缘由有二,一是速度快,二是环境简单。框架

  3. 选取顺手的编辑器编辑器

    这些博客框架的特色是能够Offline写做,而后一键发布。因此你能够选用任何你喜欢的编辑器来写文章,不用使用在线编辑器和各类样式问题、网络问题抗争了。Atom、Sublime或者专业编辑工具MacDown、Mou等都行。工具

  4. 一切归入版本管理

    这些博客框架建立博客、生成博客、发布博客所有能够命令行操做。并且全部的配置(包括对站点的基本配置、插件的配置、主题的配置)均可以直接修改配置文本,博客也是以MarkDown的格式存储,因此整个站点均可以存放在GIT之类的版本控制库中。好比个人整站博客源码都放置在GitHub上,今后不再用更担忧博客内容丢失了。

  5. 灵活的发布策略

    它们经过命令能够生成纯静态的博客,因此无需任何web服务器均可以运行。你能够将其放置到GitHub Pages上,或者Heroku上都行,或者本身随便找台免费的云主机装个nignx便可。固然也有更高大上的作法,我把整个博客放置在AWS的S3上。S3是亚马逊推出的对象存储服务,而且我仍是用了亚马逊提供的全球CDN加速功能CloudFront,对个人博客进行了全球CDN加速。不管是澳洲海边仍是中国内陆,访问速度都是杠杠的。

  6. 定制开发的能力

    漂亮的主题风格也是选取一个博客框架须要考虑的一个因素。想要更换皮肤就太简单了,也是全命令行操做。拿Octopress举例,网上有不少热心用户制做的皮肤,都托管在github上,相中之后直接经过命令行操做就能够给你的博客换上最In的皮肤。

    另外还有对博客的定制化也是咱们关心的。每款博客框架都有丰富的插件,这些插件的代码都放置在GitHub上,彻底开源,安装配置插件也很是简单,命令行所有搞定。我本身也写了一些定制化的插件,好比当我发布一个新博客的时候,只需rake deploy一条命令就能够把个人博客推送到个人weibo和linkedin上,也能够把整个博客内容同步到我在博客园的博客站点上。这些插件也开源在GitHub上,分别是octopress-linkedinoctopress-syncPost


这样子,写博客变成了一种享受。进入咨询团队之后,坚持写博客也带来了其它一些好处。好比和客户讨论一个问题时,直接把我文章连接发给他说,说这个东西我以前专门写过博客,你看了就懂了。这样瞬间在客户面前树立了专业的形象。更有甚者,客户当着个人面搜索某个技术名词,第一页第一条赫然就是我写的博客。因此能够少费些口舌,把精力用到其它地方去。

相关文章
相关标签/搜索