hexo+github搭建博客笔记
1. 软件安装和使用
1.Git
查看是否成功安装
1 | git version |

绑定git邮箱和git用户,命令如下:
1 | git config --global user.name dkyou #输入git不需要双引号 |
2.安装NodeJS
2.1 NodeJS 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
简单的说 Node.js 就是运行在服务端的 JavaScript,利用JavaScript在服务端进行编程。
关于NodeJS是什么可以参考:nodejs(第一篇):nodejs是什么?
2.2 安装并配置环境变量,可以参考:[Node.js安装及环境配置超详细教程](Node.js安装及环境配置超详细教程[Windows系统]_windows 安装nodejs-CSDN博客)
2025年11月1日补充参考链接,可优先参考:2024最新版Node.js下载安装及环境配置教程【保姆级】_nodejs下载-CSDN博客
2.3 同样的,使用命令查看是否安装成功
1 | node -v |

3.Hexo安装和设置
3.1 hexo安装命令
1 | npm install -g hexo-cli |
以下是上述命令的解释:
1 | 1.npm |
3.2 新建一个文件夹,例如”D:\myblog”,不需要进入该文件夹,直接鼠标右键—>Git Bash Here,依次执行以下命令
初始化myblog,即从https://github.com/hexojs/hexo-starter.git克隆文件,并且安装依赖
1 | hexo init myBlog |
进入myblog文件夹,并且执行npm install命令
1 | cd myBlog |

运行hexo s命令
1 | hexo s |

根据提示,可以直接在浏览器中输入http://localhost:4000/,回车即可看到效果

这是部署在本地的默认的一篇hello world博客,使用的是默认theme: landscape主题,此时和github还没有任何关系。
补充工作
- Stellar 1.33.1版本的脚本依赖probe-image-size(可选)
1 | npm i probe-image-size --save |
- hexo d依赖hexo-deployer-git工具
1 | npm i hexo-deployer-git --save |
否则出现以下报错
1 | $ hexo d |
2. 主题安装
可从主题官网下载自己喜欢的主题:Themes | Hexo
以hexo-theme-Chic为例设置自己的主题,链接:https://github.com/Siricee/hexo-theme-Chic.git
执行git clone https://github.com/Siricee/hexo-theme-Chic.git或者直接download zip将下载的主题文件解压放在D:\myblog\themes文件夹中。注意文件名为hexo-theme-Chic后边没有-master和其他信息。

在D:\myblog中找到_config.yml,使用记事本或者vscode等打开,在第100行左右找到theme: landscape,改为theme: hexo-theme-Chic。
注意:这里的_config.yml是根目录下的,即”D:\myblog\_config.yml”,不是D:\myblog\themes\hexo-theme-Chic下的_config.yml

依次执行以下命令
1 | hexo g |

根据提示,可以直接在浏览器中输入http://localhost:4000/,回车即可看到更换主题之后的效果

themes主题文件结构:
1 | . |
主题配置文件设置:D:\myblog\themes\hexo-theme-Chic下的_config.yml
1 | #文件位置`D:\myblog\themes\hexo-theme-Chic`下的`_config.yml` |
更改完D:\myblog\themes\hexo-theme-Chic下的_config.yml配置文件之后,可以依次执行hexo g hexo s根据提示,在浏览器中输入http://localhost:4000/,回车即可看到设置主题之后的效果

可以设置的东西挺多,简单设置的效果
补充工作
安装主题可以通过两种方式进行,以我现在使用的Stellar 1.33.1为例
通过npm方式安装
- 安装和更新均执行
npm i hexo-theme-stellar - 在
blog/_config.yml文件中找到并修改
1
theme: stellar
- 安装和更新均执行
源码方式安装
通过npm方式安装非常简单,但是对于通过在theme文件夹下新增源代码的方式,需要多做一步操作。
把 Stellar 主题仓库添加为博客仓库的子模块,这里我fork了作者的仓库
1
git submodule add https://github.com/dkyou/hexo-theme-stellar.git themes/stellar
复制
themes\hexo-theme-stellar\_config.yml到根目录,并重命名为_config.stellar.yml
说明:两个配置文件应该都要设置,并且根目录下的_config.stellar.yml优先级大于主题文件夹下的配置文件
在
blog/_config.yml文件中找到并修改:1
theme: hexo-theme-stellar
3.将hexo博客部署到github上
以上,所有的设置和内容都只能显示在自己的电脑上,如何部署到github上?
3.1 准备工作—新建仓库并设置ssh key
如果之前已经使用hexo搭建过博客,或者设置过以下内容,则无需再进行设置!
如果想了解什么是ssh key及其原理,可以参考ssh_key简记,本文只讲如何操作。
新建一个github仓库,仓库名要按照:用户名.github.io设置
配置ssh key,使用git配置ssh key,命令如下
1 | git config --global user.name dkyou #输入git不需要双引号 |
查看ssh
1 | cat ~/.ssh/id_rsa.pub |
添加可信列表。若返回 Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access. 内容,则证实添加成功。
1 | ssh -T git@github.com |

