hexo是由Node.js驱动的一款快速、简单且功能强大的博客框架。它和jekyll相比,更快,更轻量。之前在Github上托管的博客就是使用jekyll搭建的,官方的Github Pages同样推荐使用它。但是jekyll目前有不少缺点,包括生成速度尤其是文章多了以后的生成速度让人无法接受,默认引擎Redcarpet解析Markdown时对中文支持不好,而且在Windows上使用问题多多,之前被严重坑过,虽然有解决的办法但是实在是耗费精力。经过@AriesDevil同学介绍,认识了hexo,这个来自台湾大学生的作品,蒙拜之情瞬间产生。于是从Github Cl one项目,在非常详细的文档帮助下马上就在本地跑起来博客了,速度飕飕的果不其然,V8引擎不是盖的,快赶上法拉利了。下面是具体的步骤和需要注意的事情。
安装与配置
准备迁移工作
需要先配置好Node.js环境,npm工具以及Git,之后的本地初始化请参考文档中的说明,照着文档一步步做就行。
1 | 执行如下命令安装Hexo |
全局设定文件储存于网站根目录下的_config.yml文件,根据你的需要配置站点名,固定链接等诸多设定。
如果你是从jekyll/Octopress/Wordpress迁移过来的,也很容易,顺着这里安装下插件。注意留意所有文件中,尤其是配置文件中的空格,缺少空格会报错。
安装插件和主题
插件
1
npm install <plugin-name> --save
主题
1
git clone <repository> themes/ <theme-name>
无论是插件还是主题在安装后都需要在根目录下_config.yml中修改plugins和theme的值以启用他们。
###使用与调试
在本地如果需要预览或者调试你的博客,可以启动本地服务器:1
hexo server
部署到Github前需要配置_config.yml文件。1
2
3
4deploy:
type:github
repository:git@github.com:A-limon/a-limon.github.com.git
branch:master
如果你是为一个项目制作网站,那么需要把branch设置为gh-pages。若要绑定自定义域名也可以参考Hexo或Github Page的帮助文档,制作一个cname文件。
之后执行下列指令即可完成部署,注意部署会覆盖掉你之前在版本库中存放的文件。1
2
3hexo clean
hexo generate
hexo deploy
或可加入 —generate 选项,在部署前自动生成文件。1
hexo deploy --generate
其原理就是hexo在执行hexo generate时会在本地先把博客生成的一套静态站点放到public文件夹中,在执行hexo deploy时将其复制到.deploy文件夹中。Github的版本库通常建议同时附上README.md说明文件,但是hexo默认情况下会把所有md文件解析成html文件,所以即使你在线生成了README.md,它也会在你下一次部署时被删去。怎么解决呢?在执行hexo deploy前把在本地写好的README.md文件复制到.deploy文件夹中,再去执行hexo deploy。