Guide for Hexo

前言

之前用过 Jekyll,也有过 Vue.js 拉 github issues api 的想法。但是因为前端功力不够,都没能继续下去。

决定用 Hexo 来搭建个人的博客了,个人的想法是:

  1. Done is better then perfect. 不管怎么样,先上一个能用的博客再说,让自己把博客先更新起来。Hexo 的开发者很多,功能够用,也集成了很多第三方插件。
  2. Keep it Simple and Stupid. 很喜欢 Hexo 里的一个主题,简洁大方,相当符合这个原则,而之前在 jekyll 里没看到。
  3. Hexo 基于 node 运行,更有助于熟悉通用的 Web 开发。
  4. 静态网站不用折腾搞 SEO 了。

Mac 安装 Hexo 并配置第一个博客

node 环境安装

node 版本管理(可选):

虽然运行 hexo 只需要一个指定版本的 node,但是仍然推荐使用 node 版本管理软件,推荐使用 nvm 安装最新版本的 node。
运行 brew install nvm 来安装 nvm。

运行 nvm --version 来检查 nvm 是否按照成功。

node 本体安装:

运行 brew install node 安装最新版本的 node 环境或用 nvm 参照文档自行安装。
运行 node -v 来检查 node 是否按照成功。

设置国内镜像(可选):

由于众所周知的原因,国外的 npm 源稳定性和速度堪忧,所以默认的安装建议设置成淘宝的 npm 镜像。
运行 npm config set registry https://registry.npm.taobao.org 配置注册模块默认镜像
运行 npm config get registry 验证是否成功。

hexo 安装及初体验

根据官网的提示,安装非常简单:

1
2
3
4
5
6
npm install hexo-cli -g  # 全局安装 hexo-cli
hexo init blog # 创建第一个博客项目
cd blog
npm install # 安装依赖
hexo server # 启动本地预览服务
hexo clean # 清除缓存

最后 hexo 在 http://localhost:4000/ 提供了本地预览,打开可以看到发布新博文的教程:

1
2
3
4
hexo new "My New Post"  # 创建新博文
hexo server # 动态预览
hexo generate # 生成静态文件
hexo deploy # 根据配置文件发布

以上的指令均有缩写,即子指令的首字母:

1
2
3
4
hexo n "My New Post"  # 创建新博文
hexo s # 动态预览
hexo g # 生成静态文件
hexo d # 根据配置文件发布

新博客个人配置

下载 NexT 主题

先明确自己要用的主题,我一眼就看上了 NexT 主题,因此按照主题 Readme下方的提示,在博客的根目录中下载本主题。

在博客根目录下运行

1
2
3
4
5
mkdir themes/next$ curl -s https://api.github.com/repos/iissnan/hexo-theme-next/releases/latest | 
grep tarball_url |
cut -d '"' -f 4 |
wget -i - -O- |
tar -zx -C themes/next --strip-components=1

在运行该命令的时候,我碰到了没有 wget 指令的尴尬,brew install wget 轻松解决。

除了这个很长的指令以外,还有其他下载的途径,有兴趣的可以尝试。

配置博客

博客的配置文件为 _config.yml

  1. 配置语言:language: zh-Hans
  2. 配置博主名称:author: Hieast
  3. 配置站点描述:description: 他山之石

配置主题

主题的配置文件为 themes/next/_config.yml

  1. 配置具体样式:scheme: Pisces
  2. 配置头像:avatar: /images/avatar.png 放置在 source/images/ 目录下

至此,基本可以上线了。

自动化部署配置

1
2
3
4
5
6
7
8
9
10
11
Git

# 安装 hexo-deployer-git。
npm install hexo-deployer-git --save

# 修改配置。
deploy:
type: git
repo: <repository url> # 这里注意配好密钥或者密码,免密登录
branch: [branch] #
message: [message]

参考文档:

https://github.com/creationix/nvm

https://hexo.io/zh-cn/

https://npm.taobao.org/

https://github.com/iissnan/hexo-theme-next

http://theme-next.iissnan.com/getting-started.html

https://hexo.io/zh-cn/docs/deployment.html

坚持原创技术分享,您的支持将鼓励我继续创作!