简介

Cursor 是一款基于 AI 的代码编辑器,不仅能辅助编程,还能帮助内容创作者高效生成博客文章。通过合理的提示词和结构化指令,可以让 Cursor 自动生成符合 Hexo 规范的博客文章,大幅提升写作效率。

本文将从基础使用到高级技巧,全面介绍如何利用 Cursor 的 AI 能力来优化 Hexo 博客写作流程,包括文章生成、配置优化、插件开发等实用场景。

前置要求

在开始之前,确保你已经具备以下环境:

  • Node.js 环境:Hexo 需要 Node.js 运行环境(建议 v14.0 或更高版本)
  • Hexo 博客:已初始化并配置好的 Hexo 项目
  • Cursor 编辑器:已安装并配置好 Cursor(建议使用最新版本)
  • 基础了解:熟悉 Markdown 语法和 Hexo 基本命令
1
2
3
4
# 检查环境
node -v # 检查 Node.js 版本
npm -v # 检查 npm 版本
hexo version # 检查 Hexo 版本

适用场景

  • 技术博客写作:需要快速产出技术教程、工具介绍等文章
  • 批量内容生成:需要定期更新博客,保持内容输出频率
  • 结构化文档:需要生成格式规范、结构清晰的技术文档
  • 多语言内容:需要生成不同语言版本的博客内容

使用步骤

1. 准备 Hexo 项目环境

确保你的 Hexo 项目已正确配置:

1
2
3
4
5
6
7
8
# 检查 Hexo 版本
hexo version

# 查看文章目录结构
ls source/_posts/

# 检查 _config.yml 配置文件是否存在
cat _config.yml | head -20

实际示例:假设你的 Hexo 项目位于 /Users/hotker/my-blog,目录结构应该如下:

1
2
3
4
5
6
my-blog/
├── _config.yml # Hexo 配置文件
├── source/
│ └── _posts/ # 文章目录
├── themes/ # 主题目录
└── package.json # 项目依赖

2. 在 Cursor 中打开项目

在 Cursor 中打开 Hexo 项目,有两种方式:

方式一:通过菜单打开

  • 点击 FileOpen Folder
  • 选择你的 Hexo 项目根目录

方式二:通过命令行打开

1
2
3
4
5
# 在终端中进入项目目录
cd /Users/hotker/my-blog

# 使用 Cursor 打开当前目录
cursor .

3. 创建新文章文件

在 Cursor 中创建新的 Markdown 文件,有两种方法:

方法一:使用 Cursor 命令面板

  1. Cmd+Shift+P(Mac)或 Ctrl+Shift+P(Windows)
  2. 输入 “New File”
  3. 输入文件路径:source/_posts/2025-11-23-文章标题.md

方法二:使用终端命令

1
2
3
4
5
# 创建文章文件(文件名格式:YYYY-MM-DD-文章标题.md)
touch source/_posts/2025-11-23-cursor-auto-generate-blog-content.md

# 或者使用 Hexo 命令创建(推荐)
hexo new "Cursor 如何自动生成博客内容"

文件命名规范

  • 使用日期前缀:YYYY-MM-DD-
  • 使用连字符分隔:- 而不是空格或下划线
  • 文件名应该简洁且具有描述性

4. 编写提示词指令

在 Cursor 的聊天界面中(按 Cmd+L 打开),使用以下格式的提示词:

基础提示词示例

1
2
3
4
5
6
7
8
9
写一篇 Hexo 博客文章,主题是「Cursor 如何自动生成博客内容」。

要求:
- 自动生成 front-matter(title、date、tags、categories、description)
- 内容结构包含:简介、场景、步骤、截图思路、注意事项、总结
- 使用适合 Hexo 的 Markdown 语法
- 代码块使用 ```bash、```yaml 等格式
- 段落清晰、适合作为教程发布
- 行文简洁但信息量高

进阶提示词示例(包含更多细节):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
写一篇关于「使用 Cursor 生成 Hexo 博客文章」的教程文章。

Front-matter 要求:
- title: Cursor 如何自动生成博客内容
- date: 2025-11-23 10:00:00
- tags: [Cursor, AI工具, 博客写作, 效率工具]
- categories: [工具教程]
- description: 详细介绍如何使用 Cursor AI 编辑器自动生成 Hexo 博客文章

内容要求:
1. 简介:介绍 Cursor 和 Hexo 的结合使用
2. 前置要求:列出需要的环境和工具
3. 使用步骤:详细的 5 个步骤,每个步骤包含代码示例
4. 深层技巧:至少 3 个高级使用技巧
5. 注意事项:常见问题和解决方案
6. 总结:要点回顾

格式要求:
- 使用二级和三级标题组织内容
- 代码块必须包含语言标识符
- 每个步骤都要有实际可运行的命令示例
- 添加必要的说明和注意事项

5. 生成并优化内容

Cursor 会根据你的提示词生成文章内容,生成后需要进行以下优化:

第一步:检查 Front-matter

1
2
3
4
5
6
7
8
9
10
---
title: Cursor 如何自动生成博客内容
date: 2025-11-23 10:00:00 # 确保日期格式正确
tags:
- Cursor
- AI工具
categories:
- 工具教程
description: 文章描述 # 确保描述简洁且包含关键词
---

第二步:迭代优化内容

  • 补充细节:如果某个步骤不够详细,可以继续提问
    1
    请为「使用步骤」中的第 3 步添加更详细的代码示例
  • 调整风格:如果需要修改语言风格
    1
    将文章的语气调整为更专业的技术文档风格
  • 添加实例:如果需要更多实际例子
    1
    为每个使用技巧添加一个完整的代码示例

第三步:验证代码示例

  • 确保所有代码块都能正常运行
  • 检查文件路径是否正确
  • 验证命令参数是否准确

实际优化示例

1
2
3
4
5
6
7
初始生成的内容可能缺少某些细节,你可以继续与 Cursor 对话:

你:请为「生成 Hexo 插件」部分添加完整的代码示例
Cursor:会生成包含完整实现的代码块

你:请检查代码示例中的路径是否正确
Cursor:会修正路径并添加说明

6. 预览和发布

生成内容后,需要预览效果并发布:

1
2
3
4
5
6
7
# 启动本地预览服务器(默认端口 4000)
hexo server

# 或者指定端口
hexo server -p 4000

# 在浏览器中访问 http://localhost:4000 查看效果

预览时检查要点

  • Front-matter 是否正确显示
  • 代码块语法高亮是否正常
  • 图片路径是否正确
  • 链接是否可访问
  • 文章格式是否符合预期
1
2
3
4
5
6
7
8
# 生成静态文件
hexo generate

# 或者使用简写
hexo g

# 生成后检查 public 目录
ls public/

部署选项

1
2
3
4
5
6
7
# 方式一:部署到 GitHub Pages
hexo deploy

# 方式二:手动部署(需要配置部署脚本)
npm run deploy

# 方式三:使用 CI/CD 自动部署(见深层技巧部分)

部署前检查清单

  • 所有文章都已正确生成
  • 图片资源路径正确
  • 代码示例已验证
  • SEO 信息完整(title、description)
  • 没有语法错误或格式问题

截图思路

如果需要为文章添加截图,建议包含以下内容:

  1. Cursor 界面截图:展示 Cursor 的 AI 对话界面
  2. 提示词输入:展示如何编写结构化提示词
  3. 生成过程:展示 Cursor 逐步生成内容的过程
  4. 最终效果:展示生成的完整文章在 Hexo 中的预览效果
  5. 对比效果:展示手动写作 vs AI 生成的时间对比

注意事项

Front-matter 规范

Front-matter 是 Hexo 文章的重要元数据,必须严格按照规范编写:

日期格式:使用 YYYY-MM-DD HH:mm:ss 格式

1
2
3
date: 2025-11-23 10:00:00  # ✅ 正确
date: 2025/11/23 # ❌ 错误:格式不正确
date: Nov 23, 2025 # ❌ 错误:格式不正确

标签和分类:使用数组格式,每个标签/分类占一行

1
2
3
4
5
6
7
8
9
10
tags:
- Cursor
- AI工具
- 博客写作
categories:
- 工具教程
# 或者使用嵌套分类
categories:
- 技术
- 工具

描述信息:description 字段对 SEO 很重要,建议控制在 150 字以内

1
2
3
4
5
# ✅ 好的描述(包含关键词,简洁明了)
description: 详细介绍如何使用 Cursor AI 编辑器自动生成 Hexo 博客文章,包括 front-matter 生成、内容结构化、Markdown 语法规范等实用技巧。

# ❌ 不好的描述(过长或缺少关键词)
description: 这是一篇关于 Cursor 的文章,讲述了如何使用它来写博客,内容很详细,包含了很多有用的信息,相信对大家会有帮助...

完整 Front-matter 示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
---
title: Cursor 如何自动生成博客内容
date: 2025-11-23 10:00:00
updated: 2025-11-23 15:30:00 # 可选:更新时间
tags:
- Cursor
- AI工具
- 博客写作
- 效率工具
categories:
- 工具教程
description: 详细介绍如何使用 Cursor AI 编辑器自动生成 Hexo 博客文章,包括 front-matter 生成、内容结构化、Markdown 语法规范等实用技巧。
keywords: Cursor, Hexo, AI, 博客写作 # 可选:关键词
permalink: cursor-auto-generate-blog # 可选:自定义永久链接
---

Markdown 语法规范

Hexo 支持标准 Markdown 语法,但需要注意以下规范:

代码块:必须使用语言标识符

1
2
3
# ✅ 正确
```bash
hexo server
1
console.log('Hello Hexo');

❌ 错误(缺少语言标识符)

1
hexo server
1
2
3
4
5
6
7

**标题层级**:合理使用 H2、H3 等标题,保持层次清晰
```markdown
# H1 - 文章标题(通常不使用,由 Front-matter 的 title 提供)
## H2 - 主要章节
### H3 - 子章节
#### H4 - 更细的分类(谨慎使用)

列表格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 有序列表(用于步骤)
1. 第一步
2. 第二步
3. 第三步

# 无序列表(用于要点)
- 要点一
- 要点二
- 要点三

# 嵌套列表
1. 主要步骤
- 子步骤 1
- 子步骤 2
2. 下一步骤

链接和图片

1
2
3
4
5
6
7
8
9
10
# 链接
[链接文本](https://example.com)
[相对路径链接](../other-post.md)

# 图片
![图片描述](images/screenshot.png)
![图片描述](/images/screenshot.png) # 绝对路径

# 带标题的图片
![图片描述](images/screenshot.png "图片标题")

表格

1
2
3
4
| 列1 | 列2 | 列3 |
|-----|-----|-----|
| 数据1 | 数据2 | 数据3 |
| 数据4 | 数据5 | 数据6 |

内容质量控制

AI 生成的内容需要人工审核和优化,确保质量:

事实核查

  • 验证所有技术信息是否准确
  • 检查代码示例是否能正常运行
  • 确认链接和资源是否可访问
  • 核对日期、版本号等具体信息

实际检查示例

1
2
3
4
5
6
7
8
9
# 检查代码示例是否能运行
# 如果文章中有 hexo server 命令,实际运行验证
hexo server

# 检查文件路径是否存在
ls source/_posts/2025-11-23-*.md

# 验证配置文件语法
node -c _config.yml # 如果使用 JSON 格式

个性化调整

  • 根据个人写作风格,调整生成内容的语气和表达
  • 添加个人观点和经验分享
  • 调整技术深度,匹配目标读者水平
  • 补充实际案例和踩坑经验

代码验证

1
2
3
4
5
6
7
// 如果文章包含代码示例,务必测试运行
// 示例:验证 Hexo 插件代码

// 1. 创建测试文件
// 2. 运行代码
// 3. 检查输出结果
// 4. 修正错误

SEO 优化

  • 在标题和描述中合理使用关键词
  • 确保文章结构清晰,使用合适的标题层级
  • 添加内部链接,连接相关文章
  • 优化图片 alt 文本,提升可访问性

效率提升技巧

模板化提示词:为不同类型的文章创建提示词模板

创建 prompts/ 目录,保存不同类型的提示词模板:

1
mkdir -p prompts

技术教程模板 (prompts/tutorial.md):

1
2
3
4
5
6
写一篇技术教程文章,主题是「{主题}」。

要求:
- 包含前置要求、安装步骤、使用示例、常见问题
- 每个步骤都要有可运行的代码示例
- 添加注意事项和最佳实践

工具介绍模板 (prompts/tool-intro.md):

1
2
3
4
5
6
写一篇工具介绍文章,主题是「{工具名称}」。

要求:
- 包含工具简介、核心功能、使用场景、优缺点分析
- 添加安装和配置步骤
- 提供实际使用案例

批量生成:可以一次性生成多篇文章的框架,后续细化

1
2
3
4
5
6
7
8
9
10
# 使用 Cursor 的 Composer 功能
# 提示词:
生成 5 篇关于「前端框架」的系列文章框架:
1. React 入门指南
2. Vue.js 核心概念
3. Angular 基础教程
4. Svelte 快速上手
5. 框架对比分析

每篇文章包含:简介、核心内容、代码示例、总结

版本控制:使用 Git 管理文章版本,方便回退和对比

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 初始化 Git 仓库(如果还没有)
git init

# 创建 .gitignore
echo "node_modules/
public/
.deploy/
*.log" > .gitignore

# 提交文章
git add source/_posts/2025-11-23-*.md
git commit -m "Add: Cursor 自动生成博客内容教程"

# 查看文章修改历史
git log --oneline source/_posts/2025-11-23-*.md

# 对比不同版本
git diff HEAD~1 source/_posts/2025-11-23-*.md

深层使用技巧

1. 使用 Composer 批量生成系列文章

Cursor 的 Composer 功能可以同时编辑多个文件,非常适合生成系列文章。Composer 允许你一次性操作多个文件,非常适合批量生成内容。

使用步骤

  1. 打开 Composer:按 Cmd+I(Mac)或 Ctrl+I(Windows)
  2. 选择文件:在 Composer 中选择要创建的文件
  3. 输入提示词:描述要生成的内容

实际示例:生成「前端框架对比」系列文章

提示词

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
26
27
使用 Composer 在 source/_posts/ 目录下生成 5 篇关于「前端框架对比」的系列文章:

1. 2025-11-23-react-vs-vue-comparison.md
- 标题:React vs Vue 深度对比
- 内容:性能、生态、学习曲线、使用场景对比

2. 2025-11-23-vue-vs-angular-comparison.md
- 标题:Vue vs Angular 全面分析
- 内容:架构设计、开发体验、企业应用对比

3. 2025-11-23-react-vs-svelte-comparison.md
- 标题:React vs Svelte 性能对比
- 内容:编译时优化、运行时性能、包体积对比

4. 2025-11-23-framework-selection-guide.md
- 标题:2025 年前端框架选择指南
- 内容:选择标准、项目类型匹配、团队考虑

5. 2025-11-23-frontend-trends-2025.md
- 标题:2025 年前端框架趋势分析
- 内容:市场趋势、技术演进、未来展望

每篇文章要求:
- 统一的 Front-matter 格式
- 包含简介、核心内容、代码示例、总结
- 代码示例使用实际可运行的代码
- 保持一致的写作风格和技术深度

生成后的文件结构

1
2
3
4
5
6
source/_posts/
├── 2025-11-23-react-vs-vue-comparison.md
├── 2025-11-23-vue-vs-angular-comparison.md
├── 2025-11-23-react-vs-svelte-comparison.md
├── 2025-11-23-framework-selection-guide.md
└── 2025-11-23-frontend-trends-2025.md

优势

  • 一次性生成多篇文章,节省时间
  • 保持系列文章风格统一
  • 可以建立文章之间的关联和链接

2. 利用 Cursor 优化 Hexo 配置

让 Cursor 分析并优化你的 _config.yml 配置,可以大幅提升博客的性能和 SEO 表现。

步骤一:让 Cursor 分析当前配置

在 Cursor 中打开 _config.yml,然后使用以下提示词:

1
2
3
4
5
分析当前的 _config.yml 配置文件,提供以下优化建议:
1. SEO 优化建议(meta 标签、sitemap、robots.txt)
2. 性能优化建议(CDN、压缩、缓存)
3. 安全性建议(HTTPS、内容安全策略)
4. 可访问性建议(alt 文本、语义化标签)

步骤二:生成优化后的配置

Cursor 会分析你的配置并生成优化建议,然后可以要求生成完整的优化配置:

1
2
3
4
5
根据分析结果,生成优化后的 _config.yml 配置,包括:
- 完整的 SEO 设置
- 性能优化配置
- 安全相关设置
- 保持原有主题和插件配置不变

实际示例:SEO 优化配置

原始配置

1
2
3
4
5
# _config.yml
title: My Blog
subtitle: A simple blog
description:
author: John Doe

优化后的配置(Cursor 生成):

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
26
27
28
29
30
31
32
33
34
# _config.yml
title: My Blog | 技术分享与学习
subtitle: 专注于前端开发、Node.js AI 工具
description: 分享前端开发经验、Node.js 实践和 AI 工具使用技巧,包含教程、工具推荐和技术思考
author: John Doe
language: zh-CN

# SEO 优化
url: https://yourdomain.com
root: /
permalink: :year/:month/:day/:title/
permalink_defaults:
pretty_urls:
trailing_index: true
trailing_html: true

# 搜索引擎优化
sitemap:
path: sitemap.xml
rel: true

# 性能优化
minify:
html:
enable: true
exclude:
css:
enable: true
exclude:
- '*.min.css'
js:
enable: true
exclude:
- '*.min.js'

实际应用场景

场景一:SEO 优化

1
2
3
4
5
提示词:为我的 Hexo 博客生成完整的 SEO 配置,包括:
- Open Graph 标签
- Twitter Card 标签
- 结构化数据(JSON-LD)
- 自动生成 sitemap 和 robots.txt

场景二:性能调优

1
2
3
4
5
提示词:优化 Hexo 配置以提升性能,包括:
- 启用 HTML/CSS/JS 压缩
- 配置图片懒加载
- 设置 CDN 加速
- 优化资源加载策略

场景三:主题定制

1
2
3
4
5
提示词:根据我的需求生成主题配置文件,包括:
- 自定义颜色方案
- 字体设置
- 布局配置
- 功能开关设置

3. 生成 Hexo 自定义插件和脚本

使用 Cursor 生成 Hexo 插件,实现自动化功能,可以大幅提升博客管理效率。

示例一:文章自动分类插件

提示词

1
2
3
4
5
6
创建一个 Hexo 插件,功能是根据文章标签自动设置分类。
规则:
- 如果文章有 "前端" 标签,自动添加 "前端开发" 分类
- 如果文章有 "后端" 标签,自动添加 "后端开发" 分类
- 如果文章有 "AI" 标签,自动添加 "AI工具" 分类
- 如果文章已有分类,则不覆盖

生成的完整代码scripts/auto-category.js):

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// scripts/auto-category.js
// 根据标签自动设置分类的 Hexo 插件

const tagToCategoryMap = {
'前端': '前端开发',
'后端': '后端开发',
'AI': 'AI工具',
'工具': '工具教程',
'教程': '技术教程',
'Node.js': '后端开发',
'React': '前端开发',
'Vue': '前端开发'
};

hexo.extend.filter.register('before_post_render', function(data) {
// 如果文章已有分类,不自动设置
if (data.categories && data.categories.length > 0) {
return data;
}

// 根据标签自动设置分类
if (data.tags && data.tags.length > 0) {
const autoCategories = [];

data.tags.forEach(tag => {
const tagName = typeof tag === 'string' ? tag : tag.name;
if (tagToCategoryMap[tagName]) {
const category = tagToCategoryMap[tagName];
if (!autoCategories.includes(category)) {
autoCategories.push(category);
}
}
});

if (autoCategories.length > 0) {
data.categories = autoCategories;
}
}

return data;
});

示例二:自动生成文章摘要

提示词

1
2
3
4
5
6
创建一个 Hexo 插件,自动从文章内容中提取摘要。
规则:
- 如果文章已有 description,则使用 description
- 否则提取文章前 150 字作为摘要
- 去除 Markdown 语法标记
- 去除代码块和链接

生成的完整代码scripts/auto-excerpt.js):

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// scripts/auto-excerpt.js
// 自动生成文章摘要的 Hexo 插件

