Hexo是一个轻量级的个人博客创建工具,它不依赖数据库,支持众多的主题模板,并且可以使用 Markdown 语法来写博客,并且因为它是不依赖于数据库的静态网页博客,所以可以非常方便的使用 Github / Gitee 的 Pages 服务来托管博客空间,免去了购买服务器的费用。这种种优点让 Hexo 简直是为拥有极客精神的程序员量身定做的工具。
但是由于 Hexo 的代码在 Github 上,而且它基于 Nodejs 实现,需要安装 npm 依赖,国内的 Github 和 npm 速度都比较慢,这里介绍快速搭建 Hexo 环境的方法。

安装 NodeJs (已安装的同学请跳过)

NodeJs的官网国内访问速度比较慢,可以去淘宝的源里面下载:
https://npm.taobao.org/mirrors/node/latest/x64/
下载了安装包后直接安装就可以。
安装后新打开一个命令行终端,用 node –version 测试是否安装成功。
如果提示 node 不识别的话,可以尝试手动把 node 安装路径添加到系统Path里 (如:C:\Program Files\nodejs)

安装 yrm

yrm 可以指定 npm 和 yarn 默认下载源,可以指定国内源从而提高速度

1
npm --registry https://registry.npm.taobao.org install -g yrm

使用上面的命令而不是简单的 npm install -g yrm 的原因也是为了提高速度
yrm 安装成功后,可以用 yrm ls 命令查看可用源,用 yrm use taobao 可以切换 taobao 源。

安装 hexo

执行以下命令即可安装

1
npm install -g hexo-cli

新建博客工程

同样的,如果直接在用 hexo init 命令新建博客的话,国内环境下大概率会卡在下载landscape 模板资源上,因为 github 太慢了。
可以通过 gitee 实现加速。

  • gitee 导入 hexo-starter 库

    • 首先你要有 gitee 的账号(注册很容易的,强烈推荐使用,可以用它现在介绍的方法来实现 github 加速),
    • 打开 gitee 网站,登录了自己的账号后,点击在自己的账号头像左边的那个加号,然后选择最后一项 从 GitHub / GitLab 导入仓库
    • Git 仓库 URL 填写 https://github.com/hexojs/hexo-starter.git, 然后点导入即可
  • 同样的方法导入 hexo-theme-landscape 库

    • Git 仓库 URL 填写 https://github.com/hexojs/hexo-theme-landscape.git
  • 上面导入了两个库后,就有了两个自己的 hexo 用到的库,使用 git clone 下载到本地,然后把 hexo-theme-landscape 里面的文件,拷贝到 hexo-starter\themes\landscape 文件夹下。
    然后在 hexo-starter 目录下,就可以按照常规的 hexo 命令来写博客了

1
2
3
npm install  // 安装依赖
hexo s // 启动本地服务
hexo new "Post name" // 新建文章

使用 Gitee 托管博客

Gitee 提供 Pages 服务,可以托管静态网页,hexo 生成的博客网站就是静态网页的形式,所以非常合适。
首先我们要创建基于 Gitee Pages 的个人站点。

配置 Gitee Pages

  1. 打开 Gitee网站,登录个人账户后,通过浏览器的地址栏查看一下你的用户id是什么,如果地址栏是 https://gitee.com/z2a,那么用户id就是 z2a, 这样你最终的个人博客站点的地址就是 z2a.gitee.io。如果你不满意这个 id 的话,建站之前可以去改一个,因为这个 id 要跟后面要建的代码库的名字保持一致,不然的话,就无法使用 xx.gitee.io 这种二级域名来访问你的博客了
  2. 新建以你gitee 账号id为名字的库,注意两点:仓库名称必须与你的账号id保持一致、是否开源选择开源。其它的都随意,最后点击创建即可
  3. 点击进入刚才新建的库,点击 服务,然后选择 Gitee Pages, 接下来的页面,把 强制使用 HTTPS 勾选上,然后点击启动,你就拥有一个自己的静态网站啦

配置 hexo deploy

在 hexo-starter 文件夹里面的 _config.yml中,可以配置你的博客的基本信息,包括标题,作者,语言,主题等。Deploy 的配置也在这里。
实例:

1
2
3
4
5
6
7
8
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: https://gitee.com/z2a/z2a.git # 这是 gitee 博客库的地址
branch: master
email: moonlight-bff@hotmail.com // 这个不是必须的
name: Alex // 这个也不是必须的

这样,使用 hexo d 即可把博客发布出去啦

PS: 有时候如果发现 hexo d 成功发布之后,网站上的内容并没有发生变化,这时候可以去 gitee 的你的博客的库上面,重新去点击 Gitee Pages, 然后点击 刷新 即可