前言

习惯自己写 Blog 的朋友一定不会陌生 Wordpress,或许也曾在新浪博客和 QQ 空间留过脚印,但静心认真思考一下,似乎我们又总是向往更加简单自由的写作方式。GitHub 给我们提供了一个无限的空间,我们需要珍惜使用,而 Hexo 的出现从某种意义上来说代替了 Jekyll,让我们可以更专注于写作本身。本文主要介绍自己的实践心得并不断完善内容,衍生知识和原理推荐大家认真阅读官网的手册,其它推荐参考内容链接在文中也会标注出来。

阮一峰 - 喜欢写 Blog 的人,会经历三个阶段

第一阶段,刚接触 Blog,觉得很新鲜,试着选择一个免费空间来写。
第二阶段,发现免费空间限制太多,就自己购买域名和空间,搭建独立博客。
第三阶段,觉得独立博客的管理太麻烦,最好在保留控制权的前提下,让别人来管,自己只负责写文章。

更新历史

2019年11月05日更新

阅读原文 - https://liaojiaxin158.github.io/post/hexo/


准备工作

注意 本文主要针对 Windows 平台和 Hexo 5.x

了解 Hexo

A fast, simple & powerful blog framework

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
hexo.io

安装 Git

GitHub Windows

简单可依赖,安装完成后依据提示操作即可,So Easy

安装 Node.JS

Node.JS

注意 安装完成后添加 Path 环境变量,使 npm 命令生效。新版已经会自动配置 Path

1
;C:\Program Files\nodejs\node_modules\npm

安装 Hexo

配置好 GitHub 家目录后,双击桌面上的 Git Shell,输入 npm 命令即可安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
npm install hexo-cli -g
npm install hexo --save

# 如果命令无法运行,可以尝试更换 taobao 的 npm 源
npm install -g cnpm --registry=https://registry.npm.taobao.org

# macOS 首次安装 hexo-cli 会出现权限报错
npm install hexo-cli -g

npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR! [Error: EACCES: permission denied, access '/usr/local/lib/node_modules'] {
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/local/lib/node_modules'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR! /Users/wangao/.npm/_logs/2020-09-06T08_50_44_338Z-debug.log

# 使用以下命令修改权限解决
sudo chown -R `whoami` ~/.npm
sudo chown -R `whoami` /usr/local/lib/node_modules

Hexo 初始化配置

Hexo 官方步骤

简单几步就可以在本地执行,还有一些插件需要和第三方主题搭配使用

1
2
3
4
5
npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server

创建 Hexo 文件夹

安装完成后,根据自己喜好建立目录(如 E:\kuaipan\GitHub\hexo),进入 Git Shell 切换到该路径下 E:\kuaipan\GitHub\hexo 执行以下指令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
hexo init

# 安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。
$ hexo init <folder>
$ cd <folder>
$ npm install

# 新建完成后,指定文件夹的目录如下
.
├── _config.yml
├── package.json
├── scaffolds
├── scripts
├── source
| ├── _drafts
| └── _posts
└── themes

安装 Hexo 插件

1
2
3
4
5
6
7
8
9
10
11
12
13
npm install hexo-generator-index --save
npm install hexo-generator-archive --save
npm install hexo-generator-category --save
npm install hexo-generator-tag --save
npm install hexo-server --save
npm install hexo-deployer-git --save
npm install hexo-deployer-heroku --save
npm install hexo-deployer-rsync --save
npm install hexo-deployer-openshift --save
npm install hexo-renderer-marked@0.2 --save
npm install hexo-renderer-stylus@0.2 --save
npm install hexo-generator-feed@1 --save
npm install hexo-generator-sitemap@1 --save

本地查看效果

继续执行以下命令,成功后可登录 localhost:4000 查看效果

1
hexo server

Hexo 简写命令

1
2
3
4
hexo n # 生成文章,或者 source\_posts 手动编辑 
hexo s # 本地发布预览效果
hexo g # 生成 public 静态文件
最后我选择手动同步更新至 GitHub

部署静态网页到 GitHub

注册设置 GitHub

  1. 登录GitHub,注册自定义用户名如 liaojiaxin
  2. 在主页右下角创建 New repository,name 必须和用户名一致如 liaojiaxin158.github.io
  3. 首次创建耐心等待 10 分钟左右审核,之后即可访问静态主页如https://liaojiaxin158.github.io

同步内容至 GitHub

  1. 下载GitHub Windows
  2. 设置 Local pathE:\ 快盘 \ GitHub\
  3. 运行 Git Shell 切换到如 E:\ 快盘 \ GitHub\hexo 路径下
  4. 执行 hexo g 命令生成 public 文件夹
  5. 把生成的内容全部拷贝到 Local path 或其子目录
  6. 运行 GitHub 确认修改信息后执行右上角的 Sync 同步
  7. 最后访问主页观察效果

https://pages.github.com/

域名和 DNS

域名推荐

GoDaddy makes registering Domain Names fast, simple, and affordable.

【推荐理由】两个字“靠谱”,支持支付宝,附优惠码链接

http://www.godaddy.com/
http://www.gdcodecoupon.com/

DNS 推荐

致力于为您提供最稳定、最安全的域名解析服务

【推荐理由】依然是两个字“靠谱”,感谢他们一直以来对于公益的坚持

https://www.dnspod.cn/

设置 CNAME

  1. 在 Github 的网站目录下创建 CNAME 文件
  2. 填写自己的域名如 hellodog.com,保存结束
  3. 登录 DNSPod,先添加域名,然后添加记录,设置如下
主机记录 记录类型 线路类型 记录值 MX 优先级 TTL
@ CNAME 默认 liaojiaxin158.github.io. - 10
www CNAME 默认 liaojiaxin158.github.io. - 10

Hexo 配置修改

告诉自己为什么要选择 Hexo

知识储备

  1. 勤学勤练 Markdown

本地 + 云端备份数据是一种习惯

Markdown 学习路径 - https://liaojiaxin158.github.io/post/markdown/

  1. 使用性感的文本编辑器

工欲善其事必先利其器

  • Notepad2
  • Visual Studio Code

Hexo 主题

选择主题建议遵循 KISS 原则

Hexo Themes

hexo-theme-next

hexo-theme-fluid

hexo-theme-ils

常见问题

  1. 修改配置文件时注意 YAML 语法,参数 冒号: 后一定要留 空格
  2. 中文乱码请修改文件编码格式为 UTF-8
  3. 如何迁移至 Hexo

参考文章

Hexo 官方中文文档

文章目录
  1. 1. 前言
  2. 2. 更新历史
  3. 3. 准备工作
    1. 3.1. 了解 Hexo
    2. 3.2. 安装 Git
    3. 3.3. 安装 Node.JS
    4. 3.4. 安装 Hexo
  4. 4. Hexo 初始化配置
    1. 4.1. Hexo 官方步骤
    2. 4.2. 创建 Hexo 文件夹
    3. 4.3. 安装 Hexo 插件
    4. 4.4. 本地查看效果
    5. 4.5. Hexo 简写命令
  5. 5. 部署静态网页到 GitHub
    1. 5.1. 注册设置 GitHub
    2. 5.2. 同步内容至 GitHub
  6. 6. 域名和 DNS
    1. 6.1. 域名推荐
    2. 6.2. DNS 推荐
    3. 6.3. 设置 CNAME
  7. 7. Hexo 配置修改
    1. 7.1. 知识储备
    2. 7.2. Hexo 主题
    3. 7.3. 常见问题
  8. 8. 参考文章