該文首發於我的個人部落格ReadLamp
內容概覽:利用Github中的Github Pages服務,以及Hexo自帶的一鍵部署功能,將本地搭建好的部落格部署至Github,並通過對應Github倉庫鏈接實現瀏覽器存取部落格頁面。
目的:從零開始快速搭建屬於自己的部落格,並可通過瀏覽器存取。
啥是Hexo?
一個基於Nodejs、快速簡潔高效的部落格框架(靜態部落格)。擁有超快渲染、支援Markdown、一鍵部署、可延伸性等功能,且有衆多美觀、強大、可定製的主題。
本文分爲以下部分:
步驟概覽:
在安裝Hexo前,我們需要做一些準備工作,Hexo既然是基於Node.js,那首先需要安裝Node.js。爲了更好的使用相關命令,還需要安裝Git工具。如之前已安裝過這兩個,可跳過環境搭建,進入安裝Hexo。
什麼是Node.js?
Node.js是一個能夠在伺服器端執行JavaScript的開放原始碼、跨平臺JavaScript 執行環境.
目前版本可能高於圖片所示,按最新的LTS版本下載
此處提供兩種下載方法,安裝過程一直預設下一步即可
由於特殊原因,官網下載較慢,建議使用第二種下載。
安裝CNPM
該步驟用以替代npm下載hexo,cnpm爲淘寶映象源下載更快。但在此之前,還是得通過npm下載cnpm。
在上一步中,我們已經安裝好了Git,開啓C槽,右鍵便可以看到Git Bash選項。
點選Git Bash開啓介面,輸入以下命令並回車:
npm install -g cnpm --registry=https://registry.npm.taobao.org
等待安裝完成後可以輸入cnpm -v
檢視版本。
注意,在windows系統中,Git工具不支援Ctrl + C/V快捷鍵,建議使用右鍵複製/貼上。
同樣在上述右鍵Git Bash後的介面中,輸入cnpm install -g hexo-cli
回車,即可通過cnpm下載並安裝Hexo。待完成後,可輸入hexo -v
檢視版本。
C:\Users\Administrator
(無硬性要求,放在哪都行)MyHexoBlogs
即可,下稱根目錄
)用以存放Hexo部落格(如果後面不喜歡了可以刪掉這個資料夾,重新進行初始化)提示:初始化部落格可能不同機型使用的時間不等,可能需等待很久,想要體驗完整的初始化流程的可忽略此提示。如果不想等待,可直接下載初始化後的根目錄資料夾,解壓後放置到想要存放位置(可按需重新命名使用),並跳至第5步繼續(初始化完畢後,便可以……)。
hexo init
命令初始化blog資料夾等待一會(實際上要很久),便可以在根目錄下實現部落格的初始化了。
[外連圖片轉存失敗,源站可能有防盜鏈機制 機製,建議將圖片儲存下來直接上傳(img-aYAZA58X-1597393636074)(https://cdn.jsdelivr.net/gh/LeoMu0815/HexoStaticFile1@latest/2020/08/08/5bc1e7d4fcf857ef5fc931709a8846f3.png)]
hexo s
,開啓本地伺服器埠。出現以下內容即爲已開啓:
$ hexo s
INFO Start processing
INFO Hexo is running at http://localhost:4000 . Press Ctrl+C to stop.
http://localhost:4000
回車,你就可以在瀏覽器中看到它的樣子了。注意:這裏不要用Ctrl + C複製命令列裡的網站,因爲Ctrl + C會退出伺服器。
當不想繼續瀏覽時,記得按Ctrl + C關閉服務。
在本地瀏覽的時候,你會發現已經有了一篇部落格,那是hexo初始化blog時預設生成的。
可以暫時先不用刪除,留作紀念hh
現在讓我們開始建立我們的第一篇部落格吧,具體步驟如下:
hexo new '我的第一篇部落格'
即可在根目錄下的source/-posts/目錄(該目錄即部落格文章儲存目錄)下生成一個名爲「我的第一篇部落格」的md檔案。md檔案是啥?
md檔案即Markdown格式檔案, Markdown 是一種輕量級標示語言,它允許人們使用易讀易寫的純文字格式編寫文件。 在Hexo部落格中,我們便是使用Markdown來寫文章的。
放心,Markdown的語法極其簡單,常用的就那麼幾個。如果你使用的是Typora(一款極其優秀的Markdown編輯器),甚至無需記憶語法,直接使用快捷鍵或滑鼠右鍵操作格式。
md檔案可以用任意文字編輯器開啓,如記事本。但也可以使用專門的Markdown編輯器開啓並撰寫文章,此處僅作舉例用,可暫時使用右鍵以記事本開啓。
Front-matter
(在此暫不做講解,在我的後續文章中將有介紹,剛開始時可直接忽略,專注在寫部落格上),在其下方輸入你想輸入的內容(即部落格正文),如:---
title: 我的第一篇部落格
date: 2020-01-01 00:00:00
tags:
---
## 今天是個特殊的日子
### 我寫下了我的第一篇部落格
非常非常開心!!!
> 雖然比較簡單。。
**#**號 和 **>**號 便是一種markdown格式符。其中## 爲二級標題;### 爲三級標題;> 爲參照。
若使用專門的markdown編輯器可實時檢視效果圖。
以下爲Typora編輯器示意圖:
Ctrl+S儲存「我的第一篇部落格」md檔案,回到Git命令列,鍵入hexo s
開啓伺服器
重新重新整理你瀏覽器的http://localhost:4000
介面(如果剛剛沒關閉的話,關了就重新開啓即可),便能夠看到你寫的第一篇部落格了。
用完記得要按Ctrl + C關閉本地伺服器哦。
hexo init
hexo new 'title'
hexo clean
hexo g
hexo s
hexo d
後三種將在以下部分介紹在什麼時候使用,更多更詳細的命令可參考Hexo官方文件或自行百度。
在經過上述步驟後,我們已經實現了本地搭建Hexo部落格,並寫下了第一篇部落格。
但此時,我們只能在本地進行存取,若想讓其他人也能通過瀏覽器存取自己的部落格,就需要將Hexo的靜態檔案部署至伺服器上。由於自己購買伺服器搭建費時費力,且要定期維護,如果有這方面愛好或是希望鍛鍊自己的話可以搗鼓搗鼓,否則不建議這樣做。
這裏選擇的是Github平臺,雖然是國外的偶爾可能存取較慢,但也勝在方便快捷,不需要定期維護。
在此正式步驟開始之前,我們得先有一個Github賬號。
如無Github賬號,請登錄Github官網註冊。
如需具體步驟,可參考此鏈接或自行百度
註冊時的暱稱將成爲未來存取部落格時,所使用網址的一部分。
建議取個好聽好記的名字。
步驟概覽:
New repository
新建一個倉庫。假設暱稱爲
zhangsan
,則Repository name(倉庫名)需填寫爲zhangsan.github.io
,一定得是暱稱.github.io
這個格式。Description描述隨便寫,然後點選Create repository建立倉庫。
git config --global user.name "gitHubname"
git config --global user.email "email"
githubname爲你的Github使用者名稱,email則是Github註冊時的郵箱
ssh-keygen -t rsa -C "email"
生成SSH同樣的,email爲Github註冊時的郵箱。
過程中一直回車即可。
id_rsa.pub
檔案,複製所有內容一般來說,生成的ssh會在
C:\Users\使用者名稱\.ssh
目錄下
setting
[外連圖片轉存失敗,源站可能有防盜鏈機制 機製,建議將圖片儲存下來直接上傳(img-oxJ0ro7O-1597393636081)(https://cdn.jsdelivr.net/gh/LeoMu0815/HexoStaticFile1@latest/2020/08/08/fbb07c948ffaf7aa26e690c7f198e616.png)]
SSH and GPG keys
索引標签內點選New SSH key
新增新的SSH金鑰Add SSH key
新增。ssh -T [email protected]
檢視是否成功。_config.yml
# Deployment
,修改爲# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: https://github.com/githubname/githubname.github.io.git
branch: master
在repo那一行,將githubname填寫爲你的Github暱稱
注意,每個冒號都爲英文冒號,且冒號後有一個空格!
npm install hexo-deployer-git --save
安裝deploy-githexo clean
hexo g
hexo d
也就時在上面Hexo部落格本地搭建末尾提及的6個命令中的後3個命令,因爲修改了站點組態檔
_config.yml
,需要用hexo clean
清除快取。部署到GitHub的實際上是靜態檔案,也就是hexo g
命令在public資料夾下生成的靜態檔案,最後,通過hexo d
部署至github。注意,在
hexo d
命令執行時,可能要求輸入username和password(即Github的暱稱和密碼),一般在第一次部署時纔會出現。
如果無法正常跳轉,可嘗試在前面加上
https://
如https://yourname.github.io/
至此,從本地到部署已經實現。
像是環境搭建之類的步驟已經完成,今後如果需要刪除部落格根目錄重新初始化,只需要按上面介紹使用hexo init
命令或下載已初始化的部落格資料夾就可以了,不需要重新安裝node.js和git。
在寫部落格時,先通過 hexo new 'title'
新建md檔案,寫完後,可先通過 hexo s
開啓本地伺服器,在瀏覽器(位址列輸入localhost:4000`)中檢視效果,滿意後再按序執行命令部署到GitHub:
hexo clean
hexo g
hexo d
此時的Hexo部落格可能比較簡(chou)約(lou),我們可以進一步地去瞭解使用Hexo的衆多主題。比如Next、yilia、butterfly都是不錯的主題,可以參考知乎-有哪些好看的Hexo主題找一個自己喜歡的主題,並去配(tiao)置(jiao)它。
如果不熟悉markdown語法的,建議去學習一下,並且找到一款自己喜歡的markdown編輯器,如Mou(Mac OS X),MarkdownPad或MarkPad(Windows),Typora等。
我個人使用的是Butterfly主題與Typora編輯器。
參考資料: