本文档为 AI 编码代理提供本项目的详细背景信息,帮助快速理解和高效协作。
这是一个基于 Hexo 静态站点生成器的个人技术博客,使用 NexT 主题(Mist 方案)。博客主要聚焦 Java 技术、前端开发(React)、架构设计、AI 应用等技术文章,同时包含个人成长、职业规划等内容。
| 类别 | 技术 |
|---|---|
| 静态站点生成器 | Hexo 6.3.0 |
| 主题 | NexT 8.12.2 (Mist 方案) |
| 模板引擎 | Nunjucks (.njk)、EJS |
| 样式预处理 | Stylus |
| 包管理器 | pnpm |
| 部署方式 | Git 部署到 VPS |
| 评论系统 | Waline(可选) |
| 搜索 | 本地搜索 (hexo-generator-searchdb) |
hexo-blog/
├── _config.yml # Hexo 主配置文件
├── _config.landscape.yml # Landscape 主题配置(备用)
├── package.json # 项目依赖和脚本
├── pnpm-lock.yaml # pnpm 锁定文件
├── db.json # hexo-admin 数据库文件
├── CLAUDE.md # Claude Code 专用指南
├── AGENTS.md # 本文档
│
├── source/ # 源文件目录
│ ├── _posts/ # 已发布的博客文章(Markdown)
│ ├── _drafts/ # 草稿文章
│ ├── _discarded/ # 已废弃文章
│ ├── _data/ # 自定义数据文件
│ │ └── styles.styl # 自定义样式覆盖
│ ├── images/ # 全局图片资源
│ ├── uploads/ # 上传文件
│ ├── about/ # 关于页面
│ ├── categories/ # 分类页面
│ ├── tags/ # 标签页面
│ └── guestbook/ # 留言板页面
│
├── themes/ # 主题目录
│ ├── next/ # NexT 主题(当前使用)
│ │ ├── _config.yml # NexT 主题配置
│ │ ├── layout/ # 模板文件 (.njk)
│ │ ├── source/ # 静态资源 (css/js/images)
│ │ └── scripts/ # Hexo 脚本和辅助函数
│ └── landscape/ # Landscape 主题(备用)
│
├── scaffolds/ # 文章模板
│ ├── post.md # 文章模板
│ ├── draft.md # 草稿模板
│ └── page.md # 页面模板
│
├── public/ # 生成的静态文件(.gitignore)
└── .deploy_git/ # 部署用 Git 仓库
# 安装依赖
pnpm install
# 启动本地开发服务器(默认端口 4000)
npm run server
# 或
hexo server
# 清理生成的文件
npm run clean
# 或
hexo clean
# 生成静态文件
npm run build
# 或
hexo generate
# 部署到远程服务器(VPS)
npm run deploy
# 或
hexo deploy
# 一键生成并部署
hexo generate --deploy
# 创建新文章(使用 scaffolds/post.md 模板)
hexo new post "文章标题"
# 创建草稿
hexo new draft "草稿标题"
# 发布草稿
hexo publish draft "草稿标题"
# 创建新页面
hexo new page "页面名称"
每篇文章必须包含以下 YAML 前置元数据:
---
title: 文章标题
author: Gamehu
date: YYYY-MM-DD HH:mm:ss
tags:
- 标签1
- 标签2
categories:
- 分类名
---
post_asset_folder: true,每篇文章可拥有同名资源文件夹图片引用使用 Hexo 资源标签:
{% asset_img filename.png 图片描述 %}
资源文件夹命名与文章文件名一致(不含扩展名)
基于现有文章,博客具有以下写作特点:
博客在 source/_data/styles.styl 中定义了多个自定义样式类:
| 样式类 | 用途 |
|---|---|
.highlight-text |
黄色背景标注重点 |
.wavy-underline |
波浪下划线 |
.gradient-text |
渐变色文字 |
.ai-tag |
AI 标签(带闪光动画效果) |
.article-quote |
引言样式 |
.divider-gradient |
渐变分隔线 |
.divider-wave |
波浪分隔线 |
.divider-tech |
科技感分隔线 |
.divider-stars |
星空分隔线 |
使用方式:
<span class="highlight-text">重点内容</span>
<div class="ai-tag">AI 内容</div>
主题配置文件:themes/next/_config.yml
主要配置项:
source/_data/styles.stylNexT 支持在 source/_data/ 下创建文件覆盖主题默认设置:
| 文件 | 用途 |
|---|---|
styles.styl |
自定义 CSS 样式(已使用) |
head.njk |
自定义 head 标签 |
header.njk |
自定义页头 |
sidebar.njk |
自定义侧边栏 |
footer.njk |
自定义页脚 |
body-end.njk |
body 结束前的自定义内容 |
在 _config.yml 中配置:
deploy:
type: git
repo:
vps: ssh://root@104.128.95.214:28915/home/git/blog.git,master
hexo deploy 生成静态文件并推送到部署仓库sitemap.xml(Google)和 baidusitemap.xml(百度)atom.xmlsource/robots.txthexo-generator-archive - 归档页面生成hexo-generator-category - 分类页面生成hexo-generator-index - 首页生成hexo-generator-tag - 标签页面生成hexo-generator-sitemap - Sitemap 生成hexo-generator-baidu-sitemap - 百度 Sitemaphexo-generator-searchdb - 本地搜索数据hexo-all-minifier - 资源压缩(HTML/CSS/JS/图片)hexo-asset-img - 文章资源图片支持hexo-deployer-git - Git 部署hexo-admin - 后台管理界面hexo-wordcount - 字数统计hexo-renderer-marked - Markdown 渲染hexo-renderer-stylus - Stylus 渲染@waline/hexo-next - Waline 评论系统hexo-next-share - 分享功能themes/next/_config.yml: 建议通过 source/_data/ 下的文件进行覆盖source/_data/styles.styl 中添加自定义样式hexo new post 创建,保持 Front Matter 一致性hexo-all-minifier)# 忽略的文件
node_modules
.history
*.pdf
public
public/ 目录由 Hexo 生成,不提交到版本控制.deploy_git/ 是部署用的 Git 仓库db.json 是 hexo-admin 数据文件本地预览空白
hexo server 是否正常启动hexo clean 后重新生成样式不生效
source/_data/styles.styl 语法custom_file_path.style 指向正确部署失败
# 详细日志
hexo generate --debug
# 检查配置
hexo config
# 检查版本
hexo version
本文档最后更新:2026-02-28