Hexo GitHub Pages 部署流程
最近可能是因为 AI 时代的崛起, 越来越多的个人开发者开始在这个市场上崭露头角. 同时也在这些个人开发者身上看到了很多充满个人气息的博客信息. 因此也打算趁这个机会吧以前弄到一半荒废的 GitHub Pages 页面重新升级一遍. 同时发现一两年前大家强推的 Hugo 好像今年很少提及, 搜索结果关联的都是 Hexo.
因此在这里记录一下 Hexo 搭建的过程中碰到的问题, 以及一些简单的教程
文中的一些配置参考了下面两位的文章
安装
NVM 安装
如果在这个之前没有安装过 npm 的话,需要先通过下面的命令来安装 npm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash |
安装脚本会将 NVM 仓库克隆到 ~/.nvm 目录,并更新您的配置文件(~/.bash_profile、~/.zshrc、~/.profile 或 ~/. bashrc)。
通过命令 nvm --version 来验证是否安装成功 (比如我的返回就是 0.35.3)
安装 NPM
NPM 通常和 Node. Js 一起安装, 在安装完成 nvm 之后, 可以通过如下的命令安装最新版本 NPM
nvm install node |
安装 Hexo
首先需要安装 hexo 的框架
$ npm install -g hexo-cli |
然后新建一个文件夹, 比如 blog (注意即使是通过 GitHub Pages 发布,这里的文件夹不需要和 github. Io 名字相同, 可以是任意名字, 不然 GitHub Pages 发布的静态文件结构和当前项目完全不同)
mkdir blog |
按照上面的步骤安装完成之后, 可以通过执行命令 hexo server 来看是不是正确安装.
此时命令行会返回下面的命令, 或者访问 localhost:4000 来查看页面
INFO Validating config |
安装 NexT 主题
因为 NexT 主题截止目前已经长期不更新, 而且为了方便简单维护主题相关信息, 我选择直接复制 next 文件到当前项目, 而不是通过 Git 版本控制的方式来维护
cd ~/Downloads/ |
修改根目录下的 _config.yml 文件中 theme. 从 landscape 修改为 next
打开 theme/next/_config.yml 文件, 找到 scheme 字段, 修改成自己喜欢的, 我选择的是 Gemini
然后可以执行命令 hexo server 查看是否正确设置了主题
配置
站点基本信息
这一块在根目录的 _config.yml 文件夹下面. 首先配置默认的基本用户信息
title: Bowie |
头像
同时可以支持添加头像. 可以添加图片到 source/images 文件夹中 (文件夹不存在可以新建).
寻找到 avatar 配置, 修改为
avatar: |
完善页面
在 themes/next/_config.yml 文件中, 找到 menu, 把需要添加的菜单前面取消注释
menu: |
同时执行下面的命令来创建对应的页面
hexo new page categories |
对于 categories 和 tags 页面, 需要设置对应的类型, 分别为 categories 和 tags. 同时注意 : 后面的空格
--- |
设置社交链接
通过编辑 themes/next/_config.yml 文件中字段 social, 对于想要添加的取消注释, 并且在下面的 social_icons 添加对应的信息
# Social links |
创建新文章
在根目录下执行命令 hexo new "Article", 会在 source/_posts 文件夹下面自动生成一个 Article.md 文件 (其中 article 的名字是文章的名字)
文章遵从 markdown 的规则, 同时可以设置文章的起始字段
title 文章的标题 |
同时因为 hexo 中文章并不会自动的折叠, 因此如果希望有一个 readMore 的折叠按钮, 可以通过在文章中间添加文本 <!--more--> 来实现
在安装完成上述之后, 可以通过命令 hexo s 查看
部署
好了! 终于到可以部署到 GitHub Pages 了, 这里也很简单, 只需要几个设置
- 安装 hexo 部署工具
运行下面的命令来安装
npm install hexo-deployer-git --save |
- 创建一个 Github. Io 的仓库目录, 这个仓库名字需要是用户名字开头, 比如
username.github.io - 修改根目录的
_config.yml文件中最下面的 deploy, 修改成如下所示 (因为 GitHub 取消了密码认证,因此这里需要是 git 的地址 )
deploy: |
- 然后执行下面的命令, 就可以推送到 GitHub pages 了. 如果用 GitHub 来管理配置和内容的话, 记得添加和提交到 GitHub
hexo generate #生成静态文件 |
高级配置
添加动态背景
因为一直很喜欢没事去看动态背景里面的线聚集到一起, 又打散的样子, 因此这个项目里一定要有这个功能
配置起来也比较简单, 可以参考页面 canvas-nest
先在 source/_data 目录下添加文件 footer.swig (如果 _data 目录不存在需要自己手动创建), 并且在文件中添加下面内容
<script color="0,0,255" opacity="0.5" zIndex="-1" count="99" src="https://cdn.jsdelivr.net/npm/canvas-nest.js@1/dist/canvas-nest.js"></script> |
之后去 NexT 的 _config.yml 文件中找到 custom_file_path, 并且取消其中 footer 的注释
custom_file_path: |
站点统计
NexT 的主题之已经支持了 不蒜子 的数据统计, 不需要像上文的链接中自己配置了, 根据文件 themes/next/layout/_partial/footer.swig 中注释描述的信息, 只需要在 next/_config.yml 中找到 busuanzi_count, 将里面的 false 改成 true 即可实现页脚的页面统计了
busuanzi_count: |
去掉文章自动编号
在文件 theme/_config.yml 文件中找到 toc 属性,将其中的 number 属性设置成 false,如下:
toc: |
网页底部添加字数统计
切换到根目录, 安装插件
npm install hexo-wordcount --save |
然后在文件 /themes/next/layout/_partials/footer.swig 底部加上如下代码
<div class="theme-info"> |
在修改上述配置的时候发现 footer 底下的 powered by 如果不喜欢, 可以从 config. Yml 文件中通过修改 powered 值为 false 来取消
👀 本页访问次数:span#view-count 载入中...





