使用Hexo + Github Pages搭建個(gè)人獨(dú)立博客

https://www.cnblogs.com/dushao/p/5999593.html

一:hexo系統(tǒng)環(huán)境配置

要使用Hexo,需要在你的系統(tǒng)中支持Nodejs以及Git,如果還沒(méi)有,那就開始安裝吧!

安裝Node.js

下載Node.js

參考地址:安裝Node.js

安裝Git

下載地址:http://git-scm.com/download/

安裝Hexo

$ cdd:/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常用的幾個(gè)命令:

1、hexo generate (hexo g) 生成靜態(tài)文件,會(huì)在當(dāng)前目錄下生成一個(gè)新的叫做public的文件夾/

2、hexo server (hexo s) 啟動(dòng)本地web服務(wù),用于博客的預(yù)覽

hexo deploy (hexo d)

3、部署播客到遠(yuǎn)端(比如github, heroku等平臺(tái))

另外還有其他幾個(gè)常用命令:

$ hexonew"postName"#新建文章$ hexonewpage"pageName"#新建頁(yè)面

常用簡(jiǎn)寫

$ hexo n == hexo new$ hexo g == hexo generate$ hexo s == hexo server$ hexo d == hexo deploy

常用組合

$ hexo d -g#生成部署$ hexo s -g#生成預(yù)覽

現(xiàn)在我們打開http://localhost:4000已經(jīng)可以看到一篇內(nèi)置的blog了。

目前我安裝所用的本地環(huán)境如下:(可以通過(guò)hexo -v查看)

hexo: 3.2.0hexo-cli: 1.0.1os:Windows_NT6.3.9600win32x64http_parser: 2.5.2node: 4.4.1v8: 4.5.103.35uv: 1.8.0zlib: 1.2.8ares: 1.10.1-DEVicu: 56.1modules: 46openssl: 1.0.2g

Hexo主題設(shè)置

這里以主題yilia為例進(jìn)行說(shuō)明。

安裝主題

$ hexo clean$ git clonehttps://github.com/litten/hexo-theme-yilia.git themes/yilia

啟用主題

$ cd themes/yilia$ git pull$ hexo g# 生成$ hexo s# 啟動(dòng)本地web服務(wù)器

現(xiàn)在打開http://localhost:4000,會(huì)看到我們已經(jīng)應(yīng)用了一個(gè)新的主題。

二:Github Pages設(shè)置

什么是Github Pages

GitHub Pages?本用于介紹托管在GitHub的項(xiàng)目,不過(guò),由于他的空間免費(fèi)穩(wěn)定,用來(lái)做搭建一個(gè)博客再好不過(guò)了。

每個(gè)帳號(hào)只能有一個(gè)倉(cāng)庫(kù)來(lái)存放個(gè)人主頁(yè),而且倉(cāng)庫(kù)的名字必須是username/username.github.io,這是特殊的命名約定。你可以通過(guò)http://username.github.io?來(lái)訪問(wèn)你的個(gè)人主頁(yè)。

這里特別提醒一下,需要注意的個(gè)人主頁(yè)的網(wǎng)站內(nèi)容是在master分支下的。

創(chuàng)建自己的Github Pages

注冊(cè)GitHub及使用Github Pages的過(guò)程已經(jīng)有很多文章講過(guò),在此不再詳述,可以參考:

如何搭建一個(gè)獨(dú)立博客——簡(jiǎn)明Github Pages與Hexo教程

在這里我創(chuàng)建了一個(gè)github repo叫做?dushao103500.github.io創(chuàng)建完成之后,需要有一次提交(git commit)操作,然后就可以通過(guò)鏈接http://dushao103500.github.io?訪問(wèn)了。(現(xiàn)在還沒(méi)有內(nèi)容,別著急)

三:部署Hexo到Github Pages

這一步恐怕是最關(guān)鍵的一步了,讓我們把在本地web環(huán)境下預(yù)覽到的博客部署到github上,然后就可以直接通過(guò)http://dushao.github.io訪問(wèn)了。不過(guò)很多教程文章對(duì)這個(gè)步驟語(yǔ)焉不詳,這里著重說(shuō)下。

首先需要明白所謂部署到github的原理

1、之前步驟中在Github上創(chuàng)建的那個(gè)特別的repo(dushao103500.github.io)一個(gè)最大的特點(diǎn)就是其master中的html靜態(tài)文件,可以通過(guò)鏈接http://dushao103500.github.io來(lái)直接訪問(wèn)。

2、Hexo -g 會(huì)生成一個(gè)靜態(tài)網(wǎng)站(第一次會(huì)生成一個(gè)public目錄),這個(gè)靜態(tài)文件可以直接訪問(wèn)。

