Intro
今天无意中看到了Hexo这个基于Node.js博客框架,自称轻巧快速,并与Jekyll/Octopress有着很好的兼容性,基本能够做到无痛移植,于是就又动起了折腾的想法。
尝试后感觉Hexo确实很不错,与Octopress很相似,但生成静态页面的速度比Octopress要快的多,而且搭建环境也要容易的多。之前的文章也是把文件直接复制过来就OK了,很赞。
这里简单介绍一下Hexo的安装和使用方法,详细的文档包括API都可以在官网找到(看域名是台湾人的作品)。
快速体验Hexo
Hexo的安装十分便捷,我们先尝试快速的使用Hexo搭建一个站点。
首先安装Node.js,这里使用nvm作为node版本控制的文件。最好不要直接apt-get,版本不对可能会有问题。1
2wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh
nvm install 0.10
接下来使用npm工具安装hexo1
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 clone到themes目录下然后修改_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
9title: 使用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
8deploy:
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更加方便、简洁、快速,在轻松使用的基础上又有着很高的可扩展性,值得一赞!