本文档对比了 PostWaver 中 Frontmatter 注入的不同方式,帮助你选择最适合的使用场景。
| 方式 | 命令 | 注入时机 | 文件修改 | 适用场景 |
|---|---|---|---|---|
| 开发环境 | pnpm dev |
每次启动 | ✅ 写入 | 日常开发 |
| 手动注入 | pnpm scan --inject |
按需执行 | ✅ 写入 | 批量处理 |
| 内存生成 | pnpm scan |
扫描时 | ❌ 不写入 | 数据库索引 |
命令:pnpm dev
工作流程:
启动 → 扫描 → 注入 Frontmatter → 注入链接 → 启动服务器
特点:
适用场景:
示例输出:
📚 开始扫描内容...
[Parser] 📝 my-new-post.md 的 Frontmatter 不完整,开始自动生成...
[Parser] ✅ 自动生成完成,添加字段: title, date, tags, categories
title: 我的新文章
tags: javascript, tutorial
categories: tech
[Parser] 💾 已更新文件: /path/to/my-new-post.md
✅ 扫描完成: 找到 5 篇文章
- 💾 已自动注入 Frontmatter 到新文章
命令:pnpm scan --inject
工作流程:
执行 → 扫描 → 智能注入 → 完成
特点:
--dry-run 预览适用场景:
高级用法:
# 只处理特定目录
pnpm scan --dir content/posts/tech --inject
# 预演模式(不实际写入)
pnpm scan --inject --dry-run
# 不更新数据库索引
pnpm scan --inject --no-update-index
命令:pnpm scan
工作流程:
扫描 → 内存生成 → 更新数据库索引 → 完成
特点:
适用场景:
注意:
pnpm dev
理由:
# 先预览
pnpm scan --inject --dry-run
# 确认无误后执行
pnpm scan --inject
理由:
pnpm scan
理由:
# 1. 创建新文章(无需写 frontmatter)
cat > content/posts/new-post.md << 'EOF'
# 我的新文章
这是一篇新文章...
EOF
# 2. 启动开发环境(自动注入)
pnpm dev
# 输出:
# 📚 开始扫描内容...
# [Parser] 📝 new-post.md 的 Frontmatter 不完整,开始自动生成...
# [Parser] ✅ 自动生成完成,添加字段: title, date, tags...
# [Parser] 💾 已更新文件: content/posts/new-post.md
# ✅ 扫描完成
# 3. 文件已自动更新,包含完整的 frontmatter
cat content/posts/new-post.md
# ---
# title: 我的新文章
# date: '2026-04-03T...'
# 4. 在浏览器中访问 Web UI
# http://localhost:5173
# 1. 检查有多少文章需要注入
pnpm scan --inject --dry-run | grep "添加字段"
# 2. 确认后批量注入
pnpm scan --inject
# 3. 验证结果
pnpm scan --output table
更新日期: 2026-04-03 版本: v1.0