博客即代碼

以前我寫過一篇博客,敏捷的寫博客,借鑑了敏捷看板的思想來管理博客。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


這樣子,寫博客變成了一種享受。進入諮詢團隊之後,堅持寫博客也帶來了其它一些好處。好比和客戶討論一個問題時,直接把我文章連接發給他說,說這個東西我以前專門寫過博客,你看了就懂了。這樣瞬間在客戶面前樹立了專業的形象。更有甚者,客戶當着個人面搜索某個技術名詞,第一頁第一條赫然就是我寫的博客。因此能夠少費些口舌,把精力用到其它地方去。

相關文章
相關標籤/搜索