原本是用Jekyll + Github Pages架設個人網誌,轉移到Hexo後發現真得很方便,這次便將安裝過程紀錄下來。
安裝Hexo
安裝前需要有Node.js和Git。
輸入下列指令安裝
1 | npm install hexo-cli -g |
安裝完後,可輸入hexo version查看Hexo版本和相關資訊如下:
1 | hexo-cli: 4.3.1 |
初始化Hexo
輸入下列指令初始化
1 | hexo init <資料夾名稱> |
結果
1 | INFO Cloning hexo-starter https://github.com/hexojs/hexo-starter.git |
切換到剛才建立的資料夾後,安裝所需的npm套件
1 | cd <資料夾名稱> |
Hexo相關指令
新增文章
1 | hexo new [layout] <title> |
清除靜態檔和快取
1 | hexo cl |
產生靜態檔
1 | hexo g |
啟動伺服器
1 | hexo server |
結果
1 | INFO Validating config |
切換主題為NexT
到這邊先別急著走,推薦一套超好用的主題NexT,裡面已彙整好常用的個人網誌相關套件,只要做幾個設定便可運行。
輸入指令clone NexT主題
1 | git clone https://github.com/theme-next/hexo-theme-next themes/next |
編輯_config.yml切換主題
1 | theme: next |
複製一份themes\next_config.yml至source_data\next.yml,基於版本控管不處理themes的規則,可用複製出來的next.yml做設定,後面會用到。
重新執行hexo g和hexo server便可看到新的主題。
新增頁面:關於
點擊網誌上的關於,會發現是空的,此頁面需要手動建立。
輸入下列指令,會於source底下新增about\index.md
1 | hexo new page about |
編輯about\index.md,習慣會將留言關閉
1 |
|
新增頁面:標籤
輸入下列指令,會於source底下新增tags\index.md
1 | hexo new page tags |
編輯tags\index.md
1 |
|
編輯source_data\next.yml,分別打開about和tags
1 | menu: |
新增功能:Gitalk
新增留言功能,順便說明如何打開相關套件。
首先至Github的Settings > Developer Settings > OAuth Apps > New OAuth App,輸入相關資訊。
申請完後會獲得一組Client ID和Client Secrt。
編輯source_data\next.yml
1 | gitalk: |
輸入npm指令安裝gitalk套件
1 | npm i --save gitalk |
即可在每篇文章的最後看到留言功能。注意要部署到server才可正常登入使用,本地localhost無法使用。
部署到Github Pages
安裝Git相關套件
1 | npm install hexo-deployer-git --save |
編輯_config.yml,建議使用gh-pages分支,而不是master分支,方便將原始檔和實際要公開部署的分開控管。
1 | deploy: |
輸入下列指令部署,第一次跑會要求登入Github
1 | hexo cl |
完成後,便可在個人頁面 https://username.github.io 查看部署結果。
新增文章草稿
1 | hexo new draft <title> |
原理是將文章建在 source/_drafts 資料夾下,若要本地預覽使用
1 | hexo server --draft |
將草稿發布為正式文章
1 | hexo publish <filename> |
發布後,會在文章內容和檔名加上日期。
錯誤處理
No layout: index.html
少了主題,當從其他主機clone專案後,還需clone NexT
輸入指令clone NexT主題後便可
1 | git clone https://github.com/theme-next/hexo-theme-next themes/next |
參考資料