Hexo安裝心得
05-12-2017
前言
一開始原本打算使用wordpress,評估後覺得wordpress,運行成本跟後續維護上比較高,至於免費blog不考慮,雖然有些免費的blog可以幫忙處理SEO,但對我來說這裡就是一個紀錄技術的地方,所以在google上找了一些方案,發現對岸的不少人使用Hexo架站,而且可以跟github配合,再加上之前申請github都沒有使用,乾脆選Hexo+github作為blog,順便練習git,安裝過程不難,這邊紀錄作為blog的第一篇文章。
安裝Hexo
Hexo基於Node.js開發,作者是台灣人(tommy351 ),詳細介紹請參考這邊
我的搭建環境(mac系統下):
node: v6.9.1
git: v2.9.2
- node.js + npm
- github帳號 + 創建倉庫
- 安裝hexo
- 部署至github
安裝node.js
下載node.js有不同的方法,我個人是到node.js官網下載,直接安裝到電腦上;到官網下載安裝檔好處是不用另外安裝npm,node.js安裝檔已將npm包含在內,安裝的介面如圖所示:
另一種方法使用brew下載安裝,我沒有使用brew安裝,請自行google查看安裝方法,這邊不做說明。
安裝完畢,開啟terminal測試是否安裝成功,安裝成功會顯示版本
1 | $ node -v |
github帳號
已有帳號的可以直接略過
1.到github官網:https://github.com/
2.填寫相關註冊資料,填寫完之後點擊Sign up for GitHub按鈕,一般選擇免費的部分,有需求的人也可以付費。
創建倉庫
登入github帳號,創建倉庫名稱必須依照 github帳號.github.io
,github規定的格式無法自訂,例如我的格式:jaffe1937.github.io
,填寫好相關資料即可以創建
Create repository按鈕。
配置SSH
已配置過可以直接略過
1.不確定是否有ssh keys,打開terminal輸入 $ ls -al ~/.ssh
,之前建立的ssh keys如圖所示:
2.設置username和email:
1 | $ git config --global user.name "你的 GitHub帳戶名" |
3.建立新的ssk keys1
$ ssh-keygen -t rsa -C "你的 GitHub註冊mail"
出現下面訊息1
2
3Generating public/private rsa key pair.
Enter file in which to save the key (/Users/you/.ssh/id_rsa):
一般情況不需要密碼,直接 enter
就好,在本機的用戶資料夾下會有一個新的文件夾.ssh,裡面有剛建立的ssh密鑰,id_rsa
和id_rsa.pub
。
id_rsa
是私鑰,請妥善保管不要外流,id_rsa.pub
是公鑰。
4.把剛剛建立的公鑰加到github,到github頁面,右上角點擊『 Settings 』,在電擊左側的『 SSH and GPG keys 』,然後點擊『 New SSH key 』
把id_rsa.pub
公鑰的內容都複製到Key文字框,點擊Add SSH key。
5.測試ssh連接
1 | $ ssh -T git@github.com |
如果出現下邊訊息,請輸入yes
後,按下Enter
1 | The authenticity of host 'github.com (207.97.227.239)' can't be established. |
顯示如下的訊息,則代表連接成功
1 | Hi, 用户名/用户名.github.io! You've successfully authenticated, but GitHub does notprovide shell access. |
安裝hexo
1.安裝hexo
請確認已安裝node.js,如果沒有安裝請先安裝node.js。
1 | sudo npm install hexo-cli -g |
安裝時使用npm install hexo-cli -g
報錯,因為權限不足所以才會報錯,只需要加上sudo
即可解決。
2.初始化hexo1
hexo init
3.安裝依賴1
npm install
4.啟動hexo
hexo server
啟動之後,開啟瀏覽器在網址列輸入:http://localhost:4000,會看到Hexo預設頁面。
建立新文章
1.新建文章
1 | hexo new <title> |
hexo資料夾下的source_posts子資料夾,會建立一個『 title.md 』的文件,如果要刪除,直接刪除此資料夾下對應的文件。
2.生成靜態頁面
1 | hexo generate |
生成的靜態頁面會在public資料夾。
3.清除生成內容
1 | hexo clean |
執行此命令會刪除public資料夾下的所有內容。
4.部署hexo
1 | hexo deploy |
此命令會將hexo的靜態內容,部署至github倉庫中。
部署至github
1.編輯配置檔
使用自己慣用的編輯器打開hexo配置檔_config.yml,找到如下的內容:
1 | # Deployment |
加入github倉庫資訊,參考如下:
1 | # Deployment |
2.安裝git外掛
沒有安裝外掛,直接部署會報錯,安裝後再重新部署一次就可以了。
1 | sudo npm install hexo-deployer-git --save |
3.部署至github
沒特別的情況,通常就可以部署到github,透過 http://<帳號名>.github.io 查看。
1 | hexo deploy |
hexo命令縮寫
1 | hexo g:hexo generate |
hexo命令組合
1 | hexo clean && hexo g -s,清除、生成、啟動 |
建立時踩到的坑
1.使用npm install hexo-cli -g
無權限寫入,後來發現只要前面加sudo
就可以解決
2.無法部署到github
執行這串命令時,$ npm install hexo-deployer-git --save
,前面加了sudo
還是報錯,google找到一篇文章提醒,這串命令必須進到hexo目錄下執行,才解決部署的問題。
參考文章:
http://www.cnblogs.com/liulangmao/p/4323064.html
http://www.jianshu.com/p/f4cc5866946b
http://www.aliengu.com/archives/1630