我是一個愛寫博客進行總結分享的人。
然而,有着熱愛寫博客並且深知寫博客好處的我,卻沒有好好的把這個習慣堅持下來。如今畢業已經一年多了吧,每一次與師弟師妹們聊天,我總會意味深長的建議他們,一定要定期梳理總結自身所學的知識,而寫博客就是其中的一個很不錯的方式……
OK,感慨的話,就不多說了,下面我們開始慢慢的進入我們的主題-“利用Hexo搭建個人博客”吧。
1 前言
喜歡寫博客的人都會經歷這么三個階段。
1> 第一階段,剛接觸Blog,覺得很新鮮,試着選擇一個免費空間來寫。
還記得那些年我還是個大二小鮮肉的時候,尚且不知道博客是個什么樣的存在。作為IT世界的初哥,對IT充滿了好奇與熱情,為了將當時學習到的知識進行記錄並且能夠和小伙伴們分享,我把自己的總結一篇又一篇的記錄到了QQ空間之中。
后來,在一個師兄的指導下,我慢慢的接觸了博客。
- CSDN : 整體來說很不錯的,但是由於每次涉及到圖片的時候,總需要經過很多步驟,我才能將它顯示在我的博客中,最終我選擇了棄用。
- ITeye : 主要是Java的博客,但是我不大喜歡這個博客里面的踩這個功能,因為對於作為IT初哥的我,寫的文章確實比較簡單,沒什么特別的技術含量,而在不斷的發表過程中,總會有那么幾個人踩,同時加上不文明、鄙視的話語,讓我覺得不爽與受挫,最終也選擇了棄用。
- 博客園 : 這個是我在利用Hexo搭建博客以前一直使用的博客,曾經因為編寫了 《Java的內存回收機制》 被推到了頭條而有點小出名。而且博客園也是我一直推薦給師弟師妹們寫博客的地方。另外,如果你使用的是Windows的話,只要通過 QQ截圖 + 火狐瀏覽器 ,截圖后直接粘貼到編輯器中,最終瀏覽你的博文時就會發現它被轉換成了base64存儲了起來,非常方便。
- blogjava : 這個也是Java的殿堂,跟博客園差不多,但是因為我當時我已經定居於博客園,就沒有在這里寫了。
2> 第二階段,發現免費空間限制太多,就自己購買域名和空間,搭建獨立博客。
在我的帶動下,越來越多的小伙伴也跟着寫博客了。當我還是個即將踏出社會的懵懂大三少年時,由於現有的博客自定義性太低,加上越來越流行的Wordpress,許多小伙伴們都豪爽的自己掏腰包購買域名和空間,搭建了屬於自己的個人博客。
那時候,我真的好羡慕他們那么土豪,作為小山區出來的我,考慮到腰包和博客維護問題,就還是繼續呆在博客園,可謂是博客園的忠實用戶。
3> 第三階段,覺得獨立博客的管理太麻煩,最好在保留控制權的前提下,讓別人來管,自己只負責寫文章。
突然有一天,博客訪問不到了,需要緊急處理;出來實習工作后,太忙了,沒時間寫博客,感覺投入產出比不高了……
慢慢的,小伙伴們發現獨立博客雖然沒有了免費空間的限制,但是管理、維護和金錢等各種成本太高了,於是有一大部分的朋友因為已經找到工作穩定了,慢慢的沒有再寫博客了;也有一部分同學開始去追尋能夠保留控制權,而服務器等問題又能夠交給別人處理,自己能夠專心寫博客的方式。
到了這個階段,開始有朋友發現並且使用了Hexo + Github 的方式,而有着同樣追求的我,也慢慢的跟着開始了這么一個歷程~
2 介紹
既然使用Hexo + Github搭建個人博客有那么多的好處,我們自然不能錯過,事不宜遲,我們現在立馬來認識一下,他們究竟是何方神聖吧。
2.1 關於 GitHub
2.1.1 Github
接觸編程一段時間后,相信大家都會開始了解到版本控制,如SVN、HG。是的,Github是一個知名的 分布式版本控制系統 以及 開源代碼庫。
在本次博客搭建中,也是需要大家能夠具備一定的Git版本控制知識的。大家放心,后文會對必須用到的命令進行講解,但如果你想要對它有更詳細的認知,可以在空余的時候參考以下鏈接:
鏈接: 點擊訪問
詳細介紹: Git Book
2.1.2 Github Pages
在Github里面,每一個項目都擁有它的一個主頁,列出項目的源文件,但是對於新手來說,看到那么多的源代碼,只會讓人感到頭暈腦脹,無從下手,他更希望的是,該項目有一個簡明易懂的頁面,告訴他每一步要怎么去做。
因此,Github就設計了Github Pages這個功能,允許用戶自定義項目首頁,用來替代默認的源碼列表。所以,Github Pages可以被認為是用戶編寫的、托管在github上的靜態網頁。
有的用戶說,我前端渣渣,這個功能對我來說,並沒有什么卵用,還不如用個記事本寫好上傳給大家看。Github似乎早就考慮到了這一點,設計了幾個漂亮的模版供用戶直接選擇使用。
鏈接:點擊訪問
而我們也正是利用了Github Pages這一個特性,去搭建屬於我們的個人博客。
2.2 關於 Hexo
按照官網的說法,Hexo是一個快速、簡潔且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在幾秒內,即可利用靚麗的主題生成靜態網頁。
鏈接:點擊訪問
2.3 Hexo + Github
通過上面的介紹,大家對Hexo和Github已經有了大概的了解。
沒錯,我們的方式就是,利用Markdown進行博客的編寫,通過Hexo這個框架解析生成靚麗的靜態頁面,然后部署到Github上供大家瀏覽。
這種方法具備好處是:
- 免費,無限流量。
- 享受git的版本管理功能,不用擔心文章遺失。
- 專注於我們自己的博客內容,其他諸如服務器管理的事情交給Github即可
當然啦,萬事有利有弊。這種方式也有它的弊端:
- 有一定技術門檻,你必須要懂一點git和網頁開發。
- 生成的是靜態網頁,添加動態功能必須使用外部服務,比如評論功能我們使用多說。
- 不適合大型網站,因為沒有用到數據庫,每運行一次都必須遍歷全部的文本文件,網站越大,生成時間越長。
但是,這已經基本滿足我們第三階段的需求啦。
3 正文
說了那么多,終於到正文啦!
本文將以 Mac OS 和 Hexo 3.1.1 為例進行講解。
3.1 環境搭建 - Git
下載地址: 點擊下載
如圖,根據你的系統點擊下載相應平台的Git進行安裝,這里我們以Mac OS 為例,自然選擇的是 Mac OS
下載並且安裝完成后,打開終端執行以下命令進行驗證
1 $ git --version
如果終端輸出類似下面的內容,說明安裝成功了
git version 2.3.2 (Apple Git-55)
3.2 環境搭建 - NodeJS
下載地址: 點擊下載
如圖,根據你的系統點擊下載相應平台的NodeJS進行安裝,個人比較喜歡通過tar.gz的方式進行安裝,所以如圖點擊下載了64位的tar.gz
1> 將下載下來的tar.gz文件解壓並且存放到 ~/Applications/路徑下
2> 將 NodeJS 配置到環境變量中- 打開 ~/.bash_profile 文件,復制以下內容到文件中,注意將(你電腦的用戶名) 替換成你的用戶名
1 export NODE_HOME="/Users/(你電腦的用戶名)/Applications/nodejs" 2 export PATH=${PATH}:${NODE_HOME}/bin
3> 執行以下命令進行驗證
1 $ source ~/.bash_profile 2 $ npm --version
如果終端輸出類似下面的內容,說明安裝成功了
1.4.28
3.3 環境搭建 - Hexo
1> 執行以下命令進行Hexo框架的基本安裝
1 $ npm install hexo-cli -g
2> 安裝便於自動部署到Github上的插件
1 $ npm install hexo-deployer-git --save
3> 安裝atom生成插件,便於感興趣的小伙伴們訂閱
1 $ npm install hexo-generator-feed --save
4> 安裝博客首頁生成插件
1 $ npm install hexo-generator-index --save
5> 安裝歸檔生成插件
1 $ npm install hexo-generator-archive --save
6> 安裝tag生成插件
1 $ npm install hexo-generator-tag --save
7> 安裝category生成插件
1 $ npm install hexo-generator-category --save
8> 安裝Sitemap文件生成插件
1 $ npm install hexo-generator-sitemap --save
9> 安裝百度Sitemap文件生成插件,因為普通的Sitemap格式不符合百度的要求
1 $ npm install hexo-generator-baidu-sitemap --save
3.4 問題及解決方法
這個小章節主要是個人在安裝過程中遇到的問題以及解決方法, 也歡迎大家將遇到的問題添加到評論中,方便其他小伙伴在遇到的時候可以快速定位和解決
1、 問題:在進行hexo-cli 或者 利用npm安裝hexo其他相關組件的時候遇到shasum check failed問題時改怎么辦?
解決方法:執行以下命令切換到國內的鏡像,重新執行npm進行組件安裝即可
1 $ npm --registry https://registry.npm.taobao.org info underscore
4 結束語
恭喜你,至此,關於利用Hexo + Github 搭建個人博客所需要的基本環境已經准備完畢。下一篇博客,我將會介紹配置Hexo來搭建我們的博客-Hello World。
最后,如果大家想要查看通過Hexo + Github搭建的博客的最終效果的話,可以訪問:http://xiaoxuetu.github.io/