Hexo 博客搭建

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

安装应用

Hexo 基于 Node.js 开发,需要以下工具支撑运行。

  • Node.js (Node.js 版本需不低于 10.13,建议使用 Node.js 12.0 及以上版本)
  • Git

通过 npm 安装 Hexo 应用。

1
npm install -g hexo-cli

创建博客

新建任意目录,作为 Hexo 博客的根目录。

1
mkdir test-blog

初始化 Hexo 博客,新建和下载所需要的文件。

1
2
cd test-blog
hexo init

完成之后,目录的基本结构如下所示。

1
2
3
4
5
6
7
8
.
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes

启动 Node.js 内置的服务器,在本地预览博客。

1
2
3
hexo clean      # 清除缓存文件和已生成的静态文件
hexo generate # 可以缩写成hexo g,生成静态文件。
hexo server # 可以缩写成hexo d,启动服务器。

默认情况下,通过 http://localhost:4000 访问博客。

预览博客

配置博客

Hexo 博客的一些基础配置。

引用图片

默认情况下,可以直接使用 MarkDown 语法在文章中引用本地或者图床中的图片。

1
2
![This is an example image](/images/example.png)
![This is an example image](https://xxx.xxx.com/images/example.png)

对于本地图片资源,为了便于组织和管理,可以启用资源目录,将图片与文章放置在一起,通过相对路径进行引用。

1
2
# _config.yml
post_asset_folder: true

文章与图片的目录结构如下,每篇文章对应一个同名的资源目录。

1
2
3
4
_post
├── example.md
└── example
└── example.png

使用 MarkDown 语法或者标签插件提供的语法在文章中引用图片。

1
2
![This is an example image](example/example.png)
{% asset_img example.png This is an example image %}

在 hexo-renderer-marked 3.1.0 中,引入新的选项,用于简化 MarkDown 引用图片的语句。

1
2
3
4
5
# _config.yml
post_asset_folder: true
marked:
prependRoot: false
postAsset: true

使用简化的 MarkDown 语法在文章中引用本地图片。

1
![This is an example image](example.png)

部署博客

Hexo 提供了快速部署功能,可以将博客快速部署到指定服务器。

GitHub

在 GitHub 中新建公共仓库,仓库名必须为 <GitHub用户名>.github.io 格式。

本地配置 Git 用户信息,并生成 SSH 密钥对。

1
2
3
git config --global user.name "<用户名称>"
git config --global user.email "<用户邮箱>"
ssh-keygen -t rsa -C "<用户邮箱>"

复制 ~/.ssh 目录下 id_rsa.pub 文件中的 SSH 公钥信息,将其添加到 GitHub 设置中。

添加密钥

安装 hexo-deployer-git 插件。

1
npm install hexo-deployer-git --save

编辑 _config.yml 配置文件,修改部署配置。

1
2
3
4
5
6
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: git
repo: git@github.com:<GitHub用户名>/GitHub用户名>.github.io.git
branch: main

将博客部署到 GitHub 仓库。

1
hexo d

等待一段时间后,可以通过 https://<GitHub用户名>.github.io 访问博客。

参考链接

文档 | Hexo