目录结构

Travel 模块同时使用 MDX 和 JSON:
content/travel/
  index.json
  hero-section.json
  2023-california-highway-1/
    index.mdx
    manifest.json
    assets/

文件职责

  • index.json:旅行列表元信息(标题、地点、日期、封面、状态)
  • hero-section.json:首页 Travel Hero 背景图配置
  • <slug>/index.mdx:详情正文与 frontmatter
  • <slug>/manifest.json:图片清单(画廊渲染依赖)

Frontmatter 字段

lib/travel/frontmatter.ts 校验字段:
---
title: "加州一号公路"
subtitle: "在海岸线追逐落日"
location: "加利福尼亚, 美国"
dateStart: "2023-08-18"
dateEnd: "2023-08-22"
theme: "california-roadtrip"
status: "published" # draft | published | archived
tags: "公路旅行,海岸,夏季"
heroGallery: "hero"
heroImageId: "hero-01"
---

发布流程

你需要同时维护目录内 index.mdx 和顶层 index.json
  1. 新建 content/travel/<slug>/index.mdx
  2. 补充或更新 content/travel/<slug>/manifest.json
  3. content/travel/index.json 增加该条目
  4. 运行 npm run content:sync:dry
  5. 运行 npm run content:sync
  6. 验证 /travel/travel/<slug>

状态与排序

  • 列表页只展示 published
  • 列表默认按日期倒序
  • index.json 中的数据可覆盖部分 MDX 字段显示

关键注意事项

Travel 模块同步时会读取 manifest.json。如果文件缺失,虽然可容错,但你可能在详情页看到画廊不完整。
同步逻辑会把数据库中已不存在目录的 travel 文章标记为 ARCHIVED