# Decap CMS 配置
# 文档: https://decapcms.org/docs/configuration-options/

# 本地开发时使用 local_backend（需运行 npx decap-server）
local_backend: true

# 后端配置（Vercel 部署使用 OAuth 认证）
backend:
  name: github
  repo: Ckxkx/huichen
  branch: main
  open_authoring: false
  site_domain: cvpr.zone.id
  base_url: https://cvpr.zone.id
  auth_endpoint: oauth

# 媒体文件配置
media_folder: "public/images/uploads"
public_folder: "/images/uploads"

# 编辑器配置
editor:
  preview: false

# ─── 内容集合 ───
collections:
  # ── 文章 ──
  - name: "posts"
    label: "文章"
    label_singular: "文章"
    folder: "src/content/posts"
    create: true
    slug: "{{slug}}"
    summary: "{{title}} — {{publishedAt | date('YYYY-MM-DD')}}"
    sort: "publishedAt:desc"
    fields:
      - { name: "title", label: "标题", widget: "string" }
      - { name: "description", label: "摘要", widget: "text" }
      - { name: "publishedAt", label: "发布日期", widget: "datetime" }
      - { name: "updatedAt", label: "更新日期", widget: "datetime", required: false }
      - { name: "tags", label: "标签", widget: "list", default: [] }
      - { name: "collection", label: "合集", widget: "string", required: false, hint: "所属合集名称，用于归档分组" }
      - { name: "cover", label: "封面图", widget: "image", required: false, hint: "上传或选择一张封面图片" }
      - { name: "draft", label: "草稿", widget: "boolean", default: false, hint: "草稿状态的文章不会在列表中显示" }
      - { name: "body", label: "正文", widget: "markdown", hint: "支持 Markdown 格式，可直接插入图片和视频" }

  # ── 项目 ──
  - name: "projects"
    label: "项目"
    label_singular: "项目"
    folder: "src/content/projects"
    create: true
    slug: "{{slug}}"
    summary: "{{title}}{{featured}}}"
    sort: "order:desc"
    fields:
      - { name: "title", label: "项目名称", widget: "string" }
      - { name: "description", label: "项目简介", widget: "text" }
      - { name: "cover", label: "封面图", widget: "image", required: false }
      - { name: "techStack", label: "技术栈", widget: "list", default: [] }
      - { name: "background", label: "项目背景", widget: "text", required: false }
      - { name: "contribution", label: "个人贡献", widget: "text", required: false }
      - { name: "architecture", label: "系统架构", widget: "text", required: false }
      - { name: "challenges", label: "核心挑战", widget: "text", required: false }
      - { name: "solutions", label: "解决方案", widget: "text", required: false }
      - { name: "results", label: "项目成果", widget: "text", required: false }
      - { name: "images", label: "项目图片", widget: "list", field: { name: "image", label: "图片", widget: "image" }, required: false }
      - { name: "video", label: "演示视频链接", widget: "string", required: false }
      - { name: "github", label: "GitHub 地址", widget: "string", required: false }
      - { name: "featured", label: "精选项目", widget: "boolean", default: false }
      - { name: "order", label: "排序权重", widget: "number", default: 0, value_type: "int" }
      - { name: "collection", label: "合集", widget: "string", required: false, hint: "所属合集名称，用于归档分组" }
      - { name: "body", label: "项目详情", widget: "markdown", required: false }

  # ── 随想 ──
  - name: "moments"
    label: "随想"
    label_singular: "随想"
    folder: "src/content/moments"
    create: true
    slug: "m{{createdAt | date('YYYYMMDD')}}"
    summary: "{{body | truncate(50)}} — {{createdAt | date('YYYY-MM-DD')}}"
    sort: "createdAt:desc"
    fields:
      - { name: "createdAt", label: "日期", widget: "datetime" }
      - { name: "mood", label: "心情", widget: "string", required: false }
      - { name: "location", label: "地点", widget: "string", required: false }
      - { name: "collection", label: "合集", widget: "string", required: false, hint: "所属合集名称，用于归档分组" }
      - { name: "body", label: "内容", widget: "markdown", hint: "记录即时的想法与生活碎片" }

  # ── 友链 ──
  - name: "friends"
    label: "友链"
    label_singular: "友链"
    folder: "src/content/friends"
    create: true
    slug: "{{slug}}"
    summary: "{{name}} — {{url}}"
    sort: "order:asc"
    fields:
      - { name: "name", label: "名称", widget: "string" }
      - { name: "url", label: "链接", widget: "string" }
      - { name: "description", label: "描述", widget: "text" }
      - { name: "avatar", label: "头像", widget: "image", required: false }
      - { name: "collection", label: "合集", widget: "string", required: false, hint: "所属合集名称，用于分组" }
      - { name: "order", label: "排序权重", widget: "number", default: 0, value_type: "int" }
