前言
建博客的想法緣來已久,絕非一天兩天了疚俱。
名博阮一峰曾經(jīng)說過:
喜歡寫B(tài)log的人劝术,會經(jīng)歷三個階段。
- 第一階段呆奕,剛接觸Blog养晋,覺得很新鮮,試著選擇一個免費(fèi)空間來寫梁钾。
- 第二階段绳泉,發(fā)現(xiàn)免費(fèi)空間限制太多,就自己購買域名和空間姆泻,搭建獨(dú)立博客零酪。
- 第三階段冒嫡,覺得獨(dú)立博客的管理太麻煩,最好在保留控制權(quán)的前提下四苇,讓別人來管孝凌,自己只負(fù)責(zé)寫文章。
實(shí)際上月腋,內(nèi)容的輸出才是Blog的核心與王道蟀架。在如今渠道如此豐富的業(yè)態(tài)之下,其實(shí)有一方土地給自己一些慰藉也是好的榆骚,正如我喜歡記筆記片拍,但是又閑自己的字寫得難看一樣。希望拜托了書寫困境的我在輸出和記錄的道路上一路順利妓肢,我也很高興與認(rèn)識的不認(rèn)識的朋友分享點(diǎn)滴捌省。
小提示(我走的彎路):
- 所有標(biāo)點(diǎn)符號都是英文的,所以輸入時請切換到英文狀態(tài)职恳。
- 冒號后面一定要有個空格,否則回報(bào)錯所禀。
- 所有文件(不管是以md為后綴的方面,還是以yml結(jié)尾的)放钦,都必須轉(zhuǎn)換成UTF-8格式,可以在notepad++的格式里轉(zhuǎn)換下恭金,否則在本地查看(localhost:4000)中會出現(xiàn)亂碼操禀。
- 文件夾選項(xiàng)中要勾選“顯示隱藏的文件”,而下面的“隱藏已知文件類型的擴(kuò)展名”則不要勾選横腿。
- 最新版Hexo(3.0.0或以上版本)默認(rèn)未安裝hexo-deployer-git插件颓屑,即部署(上傳)到gitcafe或github要用的插件,所以如果不安裝這個插件耿焊,就要報(bào)錯揪惦。
- Git Bash右鍵點(diǎn)擊左上角的圖標(biāo),選擇屬性罗侯,右側(cè)編輯選項(xiàng)中“快速編輯模式”打勾器腋,這是為了在Git Bash中點(diǎn)擊右鍵就能粘貼。
- 不建議用默認(rèn)hexo主題钩杰,建議在網(wǎng)上找個其他主題纫塌,不僅因?yàn)楹每矗€因?yàn)槠渌黝}往往集成了多說讲弄、支持中文簡體等優(yōu)勢措左,省去了你自己折騰的時間。
Hexo簡介
** 什么是Hexo避除?**
Hexo是一款基于Node.js的靜態(tài)博客生成程序怎披,作者是臺灣的tommy351胸嘁。
tommy351對Hexo的介紹:
- 超快速度 Node.js 所帶來的超快生成速度,讓上百個頁面在幾秒內(nèi)瞬間完成渲染凉逛。
- 支持 Markdown Hexo 支持 GitHub Flavored Markdown 的所有功能缴渊,甚至可以整合 Octopress 的大多數(shù)插件。
- 一鍵部署 只需一條指令即可部署到 GitHub Pages, Heroku 或其他網(wǎng)站鱼炒。
- 豐富的插件 Hexo 擁有強(qiáng)大的插件系統(tǒng)衔沼,安裝插件可以讓 Hexo 支持 Jade, CoffeeScript。
** 為什么用Hexo昔瞧? **
-
免費(fèi)
可以部署到GitHub指蚁、GitCafe、七牛自晰,都是完全免費(fèi)的凝化。
-
簡單
比部署WordPress要簡單得多,只需要簡單幾部就能搭建好環(huán)境酬荞,僅需要記住幾條簡短的命令搓劫、簡單的Markdown語法,即可寫出精彩的文章混巧。
-
穩(wěn)定
再也不用去操心主機(jī)的運(yùn)維了枪向。
快速
同時部署到GitHub、GitCafe咧党、七牛秘蛔,在全球都可獲得優(yōu)秀的訪問速度。
Hexo:安裝和配置
{% alert success %}這部分主要介紹Hexo如何安裝傍衡、使用深员,以及配置文件。{% endalert %}
運(yùn)行環(huán)境準(zhǔn)備
本系列文章以Hexo 3.0.0為例蛙埂,操作系統(tǒng)為Windows 8.1 Pro VL x64 倦畅。
首先需要安裝以下程序:
Node.js
下載最新版的 Node.js,一路next安裝到C盤绣的。Git
如果是Windows平臺叠赐,則下載msysgit,安裝建議勾選Git Bash Here被辑,方便以后的操作燎悍,然后一路next即可。
安裝Hexo
- 新建一個文件夾宏怔,例如
blog
奏路。 - 進(jìn)入blog文件夾畴椰,右鍵點(diǎn)擊
Git Bash Here
。 - 安裝Hexo
輸入代碼
$ npm install hexo-cli -g
- 初始化blog文件夾
$ hexo init
- 安裝依賴和插件
$ npm install
- 啟動服務(wù)器進(jìn)行本地預(yù)覽
$ hexo s
-
當(dāng)看到
INFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.
時就說明我們已經(jīng)搭建起本地的hexo博客了鸽粉,
在瀏覽器中打開 http://localhost:4000 注意:不要打開提示的0.0.0.0:4000斜脂。, 成功的話即可看到博客頁面触机,至此安裝就完成了帚戳。
然后回到命令窗口按Ctrl+C停止服務(wù)(有時要按兩次Ctrl+C,因?yàn)橛袝rGit Bash認(rèn)為當(dāng)前在進(jìn)行復(fù)制操作)儡首,直到出現(xiàn) “$”標(biāo)志就結(jié)束了片任。 然后關(guān)閉Git Bash.
然后回到命令窗口按Ctrl+C停止服務(wù)(有時要按兩次Ctrl+C,因?yàn)橛袝rGit Bash認(rèn)為當(dāng)前在進(jìn)行復(fù)制操作)蔬胯,直到出現(xiàn) “$”標(biāo)志就結(jié)束了对供。
然后關(guān)閉Git Bash.安裝插件
npm install hexo-deployer-git --save'''
#### 常用命令
Hexo的命令極簡單,安裝后只需要記住四個常用的即可氛濒。執(zhí)行命令需要Git當(dāng)前處于blog文件夾根目錄下产场。
* generate 生成靜態(tài)文件。
hexo g
* server 啟動服務(wù)器舞竿。
hexo s
* deploy 部署網(wǎng)站京景。部署網(wǎng)站前,需要預(yù)先生成靜態(tài)文件炬灭。
hexo d
* clean 清除緩存文件 (db.json) 和已生成的靜態(tài)文件 (public)醋粟。
hexo clean
#### 其他
* Q:如何卸載Hexo靡菇?
A:3.0.0版本執(zhí)行`$ npm uninstall hexo-cli -g`重归,之前版本執(zhí)行`$ npm uninstall hexo -g`。
* Q:如何安裝舊版本Hexo厦凤?
A:先卸載當(dāng)前版本鼻吮,以2.8.3為例,執(zhí)行`npm install hexo@2.8.3 -g`较鼓,再初始化并安裝依賴和插件椎木。
### 配置gitcafe
---------
>注意:以下假設(shè)你的gitcafe賬號或者用戶名是:`hello`,你的郵箱為:`hello@gmail.com`博烂,密碼為`hello123`
----------
到 [https://gitcafe.com][6] 注冊個賬號香椎,然后創(chuàng)建項(xiàng)目,右上角的那個圖標(biāo)可以新建項(xiàng)目禽篱,右側(cè)也有“新建”字樣畜伐。
凡是選填的可以不填,其他默認(rèn)躺率。
>**注意:項(xiàng)目名需要與你的用戶名相同玛界,還有就是要選擇“公開項(xiàng)目”万矾。**
下圖是別人的圖片,雖然用戶名(項(xiàng)目名)不是hello慎框,但實(shí)際操作時注意項(xiàng)目名稱要和注冊ID一樣良狈,項(xiàng)目主頁可以不填。
![gitcaf項(xiàng)目][7]
### 配置SSH公鑰
首先我們需要檢查你電腦上現(xiàn)有的ssh key:
``` bash
cd ~/.ssh
如果提示:No such file or directory 說明你是第一次使用git笨枯。
生成新的SSH Key
ssh-keygen -t rsa -C "hello@gmail.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):<回車就好>
出現(xiàn)
然后系統(tǒng)會要你輸入密碼:
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
這個設(shè)置是防止別人往你的項(xiàng)目里提交內(nèi)容薪丁,我直接回車。
看到入下圖所示后馅精,SSH key就生成成功了窥突。

然后你可以去開始,打開你的用戶目錄硫嘶,有一個“.ssh”文件夾阻问,里面有
“id_rsa” “id_rsa.pub” 和 “known_hosts”這三個文件。

其中“id_rsa”是你的私鑰文件沦疾,“id_rsa.pub”是你的公鑰文件称近,一會兒要用。
接下來下載notepad++ 文本編輯器哮塞,比windows自帶的記事本更強(qiáng)大刨秆,這里我們主要用它來打開id_rsa.pub文件。
這是他的官網(wǎng):notepad++官網(wǎng)
下載后忆畅,直接把“id_rsa.pub”文件拖進(jìn)notepad++中衡未,然后復(fù)制里面的所有內(nèi)容到剪貼板。
添加SSH Key到Gitcafe
然后去GitCafe家凯,點(diǎn)擊右上角的那個圖標(biāo)缓醋,選擇賬戶設(shè)置,左側(cè)SSH公鑰管理绊诲,添加新的公鑰送粱,在名稱文本框中輸入任意字符,在公鑰文本框粘貼剛才復(fù)制的公鑰字符串全部內(nèi)容(包括結(jié)尾的郵箱)掂之,輸入GitCafe賬戶密碼抗俄,按保存按鈕完成操作。

這樣我們本地就和GitCafe服務(wù)端連接上了世舰。
測試是否可以連接GitCafe服務(wù)器
在桌面上雙擊打開Git Bash动雹,輸入:
ssh -T git@gitcafe.com
如果是第一次連接的話,會出現(xiàn):
The authenticity of host 'gitcafe.com (50.116.2.223)' can't be established.
#RSA key fingerprint is 84:9e:c9:8e:7f:36:28:08:7e:13:bf:43:12:74:11:4e.
#Are you sure you want to continue connecting (yes/no)?
直接輸入yes回車,然后會提示你輸入 passphrase 口令:
Enter passphrase for key ‘/c/Users/USERNAME/.ssh/id_rsa’:
剛才我們根本就沒設(shè)置跟压,所以這次也直接回車,當(dāng)看到
Hi starsky! You've successfully authenticated, but GitCafe does not provide shell access.
我們就連接成功了胰蝠。

設(shè)置用戶信息
# 設(shè)置你的用戶名
git config --global user.name "hello"
# 設(shè)置你的郵箱
git config --global user.email "hello@gmail.com"
到此為止,SSH Key配置成功,本機(jī)已成功連接到gitcafe.
就差最后一步了姊氓,把博客部署到gitcafe.
修改hexo配置文件
在 Hexo 文件夾下找到 _config.yml 文件丐怯,并拖到notepad++ 打開。

找到其中的 deploy 標(biāo)簽翔横,改成下圖所示读跷,并保存:
deploy:
type: git
repository: https://gitcafe.com/hello/hello.git
branch: gitcafe-pages
注意:除了 “https://” 中的冒號以外,其他每個冒號后面都有個空格,最后保存禾唁。
把hexo博客部署到gitcafe
注意:以下假設(shè)你注冊gitcafe時使用的密碼是
hello123
打開我的電腦效览,進(jìn)入D盤的hexo目錄,在該目錄內(nèi)右鍵荡短,選擇Git Bash丐枉,打開后看到Git Bash標(biāo)題欄的路徑為/D/hexo.
注意:以后我們很多的博客操作都要在此目錄下運(yùn)行Git Bash才行,比如新建博文掘托、上傳部署等等瘦锹。
輸入:
hexo d
運(yùn)行中要輸入你的用戶名:輸入hello
,回車闪盔,然后要輸入密碼弯院,輸入hello123
(這時當(dāng)你輸入時,你會發(fā)現(xiàn)輸入之后密碼是不顯示的泪掀,也不顯示星號听绳,這是為了安全,并非是你沒輸上)异赫,回車后顯示Deploy done等等就成功部署上了椅挣!如圖:

如果出錯改成下面的代碼試一下:
deploy:
type: git
repository: git@gitcafe.com:hello/hello.git
branch: gitcafe-pages
每次deploy時不輸入郵箱和密碼
如果覺得每次部署的時候都要輸入用戶名和密碼,可以這樣解決:開始塔拳,到你的用戶目錄下新建一個_netrc
文件鼠证。
我的操作:可以直接復(fù)制一個.gitconfig
文件復(fù)件,然后改名為_netrc
蝙斜,注意:n前面有個下劃線名惩。
然后把_netrc
文件拖入notepad++ 里,輸入:
machine gitcafe.com
login hello
password hello123
孕荠,這樣每次部署的時候就不用輸入用戶名和密碼了。
來源:
把Hexo同時部署到GitHub和GitCafe
Git push時重復(fù)輸入用戶名密碼的問題
大功告成 :)
這時你就成功把hexo博客部署到了gitcafe上攻谁,快打開 http://hello.gitcafe.io/ 看看吧稚伍!
最后的最后,別忘了最最重要的一件事戚宦,現(xiàn)在个曙,跟著我一起做,閉上雙眼,雙手合十垦搬,心里默念:感謝GitCafe:舸纭!猴贰!
其他問題
問題集1:
- 有網(wǎng)友反應(yīng)右鍵菜單中沒有g(shù)it bash選項(xiàng)对雪,可以進(jìn)入開始菜單找到git bash,然后通過cd進(jìn)入相應(yīng)目錄執(zhí)行命令米绕。
- 在github部署完成之后瑟捣,馬上訪問可能出現(xiàn)404錯誤,這是正常的栅干,(最多)等待十分鐘左右就可以訪問了迈套。如果還不行,那很可能是 github 發(fā)送給你的驗(yàn)證郵件你沒有打開看碱鳞,據(jù)多方反映桑李,驗(yàn)證后就沒問題了。
- 如果在hexo d之后出現(xiàn)fatal: 'username.github.io' does not appear to be a git repository窿给,一是檢查 repo 的名字是否合乎規(guī)范芙扎、是否含有大寫字母、config.yml 中的 deploy 配置是否正確填大,二是把 git bash 關(guān)掉戒洼,重新打開再執(zhí)行命令。
- 有的同學(xué)可能不是 IT 界的允华,或者對shell 命令不太了解圈浇。在要求輸入密碼時,你輸入之后密碼是不顯示的靴寂,這是為了安全磷蜀,并非是你沒輸上。
- 出現(xiàn)亂碼的百炬,不要使用 windows 中的「記事本」打開并編輯文件褐隆,推薦使用 sublime text,很簡單剖踊。如果已經(jīng)在「記事本」中編輯過庶弃,需要使用 sublime text 轉(zhuǎn)碼為「utf8」。
- 安裝 hexo 時卡在那兒不動德澈,很可能是網(wǎng)絡(luò)不給力歇攻,能全局 break wall 就好了。
- 遇到什么其他的問題梆造,不妨刪除.deploy 和db.json 再重新生成試一試缴守。
問題集2:
1.安裝NoteJs,出現(xiàn)問題,安裝到最后提示error 52**
過程:重新下載安裝了幾次都不行屡穗,不懂為什么贴捡,最后通過Hexo的文檔提供下載地址進(jìn)行下載,然后安裝問題就沒有出現(xiàn)了村砂。 可能原因:
a.下載的安裝包有問題的原因
b.我的C盤占用過多烂斋,盤符標(biāo)紅,然后卸載一些不常用軟件解決箍镜,再安裝再加上上面重新下載的安裝包源祈,之后安裝成功。2.部署提示找不到git
解決辦法: 在Hexo 3.0版本后deploy git 被分開的色迂,所以需要安裝香缺,安裝命令如下:npm install hexo-deployer-git --save ,安裝好后在嘗試一下就ok。3.部署提示 `event type error ***`
解決辦法:
安裝了git bash沒有配置到環(huán)境變量path中歇僧,添加進(jìn)去在試試图张。4.部署的時候執(zhí)行:hexo deploy 命令行沒有任何輸出,也沒有錯誤诈悍。
解決辦法:
在部署的_config.yml文件中祸轮,找到deploy:標(biāo)簽,在每個冒號后面必須要空格侥钳,否則就會出現(xiàn)上述問題适袜。我的配置如下:
deploy:
type: git
repository: https://github.com/wx962464/wx962464.github.io.git
branch: master
順便提示下,如果使用ssh部署不成功的話舷夺,請使用https的方式試試苦酱,這個就是每次會讓你輸入用戶名和密碼。其實(shí)效果是一樣的给猾。5.修改主題不起作用疫萤,而且hexo generate還報(bào)錯
解決辦法:
需要到相應(yīng)的主題文件夾下面進(jìn)行修改,比如我的主題為:themes\jacman 則在根目錄下找到該文件夾下敢伸,修改_config.yml文件扯饶,根目錄下面也有個同樣的名字,不注意池颈,容易弄混尾序,要主要修改的文件是否正確。6.執(zhí)行hexo server顯示running at http://0.0.0.0:4000/
問題說明:
開始的時候以為啟動服務(wù)器有問題饶辙,一直在找問題蹲诀,找了半天沒有答案,最后在瀏覽器直接嘗試http://0.0.0.0:4000/ 是沒辦法訪問的弃揽,然后就試了下http://localhost:4000/ 發(fā)現(xiàn)是可以訪問的,大喜!~~
7.執(zhí)行hexo server提示找不到該指令
解決辦法:
在Hexo 3.0 后server被單獨(dú)出來了矿微,需要安裝server痕慢,安裝的命令如下:npm install hexo-server --save 安裝此server后再試,問題解決涌矢。8.以上就是我在這幾天使用Hexo的一些問題掖举,當(dāng)然問題列的不夠詳細(xì),只是一個大致思路娜庇,這些也是憑著自己的印象做的筆記塔次,所以有些錯誤的地方希望大家指出,共同學(xué)習(xí)名秀,共同進(jìn)步励负!