喜歡寫B(tài)log的人,會(huì)經(jīng)歷三個(gè)階段恩静。
第一階段焕毫,剛接觸Blog,覺得很新鮮驶乾,試著選擇一個(gè)免費(fèi)空間來寫邑飒。
第二階段,發(fā)現(xiàn)免費(fèi)空間限制太多级乐,就自己購(gòu)買域名和空間幸乒,搭建獨(dú)立博客。
第三階段唇牧,覺得獨(dú)立博客的管理太麻煩罕扎,最好在保留控制權(quán)的前提下聚唐,讓別人來管,自己只負(fù)責(zé)寫文章腔召。
大多數(shù)Blog作者杆查,都停留在第一和第二階段,因?yàn)榈谌A段不太容易到達(dá):你很難找到俯首聽命臀蛛、愿意為你管理服務(wù)器的人亲桦。
但是六年前,情況出現(xiàn)變化浊仆,一些程序員開始在GitHub網(wǎng)站上搭建blog客峭。他們既擁有絕對(duì)管理權(quán),又享受GitHub帶來的便利—-不管何時(shí)何地抡柿,只要向主機(jī)提交commit舔琅,就能發(fā)布新文章。更妙的是洲劣,這一切還是免費(fèi)的备蚓,GitHub提供無限流量,世界各地都有理想的訪問速度囱稽。
今天郊尝,我就來示范如何在GitHub上搭建Blog,你可以從中掌握GitHub的Pages功能战惊,以及Hexo軟件的基本用法流昏。更重要的是,你會(huì)體會(huì)到一種建立網(wǎng)站的全新思路吞获。
概要
GitHub Pages 是什么况凉?
如果你對(duì)編程有所了解,就一定聽說過GitHub衫哥。它號(hào)稱程序員的Facebook茎刚,有著極高的人氣襟锐,許多重要的項(xiàng)目都托管在上面撤逢。簡(jiǎn)單說,它是一個(gè)具有版本管理功能的代碼倉(cāng)庫(kù)粮坞,每個(gè)項(xiàng)目都有一個(gè)主頁蚊荣,列出項(xiàng)目的源文件。
但是對(duì)于一個(gè)新手來說莫杈,看到一大堆源碼互例,只會(huì)讓人頭暈?zāi)X漲,不知何處入手筝闹。他希望看到的是媳叨,一個(gè)簡(jiǎn)明易懂的網(wǎng)頁腥光,說明每一步應(yīng)該怎么做。因此糊秆,GitHub就設(shè)計(jì)了Pages功能武福,允許用戶自定義項(xiàng)目首頁,用來替代默認(rèn)的源碼列表痘番。
所以捉片,GitHub Pages可以被認(rèn)為是用戶編寫的、托管在GitHub 上的靜態(tài)網(wǎng)頁汞舱。
GitHub 提供模板伍纫,允許站內(nèi)生成網(wǎng)頁,但也允許用戶自己編寫網(wǎng)頁昂芜,然后上傳莹规。有意思的是,這種上傳并不是單純的上傳说铃,而是會(huì)經(jīng)過Hexo或Jekyll等程序的再處理访惜。
<font color=gray size=30>什么是Hexo?</font>
Hexo 是一個(gè)快速腻扇、簡(jiǎn)潔且高效的基于Node.js的博客框架债热。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在幾秒內(nèi)幼苛,即可利用靚麗的主題生成靜態(tài)網(wǎng)頁窒篱。作者是來自臺(tái)灣的@tommy351。
A fast, simple & powerful blog framework, powered by Node.js.
類似于jekyll舶沿、Octopress墙杯、Wordpress,我們可以用Hexo創(chuàng)建自己的博客括荡,托管到github高镐、Heroku或Coding上,綁定自己的域名畸冲,用markdown寫文章嫉髓。本博客即使用hexo創(chuàng)建并托管在github上。
<font color=gray size=30>為什么要用hexo</font>
不可思議的快速 ─ 只要一眨眼靜態(tài)文件即生成完成
支持 Markdown
僅需一道指令即可部署到 GitHub Pages 和 Heroku
已移植 Octopress 插件
高擴(kuò)展性邑闲、自訂性
兼容于 Windows, Mac & Linux
- 易用算行。不僅部署簡(jiǎn)單,平時(shí)使用中僅需要hexo new hexo generate hexo server hexo deploy四個(gè)命令苫耸。不像Jekyll需要很多繁瑣的git命令州邢。
- 輕。文件少褪子、小量淌,易理解骗村,方便自定義。
- 用戶多呀枢。雖然趕不上Jekyll和Octopress叙身,但遇到什么問題都能搜索到答案,或者找到同樣使用hexo的用戶進(jìn)行參考和咨詢硫狞。
<font color=gray size=30>誰能使用hexo</font>
這是一個(gè)免費(fèi)開源的博客程序信轿,任何人都可以使用和修改。但是不同于wordpress残吩,hexo由于需要使用Github,Git,Markdown,Node.js這樣的工具财忽,好多插件、widget都需要自己安裝泣侮、設(shè)置即彪。所以適合那些有一定計(jì)算機(jī)基礎(chǔ),喜歡折騰的人活尊。但是隶校,不要恐懼,只要跟著本教程走蛹锰,就能很方便地讓自己的博客”飛起來”深胳。
<font color=gray size=30>怎樣搭建hexo博客</font>
正題來了,請(qǐng)認(rèn)真往下看吧铜犬。
準(zhǔn)備工作
注意 本文主要針對(duì)Windows平臺(tái)和Hexo 3.x
<font color=gray size=30>安裝GIT</font>
下載 Git 并執(zhí)行即可完成安裝舞终。So Easy
<font color=gray size=30>安裝Node.JS</font>
在 Windows 環(huán)境下安裝Node.js非常簡(jiǎn)單,僅須下載Node.JS并執(zhí)行即可完成安裝癣猾。So Easy
<font color=gray size=30>安裝Hexo</font>
在任意位置右鍵敛劝,選擇Git Bash Here
1 npm install hexo-cli -g
2 #如果命令無法運(yùn)行,可以嘗試更換taobao的npm源
3 npm install -g cnpm --registry=https://registry.npm.taobao.org
Hexo初始化配置
<font color=gray size=30>創(chuàng)建hexo文件夾</font>
安裝完成后纷宇,根據(jù)自己喜好建立目錄(如D:\hexo)夸盟,在該文件夾下右鍵–Git Bash Here。執(zhí)行以下命令
1 hexo init
<font color=gray size=30>安裝依賴包</font>
1 npm install
該命令會(huì)將hexo所需文件自動(dòng)下載到hexo文件夾下像捶。
1 #新建完成后上陕,指定文件夾的目錄如下
2 ├── _config.yml
3 ├── package.json
4 ├── package.json
5 ├── scaffolds
6 ├── scripts
7 ├── source
8 | ├── _drafts
9 | └── _posts
10 └── themes
<font color=gray size=30>安裝Hexo插件(可省略)</font>
1 npm install hexo-generator-feed --save
2 npm install hexo-generator-sitemap --save
3 npm install hexo-generator-baidu-sitemap --save
4 npm install hexo-generator-json-content --save
5 npm install hexo-deployer-git --save
6 npm install hexo-generator-index --save
7 npm install hexo-generator-archive --save
8 npm install hexo-generator-category --save
9 npm install hexo-generator-tag --save
10 npm install hexo-server --save
11 npm install hexo-deployer-heroku --save
12 npm install hexo-deployer-rsync --save
13 npm install hexo-deployer-openshift --save
<font color=gray size=30>查看本地運(yùn)行效果</font>
現(xiàn)在我們已經(jīng)搭建起本地的Hexo博客了,繼續(xù)執(zhí)行以下命令(在D:\Hexo)作岖,成功后即可登錄localhost:4000查看效果唆垃,運(yùn)行顯示了相關(guān)頁面五芝,說明當(dāng)前網(wǎng)站已經(jīng)在本地建立痘儡。
1 hexo generate #可簡(jiǎn)寫為hexo g
2 hexo server #可簡(jiǎn)寫為hexo s
好了,至此枢步,本地博客已經(jīng)搭建起來了沉删,只是本地哦渐尿,別人看不到的。下面矾瑰,我們要部署到Coding砖茸。
配置Coding
<font color=gray size=30>注冊(cè)Github賬號(hào)</font>
已有賬號(hào)可以跳過,沒有的殴穴,請(qǐng)登錄Coding進(jìn)行注冊(cè)凉夯,很簡(jiǎn)單,這里就不介紹了采幌。
<font color=gray size=30>創(chuàng)建repository</font>
在自己Coding主頁中間上面劲够,創(chuàng)建項(xiàng)目。比如我的Coding賬號(hào)是MoPoint休傍,那么我應(yīng)該創(chuàng)建的項(xiàng)目名字應(yīng)該是mopoint征绎。然后都不用選擇,直接點(diǎn)擊最下方的創(chuàng)建項(xiàng)目磨取,然后點(diǎn)擊左側(cè)的代碼人柿,圖片,點(diǎn)擊忙厌,右側(cè)中間的點(diǎn)擊這里快速初始化倉(cāng)庫(kù)凫岖,然后點(diǎn)擊下方的啟用README.md文件初始化項(xiàng)目,再點(diǎn)擊他右側(cè)的創(chuàng)建 逢净。最后我們要?jiǎng)?chuàng)建一個(gè)進(jìn)入頁隘截。點(diǎn)擊當(dāng)前頁右側(cè)上方的新建文件,22.png,最后點(diǎn)擊右下方的提交到master分支汹胃。最后一步婶芭,點(diǎn)擊左側(cè)的Pages服務(wù),再部署來源里面選擇master分支着饥,點(diǎn)擊保存之后即可訪問靜態(tài)主頁如http://mopoint.coding.me/mopoint