Hexo+github建站備忘

建站背景

昨天在百度一個(gè)python用法時(shí)進(jìn)到一個(gè)個(gè)人博客里,查完用法之后突然覺(jué)得那個(gè)博客做得挺好,內(nèi)容充實(shí)有用,風(fēng)格簡(jiǎn)約,同時(shí)我也注意到那個(gè)博客是Hexo框架的,稍微百度了一下就發(fā)現(xiàn)Hexo挺有意思的,也比較適合做輕量級(jí)的博客。其中有一個(gè)hexo入門(mén)指南的文章里說(shuō)道:

ghost目前人氣最高,號(hào)稱是要取代WordPress的下一代博客平臺(tái)。不過(guò)問(wèn)題也正在于此,它的目標(biāo)定位是博客平臺(tái),像WordPress一樣重量級(jí)。僅用于一個(gè)獨(dú)立博客,有點(diǎn)高射炮打蚊子的意思。最關(guān)鍵的一點(diǎn),ghost生成的是動(dòng)態(tài)網(wǎng)站,依賴數(shù)據(jù)庫(kù),我的直覺(jué)立刻讓我放棄掉了ghost。
為什么我要排斥數(shù)據(jù)庫(kù)?一個(gè)原因是我對(duì)純文本有偏愛(ài),感覺(jué)上要比二進(jìn)制可控。但主要原因還是出于我的一個(gè)顧慮,說(shuō)來(lái)可笑:我希望到了年老昏花的時(shí)候,這個(gè)博客依然在。
那時(shí)可能已經(jīng)寫(xiě)不動(dòng)了,技術(shù)上的事更折騰不了,但我希望它還能運(yùn)行,能看。站在今天,無(wú)法預(yù)料那時(shí)候是什么操作系統(tǒng),天知道nodeJS能不能堅(jiān)持到那天,更別說(shuō)ghost。唯一能確定的是,越簡(jiǎn)單、對(duì)環(huán)境依賴越少,就越有可能長(zhǎng)命百歲。我可不想到時(shí)候發(fā)現(xiàn)博客打不開(kāi)了,戴上花鏡趴上前去一看,db connection error。

看到這段話的最后,我都沒(méi)忍住笑出聲了。這個(gè)作者也提到了一些用Hexo做個(gè)人博客的好處,我就不贅述了。我自己比較贊同的Hexo的一個(gè)優(yōu)點(diǎn)是博客內(nèi)容是以純文本記錄的,可以比較好的保存及遷移。


建站步驟:

主要分為三部分:

  • 注冊(cè)github賬號(hào)并建立倉(cāng)庫(kù)(Repsitory);

  • 本地安裝配置nodejshexo(注:我的系統(tǒng)是linux Mint 18);

  • 注冊(cè)域名并與github綁定(可選).

以下為具體操作:

注冊(cè)github賬號(hào)并建立倉(cāng)庫(kù)(Repsitory):

進(jìn)入github官網(wǎng)注冊(cè)賬號(hào)并建立以username.github.io為名的倉(cāng)庫(kù)(Repository),username部分必須與注冊(cè)的用戶名完全相同(githubzhi只為每個(gè)用戶提供一個(gè)個(gè)人網(wǎng)站)。

本地安裝配置nodejshexo:#

安裝nodejs(官網(wǎng)給了好幾種裝發(fā),各種安裝帖里也列出了多種裝發(fā),此處為我自己安裝成功的方法):

~$curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
~$sudo apt-get install -y nodejs

安裝hexo:

安裝:

~$sudo npm install hexo-cli -g
~$hexo init blog
~$cd blog
~/blog$sudo npm install
~/blog$sudo npm install hexo-deployer-git --save
~/blog$hexo server

配置:

編輯 /blog/_config.yml文件

  • 配置網(wǎng)站名稱等;

  • 配置Deployment

      deploy:
      type: github
      repository: https://github.com/username/username.github.io.git
      branch: master
    

新建CNAME文件: 在/myblog/public目錄下新建CNAME文件,文件內(nèi)容很簡(jiǎn)單,就是自己購(gòu)買(mǎi)好的域名。

發(fā)布:

如何寫(xiě)博客內(nèi)容就不贅述了,主要就是用Markdown文本寫(xiě)好內(nèi)容,放到myblog/source/_posts/文件夾下。

發(fā)布博客分兩步:

  1. 生成靜態(tài)網(wǎng)頁(yè):

     ~/blog$hexo g
    
  2. 向github推送:

     ~/blog$hexo d
    

此時(shí),應(yīng)該就可以通過(guò)username.github.io.git訪問(wèn)網(wǎng)站了。

注冊(cè)域名并與github綁定(可選)

如果有購(gòu)買(mǎi)好的域名,在購(gòu)買(mǎi)域名的網(wǎng)站上對(duì)域名解析添加兩條CNAME記錄,講購(gòu)買(mǎi)的域名解析到username.github.io.git.

此時(shí),應(yīng)該可以通過(guò)購(gòu)買(mǎi)的域名訪問(wèn)網(wǎng)站了。

注: 如果要從不同電腦更新博客,可參見(jiàn)另一種做法.不過(guò)我在實(shí)踐是遇到了幾個(gè)問(wèn)題,一是npm install hexo-deployer-git應(yīng)該為sudo npm install hexo-deployer-git --save,不然在hexo d的時(shí)候會(huì)出現(xiàn)無(wú)法找到git的情況;二是執(zhí)行完4.2.5之后.git就會(huì)消失,我采取的辦法是在別的地方克隆倉(cāng)庫(kù),再把.git拷貝進(jìn)來(lái)。后來(lái)才發(fā)現(xiàn)原作者說(shuō)最開(kāi)始克隆完倉(cāng)庫(kù)就是拷貝一份再進(jìn)行后面的操作。

DONE!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容