最近想要開始寫博客了,一來(lái)可以梳理一下當(dāng)天所學(xué)的東西,二來(lái)到以后求職和升學(xué)都有用,另外,還可以記錄和分享一些生活中的趣事。
于是,就在網(wǎng)上找了一圈,發(fā)現(xiàn)很多博客都不怎么漂亮,那不如自己搭建一個(gè),google了一下,果然有框架可以用來(lái)快速搭建。
順便就記錄搭建過(guò)程作為小白教程,正好搭建好以后還能充充數(shù)。
1.需要具備哪些條件?
1.無(wú)需技術(shù)基礎(chǔ)
2.不需要花錢,除非你想要買個(gè)性域名(20+刀兩年)
3.幾個(gè)小時(shí)的時(shí)間(想要優(yōu)化配置需要另外的時(shí)間)
4.博主是用windows系統(tǒng)的,用其他系統(tǒng)的小伙伴也不必?fù)?dān)心,只有第一步的安裝稍有不同,而且用linux系統(tǒng)和mac os的同學(xué)下載安裝更簡(jiǎn)單,用命令行就可以搞定了。
2.搭建全過(guò)程
2.1下載安裝Git、Node.js和Hexo
小白們不要被這幾個(gè)英文字母嚇到,搭建這個(gè)博客你不必深入理解這些,只需要跟著博文做下去就可以了。
2.1.1下載安裝Git
Git是一個(gè)分布式的版本控制工具,也是目前最流行的。它可以幫助你管理本地倉(cāng)庫(kù),并且把本地的項(xiàng)目托管到遠(yuǎn)端的Github上。也就是你需要建立一個(gè)倉(cāng)庫(kù)來(lái)放你的博客網(wǎng)站項(xiàng)目,并部署到Github。
這里推薦廖雪峰的Git教程,不需要看完,只需要看安裝的部分,幾分鐘就搞定。如果覺(jué)得這個(gè)教程還不清楚,任何問(wèn)題都可以Google或者百度。
2.1.2下載安裝Node.js
后文的npm開頭的命令都需要依賴Node.js。直接到Node.js的官方網(wǎng)站下載安裝,看到最大的那兩個(gè)綠色按鈕,下載v6的就行。下載下來(lái)以后一路next下一步就可以了。
2.1.3下載安裝Hexo
hexo是一個(gè)強(qiáng)大又方便的靜態(tài)博客框架,有了它就相當(dāng)于有了一個(gè)博客的架子,只需要往里面填東西和修改一些配置就可以搭建好一個(gè)博客了。這里就要用到前面安裝好的Git Bash,如果你跟博主一樣安裝的是Git Shell,也沒(méi)有任何問(wèn)題,效果都是一樣的。
2.1.3.1打開你的Git Bash或者Git Shell
一般安裝好Git Bash以后,右鍵任何地方,都會(huì)
看到Bash和GUI(圖形界面)。博主的Shell直接放在桌面。

打開是默認(rèn)進(jìn)入到Git的根目錄下的,用Bash的同學(xué)應(yīng)該看到的是$符號(hào)開頭。
2.1.3.2依次執(zhí)行以下指令:
1、安裝hexo
npm install hexo-cli -g
2、安裝hexo-deployer-git(從名字看也知道它是用來(lái)把博客部署到git上的)
npm install hexo-deployer-git --save
缺少第二步,在后面的步驟會(huì)出現(xiàn)以下錯(cuò)誤信息:
ERROR Deployer not found : github
到這里所有需要下載安裝的都安裝完了。
2.2用hexo在本地搭建博客
2.2.1初步搭建
1.創(chuàng)建放置博客文件的文件夾,可以任意路徑(不建議中文路徑,以免碰到不必要的錯(cuò)誤)任意命名,建議直接創(chuàng)建在Git的根目錄下。然后用cd命令進(jìn)入該文件夾。
cd 你的文件夾名字
對(duì)于文件夾放在其他地方的同學(xué)
cd 你文件夾所在路徑

注:再次說(shuō)明一下,博主用的是shell,所以跟用bash的同學(xué)看到的不同,你們看到的應(yīng)該是$符號(hào)開頭的
2.在該文件夾下執(zhí)行以下命令,Hexo會(huì)自動(dòng)下載并初始化搭建博客所需的所有文件。
hexo init

看到以下信息,說(shuō)明你的博客已經(jīng)初步搭建好了。
INFO Start blogging with Hexo!
3.安裝依賴包
npm install

