更新記錄
[20170117] 將博客theme換成了Next
系統環境配置
要使用Hexo,需要在你的系統中支持Nodejs以及Git,如果還沒有,那就開始安裝吧!
安裝Node.js
安裝Git
下載地址:http://git-scm.com/download/
安裝Hexo
$ cd d:/hexo
$ npm install hexo-cli -g
$ hexo init blog
$ cd blog
$ npm install
$ hexo g # 或者hexo generate
$ hexo s # 或者hexo server,可以在http://localhost:4000/ 查看
這里有必要提下Hexo常用的幾個命令:
- hexo generate (hexo g) 生成靜態文件,會在當前目錄下生成一個新的叫做public的文件夾
- hexo server (hexo s) 啟動本地web服務,用于博客的預覽
- hexo deploy (hexo d) 部署播客到遠端(比如github, heroku等平臺)
另外還有其他幾個常用命令:
$ hexo new "postName" #新建文章
$ hexo new page "pageName" #新建頁面
常用簡寫
$ hexo n == hexo new
$ hexo g == hexo generate
$ hexo s == hexo server
$ hexo d == hexo deploy
常用組合
$ hexo d -g #生成部署
$ hexo s -g #生成預覽
現在我們打開http://localhost:4000/ 已經可以看到一篇內置的blog了。
目前我安裝所用的本地環境如下:(可以通過hexo -v查看)
hexo: 3.2.0
hexo-cli: 1.0.1
os: Windows_NT 6.3.9600 win32 x64
http_parser: 2.5.2
node: 4.4.1
v8: 4.5.103.35
uv: 1.8.0
zlib: 1.2.8
ares: 1.10.1-DEV
icu: 56.1
modules: 46
openssl: 1.0.2g
Hexo主題設置
這里以主題yilia為例進行說明。
安裝主題
$ hexo clean
$ git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia
啟用主題
修改Hexo目錄下的_config.yml配置文件中的theme屬性,將其設置為yilia。
更新主題
$ cd themes/yilia
$ git pull
$ hexo g # 生成
$ hexo s # 啟動本地web服務器
現在打開http://localhost:4000/ ,會看到我們已經應用了一個新的主題。
Github Pages設置
什么是Github Pages
GitHub Pages 本用于介紹托管在GitHub的項目,不過,由于他的空間免費穩定,用來做搭建一個博客再好不過了。
每個帳號只能有一個倉庫來存放個人主頁,而且倉庫的名字必須是username/username.github.io,這是特殊的命名約定。你可以通過http://username.github.io 來訪問你的個人主頁。
這里特別提醒一下,需要注意的個人主頁的網站內容是在master分支下的。
創建自己的Github Pages
注冊GitHub及使用Github Pages的過程已經有很多文章講過,在此不再詳述,可以參考:
如何搭建一個獨立博客——簡明Github Pages與Hexo教程
在這里我創建了一個github repo叫做 jiji262.github.io. 創建完成之后,需要有一次提交(git commit)操作,然后就可以通過鏈接http://jiji262.github.io/ 訪問了。(現在還沒有內容,別著急)
部署Hexo到Github Pages
這一步恐怕是最關鍵的一步了,讓我們把在本地web環境下預覽到的博客部署到github上,然后就可以直接通過http://jiji262.github.io/訪問了。不過很多教程文章對這個步驟語焉不詳,這里著重說下。
首先需要明白所謂部署到github的原理。
- 之前步驟中在Github上創建的那個特別的repo(jiji262.github.io)一個最大的特點就是其master中的html靜態文件,可以通過鏈接http://jiji262.github.io來直接訪問。
- Hexo -g 會生成一個靜態網站(第一次會生成一個public目錄),這個靜態文件可以直接訪問。
- 需要將hexo生成的靜態網站,提交(git commit)到github上。
明白了原理,怎么做自然就清晰了。
使用hexo deploy部署
hexo deploy可以部署到很多平臺,具體可以參考這個鏈接. 如果部署到github,需要在配置文件_config.xml中作如下修改:
deploy:
type: git
repo: git@github.com:jiji262/jiji262.github.io.git
branch: master
然后在命令行中執行
hexo d
即可完成部署。
踩坑提醒
1)注意需要提前安裝一個擴展:
$ npm install hexo-deployer-git --save
2)如果出現下面這樣的錯誤,
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
則是因為沒有設置好public key所致。
在本機生成public key(參考github幫助):
#ssh-keygen -t rsa -b 4096 -C "xxx@xxx.com"
然后在#user_id/.ssh目錄下會生成兩個文件,id_rsa.pub和id_rsa.
然后登陸github,在SSH設置頁面添加上剛才的public key文件也就是id_rsa.pub的內容即可。
使用git命令行部署(optional)
不幸的是,上述命令雖然簡單方便,但是偶爾會有莫名其妙的問題出現,因此,我們也可以追本溯源,使用git命令來完成部署的工作。
clone github repo
$ cd d:/hexo/blog
$ git clone https://github.com/jiji262/jiji262.github.io.git .deploy/jiji262.github.io
將我們之前創建的repo克隆到本地,新建一個目錄叫做.deploy用于存放克隆的代碼。
創建一個deploy腳本文件
hexo generate
cp -R public/* .deploy/jiji262.github.io
cd .deploy/jiji262.github.io
git add .
git commit -m “update”
git push origin master
簡單解釋一下,hexo generate生成public文件夾下的新內容,然后將其拷貝至jiji262.github.io的git目錄下,然后使用git commit命令提交代碼到jiji262.github.io這個repo的master branch上。
需要部署的時候,執行這段腳本就可以了(比如可以將其保存為deploy.sh)。執行過程中可能需要讓你輸入Github賬戶的用戶名及密碼,按照提示操作即可。
Hexo 主題配置
每個不同的主題會需要不同的配置,主題配置文件在主題目錄下的_config.yml。
以我們使用的yilia主題為例,其提供如下的配置項(theme\yilia_config.yml):
<pre>
# Header
menu:
主頁: /
所有文章: /archives
# 隨筆: /tags/隨筆
# SubNav
subnav:
github: "#"
weibo: "#"
rss: "#"
zhihu: "#"
#douban: "#"
#mail: "#"
#facebook: "#"
#google: "#"
#twitter: "#"
#linkedin: "#"
rss: /atom.xml
# Content
excerpt_link: more
fancybox: true
mathjax: true
# Miscellaneous
google_analytics: ''
favicon: /favicon.png
#你的頭像url
avatar: ""
#是否開啟分享
share: true
#是否開啟多說評論,填寫你在多說申請的項目名稱 duoshuo: duoshuo-key
#若使用disqus,請在博客config文件中填寫disqus_shortname,并關閉多說評論
duoshuo: true
#是否開啟云標簽
tagcloud: true
#是否開啟友情鏈接
#不開啟——
#friends: false
#是否開啟“關于我”。
#不開啟——
#aboutme: false
#開啟——
aboutme: 我是誰,我從哪里來,我到哪里去?我就是我,是顏色不一樣的吃貨…
</pre>
其他高級使用技巧
綁定獨立域名
購買域名
在你的域名注冊提供商那里配置DNS解析,獲取GitHub的IP地址點擊,進入source目錄下,添加CNAME文件
$ cd source/
$ touch CNAME
$ vim CNAME # 輸入你的域名
$ git add CNAME
$ git commit -m "add CNAME"
使用圖床
使用七牛云存儲
自己在github上搭建的圖床:http://jiji262.github.io/qiniuimgbed/ ,需要首先注冊七牛賬號使用。
添加插件
添加sitemap和feed插件
$ npm install hexo-generator-feed
$ npm install hexo-generator-sitemap
修改_config.yml,增加以下內容
//# Extensions
Plugins:
- hexo-generator-feed
- hexo-generator-sitemap
//#Feed Atom
feed:
type: atom
path: atom.xml
limit: 20
//#sitemap
sitemap:
path: sitemap.xml
配完之后,就可以訪問http://jiji262.github.io/atom.xml
和http://jiji262.github.io/sitemap.xml
,發現這兩個文件已經成功生成了。
添加404公益頁面
GitHub Pages有提供制作404頁面的指引:Custom 404 Pages。
直接在根目錄下創建自己的404.html或者404.md就可以。但是自定義404頁面僅對綁定頂級域名的項目才起作用,GitHub默認分配的二級域名是不起作用的,使用hexo server在本機調試也是不起作用的。
推薦使用騰訊公益404。
添加about頁面
$ hexo new page "about"
之后在\source\about\index.md目錄下會生成一個index.md文件,打開輸入個人信息即可,如果想要添加版權信息,可以在文件末尾添加:
<div style="font-size:12px;border-bottom: #ddd 1px solid; BORDER-LEFT: #ddd 1px solid; BACKGROUND: #f6f6f6; HEIGHT: 120px; BORDER-TOP: #ddd 1px solid; BORDER-RIGHT: #ddd 1px solid">
<div style="MARGIN-TOP: 10px; FLOAT: left; MARGIN-LEFT: 5px; MARGIN-RIGHT: 10px">

</div>
<div style="LINE-HEIGHT: 200%; MARGIN-TOP: 10px; COLOR: #000000">
本文鏈接:<a href="<%= post.link %>"><%= post.title %></a> <br/>
作者:
<a >令狐蔥</a> <br/>出處:
<a >http://jiji262.github.io/</a>
<br/>本文基于<a target="_blank" title="Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)" > 知識共享署名-相同方式共享 4.0 </a>
國際許可協議發布,歡迎轉載,演繹或用于商業目的,但是必須保留本文的署名
<a >令狐蔥</a>及鏈接。
</div>
</div>
添加Fork me on Github
獲取代碼,選擇你喜歡的代碼添加到hexo/themes/yilia/layout/layout.ejs的末尾即可,注意要將代碼里的you改成你的Github賬號名。
添加支付寶捐贈按鈕及二維碼支付
支付寶捐贈按鈕
在D:\hexo\themes\yilia\layout_widget目錄下新建一個zhifubao.ejs文件,內容如下
<p class="asidetitle">打賞他</p>
<div>
<form action="https://shenghuo.alipay.com/send/payment/fill.htm" method="POST" target="_blank" accept-charset="GBK">
<br/>
<input name="optEmail" type="hidden" value="your 支付寶賬號" />
<input name="payAmount" type="hidden" value="默認捐贈金額(元)" />
<input id="title" name="title" type="hidden" value="博主,打賞你的!" />
<input name="memo" type="hidden" value="你Y加油,繼續寫博客!" />
<input name="pay" type="image" value="轉賬" src="http://7xig3q.com1.z0.glb.clouddn.com/alipay-donate-website.png" />
</form>
</div>
添加完該文件之后,要在D:/hexo/themes/yilia/_config.yml文件中啟用,如下所示,添加zhifubao
widgets:
- category
- tag
- links
- tagcloud
- zhifubao
- rss
二維碼捐贈
首先需要到這里獲取你的支付寶賬戶的二維碼圖片,支付寶提供了自定義功能,可以添加自定義文字。
我的二維碼掃描捐贈添加在about頁面,當然你也可以添加到其它頁面,在D:\hexo\blog\source\about下有index.md,打開,在適當位置添加
<center>
歡迎您捐贈本站,您的支持是我最大的動力!
![][http://7xsxyo.com1.z0.glb.clouddn.com/2016/04/15/FoJ1F6Ht0CNaYuCdE2l52F-Fk9Vk202.png]
</center>
<br/>
可以讓圖片居中顯示,注意將圖片鏈接地址換成你的即可。
添加百度站內搜索
點擊進入,點擊其它工具->站內檢索->現在使用->新建搜索引擎->查看代碼,將代碼里的id值復制,打開/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 site
使用不蒜子添加訪客統計
詳情參考搞定你的網站計數,具體做法很簡單,就是在你的themes/your themes/layout/_partial/footer.ejs
底部加入這段腳本
<script async src="http://dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js"></script>
然后在``中間添加如下統計信息即可
本站總訪問量 <span id="busuanzi_value_site_pv"></span> 次, 訪客數 <span id="busuanzi_value_site_uv"></span> 人次, 本文總閱讀量 <span id="busuanzi_value_page_pv"></span> 次
不蒜子的官方服務網站是不蒜子,目前最大的弊端就是不開放注冊,所以對于運行了一段時間的網站,不蒜子的數據都是從1開始,沒辦法設置,只有等后期開放注冊之后,登入網站才能對統計計數進行設置。
參考鏈接
Hexo主頁
hexo你的博客
Github Pages個人博客,從Octopress轉向Hexo
如何搭建一個獨立博客——簡明Github Pages與Hexo教程
如何在一天之內搭建以你自己名字為域名又具備cool屬性的個人博客
手把手教你建github技術博客by hexo
Markdown 語法說明 (簡體中文版)