歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 使用Hexo在Github上搭建自己的博客

使用Hexo在Github上搭建自己的博客

日期:2017/2/27 15:47:05   编辑:Linux教程

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

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.yml
├── db.json
├── node_modules
├── package.json
├── 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

Copyright © Linux教程網 All Rights Reserved