Hexo|Redefine 博客搭建

InfinityKI Lv2

这是一个非常详细的、手把手的教程,教你如何使用 Hexo + Redefine 主题在 GitHub Pages 上搭建你的个人博客。

我们将整个过程分为以下几个主要步骤:

  • 准备工作:安装必要软件
  • 本地搭建:初始化 Hexo 博客
  • GitHub 配置:创建代码仓库
  • 关联与部署:将本地博客推送到 GitHub
  • 主题配置:安装并启用 Redefine 主题
  • 内容管理:添加文章、标签、分类和归档页面
  • 日常维护:写作与发布流程总结

第一步:准备工作 (环境搭建)

在开始之前,你的电脑需要安装以下软件:

Git 用于版本控制和部署代码到 GitHub

下载地址:https://git-scm.com/downloads

安装时一路点击 “Next” 即可。安装后,在终端(Windows 用户推荐使用 Git Bash)中输入 git --version,如果显示版本号则表示安装成功。

Node.js Hexo 是基于 Node.js 的,所以必须安装它。

下载地址:https://nodejs.org/

请下载 LTS (长期支持) 版本。安装时同样一路 “Next”。安装后,在终端中输入 node -vnpm -v,如果都显示版本号则表示安装成功。


第二步:本地搭建 Hexo 博客

安装 Hexo CLI (命令行工具)

打开你的终端(或 Git Bash),输入以下命令进行全局安装:

1
npm install -g hexo-cli

初始化博客项目

选择一个你喜欢的文件夹来存放你的博客文件,比如 D:\Blog。在该目录下打开终端,然后执行:

1
2
# "my-blog" 是你的博客文件夹名,可以自定义
hexo init my-blog

等待命令执行完毕,Hexo 会自动创建一个名为 my-blog 的文件夹,并下载所有必要文件。

进入博客目录并安装依赖

1
2
cd my-blog
npm install

本地预览

现在,你的博客已经在本地准备就绪了。运行以下命令启动本地服务器:

1
2
hexo server
# 或者简写为 hexo s

启动后,终端会提示:

Hexo is running at http://localhost:4000/ . Press Ctrl+C to stop.

在浏览器中打开 http://localhost:4000,你就能看到 Hexo 的默认博客页面了。这表示本地环境已成功! 按 Ctrl+C 可以关闭本地服务器。

第三步:GitHub 配置

注册 GitHub 账户

如果你还没有,先去 GitHub 官网 注册一个账户。

创建博客仓库 (Repository)

这是最关键的一步,仓库名必须符合特定格式:

点击 GitHub 页面右上角的 + 号,选择 New repository

Repository name 必须设置为:username.github.io

例如,如果你的 GitHub 用户名是 zhangsan,那么仓库名就是 zhangsan.github.io

选择 Public (公开)。

不要勾选 “Add a README file” 等任何选项,保持一个空仓库。

点击 Create repository

添加 SSH 密钥

生成 SSH 密钥

打开你的 Git Bash,输入以下命令,并将 your_email@example.com 替换成你注册 GitHub 时用的邮箱。

1
ssh-keygen -t rsa -C "your_email@example.com"

之后会提示你输入文件保存位置,直接按 Enter 键使用默认位置即可。

接着会提示你输入密码(passphrase),为了方便,你可以直接按 Enter 键留空(即无密码)。再次确认时再按一次 Enter。

部署 SSH 密钥

找到并复制你的公钥。公钥文件通常在 C:\Users\你的用户名\.ssh\id_rsa.pub。你可以用以下命令在 Git Bash 中直接显示并复制它:

1
cat ~/.ssh/id_rsa.pub

登录你的 GitHub 账户,点击右上角的头像 -> Settings,在左侧菜单中,点击 SSH and GPG keys,点击 New SSH key 按钮。

Title 随便起一个名字,比如 My Blog PC,在 Key 文本框中,粘贴你刚刚复制的公钥内容,点击 Add SSH key

测试连接

在 Git Bash 中输入以下命令:

1
ssh -T git@github.com

你可能会看到一个警告,问你是否信任这个主机,输入 yes 并按 Enter。
如果一切顺利,你会看到这样的成功信息:

Hi InfinityKI! You've successfully authenticated, but GitHub does not provide shell access.

这表明你的 SSH 连接已经成功建立!

第四步:关联与部署

安装 Git 部署插件

在你的博客根目录 (my-blog) 的终端中,安装一个插件,让 Hexo 能通过 Git 进行部署。

1
npm install hexo-deployer-git --save

配置站点 _config.yml 文件

打开你博客根目录下的 _config.yml 文件(注意不是主题文件夹里的),找到 deploy 部分(通常在文件末尾),修改成如下格式:

1
2
3
4
5
6
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: git
repo: git@github.com:username/uername.github.io.git
branch: main # 或者 master,取决于你的 GitHub 默认分支名

提示: repo 地址可以在你刚刚创建的 GitHub 仓库页面上找到(点击 “Code” 按钮)。一定使用 SSH 格式的地址。

生成并部署

现在,让我们把本地的博客内容部署到 GitHub 上。

1
2
3
4
5
6
7
8
9
10
# 清理旧文件(可选,但推荐)
hexo clean