其實(shí)只要沒(méi)有看到ERROR字樣就成功了,之后的命令也是。
2.2.2驗(yàn)收一下初步搭建的成果
同樣是在Blog文件夾下,執(zhí)行以下命令:
1.生成靜態(tài)文件
hexo g
2.啟動(dòng)服務(wù)器,進(jìn)行本地預(yù)覽(也就是只有本機(jī)能夠訪問(wèn)博客)
hexo s

我們看到最后一句話,說(shuō)明hexo已經(jīng)運(yùn)行在本地端口4000了,我們可以用瀏覽器訪問(wèn)這個(gè)地址進(jìn)行預(yù)覽。
你搭建的一個(gè)博客雛形已經(jīng)出現(xiàn)了。

注:以后配置博客主題時(shí),也會(huì)頻繁使用到這兩個(gè)命令進(jìn)行預(yù)覽,滿意后再部署到Github
2.3將本地的博客部署到GitHub
2.3.1在Github創(chuàng)建倉(cāng)庫(kù)
1.注冊(cè)、登錄不用我說(shuō)了。牢記用戶名、郵箱和密碼,以后都會(huì)要用到。
2.創(chuàng)建新的倉(cāng)庫(kù)

只需要填寫倉(cāng)庫(kù)名,這個(gè)名字的格式必須為username.github.io,如下圖,username必須為你Github的用戶名,也就是用來(lái)登錄的那個(gè)。

這里是因?yàn)槲抑皠?chuàng)建過(guò)了這個(gè)倉(cāng)庫(kù),所以提示錯(cuò)誤信息,可以忽略。
3.第一次使用Github的同學(xué)需要配置SSH key,具體SSH key是什么,有興趣的同學(xué)可以Google或者百度,我們這里配置的原因是為了以后部署博客到Github不用再輸入密碼,你可以簡(jiǎn)單理解為你的主機(jī)獲得了進(jìn)入Github的鑰匙。
點(diǎn)擊右上角自己的頭像,選擇設(shè)置選項(xiàng)。

點(diǎn)擊左側(cè)的SSH and GPG keys,然后點(diǎn)擊右上角New SSH key,如圖:

這里的title可以任意命名,建議可以命名為“主機(jī)+系統(tǒng)”以便以后喚醒你的記憶。知道當(dāng)初配置它是給哪臺(tái)主機(jī)的哪個(gè)系統(tǒng)的。
Key值需要生成,通過(guò)在Git Bash或者Git Shell執(zhí)行以下代碼:
ssh-keygen -t rsa -C "你Github上綁定的郵箱"

如圖,因?yàn)槲乙呀?jīng)在這個(gè)默認(rèn)路徑下生成過(guò)了,也不想覆蓋。
你們看到的應(yīng)該是這樣:
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
依次詢問(wèn)了保存密匙對(duì)的路徑、密碼、密碼缺少,博主的做法是全部回車,保存在括號(hào)里的默認(rèn)路徑,不設(shè)密碼。你也可以這樣做或者改路徑、設(shè)密碼。
Your identification has been saved in /Users/your_user_directory/.ssh/id_rsa.
Your public key has been saved in /Users/your_user_directory/.ssh/id_rsa.pub.
看到以上字樣說(shuō)明生成密匙對(duì)成功,一個(gè)私鑰,一個(gè)公鑰。沿著第二個(gè)路徑找到公鑰,用文本編輯器打開,復(fù)制里面的key值到之前看到的Github創(chuàng)建SSH key需要填的文本框中。點(diǎn)擊創(chuàng)建即可。
4.在Bash或Shell中執(zhí)行以下命令驗(yàn)證是否成功
ssh -T git@github.com
如果是第一次的會(huì)提示是否continue,輸入yes就會(huì)看到:You’ve successfully authenticated, but GitHub does not provide shell access ,這就表示已成功連上github。
2.3.2配置站點(diǎn)文件,部署博客到Github
1.先設(shè)置全局的username和email,因?yàn)镚ithub每次commit都會(huì)記錄他們。
git config --global user.name "你的名字"
git config --global user.email "你的郵箱"
2.編輯你的博客文件夾下的的_config.yml配置文件,建議使用Notepad++或者Sublime。在配置文件底部,配置如下信息。
deploy:
type: git
repository: http://github.com/{github_username}/{github_username}.github.io.git
branch: master
注:配置文件中的冒號(hào)后必須有一個(gè)空格,且這個(gè)冒號(hào)不能是中文冒號(hào),不然會(huì)報(bào)錯(cuò)。

