精品軟體與實用教程
建立Hexo博客,快速簡潔高效,零成本建立個人部落格:Hexo + GitHub Pages + Cloudflare Pages 完整指南
本文詳細介紹如何使用Hexo框架來建立一個個人博客,並將其部署到GitHub Pages和Cloudflare Pages上。主要內容包括:
- 環境準備:安裝Node.js和Git
- 設定Git和GitHub:設定SSH密鑰,建立GitHub倉庫
- 初始化Hexo專案:安裝Hexo,建立新博客
- 部署到GitHub Pages:配置部署設置,推送靜態文件
- 部署到Cloudflare Pages:連接GitHub倉庫,自動部署
- 基本使用方法:建立新文章,本地預覽,發布更新
這個教程適合那些想要快速建立個人博客,但又不想花費太多成本的人。透過使用Hexo、GitHub和Cloudflare的免費服務,您可以輕鬆建立一個高效率、簡潔的部落格網站。
1.事前準備
- 域名(非必須,你也可以使用免費域名,或者
GitHub.io
或Pages.dev
分配的域名也可以) - GitHub(必須,你需要註冊一個GitHub帳號)
- Cloudflare(非必須,你需要註冊一個Cloudflare帳號,這樣你就可以將部落格部署在CF的CDN裡加速,但是你也可以直接使用
GitHub.io
分配的域名)
2.軟體支持
- Node(必須)
- Git(必須)
- VSCode(非必須,這是一款輕量的程式碼編輯器,可以幫助你養成一個很好的程式設計習慣)
2.1.安裝 Node
- 開啟 Node官網,下載和自己系統相配的Node的安裝程序,否則會出現安裝問題。下載地址:https://nodejs.org/en
- 下載後安裝,安裝的目錄可以使用預設目錄
C:/Program Files/nodejs/
- 安裝完成後,檢查是否已安裝成功。在鍵盤按下win + R鍵,輸入CMD,然後回車,開啟CMD窗口,執行
node -v
命令,看到版本訊息,則表示安裝成功。
- 修改npm來源。 npm下載各種模組,預設從國家伺服器下載,速度較慢,建議配置成華為雲端鏡像來源。打開CMD窗口,運行以下命令:
npm config set registry https://mirrors.huaweicloud.com/repository/npm/
2.2.安裝 Git
- 進入官網下載適合你目前系統的 Git:https://git-scm.com/downloads
- 下載後傻瓜式安裝Git即可,安裝的目錄最好使用預設目錄
C:/Program Files/Git
- 點擊電腦左下角開始看得見
Git CMD
、Git Bash
、Git GUI
。Git CMD
是windows 命令列的指令風格Git Bash
是linux系統的指令風格(建議使用)Git GUI
是圖形化介面(新手學習不建議使用)
3.配置Git 金鑰並連接至Github
常用 Git 指令
git config -l //查看所有設定git config --system --list //查看系統設定git config --global --list //查看使用者(全域)配置
3.1. 設定使用者名稱和郵箱
git config --global user.name "你的使用者名稱" git config --global user.email "你的信箱"
透過git config -l
檢查是否配置成功。
3.2. 設定公鑰連接 Github
- 執行以下命令產生ssh公鑰,此公鑰用於你的電腦連接Github
ssh-keygen -t rsa -C "你的信箱"
提示Enter file in which to save the key
直接一路回車即可,新手小白不推薦設定密鑰
之後打開C盤下用戶資料夾下的.ssh的資料夾,會看到以下文件
id_rsa
私鑰id_rsa.pub
公鑰
用記事本開啟上述圖片中的公鑰id_rsa.pub
,複製裡面的內容,然後開始 github>中配置ssh密鑰。
- 將SSH KEY 配置到 GitHub
進入 github,點擊右上角頭像選擇settings
,進入設定頁後選擇SSH and GPG keys
,名字隨便起,公鑰填到Key
那一欄。
- 測試連接,輸入以下命令
ssh -T [email protected]
第一次連接會提示
Are you sure you want to continue connecting (yes/no/[fingerprint])?
,輸入yes
即可
出現連接到帳戶的訊息,說明已經大功告成,至此完成了環境準備工作。
3.3. 建立 GitHub.io倉庫
- 點選右上角的
+
按鈕,選擇New repository,創建一個<使用者名稱>.github.io
的倉庫。 - 倉庫名字的格式必須為:
<使用者名稱>.github.io
(注意:前綴必須為使用者名,此為預覽部落格需要,後期可修改倉庫名稱) - 可見性必須選擇
Public
方便第一次 部署檢查問題,點選 Creat repository 進行創建即可
4.初始化Hexo 博客
- 建立一個資料夾來保存部落格原始碼(我在這裡選的路徑為
D:/Hexo-Blog
),在資料夾內右鍵滑鼠,選擇Open Git Bash here
- 在
Git BASH
輸入如下指令安裝Hexonpm install -g hexo-cli && hexo -v
- 安裝完後輸入
hexo -v
驗證是否安裝成功。
- 初始化Hexo 專案安裝相關依賴。
hexo init blog-demo cd blog-demo npm i
- 初始化項目後,
blog-demo
有如下結構:
- node_modules:依賴套件
- scaffolds:生成文章的一些模板
- source:用來存放你的文章
- themes:主題
- .npmignore:發佈時忽略的文件(可忽略)
- _config.landscape.yml:主題的設定檔
- config.yml:部落格的設定文件
- package.json:專案名稱、描述、版本、運行和開發等信
- 輸入
hexo cl && hexo s
啟動專案
- 開啟瀏覽器,輸入位址:http://localhost:4000/ ,看到下面的效果,說明你的部落格已經建置成功了。
5.將靜態部落格掛載到GitHub Pages
- 安裝hexo- deployer- git
npm install hexo-deployer-git --save
- 修改
_config.yml
文件
在blog-demo目錄下的_config.yml,就是整個Hexo框架的設定檔了。可以在裡面修改大部分的配置。詳細可參考官方的配置描述。
修改最後一行的配置,將repository修改為你自己的 github專案位址即可,還有分支要改為main
代表主分支(注意縮排)。YAMLdeploy: type: git repository: [email protected]:cmliussss2024/cmliussss2024.github.io.git branch: main
- 修改好設定後,執行以下指令,將程式碼 部署到 GitHub(Hexo三連)。
// Git BASH終端機hexo clean && hexo generate && hexo deploy // 或// VSCODE終端機hexo cl; hexo g; hexo d
- hexo clean:刪除之前產生的文件,可用
hexo cl
縮寫。 - hexo generate:產生靜態文章,可以用
hexo g
縮寫 - hexo deploy: 部署文章,可用
hexo d
縮寫
注意: deploy時可能要你輸入username 和password。
如果出現 Deploy done,則說明 部署成功了。
稍等兩分鐘,打開瀏覽器訪問,這時候我們就可以看到部落格內容了。
6.將靜態部落格掛載到Cloudflare Pages
在
Workers 和Pages
中選擇Pages
的連接Git
然後登入你Blog倉庫對應的 GitHub帳號
點選
儲存並部署
後等待 部署完成即可。
提示
成功!您的專案已部署到以下區域:全球
之後,瀏覽器訪問:cmliussss2024-github-io.pages.dev ,這時候我們就可以看到部落格內容了。
這時你也可以將你的<使用者名稱>.github.io
的倉庫設定為Private
私庫了如果你有自己的域名,你可以在這裡綁定你自己的自訂域,即可
如何使用
新建一篇博文
hexo new 這是一篇新的博文
然後用文字編輯器去編輯_posts/這是一篇新的部落格文章.md
裡的內容即可,注意要使用Markdown格式書寫。
詳細使用方法可以查閱 https://hexo.io/zh-cn/docs/writing
編輯完文章儲存後可以使用以下指令,產生本機頁面 http://localhost:4000/ ,進行預覽
// Git BASH終端機hexo cl && hexo s // 或// VSCODE終端機hexo cl; hexo s
確認無誤後使用以下命令,將本地文章推送至GitHub倉庫即可
// Git BASH終端機hexo cl && hexo g && hexo d // 或// VSCODE終端機hexo cl; hexo g; hexo d
VSCODE 終端首次執行報錯
使用管理員身份開啟powershell ,輸入以下命令
Set-ExecutionPolicy RemoteSigned
參考資料
https://hexo.io/zh-cn/
https://www.fomal.cc/posts/e593433d.html
https://docs.anheyu.com/