function extractExcerpt(content, maxLength = 150) {
// 移除代码块
content = content.replace(/```[\s\S]*?```/g, '');
// 移除行内代码
content = content.replace(/`[^`]+`/g, '');
// 移除链接
content = content.replace(/\[([^\]]+)\]\([^\)]+\)/g, '$1');
// 移除图片
content = content.replace(/!\[([^\]]*)\]\([^\)]+\)/g, '');
// 移除标题标记
content = content.replace(/^#+\s+/gm, '');
// 移除多余空白
content = content.replace(/\s+/g, ' ').trim();

if (content.length <= maxLength) {
return content;
}

// 在最后一个完整句子处截断
const truncated = content.substring(0, maxLength);
const lastPeriod = truncated.lastIndexOf('。');
const lastPeriodEn = truncated.lastIndexOf('.');
const lastIndex = Math.max(lastPeriod, lastPeriodEn);

if (lastIndex > maxLength * 0.7) {
return truncated.substring(0, lastIndex + 1);
}

return truncated + '...';
}

hexo.extend.filter.register('before_post_render', function(data) {
// 如果已有 description,跳过
if (data.description && data.description.trim()) {
return data;
}

// 从内容中提取摘要
if (data.content) {
data.description = extractExcerpt(data.content);
}

return data;
});

示例三:图片优化脚本

提示词

1
2
3
4
5
创建一个脚本,批量优化博客中的图片:
1. 压缩 JPG/PNG 图片
2. 生成 WebP 格式
3. 添加图片尺寸信息到 Front-matter
4. 生成图片懒加载配置

生成的完整代码scripts/optimize-images.js):

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
// scripts/optimize-images.js
// 图片优化脚本(需要安装 sharp: npm install sharp --save-dev)

const sharp = require('sharp');
const fs = require('fs').promises;
const path = require('path');
const glob = require('glob');

async function optimizeImage(imagePath) {
const ext = path.extname(imagePath).toLowerCase();
const nameWithoutExt = path.basename(imagePath, ext);
const dir = path.dirname(imagePath);

try {
const image = sharp(imagePath);
const metadata = await image.metadata();

// 生成 WebP 版本
const webpPath = path.join(dir, `${nameWithoutExt}.webp`);
await image
.webp({ quality: 80 })
.toFile(webpPath);

// 压缩原图(如果是 JPG)
if (ext === '.jpg' || ext === '.jpeg') {
await image
.jpeg({ quality: 85, mozjpeg: true })
.toFile(imagePath);
} else if (ext === '.png') {
await image
.png({ quality: 85, compressionLevel: 9 })
.toFile(imagePath);
}

console.log(`优化完成: ${imagePath}`);
return {
original: imagePath,
webp: webpPath,
width: metadata.width,
height: metadata.height,
size: metadata.size
};
} catch (error) {
console.error(`优化失败 ${imagePath}:`, error);
return null;
}
}

async function optimizeAllImages() {
const imagePatterns = [
'source/images/**/*.{jpg,jpeg,png}',
'source/_posts/**/*.{jpg,jpeg,png}'
];

let allImages = [];
for (const pattern of imagePatterns) {
const images = glob.sync(pattern);
allImages = allImages.concat(images);
}

console.log(`找到 ${allImages.length} 张图片`);

for (const imagePath of allImages) {
await optimizeImage(imagePath);
}

console.log('所有图片优化完成!');
}

// 运行脚本
if (require.main === module) {
optimizeAllImages().catch(console.error);
}

module.exports = { optimizeImage, optimizeAllImages };

使用方式

1
2
3
4
5
# 安装依赖
npm install sharp glob --save-dev

# 运行脚本
node scripts/optimize-images.js

实用场景总结

  • 自动生成文章摘要:根据内容自动提取摘要,提升 SEO
  • 图片优化脚本:批量压缩和优化图片资源,提升加载速度
  • SEO 检查工具:自动检查文章的 SEO 指标(关键词密度、描述长度等)
  • 内容分析脚本:分析文章质量、关键词密度、可读性评分
  • 自动标签生成:根据文章内容自动生成相关标签
  • 相关文章推荐:基于标签和分类自动生成相关文章列表

4. 多语言博客管理

使用 Cursor 管理多语言版本的博客:

1
2
# 生成多语言版本的文章结构
# 提示词:为当前文章生成英文版本,保持技术术语的准确性

工作流程

  1. 生成中文原版文章
  2. 使用 Cursor 翻译并优化为英文版本
  3. 保持代码示例和技术术语的一致性
  4. 自动生成多语言导航配置

5. 智能内容分析和优化

利用 Cursor 进行内容质量分析:

1
2
3
4
5
6
7
# 提示词示例:
分析当前文章并提供优化建议:
- SEO 关键词密度分析
- 可读性评分
- 内容结构优化建议
- 相关文章推荐
- 内链优化建议

分析维度

  • 关键词优化:分析关键词分布,提供优化建议
  • 内容完整性:检查是否缺少必要的章节或信息
  • 代码示例质量:验证代码示例的正确性和完整性
  • 用户体验:评估文章的可读性和导航结构

6. 生成自动化部署脚本

使用 Cursor 生成 CI/CD 部署脚本,实现博客的自动部署,每次推送代码后自动更新博客。

提示词

1
2
3
4
5
6
7
生成 GitHub Actions 工作流,实现 Hexo 博客的自动部署:
1. 监听 main 分支的 push 事件
2. 安装 Node.js 和依赖
3. 生成静态文件
4. 部署到 GitHub Pages
5. 添加缓存优化构建速度
6. 添加部署状态通知

生成的完整配置.github/workflows/deploy.yml):

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
name: Deploy Hexo Blog

on:
push:
branches:
- main
workflow_dispatch: # 允许手动触发

jobs:
deploy:
runs-on: ubuntu-latest

permissions:
contents: write # 需要写入权限来部署到 GitHub Pages

steps:
- name: Checkout source code
uses: actions/checkout@v3
with:
fetch-depth: 0 # 获取完整历史记录,用于 hexo 插件

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
cache: 'npm' # 缓存 npm 依赖

- name: Install dependencies
run: |
npm ci
npm install hexo-deployer-git --save

- name: Generate static files
run: |
hexo clean
hexo generate
env:
NODE_ENV: production

- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
if: github.ref == 'refs/heads/main'
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
cname: yourdomain.com # 如果有自定义域名

部署到其他平台的配置示例

部署到 Vercelvercel.json):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"version": 2,
"builds": [
{
"src": "package.json",
"use": "@vercel/static-build",
"config": {
"distDir": "public"
}
}
],
"routes": [
{
"src": "/(.*)",
"dest": "/$1"
}
]
}

部署到 Netlifynetlify.toml):

1
2
3
4
5
6
7
8
9
[build]
command = "hexo generate"
publish = "public"

[[plugins]]
package = "@netlify/plugin-sitemap"

[build.environment]
NODE_VERSION = "18"

部署脚本优化scripts/deploy.sh):

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash
# scripts/deploy.sh
# 本地部署脚本

set -e # 遇到错误立即退出

echo "开始部署 Hexo 博客..."

# 清理旧文件
echo "清理旧文件..."
hexo clean

# 生成静态文件
echo "生成静态文件..."
hexo generate

# 检查生成结果
if [ ! -d "public" ]; then
echo "错误: public 目录不存在,生成失败!"
exit 1
fi

# 部署(根据部署方式选择)
DEPLOY_TYPE=${1:-git} # 默认使用 git 部署

case $DEPLOY_TYPE in
git)
echo "使用 Git 部署..."
hexo deploy
;;
rsync)
echo "使用 RSync 部署..."
rsync -avz --delete public/ user@server:/path/to/blog/
;;
*)
echo "未知的部署类型: $DEPLOY_TYPE"
exit 1
;;
esac

echo "部署完成!"

使用方式

1
2
3
4
5
6
7
8
# 给脚本添加执行权限
chmod +x scripts/deploy.sh

# 使用 Git 部署
./scripts/deploy.sh git

# 使用 RSync 部署
./scripts/deploy.sh rsync

7. 利用 Cursor 进行主题定制

生成主题定制代码,无需手动编写:

1
2
3
4
5
6
7
8
9
10
11
12
13
// 提示词:为 Hexo 主题添加暗色模式切换功能
// Cursor 可以生成完整的主题定制代码

// themes/your-theme/layout/_partial/theme-switcher.ejs
<button id="theme-toggle" class="theme-toggle">
<span class="icon">🌙</span>
</button>

<script>
// Cursor 生成的暗色模式切换逻辑
const themeToggle = document.getElementById('theme-toggle');
// ... 完整的实现代码
</script>

8. 智能图片和资源管理

使用 Cursor 生成资源管理脚本:

1
2
3
4
5
6
7
8
9
#!/bin/bash
# 提示词:生成脚本,自动优化博客中的图片资源

# Cursor 生成的图片优化脚本
for img in source/images/*.{jpg,png}; do
# 压缩图片
# 生成 WebP 格式
# 添加懒加载属性
done

9. 内容模板和脚手架生成

创建文章模板生成器,可以快速创建符合规范的新文章。

提示词

1
2
3
4
5
生成一个 Hexo 文章模板生成脚本,功能包括:
1. 交互式输入文章标题、分类、标签
2. 自动生成文件名(日期+标题)
3. 根据文章类型选择不同的模板
4. 自动打开文件供编辑

生成的完整代码scripts/new-post.js):

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
// scripts/new-post.js
// Hexo 文章模板生成脚本

const fs = require('fs');
const path = require('path');
const readline = require('readline');
const { exec } = require('child_process');

const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});

function question(query) {
return new Promise(resolve => rl.question(query, resolve));
}

function formatTitle(title) {
return title
.toLowerCase()
.replace(/[^\w\s-]/g, '')
.replace(/\s+/g, '-')
.replace(/-+/g, '-')
.trim();
}

function getTemplate(type) {
const templates = {
tutorial: `---
title: {title}
date: {date}
tags: []
categories:
- {category}
description:
---

## 简介

## 前置要求

## 使用步骤

### 1.

### 2.

## 注意事项

## 总结
`,
tool: `---
title: {title}
date: {date}
tags: []
categories:
- {category}
description:
---

## 简介

## 核心功能

## 使用场景

## 安装和配置

## 使用示例

## 优缺点分析

## 总结
`,
comparison: `---
title: {title}
date: {date}
tags: []
categories:
- {category}
description:
---

## 简介

## 对比维度

## 详细对比

### 功能对比

### 性能对比

### 生态对比

## 使用场景建议

## 总结
`,
default: `---
title: {title}
date: {date}
tags: []
categories:
- {category}
description:
---

## 简介

## 正文内容

## 总结
`
};

return templates[type] || templates.default;
}

async function createPost() {
try {
console.log('=== Hexo 文章模板生成器 ===\n');

// 获取文章信息
const title = await question('文章标题: ');
const category = await question('分类 (默认: 未分类): ') || '未分类';
const tagsInput = await question('标签 (用逗号分隔): ');
const type = await question('文章类型 (tutorial/tool/comparison/default): ') || 'default';
const description = await question('描述 (可选): ') || '';

// 处理标签
const tags = tagsInput
? tagsInput.split(',').map(tag => tag.trim()).filter(Boolean)
: [];

// 生成文件名
const now = new Date();
const dateStr = now.toISOString().split('T')[0];
const fileName = `${dateStr}-${formatTitle(title)}.md`;
const filePath = path.join(process.cwd(), 'source', '_posts', fileName);

// 检查文件是否已存在
if (fs.existsSync(filePath)) {
const overwrite = await question(`文件已存在,是否覆盖? (y/N): `);
if (overwrite.toLowerCase() !== 'y') {
console.log('已取消创建');
rl.close();
return;
}
}

// 生成 Front-matter
const dateTime = now.toISOString().replace('T', ' ').substring(0, 19);
const template = getTemplate(type);

let content = template
.replace(/{title}/g, title)
.replace(/{date}/g, dateTime)
.replace(/{category}/g, category);

// 添加标签和描述
const frontMatterEnd = content.indexOf('---', 3);
if (frontMatterEnd !== -1) {
let frontMatter = content.substring(0, frontMatterEnd + 3);
const body = content.substring(frontMatterEnd + 3);

// 添加标签
if (tags.length > 0) {
frontMatter = frontMatter.replace(
'tags: []',
`tags:\n${tags.map(tag => ` - ${tag}`).join('\n')}`
);
}

// 添加描述
if (description) {
frontMatter = frontMatter.replace(
'description: ',
`description: ${description}`
);
}

content = frontMatter + body;
}

// 写入文件
fs.writeFileSync(filePath, content, 'utf8');
console.log(`\n✅ 文章已创建: ${filePath}`);

// 询问是否打开文件
const open = await question('是否在编辑器中打开? (Y/n): ');
if (open.toLowerCase() !== 'n') {
// 尝试使用系统默认编辑器打开
const editor = process.env.EDITOR || 'code'; // 默认使用 VS Code
exec(`${editor} "${filePath}"`, (error) => {
if (error) {
console.log(`无法自动打开文件,请手动打开: ${filePath}`);
}
});
}

} catch (error) {
console.error('创建文章时出错:', error);
} finally {
rl.close();
}
}

// 运行脚本
if (require.main === module) {
createPost();
}

module.exports = { createPost, formatTitle, getTemplate };

使用方式

1
2
3
4
5
6
7
8
9
10
11
# 添加执行权限
chmod +x scripts/new-post.js

# 运行脚本
node scripts/new-post.js

# 或者添加到 package.json
# "scripts": {
# "new": "node scripts/new-post.js"
# }
# 然后使用: npm run new

交互式使用示例

1
2
3
4
5
6
7
8
9
10
=== Hexo 文章模板生成器 ===

文章标题: Cursor 如何自动生成博客内容
分类 (默认: 未分类): 工具教程
标签 (用逗号分隔): Cursor, AI工具, 博客写作
文章类型 (tutorial/tool/comparison/default): tutorial
描述 (可选): 详细介绍如何使用 Cursor AI 编辑器自动生成 Hexo 博客文章

✅ 文章已创建: /path/to/source/_posts/2025-11-23-cursor-auto-generate-blog-content.md
是否在编辑器中打开? (Y/n): y

模板自定义
你可以根据需求修改 getTemplate 函数,添加更多文章类型模板,比如:

  • review: 产品/工具评测
  • news: 技术新闻
  • tips: 技巧分享
  • case-study: 案例分析

10. 利用 Cursor 进行博客数据分析

生成数据分析脚本,帮助你了解博客的内容分布和更新情况。

提示词

1
2
3
4
5
6
生成一个博客数据分析脚本,功能包括:
1. 统计文章总数、分类数、标签数
2. 分析标签和分类的分布情况
3. 找出最受欢迎的文章(根据阅读量或评论数)
4. 分析内容更新频率
5. 生成可视化报告(JSON 或 Markdown 格式)

生成的完整代码scripts/analyze-blog.js):

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
// scripts/analyze-blog.js
// 博客数据分析脚本

const fs = require('fs');
const path = require('path');
const matter = require('gray-matter');

function analyzeBlog() {
const postsDir = path.join(process.cwd(), 'source', '_posts');
const files = fs.readdirSync(postsDir).filter(file => file.endsWith('.md'));

const stats = {
totalPosts: 0,
categories: {},
tags: {},
postsByYear: {},
postsByMonth: {},
recentPosts: [],
longestPosts: [],
shortestPosts: []
};

const posts = [];

files.forEach(file => {
const filePath = path.join(postsDir, file);
const content = fs.readFileSync(filePath, 'utf8');
const { data: frontMatter, content: body } = matter(content);

stats.totalPosts++;

// 统计分类
if (frontMatter.categories) {
const categories = Array.isArray(frontMatter.categories)
? frontMatter.categories
: [frontMatter.categories];
categories.forEach(cat => {
stats.categories[cat] = (stats.categories[cat] || 0) + 1;
});
}

// 统计标签
if (frontMatter.tags) {
const tags = Array.isArray(frontMatter.tags)
? frontMatter.tags
: [frontMatter.tags];
tags.forEach(tag => {
const tagName = typeof tag === 'string' ? tag : tag.name;
stats.tags[tagName] = (stats.tags[tagName] || 0) + 1;
});
}

// 按年份统计
if (frontMatter.date) {
const date = new Date(frontMatter.date);
const year = date.getFullYear();
const month = `${year}-${String(date.getMonth() + 1).padStart(2, '0')}`;

stats.postsByYear[year] = (stats.postsByYear[year] || 0) + 1;
stats.postsByMonth[month] = (stats.postsByMonth[month] || 0) + 1;
}

// 收集文章信息
const wordCount = body.split(/\s+/).length;
posts.push({
title: frontMatter.title || file,
file: file,
date: frontMatter.date,
categories: frontMatter.categories || [],
tags: frontMatter.tags || [],
wordCount: wordCount,
hasDescription: !!frontMatter.description
});
});

// 排序文章
posts.sort((a, b) => {
const dateA = a.date ? new Date(a.date) : new Date(0);
const dateB = b.date ? new Date(b.date) : new Date(0);
return dateB - dateA;
});

// 最近发布的文章
stats.recentPosts = posts.slice(0, 10).map(p => ({
title: p.title,
date: p.date,
wordCount: p.wordCount
}));

// 最长和最短的文章
const sortedByLength = [...posts].sort((a, b) => b.wordCount - a.wordCount);
stats.longestPosts = sortedByLength.slice(0, 5).map(p => ({
title: p.title,
wordCount: p.wordCount
}));
stats.shortestPosts = sortedByLength.slice(-5).reverse().map(p => ({
title: p.title,
wordCount: p.wordCount
}));

// 计算平均字数
const totalWords = posts.reduce((sum, p) => sum + p.wordCount, 0);
stats.averageWordCount = Math.round(totalWords / posts.length);

// 统计缺少描述的文章
stats.postsWithoutDescription = posts.filter(p => !p.hasDescription).length;

return { stats, posts };
}

function generateReport(data) {
const { stats } = data;

let report = `# 博客数据分析报告\n\n`;
report += `生成时间: ${new Date().toLocaleString('zh-CN')}\n\n`;

// 基本统计
report += `## 基本统计\n\n`;
report += `- 文章总数: ${stats.totalPosts}\n`;
report += `- 平均字数: ${stats.averageWordCount} 字\n`;
report += `- 缺少描述的文章: ${stats.postsWithoutDescription}\n\n`;

// 分类统计
report += `## 分类分布\n\n`;
const sortedCategories = Object.entries(stats.categories)
.sort((a, b) => b[1] - a[1])
.slice(0, 10);
sortedCategories.forEach(([cat, count]) => {
report += `- ${cat}: ${count} 篇\n`;
});
report += `\n`;

// 标签统计
report += `## 热门标签 (Top 20)\n\n`;
const sortedTags = Object.entries(stats.tags)
.sort((a, b) => b[1] - a[1])
.slice(0, 20);
sortedTags.forEach(([tag, count]) => {
report += `- ${tag}: ${count} 篇\n`;
});
report += `\n`;

// 按年份统计
report += `## 按年份统计\n\n`;
const sortedYears = Object.keys(stats.postsByYear).sort().reverse();
sortedYears.forEach(year => {
report += `- ${year}年: ${stats.postsByYear[year]} 篇\n`;
});
report += `\n`;

// 最近发布的文章
report += `## 最近发布的文章 (Top 10)\n\n`;
stats.recentPosts.forEach((post, index) => {
report += `${index + 1}. ${post.title} (${post.wordCount} 字, ${post.date})\n`;
});
report += `\n`;

// 最长文章
report += `## 最长的文章 (Top 5)\n\n`;
stats.longestPosts.forEach((post, index) => {
report += `${index + 1}. ${post.title}: ${post.wordCount} 字\n`;
});
report += `\n`;

return report;
}

