0%

使用Hexo+Github建立部落格

Hexo?

Hexo 是一套簡潔的網誌框架,主要使用Markdown來編輯文章,搭配佈景主題只要幾秒鐘就可以產生靜態網頁,並且可以部署在github上面,使用上非常的簡單與快速。

安裝

在使用Hexo之前,我們必須準備環境配置,安裝Hexo依賴的node.js與git

接著在terminal輸入

1
2
3
4
$ npm install hexo-cli -g //安裝hexo
$ hexo init myblog //初始化名為myblog的資料夾
$ cd myblog //進入myblog資料夾
$ npm install //安裝

產生靜態網頁並且在本地端建立server預覽網頁

1
2
$ hexo g //產生靜態網頁
$ hexo s //執行server

若要退出,按control+c就可以退出

部署至Github

Github 設置

至Github建立一個新的Repo,名字為<username>.github.io

Hexo 設置

因為我們之後會把他部署到github上,所以我們得先安裝hexo-deployer-git

1
$ npm install hexo-deployer-git --save

好了之後進入myblog的資料夾可以找到名為_config.yml的文件,這個文件主要是讓用戶可以對hexo做基礎設定,包括了網站名稱、語言、deploy位置…等

打開文件後看到最底下,會有一個deploy的區塊,按照下面內容進行修改即可儲存

1
2
3
4
deploy:
type: git
repo: git@github.com:<username>/<username>.github.io.git
branch: master

編輯完之後保存

ssh設置

Github主要可以分為兩種方式進行部署,一個為https,一個為ssh,因為用ssh可以不用每次都輸入帳號密碼,節省非常多時間,所以本文利用的是ssh的方法

建立ssh key

如果是第一次使用ssh key,本地端應該是沒有ssh的資料夾,所以我們這邊先建立資料夾並且給予權限

1
2
mkdir -p ~/.ssh
chmod 700 ~/.ssh

接著輸入來產生ssh key

1
ssh-keygen

這邊會問說你想要的檔案名稱,如果沒需要特別設定,直接enter略過就好

1
2
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

設定ssh key的密碼,若不需要就直接按enter跳過

1
2
Enter passphrase (empty for no passphrase): 
Enter same passphrase again:

產生完畢後,複製金鑰內容

1
$ pbcopy < ~/.ssh/id_rsa.pub

將ssh key加入github當中

進入Github的settings=>Add an SSH Key=>New SSH Key,將SSH Key輸入後保存,即可完成SSH Key的設置

1
2
Title: 自訂,隨便都可以
Key: 貼上剛剛複製的內容

進行部署

再來就可以部署到github上

1
2
$ hexo g //產生靜態檔案
$ hexo d //進行部署

如果上傳之後有頁面出現404,但是其他頁面顯示正常,先刪除.deploy_git文件夾並且執行

1
2
$ hexo clean //先清除Pubic資料
$ hexo g -d //重新產生靜態網頁,並且部署

參考資料
使用hexo-github搭建静态博客
使用 Hexo+Github 建立個人網誌
Github 中的 ssh、https 路徑有什麼差異? - 如何設定 Github SSH 金鑰
hexo常用命令筆記
解決Enter passphrase for key