基于 Hexo 快速构建个人静态博客系统
Hexo 是一个快速、简洁且高效的博客框架。
基于 Markdown
解析出文章内容,快速生成静态页面文件。
本文以当前博客为例,介绍 Hexo 如何快速建立一个静态博客,并部署在 Github Pages
上(如果是部署在 Gitee 或 Coding 上,可自行修改本文中不一样的地方)。
关于 Hexo 的更多信息,详见官网:https://hexo.io/zh-cn
1. Hexo
1.1. 安装
依赖:
- NodeJs
v10.0+
- 这是官方建议,最小不低于
v8.10
- 没有安装 NodeJs 环境,可以参见借助 nvm 安装、管理多个 NodeJS 版本
- 这是官方建议,最小不低于
- Git
安装:
1 | # 全局安装 |
1.2. 初始化
新建一个目录,用于存放 Hexo 初始化之后的所有文件,之后安装主题、写文章、网站配置等都在这个目录下。
目录名称建议取博客地址,比如:xxxxx.github.io(因为我的博客是部署在 Github Pages 上的,xxxxx
对应 Github 用户名,详见 3.1. 创建 Github 仓库)。
1 | $ hexo init xxxxx.github.io |
1.3. 个性配置
1 | # 进入上一步初始化好的主目录 |
文件 _config.yml
对应整个站点的配置,Hexo 的详细配置参数说明见官网。
下面是部分主要配置的说明:
1 | # Site |
1.4. 启动本地预览
1 | $ hexo s |
1.5. 浏览器访问
地址栏输入 http://localhost:4000
访问,如下图:
2. 主题 NexT
NexT
是Hexo
下一个优雅且强大的主题,详见官网:https://theme-next.org/docs/
2.1. 安装
方式一:Git
1 | # 1. 进入初始化好的 Hexo 根目录 |
方式二:直接下载
1 | # 1. 进入初始化好的 Hexo 根目录 |
2.2. 个性配置
1 | # 进入主题目录 |
⚠️ 注意:主题下的 _config.yml
文件是当前主题定制的配置项,涉及页面样式、单页面、菜单等具体展示层的东西,与 Hexo 根目录下的 _config.yml
功能和适用范围不同,要区别开。
详细的主题配置说明见官网,下面是当前博客的一份示例配置,同样只摘取了部分配置,只用于举例说明各主要配置项。
1 | # 页面底部设置 |
2.3. 本地预览
1 | # 返回根目录 |
启动后,地址栏再次输入 http://localhost:4000
访问。
3. 发布
3.1. 创建 Github 仓库
在 Github 创建一个新仓库,名称为 xxxxx.github.io
,其中 xxxxx
是你的 Github 用户名。如果要开启 Pages 服务,则必须遵守这个规则。
创建好之后,浏览器直接输入 xxxxx.github.io
访问。
进入仓库设置,找到 GitHub Pages
部分,可自定义域名和开启 HTTPS
支持。
3.2. 安装插件
1 | $ npm install hexo-deployer-git --save |
3.3. 修改配置
1 | # 进入根目录,打开 Hexo 全局配置文件 |
修改如下配置:
1 | # Deployment |
关于该该插件的更多详细配置,参见 https://github.com/hexojs/hexo-deployer-git
3.4. 执行命令
1 | $ hexo clean && hexo deploy |
3.5. 浏览器访问
输入地址:https://xxxxx.github.io
4. 附录
4.1. Hexo 常用命令
完整的命令列表及说明参见官网指令部分。
1 | # 以指定目录初始化 Hexo,不指定到话则使用当前目录 |
4.2. 推荐插件
hexo-abbrlink
为每篇文章生成一个唯一 ID,详见https://github.com/Rozbo/hexo-abbrlink#readme
1 | # 1. 安装 |
1 | # 注释掉默认配置 |
hexo-filter-nofollow
为外链添加 rel="external nofollow noreferrer"
,详见https://github.com/hexojs/hexo-filter-nofollow
1 | # 1. 安装 |
1 | # 添加以下配置 |
hexo-generator-searchdb
开启 NexT 主题的本地搜索需要此插件,详见https://github.com/theme-next/hexo-generator-searchdb
1 | # 1. 安装 |
1 | # 修改如下部分 |
hexo-generator-sitemap
部署的时候自动生成 sitemap.xml
文件,便于爬虫抓取或手手动提交,插件的使用详见:
- https://github.com/hexojs/hexo-generator-sitemap
- https://github.com/coneycode/hexo-generator-baidu-sitemap
1 | # 1. 安装 |
1 | # 添加如下部分 |
⚠️ 注意:百度爬虫由于操作生猛,已经被 Github 屏蔽,所以部署在 Github Pages 上的网站无法被收录,需要借助其它平台的 Pages 服务,可自行搜索。