// 运行分析
if (require.main === module) {
try {
console.log('开始分析博客数据...\n');
const data = analyzeBlog();
const report = generateReport(data);

// 输出到控制台
console.log(report);

// 保存到文件
const reportPath = path.join(process.cwd(), 'blog-analysis-report.md');
fs.writeFileSync(reportPath, report, 'utf8');
console.log(`\n报告已保存到: ${reportPath}`);

// 同时保存 JSON 数据
const jsonPath = path.join(process.cwd(), 'blog-analysis-data.json');
fs.writeFileSync(jsonPath, JSON.stringify(data, null, 2), 'utf8');
console.log(`数据已保存到: ${jsonPath}`);

} catch (error) {
console.error('分析失败:', error);
process.exit(1);
}
}

module.exports = { analyzeBlog, generateReport };

使用方式

1
2
3
4
5
6
7
8
# 安装依赖
npm install gray-matter --save-dev

# 运行分析
node scripts/analyze-blog.js

# 查看报告
cat blog-analysis-report.md

输出示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
开始分析博客数据...

# 博客数据分析报告

生成时间: 2025/11/23 15:30:00

## 基本统计

- 文章总数: 45
- 平均字数: 2500 字
- 缺少描述的文章: 3

## 分类分布

- 工具教程: 15 篇
- 前端开发: 12 篇
- 后端开发: 10 篇
- AI工具: 8 篇

