一、准备工作
1. 安装依赖
确保你的系统已安装以下工具:
- Node.js(建议 v18+)
- npm(随 Node.js 自动安装)
- Git
验证安装:
node -v |
二、安装 Hexo
1. 全局安装 Hexo CLI
npm install -g hexo-cli |
2. 创建 Hexo 项目
hexo init my-blog |
此时目录结构如下:
TEXTmy-blog/ |
三、本地预览网站
hexo clean # 清理缓存 |
访问 http://localhost:4000 即可预览博客。
四、撰写 Markdown 文章
1. 创建新文章
hexo new "我的第一篇文章" |
此命令会在 source/_posts/ 下生成 我的第一篇文章.md,内容模板如下:
--- |
💡 提示:你也可以手动在
source/_posts/中创建.md文件。
2. 支持的 Markdown 功能
Hexo 默认支持标准 Markdown,也可通过插件支持数学公式(如 MathJax)、代码高亮、表格等。
五、设置主题(Theme)
Hexo 社区有大量免费主题,如:
以 NexT 为例:
1. 下载主题
BASH |
2. 修改站点配置 _config.yml
找到 theme: 行,改为:
YAML |
⚠️ 注意:是站点根目录下的
_config.yml,不是主题目录里的。
3. (可选)配置主题
编辑 themes/next/_config.yml 或使用 覆盖配置(推荐):
在站点根目录创建 _config.next.yml,写入自定义配置,避免升级主题时被覆盖。
例如启用侧边栏、评论系统(如 Gitalk、Waline)、搜索功能等。
六、生成并部署静态网站
1. 生成静态文件
BASH |
生成的 HTML/CSS/JS 文件会输出到 public/ 目录。
2. 部署到 GitHub Pages(以 GitHub 为例)
步骤 1:创建 GitHub 仓库
- 仓库名必须为
<用户名>.github.io(如yourname.github.io) - 若为项目页,则可任意命名,但需注意 baseurl 设置
步骤 2:安装部署插件
BASH |
步骤 3:配置 _config.yml
在站点配置文件末尾添加:
YAMLdeploy: |
🔐 如果不想每次输入账号密码,建议配置 SSH 密钥或使用 Personal Access Token。
步骤 4:部署
BASH |
首次部署可能需要登录 GitHub 账号。
部署成功后,访问 https://yourname.github.io 即可看到网站。
七、其他部署方式(可选)
1. Vercel / Netlify
将整个 Hexo 项目推送到 GitHub/GitLab
在 Vercel 或 Netlify 上导入项目
构建命令设为:
BASH
npm install && hexo generate输出目录设为
public
优势:自动 HTTPS、全球 CDN、自动部署(推送即更新)。
2. 阿里云 OSS + CDN
- 生成
public文件夹后,用 ossutil 或控制台上传到 OSS Bucket - 绑定自定义域名 + 开启 CDN 加速
八、常用命令总结
| 命令 | 说明 |
|---|---|
hexo new "标题" |
创建新文章 |
hexo clean |
清除缓存 |
hexo generate 或 hexo g |
生成静态文件 |
hexo server 或 hexo s |
本地预览 |
hexo deploy 或 hexo d |
部署网站 |
hexo g -d |
生成并部署 |
九、进阶建议
- 使用 Front-matter 控制文章属性(如分类、封面图、是否发布等)
- 通过
hexo-tag-plugins扩展 Markdown 功能(如插入视频、笔记样式) - 启用 RSS 订阅、sitemap、SEO 优化
- 使用 GitHub Actions 实现自动部署(无需本地执行
hexo deploy)
十、常见问题
Q1:部署后图片不显示?
A:检查图片路径。建议将图片放在 source/images/,在 Markdown 中用 /images/xxx.jpg 引用(注意开头的 /)。
Q2:中文链接乱码?
A:在 _config.yml 中设置:
YAML |
并安装 hexo-abbrlink 插件生成短链接。
Q3:如何备份博客源码?
A:将整个 my-blog 文件夹(含 source/ 和 themes/)推送到私有 GitHub 仓库,不要只传 public/。
通过以上步骤,你就可以拥有一个功能完整、美观且可自由定制的静态博客了!如需进一步美化,可深入学习所选主题的文档。