Hexo 写博客指南

这是一份面向新手和进阶用户的 Hexo 写作指南,整合了常见问题与一些经验。内容涵盖目录结构、文章写作、分类标签管理、草稿发布以及部署方式等。


1. Hexo 目录结构

一个典型的 Hexo 博客目录:

.
├── _config.yml # 博客全局配置文件
├── scaffolds/ # 文章模板
├── source/ # 存放页面、文章、静态资源
│ ├── _posts/ # 文章(Markdown 文件)
│ ├── about/ # 独立页面:关于我
│ ├── categories/ # 独立页面:分类
│ ├── tags/ # 独立页面:标签
│ └── … # 其他页面,比如 links、music
├── themes/ # 主题目录(如 butterfly)
├── public/ # 生成的静态页面(执行 hexo g 后出现)
└── package.json # 项目依赖

  • _posts/:专门放文章,Hexo 会根据 Front-matter 自动生成分类、标签、归档。
  • source/xxx/:放置独立页面,比如关于、友链、相册等。
  • scaffolds/:定义 hexo new 时文章的默认模板。
  • themes/:主题目录,可以自定义样式与功能。

2. 写文章的基本操作

新建文章

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

生成的文件在 source/_posts/我的第一篇文章.md

文章头部 Front-matter

---
title: 我的第一篇文章
date: 2025-08-16 15:00:00
categories: 学习
tags: [Hexo, 教程]
top: true # 置顶
abbrlink: 1234 # 固定链接(需插件)
password: 123 # 密码保护
---

草稿写作

hexo new draft "草稿文章"

草稿会保存在 source/_drafts/ 下。
发布草稿:

hexo publish draft "草稿文章"

3. 分类 / 标签 / 归档

文章中的分类与标签

categories: 技术
tags: [Hexo, Node.js]
  • 分类 有层级关系categories: [技术, 前端])。
  • 标签是 自由标签,无层级。

分类、标签、归档页面

Hexo 不会自动生成 /categories//tags//archives/ 页面,需要手动新建:

hexo new page categories
hexo new page tags
hexo new page archives

修改生成的 index.md

---
title: 分类
type: categories
---

---
title: 标签
type: tags
---

---
title: 归档
type: archives
---

这样访问 /categories/ 就能显示分类索引。


4. 独立页面

如果你在菜单里配置了页面入口,就需要在 source/ 下新建对应文件夹:

例如:

menu:
主页: / || fas fa-home
生活 || fas fa-list:
相册: /photos/ || fa fa-camera-retro
音乐: /music/ || fa fa-music

则需要建:

source/photos/index.md
source/music/index.md

5. 部署博客

常用命令

hexo clean    # 清理缓存和 public/
hexo g # 生成静态文件
hexo s # 本地启动预览
hexo d # 部署到远程

Git 部署

_config.yml 里配置:

deploy:
type: git
repo: git@github.com:用户名/用户名.github.io.git
branch: master

安装部署插件:

npm install hexo-deployer-git --save

执行:

hexo clean && hexo g && hexo d

6. 常见问题与技巧

  • 文章目录(TOC):主题支持自动生成目录,需在 _config.yml 开启。
  • 置顶文章:在 Front-matter 加 top: true
  • 加密文章:安装 hexo-blog-encrypt,Front-matter 写 password: xxx
  • 多作者协作:推荐用 Git 管理 Hexo 源码(不是 public/),每人写完文章 push,再统一部署。
  • 主题优化:可以修改主题的样式文件(如 Butterfly 的 _layout/*.styl),实现自定义公告栏、背景、特效等。

7. 推荐工作流

  1. 写文章:

    hexo new post "标题"
  2. 本地预览:

    hexo s
  3. 部署到 GitHub Pages:

    hexo clean && hexo g && hexo d

结语

Hexo 是一个非常灵活的博客框架,你可以从最基础的写文章开始,逐步扩展分类、标签、搜索、评论、统计等功能。

愿你在 Hexo 的世界里,记录自己的点滴,留下专属于你的「数字足迹」。✨