...

扩展功能
可以进一步扩展脚本,添加:

  • 阅读量统计(如果使用分析工具)
  • 评论数统计
  • 文章质量评分
  • 内容更新建议
  • 可视化图表生成

11. 高级提示词技巧

上下文感知提示词

1
2
3
# 在 Cursor 中引用现有文件作为上下文
@_config.yml 根据当前 Hexo 配置,生成优化建议
@source/_posts/example.md 参考这篇文章的风格,生成新文章

多步骤工作流

1
2
3
4
第一步:分析当前博客的 _config.yml 配置
第二步:根据分析结果,生成优化后的配置
第三步:生成迁移脚本,安全地应用新配置
第四步:生成测试脚本,验证配置正确性

条件生成

1
2
3
4
5
6
7
8
9
如果文章包含代码示例,则:
- 添加代码高亮配置
- 生成可运行的完整示例
- 添加代码说明和注释

如果文章是教程类型,则:
- 添加步骤编号
- 生成配套的练习题目
- 添加常见问题解答

12. 集成外部工具和 API

使用 Cursor 生成集成脚本:

1
2
3
4
5
// scripts/sync-from-notion.js
// 提示词:生成脚本,从 Notion 同步内容到 Hexo

const { Client } = require('@notionhq/client');
// Cursor 生成的 Notion 同步逻辑

集成场景

  • Notion 同步:从 Notion 数据库同步文章
  • GitHub Issues:将 GitHub Issues 转换为博客文章
  • RSS 导入:从其他博客导入内容
  • API 数据:从 API 获取数据生成动态内容

常见问题

Q1: Cursor 生成的内容不符合 Hexo 格式要求怎么办?

解决方案

  1. 在提示词中明确指定 Hexo 格式要求
  2. 提供示例文件作为参考:@source/_posts/example.md 参考这篇文章的格式
  3. 生成后手动调整 Front-matter 格式
  4. 使用 Cursor 的「Fix」功能自动修正格式错误

示例提示词

1
2
参考 @source/_posts/2025-11-23-example.md 的格式,
生成一篇新文章,确保 Front-matter 格式完全一致。

Q2: 生成的代码示例无法运行怎么办?

解决方案

  1. 在提示词中要求生成「可运行的完整代码示例」
  2. 生成后实际测试代码
  3. 使用 Cursor 的代码解释功能检查代码逻辑
  4. 如果代码有误,要求 Cursor 修正:请检查并修正这段代码,确保可以正常运行

验证步骤

1
2
3
4
5
6
7
8
# 对于 Hexo 命令,直接运行测试
hexo server