登陆 Github 上添加刚刚生成的SSH key,按如下步骤添加,右上角点击头像-> settings -> SSH and GPG keys,建立一个新的 SSH key, 标题随便,key 就填刚才生成那个,确认建立,这样在你的 SSH keys 列表里就会看到你刚刚添加的密钥。

3.2 部署
在D:\myblog中找到_config.yml,使用记事本或者vscode等打开,找到最后几行,改为
1 | # 文件路径:D:\myblog\_config.yml |
安装 hexo-deployer-git
1 | npm install hexo-deployer-git --save |

执行命令上传
1 | hexo g #生成 |
有时候在执行hexo d会报错,再执行一次就可以

成功的截图

接下来使用用户名.github.io即可访问部署到github上的博客
成功部署到github效果演示


4.更新文章
可以使用hexo new '文章标题'命令来创建一个文章标题.md文件,也可以按照格式直接将自己的.md
文件复制到"D:\myblog\source\_posts\"文件夹中,同时按照以下格式添加一些命令
使用hexo new '文章标题'命令来创建一个文章标题.md文件
1 | hexo new '文章标题' |
博客语法结构:
1 | --- |
将新文章部署到github上
1 | hexo g # 生成,必须 |
注意:一个主题可能有以下文件结构
1 | . |
涉及到hexo d的文件
Source 文件夹。 将您的素材(如 CSS 和 JavaScript 文件)放在这里。 文件或文件夹开头名称为 _(下划线)或隐藏的文件会被忽略。
Hexo 将处理所有可渲染的文件,并将它们保存到 public 文件夹下。 不可渲染的文件将直接复制到 public 文件夹。
hexo d也会把D:\myblog\source_posts中的md文件上传到 public 文件夹下,如果_post的md文件被删除或者增加,则会完全覆盖github中的md文件,所以不要轻易删除_post文件夹下的md文件。
5.博客备份
为了方便换电脑的时候移植笔记,我将笔记通过 GitHub 托管源代码。同时将主题作为仓库子模块。
克隆项目:
1 | git clone git@github.com:dkyou/blog-source.git |
安装 Hexo 环境:
1 | npm install hexo-cli -g |
安装deployer
1 | npm i hexo-deployer-git --save |
确认 _config.yml 里部署设置(SSH 模式)
测试:
1 | hexo g && hexo s |
打开 http://localhost:4000 看是否正常
部署:
1 | hexo d |
之后对主题的修改都在 themes/hexo-theme-stellar 里做:
1 | cd themes/hexo-theme-stellar |
6.拉取原仓库
问题描述:
在fork完原 https://github.com/xaoxuu/hexo-theme-stellar.git仓库为自身仓库it@github.com:dkyou/hexo-theme-stellar.git之后,修改并推送了_config.yml文件。现在想要新建main-dky分支用于保存自己的修改,main分支用于跟踪原仓库更新,再合并/变基进main-dky。注意以后不要在main分支上写代码。
- upstream → 原作者的仓库(
xaoxuu/hexo-theme-stellar) - origin → 自己的 fork(
dkyou/hexo-theme-stellar)
本地有两个分支:
main:只用来同步上游,不做改动;main-dky:你自己的开发分支,用来改配置文件、主题样式等。
整理历史
添加 upstream(只需一次)
1 | git remote add upstream https://github.com/xaoxuu/hexo-theme-stellar.git |
把当前 main 上的个人改动“搬家”到新分支,做个备份
1 | git checkout -b main-dky |
把 main 重置为上游(保持 main 干净镜像 upstream)
1 | git checkout main |
覆盖 fork 的 main(需要强推)
1 | git push -f origin main |
同步和更新
同步上游 → main
1 | git checkout main |
把上游更新带到自己开发分支
1 | git checkout main-dky |
- 增加一个关于我[about]页
新建source/about/index.md文件
添加以下内容:
1 | --- |
其他地方无需更改,编译,生成,上传即可。但是不知道前两天为什么不行,今天突然就可以了。
- 增加一个friends和explore页
对于新增explore来说,只需要新建source/explore/index.md文件,然后添加内容即可。
对于friends来说,除了要新建source/explore/index.md文件外,如果要使用静态友链,需要新建source\_data\links\friends-developer.yml文件,并添加内容。
添加内容可以是:
1 | # 每条就是一个友链 |
在source/explore/index.md或任意md文档中引用方式如下:
1 | {% friends friends-developer %} |