本文介紹對開發小白也毫無壓力的hexo靜態博客建站全攻略,
github.io
與
coding.me的靜態博客類似,3年前本人基於本機
Windows在
github.io上創建了靜態
Github Pages - yanglr,本文以在
Coding pages上建站為例。
基本原理
配置區: 用於hexo博客的配置,成功部署后原hexo init產生的目錄下會生成一個public的文件夾。
發布區:
事實上,這一部分就是由配置區生成的public文件夾中的內容。
發布區的代碼必須是公開的,配置區的代碼看需要了,如果git部署時使用的是repo: https://用戶名:密碼@倉庫地址這種方式,如果也push到公開代碼的倉庫就會泄漏個人密碼了,所以建議配置在自己的電腦上進行,或使用ssh key的形式代替明文密碼。
方法1 - 本機Windows下建站 (力薦)
下載安裝node.js
到官網下載nodejs的最新LTS版安裝即可。
用管理員權限打開命令行,安裝hexo-cli和hexo
$ npm install hexo-cli -g
$ npm install hexo --save
如果安裝速度很慢,可以考慮先換淘寶鏡像源:
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
再繼續進行安裝~
下載安裝git
到Git官網下載Git Windows版,使用默認設置進行安裝即可。
初始化hexo
比如,打算在D:\盤進行配置,若將配置的文件夾取名為blog,操作如下:
$ cd D:\
$ hexo init blog
文件夾名字任意起,根據個人需要了。
使用hexo generate生成靜態資源
存放hexo配置的文件夾blog創建好之后,就可以使用hexo generate來生成靜態資源了,該命令也可簡寫為"hexo g"。
在本地運行hexo,看一切是否正常
此時可使用hexo server(簡寫為hexo s)來開啟本地web服務器查看頁面效果,默認情況下在瀏覽器中打開http://localhost:4000即可看到如下界面:

在Coding.net創建與用戶名相同的項目,並啟用代碼的pages功能
打開網址https://dev.tencent.com/user/projects/create,即可創建項目。
由於項目名字與用戶名legege007一致,所以我的coding靜態pages的訪問地址即為 legege007.coding.me, 你用同樣的方法,地址會變成你的用戶名.coding.me。而如果你的項目名是blog, 而用戶名不是blog,則此時coding靜態pages的訪問地址即為你的用戶名.coding.me/blog, 這樣會有一個隱含的問題在,就是如果你要綁定個人域名,會導致靜態資源js、css等加載失敗,即博客會出現有文字但呈現頁面混亂的情形。
這里也親自淌過坑,最終發現有效的處理辦法是:
創建的項目名必須要和用戶名一致,創建的項目名必須要和用戶名一致,創建的項目名必須要和用戶名一致,強調三連~
啟用通過git將hexo部署到遠程的功能
完成此項工作,需要先安裝hexo-deployer-git, 相應需要在命令行中執行:
$ npm install hexo-deployer-git --save
安裝途中可能會遇到問題:
"npm WARN babel-eslint@10.0.1 requires a peer of eslint@>= 4.12.1 but none is installed. You must install peer dependencies yourself. ",
這里親自淌過坑,試了很多方法,最終發現有效的處理辦法是:
$ npm install lodash
$ npm install eslint@^4.12.0
使用_config.yml來配置hexo
一開始,我們只需要修改deloy相關才參數即可.
deploy:
type: git #上傳類型 選擇git
repo: https://legege007:yl15826911621@git.dev.tencent.com/legege007/legege007.git # 執行 git remote -v 可以獲得
branch: master # 部署到 Master分支
#message: update blog # 每次提交的信息 不填默認為當前時間
只需要將repo改為你的倉庫的ssh版地址即可。
同時,你還需要在coding項目中加入自己的公鑰,具體方法為:
打開命令行終端輸入ssh-keygen -t rsa -C <your_email@example.com>(你的郵箱),連續點擊 Enter 鍵即可。
Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
// 此處推薦使用默認地址,也可在密鑰后面加后綴,即輸入"id_rsa_coding"
找到剛才生成的id_rsa_coding.pub,將其中的內容貼到Coding的公鑰信息中:

此時,git推送應該具有權限了~
目前為止,_config.yml配置文件只需要改deploy這一處!
使用hexo clean && hexo g && hexo d發布hexo博客
不出意外的話,等命令完全跑完就能從靜態地址你的用戶名.coding.me看到你的博客內容了。
域名綁定
先去域名管理系統中加一條CNAME記錄, 比如我的域名是https://enjoy233.cn,此處想綁定到https://www.enjoy233.cn,則添加方法如下:

將_config.yml中的url從http://yousite.com改為實際用的,比如我設置為:
url: //www.enjoy233.cn
root: /
然后在coding pages的頁面中設置如下:

