Hexo 環境 遷移至 Cloud 9

之前 Libersky 的 hexo 環境放置在筆電中,如果要筆電沒放在身上,寫完可能要丟到學校才可以 generate 並 deploy,當然可以用 remote software 的方式解決,不過筆電要一直開著很麻煩,原先是想說把 hexo 環境重新佈署到 VMware,不過這種方法還是需要到處帶著隨身碟/行動硬碟,而且相對來說不太優雅(一個系統很肥阿),找 hexo 轉移電腦相關資料過程中,突然看到一篇如何在 Koding 雲端開發平台上建置 Hexo 環境,受到這篇的啟發,決定將筆電的 hexo 環境遷移到 Cloud 9,這個 Cloud IDE 上面。

有關於 Cloud 9,節錄至 Wikipedia:

Cloud9 provides an open source integrated development environment in the cloud. It supports more than 40 languages, with class A support for PHP, Ruby, Python, JavaScript/Node.js, and Go. It enables developers to get started with coding immediately with pre-setup environments (workspaces), collaborate with their peers with collaborative coding features, and web development features like live preview and browser compatibility testing.

簡單的說只要有 browser 並且連的上網路,就可以到處編輯/生成,非常的方便。

遷移的步驟,具體如下:

  1. tar 指令打包原本的 hexo 目錄
  2. 將 tar 上傳到 Cloud 9 並解壓縮到 workscape(/home/ubuntu/workspace)
  3. npm 安裝 hexo npm install -g hexo@2.7.1
  4. cd hexopath
  5. hexo generate

注意第三步驟,[email protected],將斜體的地方換成自己原本 hexo 環境中的版本號(hexo -v 查詢),其實遷移生成環境把握一個原則:讓欲遷移的環境與原本的環境盡量相同,基本上就可以無痛遷移。

hexo: 2.7.1
os: Linux 3.14.13-c9 linux x64
node: 0.10.33

Ming 原先的 node.js 版本不是 Cloud 9 Custom 預設 node.js 0.10.33,不過版本號都是 10 開頭,就沒有重新 compile node.js,如果原先 hexo 環境中的 node.js 版本(node -v 查詢)與 Cloud 9 相差過大的話,可以考慮重新 compile node.js(記得先刪除內建的 node.js 版本,可以參考Uninstall Node.JS using Linux command line?)。

補上一些 issue:

安裝 Dropbox 同步 hexo 環境

今年 Ming 跟 Hard Disk 有點相衝,掛了兩顆硬碟,所以資料備份是很重要的,因為 hexo 環境整個目錄占用的空間其實很小(< 100 MB),所以可以考慮利用 Dropbox 備份整個 hexo 目錄。

要如何在 Linux 安裝 Dropbox 請參考:

安裝完之後,家目錄會多一個 Dropbox 資料夾,因為我把 hexo 目錄放置在 ~/workspace 下面,而 Dropbox 則在 ~/Dropbox,所以如果要可以順利同步 hexo 目錄的話,可以考慮用 ln(符號鏈結) 的方式進行。

Ming 的 hexo 目錄在:/workspace/libersky/
Ming 的 Dropbox 目錄在:
/Dropbox/

輸入以下指令,可以讓 Dropbox 同步 hexo 目錄。

ln -s ~/workspace/libersky/ ~/Dropbox/

在 Cloud 9 預覽 hexo generate 生成的環境(hexo server)

之前在筆電上,hexo generate 完之後,都可以透過 hexo server 進行預覽生成後的檔案,Cloud 9 一樣可以進行預覽。

在 hexo 目錄下面:

hexo server -i $IP -p $PORT

在 Cloud 9 IDE 右上角的 Share 裡面的 Preview 欄位中的網址(格式:http://<workspacename>-c9-<username>.c9.io)即可預覽生成後的環境。

hexo 常用指令

hexo generate
hexo server
hexo new “title”

Reference