Karl's Notes

用Hexo搭建博客(一):如何搭建?

前言

Hexo是来自台湾的@tommy351写的一个轻量的静态博客框架,基于Node.js。
引用官网的介绍:

 A fast, simple & powerful blog framework, powered by Node.js.

我们可以利用该框架快速的生成静态博客站点,并用markdown语法书写文章。

类似的静态博客框架还有

Hexo 优点

这里有一篇在知乎的讨论:比较了很多博客框架的特点。
作者折腾过Jekyll:可直接以markdown在github上发布,github负责解析生成html,设置步骤较多。
Octpress本质上也是Jeklly的简化版。
Hexo上传的直接是生成好的html页面了,相比Jekyll会快一些。借用官网的介绍:

  • Blazing Fast:生成静态页面快速
  • Markdown Support:不仅支持原生语法,还支持Github的GFM语法
  • One-Command Deployment
  • Various Plugins

How to install Hexo?

这里主要以Windows平台为例介绍。

安装Git

移步官网下载Git,如已安装请跳过。

安装Node.js

Node.js基于Google V8 Javascript引擎,最新版本是v0.10.32。
下载安装文件,安装对应平台的版本

安装Hexo

利用npm即可安装,在命令行里运行:

1
npm install -g hexo // -g 参数表示作为全局的 npm module 安装

当前最新hexo版本是2.8.3。

初始化blog框架

在打算书写博客的文件夹如e:\HexoTest\下,在命令行运行如下命令:

1
hexo init

在生成blog框架后,一定要运行如下命令,会自动根据初始框架里面的配置,安装一些必备的依赖npm module:

1
npm install

本地测试

框架中自带了一个hello-world.md的页面,在blog目录执行以下命令,并在浏览器中用http://localhost:4000/查看blog页面:

1
2
hexo generate // 生成静态页面,如 html, js, css 等
hexo server // 默认运行在 4000 port

发表文章

1.新建文章

1
hexo n first-post // 在source\_posts\下生成first-post.md文件

2.用markdown语法修改编辑后,用如下命令生成静态文件

1
hexo g // 等价于 hexo generate

3.发表文章

1
hexo s // 等价于 hexo server

部署到Github

设定域名

自定义的域名需要保证repository目录下有CNAME文件,其中内容填上域名如think-diff.me
由于.deploy\文件夹每次都是重新生成,需要把CNAME文件放到hexo博客根目录下如..\source\CNAME
参考Github设置页面

顶级域名和subdomain
添加CNAME生效时间很长大概在48小时内。

Tips

  • 空格在markdown语法中默认过滤,可以用中文全角的空格代替,刚好两个汉字空格,参考这里
  • 默认布局模板位于..\scaffolds\,默认使用post模板,可以加入常用的关键字如
1
2
3
4
5
title: {{ title }}
date: {{ date }}
tags:
categories:
description:
  • hexo clean 可用来清理已经生成的public静态文件,如有些效果修改后没生效,可以先清理再启动server。
1
hexo clean && hexo g && hexo s -p 8888 --debug

参考

  1. 使用 Hexo 搭建静态博客
  2. hexo你的博客
  3. hexo系列