使用Hexo在Github上搭建自己的部落格

飞雪无情發表於2015-07-31

以前的部落格是使用Jekyll託管在github上,後來用著越來越不方便,比如沒有自動生成post,不能一鍵部署,檔案結構和配置也是比較繁瑣,更重要的是有時候用markdown寫一篇文章,生成的靜態檔案很亂,應該是有些字元解析的問題。現在下決心換成了hexo。

使用Hexo在Github上搭建自己的部落格

Nodejs安裝

因為hexo是基於nodejs的應用,所以要先安裝nodejs才可以。我這裡以ubuntu為例,因為我自己一直在使用ubuntu。使用如下命令即可:

sudo apt-get install nodejs
sudo apt-get install npm

Hexo安裝

Hexo 是一個功能強大的靜態網站生成系統,快速、簡潔、高效。Hexo 支援 GitHub Flavored Markdown 的所有功能,甚至可以整合 Octopress 的大多數外掛。可以一鍵部署到github,還有豐富的外掛和主題,還支援熱部署哦。執行如下命令進行安裝。

sudo npm install hexo-cli -g

快速開始

安裝Hexo安成後,使用如下命令快速新建一個部落格系統,然後執行它:

hexo init blog
cd blog
npm install
hexo server

如果npm安裝失敗,請使用sudo安裝。執行成功後,訪問 http://0.0.0.0:4000/ 就可以看到部落格的樣子的,對就是我現在的部落格這個樣子,o(∩∩)o…哈哈。

現在我們來看看Hexo 生成部落格的目錄結構:

.
├── _config<span class="class">.yml</span>
├── db<span class="class">.json</span>
├── node_modules
├── package<span class="class">.json</span>
├── public
├── scaffolds
├── source
└── themes

其中_config.yml是配置站點的檔案,public是hexo生成的靜態站點資料夾,scaffolds是模板資料夾,source是存在使用者資源的資料夾,themes是主題資料夾。

站點配置

找到title,subtitle,author引數配置,分別配置站點的標題、副標題和作者,比如我這裡是:

title: 飛雪無情的部落格
subtitle: 專注於Android、Java、移動網際網路、專案管理、軟體架構
description:
author: 飛雪無情
language: zh-CN

然後配置站點的url和permalink,這兩個分別是你的站點的url host地址以及文章的永久連線,我這裡是:

url: http://www.flysnow.org
root: /
permalink: :year/:month/:day/:title.html
permalink_defaults:

permalink 我配置的是年月日以及title,字尾是html,便於搜尋收錄。permalink詳情參見: http://hexo.io/zh-cn/docs/permalinks.html

新增一篇文章

使用如下命令即可新增一篇md格式的文章:

hexo new 'github-page-with-hexo'

然後就會在sources/_posts生成一篇檔名為github-page-with-hexo.md的markdown檔案。編輯該檔案就可以寫部落格了。這裡有一些Front-matter需要介紹,可以配置文章使用的模板、所屬的分類和tag等。

Front-matter 是檔案最上方以 —- 分隔的區域,用於指定個別檔案的變數,舉例來說:

title: "使用Hexo在Github上搭建自己的部落格"
date: 2015-03-10 22:30:04
tags:
- Hexo
- Github
categories:
- Hexo
---

請注意,目前的categories只能有一個一級分類,如果填寫多個,第二個會被解析為二級分類,以及類推。tags可以允許有多個。更多關於Front-matter請參考 http://hexo.io/zh-cn/docs/front-matter.html 。

釋出到github page

首先你已經建立好了你的github page對應的git庫,沒有建立的可以google相關部落格。然後新建一個hexo分支,存放你現在hexo的所有檔案。然後執行如下命令清理並生成釋出的靜態站點檔案。

hexo clean
hexo generate

然後把生成的public目錄下的檔案放到你的master分支下即可。git commit後把這兩個分支推送到你的github上。git庫結構可以參見我的github page庫 https://github.com/rujews/rujews.github.io 。

最後

然後等個幾分鐘,訪問你的域名就可以看到你的網站了。如http://www.flysnow.org/ 。關於更多的Hexo請參考官方文件 http://hexo.io/zh-cn/docs/ 。

相關文章