Hexo 發佈網站

寫好文章後就可以將 blog 發佈到網路上讓大家瀏覽。

Hexo 最後生成的是 html 檔案,所以幾乎所有的空間都支援,不用再去設定資料庫、程式語言環境等。Hexo 內建了 GitHub Pages, Heroku, Rsync, Git 等發佈設定檔,只要設定好幾個參數就可以透過這些方式發佈我們的網站。

GitHub Pages

GitHub 提供每個帳號一個存放網頁的空間 GitHub Pages,只要建立一個名稱為 GitHub帳號.github.io 的 repository 就可以了。

修改 blog根資料夾\_config.ymldeploy 參數,設定為使用 github。

deploy:
  type: github
  repo: https://github.com/GitHub帳號/GitHub帳號.github.io.git

生成網站。

hexo generate

發佈到 GitHub。

hexo deploy

也可以在 deploy 加上 -g 參數,發佈前先產生網站,這樣只需輸入一行指令即可。(這邊使用了指令縮寫)

hexo d -g

發佈過程中會提示輸入 GitHub 的帳號密碼。

完成後開啟 http://GiHub帳號.github.io/ 就可以看到網站了。

自訂網域

瀏覽 GitHub Pages 時預設是使用 GitHub 提供的網域名稱 github.io,但如果你想設定成自己的網域也是可以的。

  1. blog根資料夾\source新增一個檔名為CNAME的檔案。

  2. 編輯 CNAME 檔案,輸入你的網域名稱,例如 blog.codeplanet.me。

  3. 設定 DNS record,依據自訂網域不同而作法稍有不同。

    • 根網域,例如 codeplanet.me,使用 A 紀錄指向。

      codeplanet.me. IN A 192.30.252.153
      codeplanet.me. IN A 192.30.252.154
      
    • 子網域,例如 blog.codeplanet.me,使用 CNAME 紀錄指向。

      blog.codeplanet.me. IN CNAME GitHub帳號.github.io.
      

其它發佈方法

當執行 hexo generate 後,所有生成的檔案會儲存在blog根資料夾\public,這個資料夾就是一個完整的網站,只要將它複製到 web server 上就可以了。

Reference

Hexo Deployment
http://hexo.io/docs/deployment.html
Setting up a custom domain with GitHub Pages
https://help.github.com/articles/setting-up-a-custom-domain-with-github-pages/