3、需要將hexo生成的靜態(tài)網(wǎng)站,提交(git commit)到github上。

明白了原理,怎么做自然就清晰了。

使用hexo deploy部署

hexo deploy可以部署到很多平臺(tái),具體可以參考這個(gè)鏈接. 如果部署到github,需要在配置文件_config.xml中作如下修改:

deploy:? type:git? repo:git@github.com:jiji262/jiji262.github.io.git? branch:master

然后在命令行中執(zhí)行

hexod

即可完成部署。

踩坑提醒

(1)注意需要提前安裝一個(gè)擴(kuò)展:

$ npminstallhexo-deployer-git--save

(2)如果出現(xiàn)下面這樣的錯(cuò)誤:

Permission denied (publickey).fatal: Couldnotread from remote repository.Please make sure you have the correct access rightsandthe repository exists.

則是因?yàn)闆](méi)有設(shè)置好public key所致。

在本機(jī)生成public key(參考github幫助):

#ssh-keygen -t rsa -b4096-C"xxx@xxx.com"

然后在#user_id/.ssh目錄下會(huì)生成兩個(gè)文件,id_rsa.pub和id_rsa.

然后登陸github,在SSH設(shè)置頁(yè)面添加上剛才的public key文件也就是id_rsa.pub的內(nèi)容即可。

使用git命令行部署(optional)

不幸的是,上述命令雖然簡(jiǎn)單方便,但是偶爾會(huì)有莫名其妙的問(wèn)題出現(xiàn),因此,我們也可以追本溯源,使用git命令來(lái)完成部署的工作。

clone github repo

$ cdd:/hexo/blog$ git clonehttps://github.com/jiji262/jiji262.github.io.git .deploy/jiji262.github.io

將我們之前創(chuàng)建的repo克隆到本地,新建一個(gè)目錄叫做.deploy用于存放克隆的代碼。

創(chuàng)建一個(gè)deploy腳本文件