# 对于 Node.js 脚本,检查语法
node -c scripts/your-script.js

# 对于配置文件,验证格式
node -e "require('js-yaml').load(require('fs').readFileSync('_config.yml'))"

Q3: 如何让 Cursor 生成更符合个人风格的内容?

解决方案

  1. 提供多篇你写的文章作为风格参考
  2. 在提示词中明确指定写作风格:使用技术博客风格,语言简洁专业,避免过于口语化
  3. 生成后进行人工调整,并让 Cursor 学习你的修改
  4. 建立个人写作风格模板

风格定义示例

1
2
3
4
5
写作风格要求:
- 语言:简洁、专业、技术性
- 结构:清晰的层次,使用二级和三级标题
- 代码:每个代码块都要有说明
- 语气:客观、实用,避免营销性语言

Q4: 批量生成的文章质量不一致怎么办?

解决方案

  1. 使用统一的提示词模板
  2. 生成后统一检查和调整
  3. 建立质量检查清单
  4. 使用 Cursor 的批量编辑功能统一修正

质量检查清单

  • Front-matter 格式正确
  • 代码示例可运行
  • 标题层级合理
  • 内容完整无缺失
  • 链接和图片路径正确
  • SEO 信息完整

Q5: Cursor 生成的插件代码有错误怎么办?

解决方案

  1. 让 Cursor 检查代码:请检查这段代码是否有语法错误或逻辑问题
  2. 提供错误信息,让 Cursor 修正:这段代码报错:xxx,请修正
  3. 分步骤生成,先生成核心功能,再添加细节
  4. 参考 Hexo 官方文档验证插件 API 使用是否正确

调试技巧

1
2
3
4
5
6
// 在插件中添加调试日志
hexo.extend.filter.register('before_post_render', function(data) {
console.log('Processing post:', data.title);
// 你的代码逻辑
return data;
});

最佳实践

1. 建立提示词库

创建不同类型的提示词模板,提高复用性:

目录结构

1
2
3
4
5
6
prompts/
├── tutorial.md # 教程类文章模板
├── tool-intro.md # 工具介绍模板
├── comparison.md # 对比类文章模板
├── plugin-dev.md # 插件开发模板
└── config-optimize.md # 配置优化模板

使用方式

1
2
3
# 读取模板并修改
cat prompts/tutorial.md | pbcopy # Mac
# 然后在 Cursor 中粘贴并修改具体内容

2. 建立工作流程

标准化的文章生成流程可以大幅提升效率:

流程步骤

  1. 规划阶段:确定文章主题、结构、目标读者
  2. 生成阶段:使用 Cursor 生成初稿
  3. 优化阶段:人工审核、补充细节、调整风格
  4. 验证阶段:检查代码、测试功能、验证链接
  5. 发布阶段:预览效果、部署上线、监控反馈

时间分配建议

  • 规划:10%
  • 生成:30%
  • 优化:40%
  • 验证:15%
  • 发布:5%

3. 版本控制策略

使用 Git 管理文章版本,方便回退和协作:

1
2
3
4
5
6
7
8
9
10
11
12
13
# 创建文章分支
git checkout -b post/cursor-hexo-tutorial

# 提交文章
git add source/_posts/2025-11-23-*.md
git commit -m "Add: Cursor 自动生成博客内容教程"

# 合并前预览
git diff main

# 合并到主分支
git checkout main
git merge post/cursor-hexo-tutorial

4. 内容质量保证

建立内容质量标准,确保每篇文章都达到要求:

质量标准

  • 准确性:所有技术信息经过验证
  • 完整性:包含必要的章节和示例
  • 可读性:结构清晰,易于理解
  • 实用性:提供可操作的步骤和代码
  • 时效性:信息是最新的,链接可访问

检查工具

1
2
3
4
5
6
7
# 检查 Markdown 语法
npm install -g markdownlint-cli
markdownlint source/_posts/*.md

# 检查链接有效性
npm install -g markdown-link-check
markdown-link-check source/_posts/*.md

5. 持续优化

定期回顾和优化工作流程:

优化方向

  • 分析哪些提示词效果最好
  • 识别常见错误模式,建立检查清单
  • 收集读者反馈,改进内容质量
  • 更新工具和插件,保持技术栈最新

优化示例

1
2
3
4
5
每月回顾:
1. 统计文章生成时间
2. 分析常见问题
3. 更新提示词模板
4. 优化工作流程

总结

使用 Cursor 自动生成 Hexo 博客内容可以显著提升写作效率,特别适合需要定期产出技术内容的博主。通过本文介绍的方法和技巧,你可以:

  1. 快速生成文章框架:使用结构化的提示词,快速生成符合 Hexo 规范的文章
  2. 自动化重复工作:通过插件和脚本,自动化分类、摘要生成、图片优化等任务
  3. 优化博客配置:利用 Cursor 分析和优化 Hexo 配置,提升性能和 SEO
  4. 建立高效流程:形成标准化的生成、优化、发布流程,提高内容产出效率

关键要点

  • 明确需求:编写清晰、结构化的提示词是成功的基础
  • 迭代优化:通过多轮对话,逐步完善文章内容
  • 人工审核:AI 生成的内容需要人工把关,确保质量和准确性
  • 建立流程:形成标准化的生成流程,提高复用性
  • 持续改进:定期回顾和优化工作流程,不断提升效率

通过合理使用 Cursor 的 AI 能力,可以将博客写作从「创作」转变为「编辑和优化」,让内容产出更加高效和可持续。记住,AI 是工具,最终的质量还是取决于你的专业判断和持续优化。


相关资源


封面图 MidJourney Prompt

1
A futuristic tech workspace scene, split-screen composition showing a modern code editor interface on the left with AI-powered cursor icon glowing in blue-purple gradient, and a clean blog post preview on the right displaying Hexo markdown content. Dark background with subtle neon blue and purple accents, holographic code lines floating in the background, productivity tool aesthetic, minimalist and professional, 16:9 aspect ratio, high-tech atmosphere, digital art style, --ar 16:9 --style raw --v 6

Prompt 说明

  • 主题元素:代码编辑器界面、AI 光标图标、Hexo 博客预览
  • 视觉风格:科技感、深色背景、蓝紫色渐变光效
  • 构图:分屏布局,左右对比展示编辑器和博客效果
  • 氛围:生产力工具、专业、现代
  • 参数:16:9 比例,适合作为博客封面图