使用Hexo搭建个人博客

Intro

今天无意中看到了Hexo这个基于Node.js博客框架,自称轻巧快速,并与Jekyll/Octopress有着很好的兼容性,基本能够做到无痛移植,于是就又动起了折腾的想法。

尝试后感觉Hexo确实很不错,与Octopress很相似,但生成静态页面的速度比Octopress要快的多,而且搭建环境也要容易的多。之前的文章也是把文件直接复制过来就OK了,很赞。

这里简单介绍一下Hexo的安装和使用方法,详细的文档包括API都可以在官网找到(看域名是台湾人的作品)。

快速体验Hexo

Hexo的安装十分便捷,我们先尝试快速的使用Hexo搭建一个站点。
首先安装Node.js,这里使用nvm作为node版本控制的文件。最好不要直接apt-get,版本不对可能会有问题。

1
2
wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh
nvm install 0.10

接下来使用npm工具安装hexo

1
npm install -g hexo

初始化hexo文件夹

1
$ hexo init <folder> && cd <folder>

生成静态页面并预览

1
$ hexo g && hexo s

OK,在浏览器中输入localhost:4000,一个Hexo站点就已经展示在你面前了!是不是特别容易?相比Octopress,搭建环境不是方便了一点点。

了解Hexo

当然,以上只是使用Hexo搭建了一个站点,要想使用它,还需要多了解一些东西。

目录结构

Hexo的目录结构如下,其中_config.yml是整个站点的配置文件,source/_drafts是草稿文件目录,source/_posts是发表的博文目录,themes是下载的主题目录,其它的目录暂时不用管。

1
2
3
4
5
6
7
8
9
.
├── _config.yml
├── package.json
├── scaffolds
├── scripts
├── source
| ├── _drafts
| └── _posts
└── themes

首先是修改配置文件,主要就是配置一下自己的站点信息,配置文件中的注释比较详细,如果不懂的话可以=>点这里<=看一下,在预览状态下改的话网页上能即时看到效果。

默认的主题生成分类好像有点问题(至少我这里有),更多的主题可以在=>这里<=下载,基本就是git clonethemes目录下然后修改_config.yml中的theme字段就可以了,十分方便。

常用指令

Hexo的常用命令有以下几个

1
2
3
4
5
$ hexo new [layout] <title>     #建立新文章,默认在_posts下,layout="draft"时发布的是草稿
$ hexo publish <filename> #将_drafts下的文件放到_posts下,也就是发布草稿
$ hexo generate #生成静态网页
$ hexo server #启动预览服务器,开启-d选项时可以预览草稿
$ hexo deploy #发布到远程服务器,开启--generate选项可以在deploy前自动generate

熟悉Octopress的话应该有时曾相识的感觉,Hexo和Octopress的操作基本是一样的,但是它的generate确实快上很多。。
此外,Hexo还提供了以上几个命令的简化版本,可以减少输入。

1
2
3
4
5
$ hexo n  # == hexo new
$ hexo p # == hexo publish
$ hexo g # == hexo generate
$ hexo s # == hexo server
$ hexo d # == hexo deploy

从其它站点迁移

当然不能迁移个博客,之前的文章就舍弃了,Hexo可以从RSS/Jekyll/Octopress/Wordpress迁移之前的文章=>点这里<=
对于Octopress,十分简单,只要将之前的博文拷贝到_posts目录下,然后修改_config.yml中的new_post_name字段即可。

1
new_post_name: :year-:month-:day-:title.md

写文章

和Octopress完全一样,使用Markdown语法编辑文章。
使用hexo new命令生成文章或者直接在_posts目录下直接创建文件,打开后先编辑文章头部信息,如下所示是本文的头部信息,以---结尾。

1
2
3
4
5
6
7
8
9
title: 使用Hexo搭建个人博客
layout: post
date: 2014-03-03 19:07:43
comments: true
categories: Blog
tags: [Hexo]
keywords: Hexo, Blog
description: 生命在于折腾,又把博客折腾到Hexo了。给Hexo点赞。
---

接下来使用Markdown编辑文章就可以了。

发布博客

由于生成的都是静态页面,可以和Octopress一样发布在github上。这里的发布也是十分简单的,首先在github上创建名为yourname.github.io的repo,接着修改_config.yml中的deploy字段,最后执行hexo d(前提是你已经在github上添加了你本机的ssh key),OK,现在通过yourname.github.io已经可以访问你的博客了,是不是So easy?

1
2
3
4
5
6
7
8
deploy:
type: github
repo: git@github.com:yourname/yourname.github.io.git
```
如果你有自己的域名的话,只要在source目录下创建CNAME文件,在其中写入你的域名,然后在DNS服务器上设置CNAME就可以了。
```sh
$ cd source
$ echo c4fun.cn > CNAME

Over

到这里,一个基于Hexo的博客基本就完成了。
总的来说,Hexo比Octopress更加方便、简洁、快速,在轻松使用的基础上又有着很高的可扩展性,值得一赞!

文章目录
  1. 1. Intro
  2. 2. 快速体验Hexo
  3. 3. 了解Hexo
    1. 3.1. 目录结构
    2. 3.2. 常用指令
    3. 3.3. 从其它站点迁移
    4. 3.4. 写文章
  4. 4. 发布博客
  5. 5. Over