1.概述
使用csdn記錄自己的學習過程差不多有一年的時間了,但對於csdn的界面設計和一系列的商業化操作,實在不敢苟同。
去年嘗試過配置個人博客,沒弄成功,臨近期末考試也就沒再搞過。不過,2020年的超長寒假可就不一樣啦!
使用 GitHub Pages 來搭建 Hexo 靜態博客網站,其最吸引人的莫過於完全免費使用,並且非常穩定。
雖然搭建時比較麻煩,有點折騰,但是配置完成後,基本不需要操心維護的事,甚至放了幾年都忘記了,打開來看文章依然還在。
GitHub Pages 是什麼?
GitHub Pages 是由 GitHub 官方提供的一種免費的靜態站點託管服務,讓我們可以在 GitHub 倉庫裏託管和發佈自己的靜態網站頁面。
Hexo 是什麼?
Hexo 是一個快速、簡潔且高效的靜態博客框架,它基於 Node.js 運行,可以將我們撰寫的 Markdown 文檔解析渲染成靜態的 HTML 網頁。
Hexo + GitHub 文章發佈原理
在本地撰寫 Markdown 格式文章後,通過 Hexo 解析文檔,渲染生成具有主題樣式的 HTML 靜態網頁,再推送到 GitHub 上完成博文的發佈。
優點:
完全免費;靜態站點,輕量快速;可按需求自由定製改造;託管在 GitHub,安全省心;遷移方便……
不足:
發文不便,依賴於本地環境,一種極客範的寫博客方式;更適合個人博客使用;GitHub 在國內訪問速度有點不快。
2.前期準備
1、下載 Node.js 和 Git 程序並安裝,一路點 “下一步” 按默認配置完成安裝。
2、使用郵箱註冊 GitHub 賬戶,選擇免費賬戶(Free),並完成郵件驗證。
3、安裝完成後,Win+R 輸入 cmd 並打開,依次輸入命令 node -v
、npm -v
和 git --version
並回車,如下圖出現程序版本號即可。
4、Node.js 自帶的 npm 由於該網站的服務器在國外,經常會出現下載緩慢或出現異常,解決方法有兩種:
(1) 通過npm下載cnpm
命令:npm install -g cnpm --registry=https://registry.npm.taobao.org
然後通過命令 cnpm
或 cnpm -v
檢驗 cnpm 有沒有安裝成功。
(2) 修改npm的默認鏡像源
通過命令 npm config get registry
查詢當前的npm的默認源
通過set命令 npm config set registry https://registry.npm.taobao.org
設置npm的淘寶鏡像源
由於我第一種方法回車後無反應,所以改用了第二種方法,但 cnpm 和 npm 是一樣的,相當於雙胞胎,所以下面用到的命令請根據實際情況,自行替換npm和cnpm,其餘部分相同。
3.正式安裝Hexo
使用命令 npm install -g hexo-cli
一鍵安裝 Hexo 博客程序:
使用命令 hexo -v
驗證hexo是否安裝成功
4.Hexo初始化和本地預覽
(1)在E盤下新建一個文件夾blog(E:\blog) ,cmd下進入blog所在目錄下,使用命令 hexo init
初始化文件夾blog
(2)初始化成功後,得到如下文件(自動生成的):
(3)初始默認有一篇文章 Hello World,可以使用命令 hexo new "myfirst"
新建一篇文章,可以看到它在E:\blog\source_posts目錄下。
(4)然後退回到blog目錄,使用命令 hexo g
生成頁面 以及 hexo s
啓動預覽,訪問 http://localhost:4000,出現 Hexo 默認頁面,本地博客安裝成功!
到目前,只是在本地發佈成功,要想讓更多人看到,需要發佈到遠程服務器,下面介紹怎麼部署到Github
5.部署Hexo到GitHub Pages
登錄Github賬戶,創建一個倉庫,命名規範如下
右鍵打開Git Bash Here:
使用命令 git config --global user.name "GitHub用戶名"
設置用戶名
使用命令 git config --global user.email "GitHub郵箱"
設置郵箱
使用命令 ssh-keygen -t rsa -C "GitHub郵箱"
創建 SSH 密匙,然後一路回車。
此時可以使用命令 clip < ~/ssh/id_sra.pub
拷貝密匙 或者 去C:\Users\Dell.ssh目錄下找到id_rsa.pub,用記事本打開拷貝密匙。
登陸 GitHub ,進入 Settings 頁面,選擇左邊欄的 SSH and GPG keys,點擊 New SSH key。
Title 隨便取個名字,粘貼複製的 id_rsa.pub 內容到 Key 中,點擊 Add SSH key 完成添加。
使用命令 ssh -T [email protected]
驗證連接,顯示 “Hi xxx! You’ve successfully……” 即連接成功。
然後使用命令 npm install hexo-deployer-git --save
安裝 hexo-deployer-git:
然後在 E:/blog 目錄下找到 _config.yml 配置文件, 用notepad++即可打開,將末尾的 Deployment 部分修改成如下形式:
注意:冒號後面有一空格。repo的具體內容自行手寫替換,也可按如下方法去複製粘貼:
完成!到這裏,可以通過 git 操作實現本地代碼庫與 Github 代碼庫同步
6.開始使用
1) 發佈文章
(1)命令創建md
使用命令 hexo new “My New Post” 創建博文,在E:\blog\source_posts目錄下會出現一個 My New Post.md 文件,就可以使用 Markdown 編輯器在該文件中撰寫文章了。
寫完後運行命令 hexo g
生成頁面 和 hexo d
部署發佈,將文章渲染並部署到 GitHub Pages 上完成發佈。以後每次發佈文章都是這兩條命令。
(2)自己創建md
也可以不使用命令創建 .md 文件,只需在文件開頭手動加入如下格式即可,寫完後運行 hexo g
和 hexo d
發佈。
---
title: Hello World # 標題
date: 2019/3/26 hh:mm:ss # 時間
categories: # 分類
- Diary
tags: # 標籤
- PS3
- Games
---
摘要
<!--more-->
正文
2) 常用命令
hexo new "name" # 新建文章
hexo new page "name" # 新建頁面
hexo g # 生成頁面
hexo d # 部署
hexo g -d # 生成頁面並部署
hexo s # 本地預覽
hexo clean # 清除緩存和已生成的靜態文件
hexo help # 幫助
3) 更換主題
在 https://hexo.io/themes/ 選擇一個喜歡的主題,推薦一個目前Github上Star較高的Hexo主題 NexT,支持幾種不同的風格,作者提供了非常完善的配置說明。
在E:\blog目錄下打開 Git Bash Here 下載主題:
git clone https://github.com/iissnan/hexo-theme-next themes/next
可以發現 E:\blog\themes 目錄下除了landscape默認主題外,還多了一個next:
然後修改 _config.yml 中的 theme 爲新主題名稱 next,最後 hexo g -d
發佈。
4) 常見問題
(1)Hexo 設置顯示文章摘要,首頁不顯示全文:
Hexo 主頁文章列表默認會顯示文章全文,瀏覽時很不方便,可以在文章中插入 <!--more-->
進行分段。
該代碼前面的內容會作爲摘要顯示,而後面的內容會替換爲 “Read More” 隱藏起來。