hexo generatecp -R public/* .deploy/jiji262.github.iocd .deploy/jiji262.github.iogit add .git commit -m “update”git push origin master

簡(jiǎn)單解釋一下,hexo generate生成public文件夾下的新內(nèi)容,然后將其拷貝至jiji262.github.io的git目錄下,然后使用git commit命令提交代碼到j(luò)iji262.github.io這個(gè)repo的master branch上。

需要部署的時(shí)候,執(zhí)行這段腳本就可以了(比如可以將其保存為deploy.sh)。執(zhí)行過(guò)程中可能需要讓你輸入Github賬戶的用戶名及密碼,按照提示操作即可。

Hexo 主題配置

每個(gè)不同的主題會(huì)需要不同的配置,主題配置文件在主題目錄下的_config.yml。

以我們使用的yilia主題為例,其提供如下的配置項(xiàng)theme\yilia_config.yml:

# Headermenu:主頁(yè): /? 所有文章: /archives# 隨筆: /tags/隨筆# SubNavsubnav:? github:"dushao103500"? weibo:"DanD逆光之處是暖傷"? rss:"#"? zhihu:"#"#douban: "#"#mail: "dushao1314@foxmail.com"#facebook: "#"#google: "#"#twitter: "#"#linkedin: "#"rss:/atom.xml# Contentexcerpt_link:morefancybox:truemathjax:true# Miscellaneousgoogle_analytics:''favicon:/favicon.png#你的頭像urlavatar:""#是否開啟分享share:true#是否開啟多說(shuō)評(píng)論,填寫你在多說(shuō)申請(qǐng)的項(xiàng)目名稱 duoshuo: duoshuo-key#若使用disqus,請(qǐng)?jiān)诓┛蚦onfig文件中填寫disqus_shortname,并關(guān)閉多說(shuō)評(píng)論duoshuo:true#是否開啟云標(biāo)簽tagcloud:true#是否開啟友情鏈接#不開啟——#friends: false#是否開啟“關(guān)于我”。#不開啟——#aboutme: false#開啟——aboutme:我是誰(shuí),我從哪里來(lái),我到哪里去?我就是我,是顏色不一樣的吃貨…

四:其他高級(jí)使用技巧

綁定獨(dú)立域名

購(gòu)買域名

在你的域名注冊(cè)提供商那里配置DNS解析,獲取GitHub的IP地址點(diǎn)擊,進(jìn)入source目錄下,添加CNAME文件

$ cd source/$ touch CNAME$ vim CNAME# 輸入你的域名$ git add CNAME$ git commit -m"add CNAME"

使用圖床

使用七牛云存儲(chǔ)

自己在github上搭建的圖床,需要首先注冊(cè)七牛賬號(hào)使用。

添加插件

添加sitemap和feed插件

$ npminstallhexo-generator-feed$ npminstallhexo-generator-sitemap

修改_config.yml,增加以下內(nèi)容

# ExtensionsPlugins:-hexo-generator-feed-hexo-generator-sitemap#Feed Atomfeed:? type:atom? path:atom.xml? limit:20#sitemapsitemap:? path:sitemap.xml

配完之后,就可以訪問(wèn)http://dushao103500.github.io,發(fā)現(xiàn)已經(jīng)成功生成了。

添加404公益頁(yè)面

GitHub Pages有提供制作404頁(yè)面的指引:Custom 404 Pages。

直接在根目錄下創(chuàng)建自己的404.html或者404.md就可以。但是自定義404頁(yè)面僅對(duì)綁定頂級(jí)域名的項(xiàng)目才起作用,GitHub默認(rèn)分配的二級(jí)域名是不起作用的,使用hexo server在本機(jī)調(diào)試也是不起作用的。

推薦使用騰訊公益404。

添加about頁(yè)面

$ hexonewpage"about"

之后在\source\about\index.md目錄下會(huì)生成一個(gè)index.md文件,打開輸入個(gè)人信息即可,如果想要添加版權(quán)信息,可以在文件末尾添加:

本文鏈接:"><%=post.title%>
作者:杜少
出處:http://jiji262.github.io/
本文基于知識(shí)共享署名-相同方式共享 4.0國(guó)際許可協(xié)議發(fā)布,歡迎轉(zhuǎn)載,演繹或用于商業(yè)目的,但是必須保留本文的署名杜少及鏈接。

添加Fork me on Github

獲取代碼,選擇你喜歡的代碼添加到hexo/themes/yilia/layout/layout.ejs的末尾即可,注意要將代碼里的you改成你的Github賬號(hào)名。

添加支付寶捐贈(zèng)按鈕及二維碼支付

支付寶捐贈(zèng)按鈕

在D:\hexo\themes\yilia\layout_widget目錄下新建一個(gè)zhifubao.ejs文件,內(nèi)容如下:

打賞他


添加完該文件之后,要在D:/hexo/themes/yilia/_config.yml文件中啟用,如下所示,添加zhifubao

widgets:- category- tag- links- tagcloud- zhifubao- rss

二維碼捐贈(zèng)

首先需要到這里獲取你的支付寶賬戶的二維碼圖片,支付寶提供了自定義功能,可以添加自定義文字。

我的二維碼掃描捐贈(zèng)添加在about頁(yè)面,當(dāng)然你也可以添加到其它頁(yè)面,在D:\hexo\blog\source\about下有index.md打開,在適當(dāng)位置添加

歡迎您捐贈(zèng)本站,您的支持是我最大的動(dòng)力!![][http://7xsxyo.com1.z0.glb.clouddn.com/2016/04/15/FoJ1F6Ht0CNaYuCdE2l52F-Fk9Vk202.png]

可以讓圖片居中顯示,注意將圖片鏈接地址換成你的即可。

添加百度站內(nèi)搜索

點(diǎn)擊進(jìn)入,點(diǎn)擊其它工具->站內(nèi)檢索->現(xiàn)在使用->新建搜索引擎->查看代碼,將代碼里的id值復(fù)制,打開/d/hexo/themes/jacman/_config.xml,配置成如下即可。

baidu_search:## http://zn.baidu.com/? enable:true? id:"1433674487421172828"## e.g."783281470518440642"for your baidu search id? site:http://zhannei.baidu.com/cse/search ## your can change to your site instead of the default

使用不蒜子添加訪客統(tǒng)計(jì)

詳情參考搞定你的網(wǎng)站計(jì)數(shù),具體做法很簡(jiǎn)單,就是在你的themes/your themes/layout/_partial/footer.ejs底部加入這段腳本

然后在``中間添加如下統(tǒng)計(jì)信息即可

本站總訪問(wèn)量次, 訪客數(shù)

不蒜子的官方服務(wù)網(wǎng)站是不蒜子,目前最大的弊端就是不開放注冊(cè),所以對(duì)于運(yùn)行了一段時(shí)間的網(wǎng)站,不蒜子的數(shù)據(jù)都是從1開始,沒(méi)辦法設(shè)置,只有等后期開放注冊(cè)之后,登入網(wǎng)站才能對(duì)統(tǒng)計(jì)計(jì)數(shù)進(jìn)行設(shè)置。

至此,Hexo+Github Pages搭建個(gè)人博客完成

快去告訴你們的小伙伴吧

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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