3.執(zhí)行以下命令完成部署。分別是生成靜態(tài)文件、部署到Github。
hexo g
hexo d
4.登錄Github查看倉(cāng)庫(kù)username.github.io、訪問(wèn)username.github.io,看一下是否部署成功。


可以看到我們的本地文件以及發(fā)布到Github了。

我們通過(guò)用瀏覽器訪問(wèn)username.github.io也同樣訪問(wèn)到了博客,注意,這里已經(jīng)不是本地訪問(wèn)了。我們的博客成功發(fā)布了!快用小伙伴的電腦看一看吧。
2.4嘗試發(fā)表一篇文章
hexo寫文章是用Markdown的。Markdown是一種可以使用普通文本編輯器編寫的標(biāo)記語(yǔ)言,通過(guò)簡(jiǎn)單的標(biāo)記語(yǔ)法,它可以使普通文本內(nèi)容具有一定的格式。不用擔(dān)心,這東西幾分鐘就學(xué)會(huì)了,我們來(lái)看一看例子。
你可以用Notepad++打開Blog\source_post路徑下的hello-world.md文件,看看這個(gè)實(shí)例,對(duì)比一下瀏覽器打開的網(wǎng)站里的這篇博客示例,大概就懂怎么回事了。更多的語(yǔ)法可以Google或者百度。這里推薦一篇簡(jiǎn)單易懂的教程。簡(jiǎn)書寫文章也可以設(shè)置成用Markdown編輯,所以簡(jiǎn)書也是一個(gè)不錯(cuò)的Markdown編輯器,以后寫文章,可以先在簡(jiǎn)書里編輯,設(shè)置成雙屏模式還可以預(yù)覽效果,很方便。
用以下命令發(fā)表一篇新的文章:
hexo new "文件名"
這個(gè)文件名建議命名為你的博客標(biāo)題。
執(zhí)行這個(gè)命令成功后,會(huì)在Blog\source_post路徑下生成一個(gè)新的文件,用編輯器打開這個(gè)文件進(jìn)行Markdown語(yǔ)法的編輯就可以了。
寫完文章后,你可以使用 hexo g生成靜態(tài)文件。 hexo s在本地預(yù)覽效果。hexo d同步到github,然后使用http://username.github.io進(jìn)行訪問(wèn)。
注:每篇文章都是全文顯示的,文章過(guò)長(zhǎng)不方便閱讀,可以在編輯文章時(shí),使用< !-- more -->將文章摘要分割出來(lái)(把<和!之間的空格去掉,這里方便顯示出來(lái)才添加了空格),文章中有< !-- more -->就會(huì)只顯示< !-- more -->之前的摘要部分,并且顯示【閱讀全文】按鈕。
3.需要注意的幾個(gè)坑
1.ERROR Deployer not found : github
需要在Bash或Shell執(zhí)行以下語(yǔ)句
npm install hexo-deployer-git --save
2.Hexo的配置文件中任何冒號(hào)后面都必須是帶一個(gè)空格的
3.hexo clean
清除緩存文件db.json和已生成的靜態(tài)文件public。
在某些情況(尤其是更換主題后),如果發(fā)現(xiàn)您對(duì)站點(diǎn)的更改無(wú)論如何也不生效,您可能需要運(yùn)行該命令。

4.創(chuàng)建倉(cāng)庫(kù)的命名
一定要按照上文所提到的格式,且必須使用用戶名。
5.文件夾路徑中有中文
這個(gè)不用多說(shuō)了,路徑中有中文總是會(huì)出現(xiàn)一些亂七八糟的錯(cuò)誤。
4.總結(jié)一下常用的Hexo指令
hexo g #完整命令為hexo generate,用于生成靜態(tài)文件
hexo s #完整命令為hexo server,用于啟動(dòng)服務(wù)器,主要用來(lái)本地預(yù)覽
hexo d #完整命令為hexo deploy,用于將本地文件發(fā)布到github上
hexo n #完整命令為hexo new,用于新建一篇文章
5.關(guān)于域名綁定和主題切換
[Hexo個(gè)人博客]域名綁定 簡(jiǎn)明教程(小白篇)
[Hexo個(gè)人博客] 簡(jiǎn)述主題切換及其注意事項(xiàng)
6.參考
使用Hexo搭建個(gè)人博客(基于hexo3.0)
獻(xiàn)給寫作者的 Markdown 新手指南
廖雪峰的Git教程