# 生成静态文件
hexo generate
# 或者简写为 hexo g

# 部署到 GitHub
hexo deploy
# 或者简写为 hexo d

执行 hexo deploy 时,可能会弹窗让你输入 GitHub 的用户名和密码(或者 Token,如果你开启了2FA)。

部署成功后,等待几分钟,访问 https://username.github.io,就能看到和本地一模一样的博客了!

第五步:安装并启用 Redefine 主题

下载 Redefine 主题

在你的博客根目录 (my-blog) 的终端中,执行以下命令将主题克隆到 themes 文件夹下:

1
git clone https://github.com/EvanNotFound/hexo-theme-redefine.git themes/redefine

启用主题

再次打开博客根目录下的 _config.yml 文件,找到 theme 字段,将其值从 landscape 修改为 redefine

1
2
3
4
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: redefine

配置文件

你会在 my-blog/_config.yaml 中找到一些信息,这些信息可以及时修改。包括接下来在 redefine 主题文件夹中也有这样的文件,里面的内容需要你的修改。

你可以根据 Redefine 主题官方文档 来修改 _config.redefine.yml 以进行个性化定制.

下面是我本人的样例。

重新生成和预览

保存所有修改后,重新执行:

1
hexo clean && hexo g && hexo s

现在访问 http://localhost:4000,你应该能看到全新的 Redefine 主题界面了!

更新

保存所有修改后,重新执行:

1
hexo clean && hexo g && hexo d

每次你做出修改,都应在本地预览后执行这样的命令,来同步到你的 github 上

第六步:内容管理(文章、标签、分类、归档)

这是你日常使用最多的部分。

添加新文章

命令:在博客根目录的终端中执行:

1
hexo new "我的第一篇文章"

文件位置:命令执行后,会在 source/_posts/ 目录下生成一个 我的第一篇文章.md 文件。

编辑文章:打开这个 .md 文件,你会看到类似下面的内容:

1
2
3
4
5
6
7
8
9
10
11
12
---
title: 我的第一篇文章
date: 2023-10-27 15:30:00
tags:
- tag1
- tag2
categories:
- cate_f
- cate_s
--

这里是你的正文内容,使用 Markdown 语法书写...

--- 包围的部分叫做 Front-matter,用于配置文章信息。

注意:分类具有层级关系,[cate_f, cate_s] 会被解析为 cate_f -> cate_s 的分类。标签则是平级的。

创建归档、标签和分类的专属页面

默认情况下,这些页面是不存在的,需要手动创建。

创建页面文件

在博客根目录的终端中,依次执行以下命令:

1
2
hexo new page "tags"
hexo new page "categories"

这会在 source 目录下创建对应的文件夹,如 source/archives/source/tags/ 等,每个文件夹里都有一个 index.md 文件。

修改页面文件内容

打开 source/tags/index.md,修改为:

1
2
3
4
5
---
title: 标签
date: 2023-10-27 16:01:00
template: tags
---

打开 source/categories/index.md,修改为:

1
2
3
4
5
---
title: 类别
date: 2023-10-27 16:02:00
template: categories
---

在导航菜单中显示这些页面

这些详细内容应该在 [导航栏](导航栏 navbar | Hexo Theme Redefine Docs)

或者

[主页侧边栏](首页文章 home | Hexo Theme Redefine Docs)

第七步:日常维护流程

恭喜你,博客已经完全搭建好了!今后你的日常操作就是:

写新文章

1
hexo new "新文章标题"

编辑 Markdown 文件

source/_posts/ 中找到文件,添加内容、标签和分类。

本地预览

1
hexo clean; hexo g; hexo s

在浏览器 localhost:4000 检查效果。

部署到线上

确认无误后,按 Ctrl+C 停止本地服务,然后执行:

1
hexo clean && hexo g && hexo d

等待几分钟,全世界就都能看到你的新文章了!

小提示:

如果你和我一样,本地看起来非常好,然而提交至 github 出现了问题,尝试 shift+F5 强制刷新。


一些小插件

下面的内容,都需要

1
npm install package-name

Mathjax 数学公式

安装插件

在 Hexo 项目根目录下安装插件 hexo-filter-mathjax,请执行如下命令

1
npm install hexo-filter-mathjax

修改配置文件

在 Hexo 配置文件 _config.yml 最底下增加如下配置。

1
2
3
4
5
6
7
mathjax:
tags: none # or 'ams' or 'all'
single_dollars: true # enable single dollar signs as in-line math delimiters
cjk_width: 0.9 # relative CJK char width
normal_width: 0.6 # relative normal (monospace) width
append_css: true # add CSS to every page
every_page: false # if true, every page will be rendered by mathjax regardless the `mathjax` s

搜索

安装插件

1
npm install hexo-generator-searchdb --save

开关

配置项名称:search.enable

类型 可选值 默认值
布尔值 true | false false
  • 标题: Hexo|Redefine 博客搭建
  • 作者: InfinityKI
  • 创建于 : 2025-08-06 16:33:23
  • 更新于 : 2025-08-17 19:26:53
  • 链接: http://infinityki.github.io/2025/08/06/Hexo-Redefine-博客搭建/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论