Hexo是什么?
Hexo 的中文官网:http://hexo.io/zh-cn/
作者 Tommy Chen:https://zespia.tw/
在我的理解里面:Hexo 是一个基于 Node.js 快速、简洁且高效的博客框架,可以将 Markdown 文件快速的生成静态网页,托管在 GitHub Pages 上。
而官网自己是这样说的:
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
为什么要用 Hexo?
- 因为看了youmeek的博客:使用 Github 空间搭建 Hexo 技术博客–安装篇(基于 IntelliJ IDEA)
本文环境:

- 需要node.js、git 本文主要是hexo的搭建,这些软件的安装请看macOS 不可或缺的套件管理器
关于域名绑定
- 域名绑定的作用是让你可以使用自己的域名去访问这个博客,如果不需要绑定就直接使用github默认的xxxxx.github.io即可。
Node.js 源设置
在安装 Hexo 之前,先说一下 Node.js 的源,Node.js 官方源默认是:http://registry.npmjs.org,但是由于在国外,说不定你使用的时候就抽风无法下载任何软件。所以我们决定暂时使用淘宝提供的源,淘宝源官网:http://npm.taobao.org/
在 Terminal 中我们执行下面这一句(这是一整句的):1234alias cnpm="npm --registry=https://registry.npm.taobao.org \--cache=$HOME/.npm/.cache/cnpm \--disturl=https://npm.taobao.org/dist \--userconfig=$HOME/.cnpmrc"- 现在验证下是否可以使用淘宝的 cnpm 命令:cnpm info express
如果能输出一大堆介绍,则说明成功了,以后每次要使用淘宝的源都需要这样来。现在除了默认的 npm,还多了一个 cnpm 可以使用,我们下面有关安装的讲解内容也都是基于此临时命令。 - 如果Terminal输出: cnpm: command not found,则表示没成功,需要你在排查下
需要强调的是:cnpm 不是永久性命令,只是此时这个界面窗口下的临时命令,关掉窗口就没效果了。
- 现在验证下是否可以使用淘宝的 cnpm 命令:cnpm info express
安装 Hexo 框架
- 安装 Hexo(注意,现在是 cnpm 开头了,不是 npm 了):cnpm install -g hexo-cli
- 安装时间不一定很快,有可能需要等 3 ~ 5 分钟。
- 安装过程中有 WARN 警告也没关系的,不用在意这些 WARN,继续等它安装完成。
- 因为国内的网络问题,有时候安装异常慢花了大半个小时都没效果,那就 Ctrl + C 停掉这次命令,重新再执行一次。
Hexo初始化
- 进入需要初始化的文件夹,我这里为/Work/hexo,执行如下命令:
- 1、
cd /Work/hexo - 2、
hexo init - 3、最后执行:
cnpm install,有显示 WARN 也不用管
- 1、
- 现在我们启动 hexo 本地服务,看下默认的博客是怎样的,命令:hexo server
现在用浏览器访问:http://localhost:4000/,效果如下图

- 如果要停止 hexo 服务:在 Terminal 下按 Ctrl + C 即可
选用其他主题
由于默认主题太大众了,所以现在我们换个主题。
你可以去这里找主题:
hexo-theme:
https://hexo.io/themes/
hexo-github-theme-list:
https://github.com/hexojs/hexo/wiki/Themes
有那些好看的hexo主题?:
我这里选择的 hexo-theme-next:https://github.com/iissnan/hexo-theme-next
现在假设你跟我要用的模板是一样:
还是让 Terminal 保持在 /Work/hexo/themes 目录下,然后输入命令: git clone https://github.com/iissnan/hexo-theme-next.git
这样就在 /Work/hexo/themes 目录下生成了一个 hexo-theme-next 文件夹,里面有我们刚刚 clone 下来的主题内容。
如果以后你不自己修改这个主题的话,可以考虑经常更新下作者的更新内容:
|
|
下载好主题文件之后,我们现在要修改 /Work/hexo 目录下的项目配置文件:_config.yml,把对应的主题目录名改下,编辑如下图。

更改主题目录名后,我们还要重新生成主题静态内容:
- 继续在 Terminal 中输入命令:
重新生成静态博客的所有内容:hexo generate - 重启 hexo 本地服务:
hexo server 重新访问:http://localhost:4000/,效果如下图

- 继续在 Terminal 中输入命令:
创建 Github pages 并 SSH 授权
现在假设你已经有一个 Gtihub 账号,你还需要一个特别的仓库,特别在仓库名就是你的 Github 账号登录名,比如我的用户名是:judasn,那我要创建的仓库名字完整滴填写是:judasn.github.io,具体效果如下图。

1、在终端,也就是Terminal上输入命令:
ssh-keygen有提示直接按回车即可。- 2、
cd ~/.ssh - 3、这个时候会看到该目录下有文件id_rsa.pub 复制里面的内容。
- 4、访问:https://github.com/settings/ssh,添加新秘钥,效果如下图
Title:自己随便取
Key:把刚刚复制的都粘贴进来

把本地的博客内容同步到 Github 上
- 要把本地的静态博客同步到 Github,我们还需要先安装两个跟部署相关的 hexo 插件:
继续在 Terminal 中输入:
|
|
编辑全局 hexo 的配置文件:_config.yml
官网对此配置的介绍:https://hexo.io/zh-cn/docs/configuration.html
我自己的编辑内容初稿(你需要认真看的是含有中文注释的内容):
|
|
编辑全局配置后我们需要重新部署:
- 继续在 Git Bash 中输入命令:
- 先清除掉已经生成的旧文件:
hexo clean - 再生成一次静态文件:
hexo generate - 在本地预览下:
hexo server - 本地没问题之后,Ctrl + C 停掉本地预览。
- 在部署到 Github 之前,需要先确定你是否已经用过 Git,如果你没用过,则此时你需要做如下设置,在 Git Bash 中依次输入下面两个命令:
git config --global user.email "你的 Github 注册邮箱地址"git config --global user.name "你的 Github 用户名"
通过上面几次流程我们也就可以总结:以后,每次发表新文章要部署都按这样的流程来:
|
|
- 也因为这几个命令太频繁了,所以又有了精简版的命令:
|
|
域名绑定
- 首先我们要一个 CNAME 文件(文件名叫 CNAME,没有文件后缀的),把该文件放在 E:\git_work_space\hexo\source 目录下,以后一些需要放在根目录的资源文件都可以放这里。如果你找不到这样的文件可以到youmeek的项目上下载:https://github.com/judasn/judasn.github.io
- CNAME 上的内容需要写你具体要绑定的域名信息,比如我是:blog.byyan.com,具体你可以参考下图:

- 然后到自己的域名管理后台填写CNAME记录

- 设置好之后,等几分钟就可以通过http://blog.byyan.com访问这个页面了
- CNAME 上的内容需要写你具体要绑定的域名信息,比如我是:blog.byyan.com,具体你可以参考下图: