hexo+github搭建個(gè)人博客基礎(chǔ)篇

最近想用GitHub搭建個(gè)人博客,于是下功夫搜索了一番。網(wǎng)上有很多的教程,最終決定用hexo來搭建,因?yàn)楹唵?、快速。本教程只是?duì)整個(gè)搭建的記錄,以及遇到的一些坑,高手可以直接跳過。

說明:本教程針對(duì)window環(huán)境

首先hexo是一款基于Node.js的靜態(tài)博客框架, 官網(wǎng)傳送門,所以你要了解一些node基礎(chǔ);其次是結(jié)合github自然要有一個(gè)github賬號(hào);最后hexo生成的代碼上傳需要用到git。

準(zhǔn)備工作

1、安裝node

2、安裝git

3、申請github賬號(hào)

上面步驟都很簡單,不具體說明了,不懂得趕緊去惡補(bǔ)。

安裝hexo

npm install hexo-cli -g

進(jìn)入放博客的文件夾,執(zhí)行下面命令:

hexo init blog ? ? ?// 該命令會(huì)創(chuàng)建一個(gè)blog的文件夾,里面就是相關(guān)配置文件。

cd blog ? ? ? ? ? ? ?// 進(jìn)入blog文件夾

npm install ? ? ? // 安裝package.json里配置的模塊

hexo server ? ? // 運(yùn)行本地服務(wù),在網(wǎng)頁中查看效果。


安裝完后進(jìn)入文件夾,可以看到如下文件夾及文件:

node_modules ? // npm 的安裝模塊文件

scaffolds ? ? ? ? ? // 布局文件

source ? ? ? ? ? ? ?// 資源文件,文章都放在該文件下的_posts

themes ? ? ? ? ? ? // 主題文件

.gitignore ? ? ? ? // git上傳忽略文件配置

_config.yml ? ? // 核心配置文件

package.json ? ?// 描述npm安裝包的文件

新建文章:

hexo new [layout] title

layout 即scaffolds 中的文件

hexo new 'post' ?// 新建文章,如果沒有指定布局,默認(rèn)新建的是post布局, 新文章在source 下的_posts下

hexo new page 'node' // 在文件夾source下,的page下新建一個(gè)名為node的文章,如果沒有page文件夾會(huì)自動(dòng)新建一個(gè)。

當(dāng)然也可以手動(dòng)添加文件和文件夾。

github上傳配置

當(dāng)在本地寫好文章后就要傳到github上,下面做相關(guān)配置。

打開_config.yml文件,在最小面找到deploy字段,做如下配置:

deploy:

type: git

repo: git@github.com:youname/youname.github.io.git(將youname換成你的GitHub名字)

branch: master

然后執(zhí)行npm install hexo-deployer-git --save, 安裝相關(guān)模塊,不然上傳代碼時(shí)會(huì)報(bào)錯(cuò)。

配置Github

創(chuàng)建一個(gè)與你用戶名相同的倉庫,如: youname.github.io,youname 換成你的github用戶名

在本地git中生成鑰密,ssh-keygen -t rsa -C"youremail@example.com" 郵箱換成自己郵箱,然后一路回車,使用默認(rèn)值即可。如果一切順利的話,可以在用戶主目錄里找到.ssh目錄,里面有id_rsa和id_rsa.pub兩個(gè)文件。打開id_rsa.pub,復(fù)制里面的所有內(nèi)容,然后登陸GitHub,打開個(gè)人的settings,選中SSH and GPG keys 選項(xiàng),然后,點(diǎn)NEW SSH Key,填上任意Title,在文本框里粘貼id_rsa.pub文件的內(nèi)容。

關(guān)于git的用法以及github相關(guān)配置不懂得可以移步廖雪峰老師的站點(diǎn)學(xué)習(xí)<傳送門>

生成文件上傳github

hexo generate ?//?生成靜態(tài)頁面文件夾public

hexo server? ? ? // 開啟本地服務(wù)查看效果(默認(rèn)端口4000)

hexo deploy? ? ?//?將.deploy目錄部署到GitHub

hexo clean ? ? ? // 刪除public文件夾

每次上傳文件前要先刪除public文件夾,在生成靜態(tài)頁面,最后上傳github,故執(zhí)行如下命令:

hexo clean

hexo generate

hexo deploy

打開你的github,查看youname.github.io文件上傳成功沒,如果成功了在網(wǎng)址中打開youname.github.io,查看博客。

注:在window環(huán)境下,執(zhí)行hexo deploy命令一定要在git bash里運(yùn)行,不能在cmd中運(yùn)行,不然報(bào)錯(cuò),當(dāng)時(shí)為了這個(gè)問題坑了一把。

遇到的坑:

剛開始win10上沒有問題,重裝系統(tǒng)后,在win10下安裝hexo-cli后運(yùn)行相關(guān)命令報(bào)了個(gè)錯(cuò),hexo不是內(nèi)部或外部命令。網(wǎng)上找了一通,發(fā)現(xiàn)hexo沒有配置全局變量。將該路徑加入到環(huán)境變量C:\Users\youname\AppData\Roaming\npm。其中youname換成你電腦的用戶名。這是發(fā)現(xiàn)hexo命令正常了。執(zhí)行hexo s時(shí)cmd中提示在4000端口查看效果,結(jié)果瀏覽器輸入4000端口沒有效果。網(wǎng)上又折騰了一番,結(jié)果發(fā)現(xiàn)4000端口被占用了。執(zhí)行hexo s -p 1234之后再1234端口打開就正常了。我的電腦上4000端口被福析閱讀器的一個(gè)安全程序占用了,叫做foxitprotect.exe的程序,把它殺死后就能在4000端口上正常顯示了。

小技巧:

每次重新上傳都要執(zhí)行者三個(gè)命令會(huì)很麻煩,可以偷個(gè)懶,打開package.json文件,在里面加入scripts字段:

"scripts": {

? ? "dev": "hexo clean && hexo g && hexo d"

}

然后在git bash 里執(zhí)行npm run dev即可一步執(zhí)行這些操作。

域名配置

到此博客基本搭建完成,如果你想要你的博客有個(gè)獨(dú)特的域名,其實(shí)配置非常簡單。

1、購買域名

2、配置解析

以萬網(wǎng)申請的域名為例,如圖:


3、在在public文件夾下新建名為CNAME的文件,

在里面填寫你的域名,執(zhí)行hexo d上傳代碼,輸入域名查看效果。

tips:每次執(zhí)行hexo clean 后public文件都被刪除了,CNAME文件也被刪除了,這樣每次都要重新創(chuàng)建這個(gè)文件會(huì)很麻煩。其實(shí)解決辦法很簡單,把配置文件CNAME放在source文件下,重新生成后,你發(fā)現(xiàn)在public文件中就有CNAME這個(gè)文件了。

結(jié)語

到此博客就搭建完成了,但是對(duì)于hexo還有一塊很重要的沒有講,那就是主題。hexo的強(qiáng)大體現(xiàn)在它豐富的主題。下期就講一下我非常喜歡的一款簡潔、漂亮的主題yilia。主題篇已完成[傳送門]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容