過幾分鍾后,就能通過域名https://www.enjoy233.cn來訪問我的博客了。
主題使用
個人覺得 hexo主題 Material X還挺不錯的,配置文檔為 Material X - Wiki~
就安裝試了一下,首先命令行要做的事情是:
$ cd blog
$ git clone https://github.com/xaoxuu/hexo-theme-material-x themes/material-x
$ npm i -S hexo-generator-search hexo-generator-feed hexo-renderer-less hexo-autoprefixer hexo-generator-json-content hexo-recommended-posts
然后將_config.yml中的theme(默認是landscape)配置為:
theme: material-x
此時,再使用hexo clean && hexo g && hexo d發布博客,然后刷新博客就能看到使用主題后的效果了。
方法2 - Cloud Studio下建站 (力薦)
此處介紹在Cloud Studio中使用兩個branch建站的方法,master分支作為發布區,config分支作為配置區。如果不另建分支,千萬不要使用Cloud Studio的push代碼的功能,不然上傳的會是配置相關的所有文件(真個blog文件夾,而不是僅有public文件夾下的內容),會導致博客無法正常使用。
這里也親自淌過坑,所以強調一下~
在Coding.net創建與用戶名相同的項目,並啟用pages功能
打開網址 https://dev.tencent.com/user/projects/create, 開始創建項目。
我的用戶名是legege007,於是就建了個legege007的項目.

使用現有項目創建工作區
打開網址 https://studio.dev.tencent.com/dashboard/workspace/create, 即可進入Cloud Studio。
我選擇使用了node.js的環境來進行配置,同時選中項目legege007,然后創建即可。

使用命令行配置環境
Cloud studio中默認是Linux系統,我習慣於用root的權限來操作,免得后面還需要用chmod之類的命令來改權限,一進IDE界面,使用命令sudo su切換即可。
$ sudo su
然后新建config分支后,配置主要在該分支上進行。
$ git checkout -b config
其他相關命令使用過程具體如下:
➜ workspace git:(master) sudo su
root@coding:/home/coding/workspace# git checkout -b config
root@coding:/home/coding/workspace# git checkout -b config
Switched to a new branch 'config'
root@coding:/home/coding/workspace# hexo init blog
root@coding:/home/coding/workspace# cd blog/
root@coding:/home/coding/workspace/blog# hexo g
root@coding:/home/coding/workspace/blog# hexo clean && hexo g && hexo d
root@coding:/home/coding/workspace/blog# npm install hexo-deployer-git --save
root@coding:/home/coding/workspace/blog# npm audit fix
root@coding:/home/coding/workspace/blog# npm install lodash
root@coding:/home/coding/workspace/blog# npm install eslint@^4.12.0
root@coding:/home/coding/workspace/blog# npm install hexo-deployer-git --save
root@coding:/home/coding/workspace/blog# hexo clean && hexo g && hexo d
root@coding:/home/coding/workspace/blog# ssh-keygen -t rsa -C "legege007@yeah.net"
root@coding:/home/coding/workspace# cd ~/.ssh
root@coding:~/.ssh# ls
id_rsa id_rsa.pub known_hosts
root@coding:~/.ssh# vim id_rsa.pub
root@coding:/home/coding/workspace/blog# hexo clean && hexo g && hexo d
上述命令和在windows下操作時基本一致遇到問題,解決問題即可~
_config.yml文件的配置、域名綁定、主題使用等等
_config.yml文件的配置、域名綁定、主題使用等等,基本上與在Windows下安裝完全一樣,參考Windows下同樣的操作即可,就不再贅述了。
安裝完主題后的界面是:

另外,值得一提的是:
Cloud Studio還有幾個優勢,即:
- 可以迅速切換環境,比如
hexo、node.js、.net Core、Ubuntu、Java等互轉,速度超快的。 - 可以一鍵部署,除了
coding.me的域名可用以外,一鍵部署后,還提供一個coding.io的域名可以訪問。如果暫時沒買個人域名,這就是個大福利了~

如有幫助,麻煩在右下角"推薦"一下,多謝~
歡迎在留言區留下你的觀點,一起討論提高。如果今天的文章讓你有新的啟發,學習能力的提升上有新的認識,歡迎轉發分享給更多人。
歡迎各位讀者加入 .NET技術交流群,在公眾號后台回復“加群”或者“學習”即可。

文末彩蛋
微信后台回復“asp”,給你:一份全網最強的ASP.NET學習路線圖。
回復“cs”,給你:一整套 C# 和 WPF 學習資源!
回復“core”,給你:2019年dotConf大會上發布的.NET core 3.0學習視頻!
