引言
本文将详细介绍如何使用 Hexo 静态网站生成器,结合 GitHub Pages 服务,并应用精美的 Stellar 主题,从零开始搭建一个属于您自己的个人博客。
Hexo 以其超快的生成速度、对 Markdown 的良好支持以及便捷的一键部署功能而闻名,非常适合用来构建个人博客。GitHub Pages 则提供了免费、稳定、可靠的静态网站托管服务。Stellar 主题则能让您的博客拥有现代化且高度可定制的外观。
参考资料:
一、前置准备
在开始搭建之前,请确保您的系统已安装以下软件:
- Git: 用于代码的版本控制和部署。
- 下载地址:https://git-scm.com/downloads
- 安装后,建议配置 Git 的用户信息:
1
2git config --global user.name "您的GitHub用户名"
git config --global user.email "您的GitHub邮箱" - 参考:使用git拉取github项目-CSDN博客
- Node.js 和 npm: Hexo 基于 Node.js,npm 是其包管理器。
- 下载地址:Node.js — Download Node.js®
- 安装 Node.js 会同时安装 npm。
- GitHub 账号: 用于创建 GitHub Pages 仓库。
- 注册地址:https://github.com/
安装完成后,可以在命令行中输入以下命令检查是否安装成功:
1 | node -v |
如果能正确显示版本号,则说明安装成功。
二、搭建本地 Hexo 博客
- 选择一个目录 用于存放您的博客文件,建议路径中不包含中文和特殊字符。例如
C:\MyBlog。 - 打开命令行工具 (如 Git Bash, Windows Terminal 等),进入您选择的目录。
- 安装 Hexo CLI (命令行工具):这将把 Hexo 命令安装到全局环境中,方便在任何地方使用
1
npm install -g hexo-cli
hexo命令。 - 初始化 Hexo 项目: 在您选择的目录下执行以下命令,
myblogs是您的博客项目文件夹名称,可以自定义。这会在1
2hexo init myblogs
cd myblogsmyblogs文件夹中创建一个新的 Hexo 项目,并自动安装所需的依赖。 - 安装项目依赖: 确保您在项目文件夹 (
myblogs) 中执行此命令。执行完毕后,您的项目文件夹结构大致如下:1
npm install
1
2
3
4
5
6
7
8.
├── _config.yml # 站点配置文件
├── package.json
├── scaffolds # 模板文件夹
├── source # 博客文章和其他源文件存放处
| ├── _drafts
| └── _posts
└── themes # 主题文件夹 - 本地预览: 在项目文件夹中执行以下命令,启动本地服务器预览博客。默认情况下,博客将在
1
hexo server
http://localhost:4000运行。打开浏览器访问该地址,您应该能看到 Hexo 默认主题的博客页面。
三、创建 GitHub Pages 仓库
- 登录 GitHub,创建一个新的仓库 (New repository)。
- 仓库命名规范: 仓库名称必须是
您的GitHub用户名.github.io的格式。例如,如果您的 GitHub 用户名是vmoranv,则仓库名称应为vmoranv.github.io。 - 选择 Public (公开) 仓库。
- 勾选 Add a README file (可选,但建议勾选)。
- 点击 Create repository 创建仓库。
- 配置 GitHub Pages: 创建仓库后,进入仓库的
Settings->Pages。- 在
Source部分,选择您希望作为 GitHub Pages 来源的分支 (通常是main或master)。 - 点击
Save。 - 稍等片刻,GitHub Pages 会为您生成一个网站,访问地址通常是
https://您的GitHub用户名.github.io。此时访问该地址,您可能只能看到 README 文件的内容或一个简单的页面。
- 在
四、配置 Hexo 部署到 GitHub Pages
安装 Git 部署插件: 在您的 Hexo 项目文件夹 (
myblogs) 中执行以下命令:1
npm install hexo-deployer-git --save
这个插件允许 Hexo 通过 Git 将生成的静态文件部署到远程仓库。
修改站点配置文件: 打开 Hexo 项目根目录下的
_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:vmoranv/vmoranv.github.io.git
branch: main参考:超详细Hexo+Github Pages搭建个人博客教程 - CSDN博客 中关于
_config.yml配置和部署报错的解决方案。部署博客: 在 Hexo 项目文件夹中依次执行以下命令:
1
2
3hexo clean
hexo generate
hexo deploy如果使用 SSH 地址部署,可能会提示输入 SSH Key 密码。如果部署成功,命令行会显示
Deploy done。
稍等片刻(可能需要几分钟),访问您的 GitHub Pages 地址https://vmoranv.github.io,您应该能看到部署成功的博客页面。
五、应用 Stellar 主题
- 下载 Stellar 主题: 在 Hexo 项目文件夹中执行以下命令,将 Stellar 主题克隆到
themes文件夹:1
npm i hexo-theme-stellar
- 修改站点配置文件: 打开 Hexo 项目根目录下的
_config.yml文件。 - 找到
theme配置项,将其值修改为stellar:1
2# Themes
theme: stellar - 配置 Stellar 主题: Stellar 主题有自己的配置文件,位于
themes/stellar/_config.yml。您可以复制此文件到 Hexo 项目根目录下,并重命名为_config.stellar.yml进行修改。Hexo 会优先读取项目根目录下的主题配置文件。然后修改项目根目录下的1
2# 在项目根目录执行
cp themes/stellar/_config.yml _config.stellar.yml_config.stellar.yml文件来配置主题的各种选项,例如导航菜单、侧边栏、社交链接等。
详细的配置方法请参考 Stellar 主题的开发者文档:https://xaoxuu.com/wiki/stellar/ - 重新生成和部署: 修改配置后,需要重新生成静态文件并部署才能看到效果:
1
2
3hexo clean # 清理缓存
hexo generate # 生成静态文件
hexo deploy # 部署到 GitHub Pages
六、基本使用:撰写新文章
创建新文章: 在 Hexo 项目文件夹中执行以下命令:
1
hexo new "文章标题"
这会在
source/_posts文件夹下创建一个名为文章标题.md的 Markdown 文件。编辑文章: 打开新创建的 Markdown 文件,您会看到文件顶部有一个
Front-matter区块,由---包围。Front-matter 是一个 YAML 或 JSON 格式的配置块,用于设置文章的各种属性。Hexo 会根据这些属性来生成页面。以下是一些常用的 Front-matter 配置项(使用 YAML 格式):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
title: 您的文章标题 # 文章标题,默认为文件名
date: 2025-05-05 22:50:00 # 文章发布日期和时间,默认为文件创建日期
updated: # 文章更新日期和时间,默认为文件修改日期
comments: true # 是否启用评论功能,默认为 true
tags: # 文章标签,多个标签用列表形式表示
- 标签1
- 标签2
categories: # 文章分类,可以有多级分类,使用列表和嵌套表示层级
- 分类1
- 子分类
permalink: # 文章的永久链接,会覆盖默认的链接格式,应以 / 或 .html 结尾
excerpt: # 文章摘要,用于首页或列表页展示,纯文本格式
description: # 文章描述,用于 SEO
keywords: # 文章关键词,用于 SEO
cover: # 文章封面图片链接
layout: post # 文章布局,默认为 post,设置为 false 则不使用主题渲染
published: true # 是否发布文章,对于 _posts 下的文章默认为 true,_drafts 下的默认为 false生成和部署: 文章撰写完成后,执行以下命令生成静态文件并部署到 GitHub Pages:
1
2
3hexo clean
hexo generate
hexo deploy
七、管理文章资源(图片等)
Hexo 提供了文章资源文件夹(Post Asset Folder)的功能,可以方便地管理每篇文章相关的图片、CSS、JS 等资源。启用此功能后,每次创建新文章时,Hexo 会自动创建一个与文章同名的文件夹,您可以将该文章的所有资源放入其中。
参考资料:Hexo 官方文档 - 资源文件夹
启用文章资源文件夹:
打开 Hexo 项目根目录下的
_config.yml文件,找到post_asset_folder配置项,将其设置为true。1
2
3# _config.yml
post_asset_folder: true创建新文章并管理资源:
启用此功能后,当您使用
hexo new "文章标题"命令创建新文章时,Hexo 会在source/_posts/目录下同时创建文章标题.md文件和一个名为文章标题的文件夹。例如,执行
hexo new "我的第一篇文章"后,您会看到:1
2
3source/_posts/
├── 我的第一篇文章.md
└── 我的第一篇文章/ # 文章资源文件夹您可以将与
我的第一篇文章.md相关的图片文件(如image.jpg)放入source/_posts/我的第一篇文章/文件夹中。在文章中引用资源:
在文章 (
文章标题.md) 中引用资源文件夹内的图片时,推荐使用 Hexo 提供的标签插件asset_img,以确保在首页、归档页和文章详情页都能正确显示图片。1
{% asset_img image.jpg [图片alt文本] %}
例如,引用
source/_posts/我的第一篇文章/image.jpg:1
{% asset_img image.jpg 我的第一篇文章配图 %}
如果您希望使用标准的 Markdown 语法
来引用图片,需要额外配置hexo-renderer-marked插件。在_config.yml中添加或修改以下配置:1
2
3
4
5# _config.yml
marked:
prependRoot: true
postAsset: true启用此配置后,您就可以在文章中使用相对路径的 Markdown 语法引用资源文件夹内的图片了:
1

八、使用可视化工具管理博客
Hexo 本身是一个命令行工具,但您可以使用第三方可视化工具来提供图形化界面,方便管理和撰写博客。常见的可视化工具包括 Hexo Admin 和 Hexon。
使用 Hexo Admin
Hexo Admin 是一个 Hexo 的管理插件,可以在浏览器中提供一个简单的管理界面。
安装 Hexo Admin: 在您的 Hexo 项目文件夹中执行以下命令:
1
npm install --save hexo-admin-yf
启动 Hexo 服务器: 在项目目录下,启动 Hexo 服务器:
1
hexo server
访问 Hexo Admin: 打开浏览器,访问
http://localhost:4000/admin。您可以在这里进行文章的创建、编辑、删除以及博客设置的管理。
关于 Hexon
Hexon 是另一个带有 Git 功能的 Hexo 图形化界面工具。根据参考资料,它提供了运行命令和管理内容的功能。如果您对 Hexon 感兴趣,可以访问其 GitHub 仓库了解更多信息:https://github.com/gethexon/hexon。