0%

Hexo + GitHub Pages 建立部落格

Hexo 是一個寫 blog 的網頁框架,選取需要的主題、設定_config.yml 和使用 npm 安裝套件,在撰寫文章時只要專注於 Markdown 的語法即可。

GitHub Pages

GitHub Pages 本身是使用 GitHub 作為網頁的儲存空間,有以下的限制:

  • 網站大小不能超過 1 GB
  • 網站每月流量不能超過 100 GB
  • 一小時內的網站更新不得超過 10 次
  • 只能架設「靜態網站」

建立 GitHub Pages

建立 GitHub Pages 的空間十分的簡單,只需建立 GitHub 專案,名稱取名為 xxx.github.io( xxx 要填自己的 GitHub 帳號名稱 ),這樣一個靜態的網站就建立完成了,只需將靜態網站的檔案推送到這一個 repository 即可自動部屬。
創建 GitHub Pages

點進剛剛創建的 repository –> 點進 setting 裡面有一項叫做 GitHub Pages ,這邊可以看到自己的網站的網址( 前提是已經上傳相關的檔案,列如 index.html 檔 )。
Source 裡面可以設定哪一個分支做為顯示的分支,預設都是 master,意味著使用 git 推到 master 分支時 GitHub 就會隨著 master 分支的更動更改頁面的顯示。(圖中是本部落格的 repository)
GitHub Pages setting

Hexo

建立 Hexo 環境

  1. Node.js
  2. Git
  3. 安裝 Hexo (終端機
    1
    npm install -g hexo-cli

建立 Hexo 專案

進到想要的資料夾中,在終端機中輸入以下的指令以建立專案。

1
2
3
4
hexo init name  //初始化新的 Hexo,會在當前路徑建立一個叫 name 的資料夾,資料夾名稱可以隨意取,例如「myblog」,那麼指令就是 hexo init myblog
cd name //進入您剛剛建立的 name 資料夾當中,cd 是 change directory 的意思
npm install //安裝 npm 所有的 package
npm install hexo-deployer-git --save //安裝 git 部署套件, --save 將其寫入 package.json,以利之後 npm install

設定 Hexo 專案

  1. Hexo 專案中有一個 _config.yml,打開並修改 6 ~ 12 行:
1
2
3
4
5
6
7
title: Hexo  //輸入部落格標題
subtitle: '' //輸入副標題
description: '' //輸入網站描述
keywords: '' //輸入網站關鍵字(以逗號隔開),方便 SEO
author: John Doe //輸入姓名或暱稱
language: en //輸入您所使用的語言
timezone: '' //留空以使用系統時間

Hexo 專案基礎設定

  1. 設定 Hexo 部屬至 GitHub 的資訊,通常這一段在_config.yml 檔的最下方,沒有也可以自己加。(請記得要先安裝 hexo-deployer-git)
    Hexo 部屬 GitHub

部屬至 GitHub

回到終端機,輸入以下指令(記得要進到專案的根目錄):

1
2
3
hexo cl  //清除之前建立的靜態檔案,也可以輸入 hexo clean
hexo g //建立靜態檔案,也可以輸入 hexo generate
hexo d //部署至 Github Pages,也可以輸入 hexo deploy

建立並部屬(懶人寫法):

1
hexo g -d

1
hexo cl && hexo g && hexo d

P.S.

1
hexo s //開起本地端的網站,方便預覽成果

預設完成的介面,這樣就完成了:
Hexo 部屬 GitHub

儲存至 GitHub

為了讓不同的電腦可以隨時撰寫和同步 blog 需要將整個 hexo 專案放置 Github ,也為了方便找尋專案將專案推至同一個 repository 的 develop 分支。 (已更改為獨立的 Private repository)
hexo-blog開發分支

新電腦只須執行以下專案即可開始撰寫(Hexo 客製化 , NexT 配置):

1
2
git clone -b <branchname> <remote-repo-url> . //-b 為 --branch 簡寫 , . 代表直接clone到這一個資料夾 ,<branchname> 此處指定 develop
git clone https://github.com/theme-next/hexo-theme-next themes/next //將主題下載至 hexo 的 theme,此處使用 Next

撰寫完成將最新的開發進度再推送至 develop 分支。

  • 第一次:

    1
    2
    git remote add origin <remote-repo-url>
    git push -u origin develop
  • 之後:

    1
    git push

參考資料

  1. 如何搭建個人 Blog 使用 Hexo + Gitpage
  2. [教學] 使用 GitHub Pages + Hexo 來架設個人部落格