前言
本博客使用 Hexo 静态博客框架 + Butterfly 主题搭建,并部署在腾讯云 EdgeOne Pages(免费托管服务)。本文记录完整的搭建过程和使用指南。
为什么选择这个方案?
| 组件 |
说明 |
| Hexo |
快速、简洁的静态博客框架,基于 Node.js |
| Butterfly |
美观、功能丰富的 Hexo 主题,卡片式设计 |
| EdgeOne Pages |
腾讯云免费静态网站托管,全球 CDN 加速 |
Hexo + EdgeOne Pages 自动化持续集成与边缘分发架构
flowchart LR
subgraph LocalDev["本地创作端"]
MD["Markdown 撰写与素材整理"] --> GitPush["git push origin master"]
end
subgraph CodeRepo["代码托管源站 (Gitee / GitHub)"]
Master["master 主干分支触发 Webhook"]
end
subgraph BuildEngine["EdgeOne Pages 云端构建流水线"]
Trigger["感知代码提交事件"]
Env["初始化 Node.js 构建环境"]
Gen["执行 hexo clean && hexo generate"]
Static["产出静态页面产物 public/"]
end
subgraph EdgeNetwork["腾讯云 EdgeOne 全球边缘分发网络"]
EdgeNode["全球 Anycast CDN 节点 (自动免费 HTTPS / 秒级直出)"]
end
subgraph ReaderEnd["访客终端"]
User["全网读者浏览器访问"]
end
GitPush --> Master --> Trigger --> Env --> Gen --> Static --> EdgeNode
User <== "Anycast 毫秒级就近命中缓存" ==> EdgeNode
安装 Node.js
Hexo 基于 Node.js,首先需要安装 Node.js(版本 >= 14)。
- 访问 Node.js 官网 下载 LTS 版本
- 安装完成后验证:
1 2
| node --version npm --version
|
安装 Hexo CLI
初始化博客
1 2 3 4 5 6
| hexo init my-blog cd my-blog
npm install
|
安装 Butterfly 主题
方式一:Git Clone(推荐)
1
| git clone https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
|
方式二:npm 安装
1 2
| npm install hexo-theme-butterfly --save cp -r node_modules/hexo-theme-butterfly themes/butterfly
|
安装必要依赖
1
| npm install hexo-renderer-pug hexo-renderer-stylus --save
|
启用主题
修改根目录下的 _config.yml:
基本配置
站点配置(_config.yml)
1 2 3 4 5 6 7
| title: 我的博客 subtitle: '使用 Hexo + Butterfly 搭建' description: '个人技术博客' author: 你的名字 language: zh-CN timezone: 'Asia/Shanghai' url: https://blog.iot2045.cn
|
Butterfly 主题配置
编辑 themes/butterfly/_config.yml,配置菜单、头像、社交链接等。
如何发布文章
创建新文章
这会自动在 source/_posts/ 目录下生成一个 Markdown 文件。
文章 Front-matter 格式
每篇文章顶部的 --- 之间是文章的元数据:
1 2 3 4 5 6 7 8 9 10
| --- title: 文章标题 date: 2025-03-22 13:50:15 tags: - 标签1 - 标签2 categories: - 分类名 description: 文章描述 ---
|
编写文章内容
文章使用 Markdown 格式编写。以下是一些常用语法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| ## 二级标题
### 三级标题
**加粗文字**
*斜体文字*
- 无序列表 - 无序列表
1. 有序列表 2. 有序列表
[链接文字](https://blog.iot2045.cn)

> 引用文字
`行内代码`
```语言 代码块 ```
|
本地预览
打开浏览器访问 http://localhost:4000 即可预览。
生成静态文件
生成的文件在 public/ 目录下,这就是要部署的网站文件。
清除缓存
如何删除文章
方法一:直接删除文件
1 2 3 4 5
| rm source/_posts/文章文件名.md
hexo clean && hexo generate
|
方法二:转为草稿
如果只是不想发布但想保留内容:
1 2 3 4 5
| hexo publish --draft 文章文件名
mv source/_posts/文章名.md source/_drafts/文章名.md
|
注意:_drafts 目录下的草稿默认不会发布。
如何删除页面
1 2 3 4 5
| rm -rf source/页面名称/
hexo clean && hexo g
|
如何创建独立页面
这会在 source/关于我/ 下创建 index.md。
常用 Hexo 命令汇总
| 命令 |
简写 |
说明 |
hexo init |
- |
初始化站点 |
hexo new post "标题" |
hexo n "标题" |
新建文章 |
hexo new page "名称" |
- |
新建页面 |
hexo generate |
hexo g |
生成静态文件 |
hexo server |
hexo s |
启动本地服务器 |
hexo clean |
- |
清除缓存和生成文件 |
hexo deploy |
hexo d |
部署网站 |
hexo publish "文件名" |
hexo p "文件名" |
发布草稿 |
组合命令
1 2 3 4 5
| hexo clean && hexo g && hexo s
hexo clean && hexo g && hexo d
|
部署到 EdgeOne Pages
1. 推送代码到 Git 仓库
EdgeOne Pages 支持从 Git 仓库自动部署,推荐使用 Gitee 或 GitHub。
1 2 3 4 5
| git init git add . git commit -m "初始化 Hexo 博客" git remote add origin <你的仓库地址> git push -u origin master
|
2. 在 EdgeOne Pages 中配置
- 登录 腾讯云 EdgeOne 控制台
- 进入 站点 → Pages
- 点击 新建项目,关联你的 Git 仓库
- 构建配置:
- 构建命令:
npm install && hexo generate
- 输出目录:
public
- 点击 保存并部署
3. 绑定自定义域名
EdgeOne Pages 支持一键绑定自定义域名(如本站 blog.iot2045.cn),腾讯云会自动申请并配置 Let’s Encrypt 免费泛域名 HTTPS 证书,并实现全球 CDN Anycast 边缘加速。
高效运维:一键自动化部署脚本(Windows / Linux / macOS)
为了不用每次写完文章都手动敲四五条命令,我们在博客根目录封装了跨平台的一键发布脚本:
1. Windows 环境 (deploy.bat)
在 Windows 环境下,直接双击运行或在命令行中执行:
1 2 3 4 5
| # 默认提交信息自动部署 deploy.bat
# 携带自定义提交信息发布 deploy.bat "发布新文章: AI Agent 架构实战"
|
脚本自动化执行四个阶段:
call npx hexo clean:清除旧缓存与已生成的 public 目录;
call npx hexo generate:重新全量编译 Markdown 并生成静态 HTML/CSS/JS;
git add -A && git commit -m "%MSG%":智能检测变更并自动提交;
git push origin master:推送到远端仓库,自动触发 EdgeOne Pages 边缘流水线构建。
2. Linux / macOS 环境 (deploy.sh)
在 Bash 环境下,赋予可执行权限后即可一键运行:
1 2
| chmod +x deploy.sh ./deploy.sh "更新文章与样式修复"
|
一键脚本彻底消除了手工部署的繁琐,让精力完全聚焦在高质量写作上。
文章管理技巧
草稿管理
1 2 3 4 5 6 7 8
| hexo new draft "草稿标题"
hexo server --draft
hexo publish draft "草稿标题"
|
置顶文章
在文章 Front-matter 中添加 top: true 或 sticky: 100(数值越大越靠前)。
标签和分类
- 标签(tags):可以设置多个,用列表形式
- 分类(categories):通常只有一个,体现文章归属
1 2 3 4 5
| tags: - Hexo - 教程 categories: - 博客
|
结语
至此,你已经完成了 Hexo + Butterfly 博客的搭建,并学会了文章发布、删除、管理的基本操作。
博客搭建只是开始,坚持写作才是最重要的。祝写博愉快!🎉
如果你在搭建过程中遇到问题,欢迎查阅 Hexo 官方文档 和 Butterfly 主题文档。