本文首發(fā)于我的博客:gongyanli.com
github: https://github.com/Gladysgong/Gladysgong.github.io
一距境、快速創(chuàng)建個(gè)人Github Pages
1.什么是Github Pages
GitHub Pages 本用于介紹托管在GitHub的項(xiàng)目,不過由于他的空間免費(fèi)穩(wěn)定垮卓,很適合用來搭建一個(gè)博客垫桂。
每個(gè)帳號(hào)只能有一個(gè)倉庫來存放個(gè)人主頁,而且倉庫的名字必須是username/username.github.io粟按,這是特殊的命名約定诬滩。你可以通過http://username.github.io 來訪問你的個(gè)人主頁,比如我的就是gladysgong.github.io灭将。
這里特別提醒一下疼鸟,需要注意的個(gè)人主頁的網(wǎng)站內(nèi)容是在master分支下的。
2.創(chuàng)建自己的Github Pages
新建代碼倉庫(repository),此處命名格式有限制的庙曙,形如username.github.io
github page site已經(jīng)建好空镜,瀏覽器輸入例如http://username.github.io,(該示例界面為空),可以自己push一個(gè)index頁面來顯示內(nèi)容捌朴,開啟你的blog把吴攒!
我的blog是gladysgong.github.io,可以打開看一下喲!如果文章對(duì)您有幫助砂蔽,右側(cè)fork進(jìn)入star我一下洼怔,我會(huì)美美噠一天。
3.如何搭建一個(gè)獨(dú)立博客——簡明Github Pages與Hexo教程
二察皇、搭建環(huán)境
1.安裝node.js
2.安裝npm
3.安裝git茴厉,如果前面要commit、push什荣,那之前就應(yīng)該安裝
4.github賬戶配置
三矾缓、Hexo安裝
$ cd d:/hexo
$ npm install hexo-cli -g
$ hexo init blog
$ cd blog
$ npm install
$ hexo g # 或者h(yuǎn)exo generate
$ hexo s # 或者h(yuǎn)exo server,可以在http://localhost:4000/ 查看(hexo s -p 8023端口被占用時(shí))
四稻爬、Hexo主題切換
Hexo默認(rèn)主題是landscape嗜闻,大家可以切換成為next或者yilia的風(fēng)格
1.安裝主題
$ hexo clean
$ git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia
2.啟用主題
修改Hexo目錄下的_config.yml配置文件中的theme屬性,將其設(shè)置為yilia桅锄。
3.更新主題
$ cd themes/yilia
$ git pull
$ hexo g # 生成
$ hexo s # 啟動(dòng)本地web服務(wù)器
4.打開http://localhost:8023/ 琉雳,我們就會(huì)看到一個(gè)全新的界面。
五友瘤、部署Hexo到Github Pages
1.部署Hexo到Github Pages上的原理
a.第一步中我們?cè)贕ithub上創(chuàng)建了一個(gè)特殊的repo(gladysgong.github.io)一個(gè)最大的特點(diǎn)就是master中的html靜態(tài)文件翠肘,可以通過鏈接http://gladysgong.github.io來直接訪問。
b.Hexo -g 會(huì)生成一個(gè)靜態(tài)網(wǎng)站(第一次會(huì)生成一個(gè)public目錄)辫秧,這個(gè)靜態(tài)文件可以直接訪問束倍。
c.將hexo生成的靜態(tài)網(wǎng)站,提交(git commit)到github上。
2.使用hexo deploy部署到github
在配置文件_config.xml中以下改動(dòng):
deploy:
type: git
repo: git@github.com:gladysgong/gladysgong.github.io.git
branch: master
3.安裝擴(kuò)展(不安裝會(huì)出錯(cuò))
$ npm install hexo-deployer-git --save
4.在命令行中執(zhí)行
hexo d
六绪妹、申請(qǐng)域名https://sg.godaddy.com/zh/
可以申請(qǐng)的地方很多甥桂,我選擇的是goDaddy,注冊(cè)登錄選擇域名邮旷,支付寶付款黄选,ok。
七婶肩、DNS解析
1.注冊(cè)DNSpod
2.進(jìn)入域名解析办陷,輸入你的域名,添加記錄進(jìn)行配置
3.記錄類型
記錄類型A代表指向github pages所提供的ip
記錄類型CNAME代表指向username.github.io
用A類型的話狡孔,當(dāng)github pages所提供的ip改變的話懂诗,你就需要來改變此處的ip蜂嗽,用CNAME則不需要苗膝。
4.創(chuàng)建CNAME
$ cd source
$ 創(chuàng)建CNAME
$ 內(nèi)容為你的域名(比如我的:gongyanli.com)
$ commit & push
八、hexo部署后把原來的倉庫覆蓋
1.使用Hexo搭建博客需要區(qū)分【博客源代碼】和【博客生成代碼】
『博客源代碼』:Hexo的源碼植旧,包括themes目錄(博客模板)辱揭,source目錄(使用MarkDown寫的博客)等
『博客生成代碼』:執(zhí)行hexo generate或者h(yuǎn)exo server命令生成的代碼,是Hexo自動(dòng)生成的病附,在public目錄里面问窃。
『博客源代碼』需要使用Git做版本管理,而『博客生成代碼』需要使用Git部署完沪。因此容易混淆域庇。
2.方法1:使用2個(gè)不同的Git倉庫分別管理『博客源代碼』和『博客生成代碼』
在GitHub新建一個(gè)倉庫,然后將『博客源代碼』同步到新項(xiàng)目覆积√螅『博客生成代碼』仍然由gladysgong/gladysgong.github.io部署。
3.方法2:使用同一個(gè)Git倉庫的2個(gè)不同的Git分支分別管理『博客源代碼』和『博客生成代碼』
修改Hexo的配置文件_config.yml宽档,將『博客生成代碼』部署到gladysgong/gladysgong.github.io倉庫的develop分支:
deploy:
type: git
branch: develop
repo: https://github.com/gladysgong/gladysgong.github.com
九尉姨、bug
1.hexo報(bào)錯(cuò):
YAMLException: cannot read a block mapping entry; a multi line key may not be an implicit key at line 5, column 1: # Site
YAMLException: cannot read a block mapping entry; a multi line key may not be an implicit key at line 13, column 1: # URL
配置文件:_config.yml 中 # Site #URL 屬性設(shè)置后面的:需要有空格再填寫內(nèi)容!B鹪又厉!
2.npm各種提示權(quán)限不夠,windows下即使開了administrator也提示權(quán)限不夠
無奈椎瘟,卸載npm覆致,用淘寶npm鏡像重裝一個(gè)稠氮,安裝后一路暢通佑刷。
安裝方法:npm install -g cnpm --registry=https://registry.npm.taobao.org
參考鏈接:http://npm.taobao.org/
之后所用命令只需改為cnpm即可
3.hexo s運(yùn)行時(shí)默認(rèn)4000端口被占用
嘗試過解除端口撤防,無奈我的4000端口被360瀏覽器占用
hexo s -p 8022
重啟一個(gè)8022或者任意一個(gè)沒被占用的端口即可