backend:
  name: github
  repo: "nightt5879/DoubleDuckLab"
  branch: "main"
  base_url: "https://doubleducklab-cms-oauth.scnu2sysuyyj.workers.dev"
  auth_endpoint: auth
  site_domain: "doubleducklab.pages.dev"
publish_mode: editorial_workflow
media_folder: public/uploads
public_folder: /uploads
i18n:
  structure: multiple_files
  locales: [zh, en]
  default_locale: zh
collections:
  - name: news
    label: News
    label_singular: News Item
    folder: src/content/news
    create: true
    delete: true
    extension: md
    format: frontmatter
    identifier_field: slug
    slug: "{{year}}-{{month}}-{{day}}-{{slug}}"
    summary: "{{slug}} · {{date}}"
    i18n: true
    editor:
      preview: false
    fields:
      - label: Slug
        name: slug
        widget: string
        i18n: duplicate
        hint: Use a short lowercase slug that starts with a letter. Do not include the date; Decap prefixes the selected date for new entries. Keep the prefilled value when editing an existing entry.
        pattern:
          - '^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$'
          - 'Start with a lowercase letter, then use lowercase letters, numbers, and hyphens only.'
      - label: Date
        name: date
        widget: string
        i18n: duplicate
        hint: Use YYYY-MM-DD.
        pattern:
          - '^\d{4}-\d{2}-\d{2}$'
          - 'Date must use YYYY-MM-DD.'
      - label: Title
        name: title
        widget: object
        i18n: true
        fields:
          - label: Chinese Title
            name: zh
            widget: string
            i18n: duplicate
          - label: English Title
            name: en
            widget: string
            i18n: duplicate
      - label: "Body"
        name: body
        widget: markdown
        i18n: true

  - name: members
    label: Members
    label_singular: Member
    folder: src/content/members
    create: true
    delete: true
    extension: md
    format: frontmatter
    identifier_field: id
    slug: "{{slug}}"
    summary: "{{id}} · {{name.zh}}"
    editor:
      preview: false
    fields:
      - label: "ID"
        name: id
        widget: string
        hint: Use the same lowercase id as the generated filename, for example alice-phd.
        pattern:
          - '^[a-z0-9]+(?:-[a-z0-9]+)*$'
          - 'Use lowercase letters, numbers, and hyphens only.'
      - label: "Name"
        name: name
        widget: object
        fields:
          - label: "Chinese"
            name: zh
            widget: string
          - label: "English"
            name: en
            widget: string
      - label: "Role"
        name: role
        widget: object
        fields:
          - label: "Chinese"
            name: zh
            widget: string
          - label: "English"
            name: en
            widget: string
      - label: "Status"
        name: status
        widget: object
        required: false
        fields:
          - label: "Chinese"
            name: zh
            widget: string
          - label: "English"
            name: en
            widget: string
      - label: "Research Area"
        name: area
        widget: object
        fields:
          - label: "Chinese"
            name: zh
            widget: string
          - label: "English"
            name: en
            widget: string
      - label: "Avatar Path"
        name: avatar
        widget: string
        required: false
      - label: "Bio"
        name: bio
        widget: object
        required: false
        fields:
          - label: "Chinese"
            name: zh
            widget: string
          - label: "English"
            name: en
            widget: string
      - label: "Links"
        name: links
        widget: object
        required: false
        fields:
          - label: "Google Scholar URL"
            name: scholar
            widget: string
            required: false
          - label: "GitHub URL"
            name: github
            widget: string
            required: false
          - label: "Homepage URL"
            name: homepage
            widget: string
            required: false
          - label: "Email"
            name: email
            widget: string
            required: false

  - name: papers
    label: Papers
    label_singular: Paper
    folder: src/content/papers
    create: true
    delete: true
    extension: md
    format: frontmatter
    identifier_field: title
    slug: "{{year}}-{{slug}}"
    summary: "{{year}} · {{title}}"
    editor:
      preview: false
    fields:
      - label: "Year"
        name: year
        widget: number
        value_type: int
        min: 1900
        max: 2100
      - label: "Title"
        name: title
        widget: string
      - label: "Venue"
        name: venue
        widget: string
      - label: "Authors"
        name: authors
        widget: string
        required: false
      - label: "Abstract"
        name: abstract
        widget: markdown
        required: false
      - label: "Links"
        name: links
        widget: object
        required: false
        fields:
          - label: "Online URL"
            name: online
            widget: string
            required: false
          - label: "PDF URL"
            name: pdf
            widget: string
            required: false
          - label: "Project URL"
            name: project
            widget: string
            required: false
          - label: "Code URL"
            name: code
            widget: string
            required: false
      - label: "BibTeX"
        name: bibtex
        widget: text
        required: false
      - label: "Body"
        name: body
        widget: markdown
        required: false

  - name: join
    label: Recruitment & Collaboration
    label_singular: Recruitment Page
    delete: false
    editor:
      preview: false
    files:
      - label: "Recruitment Overview (Chinese)"
        name: recruitment_overview_cn
        file: src/content/join/recruitment/overview_cn.md
        fields:
          - label: "Title"
            name: title
            widget: string
          - label: "Body"
            name: body
            widget: markdown
      - label: "Recruitment Overview (English)"
        name: recruitment_overview_en
        file: src/content/join/recruitment/overview_en.md
        fields:
          - label: "Title"
            name: title
            widget: string
          - label: "Body"
            name: body
            widget: markdown

  - name: projects
    label: Projects
    label_singular: Project File
    delete: false
    editor:
      preview: false
    files:
      - label: "labsite-pipeline Overview (Chinese)"
        name: labsite_pipeline_overview_cn
        file: "src/content/projects/labsite-pipeline/overview_cn.md"
        fields:
          - label: "Title"
            name: title
            widget: string
          - label: "Tag"
            name: tag
            widget: string
            required: false
          - label: "Time"
            name: time
            widget: string
            required: false
          - label: "Status"
            name: status
            widget: string
          - label: "Links"
            name: links
            widget: object
            required: false
            fields:
              - label: "Repository URL"
                name: repo
                widget: string
                required: false
              - label: "Demo URL"
                name: demo
                widget: string
                required: false
              - label: "Paper URL"
                name: paper
                widget: string
                required: false
          - label: "Body"
            name: body
            widget: markdown
      - label: "labsite-pipeline Overview (English)"
        name: labsite_pipeline_overview_en
        file: "src/content/projects/labsite-pipeline/overview_en.md"
        fields:
          - label: "Title"
            name: title
            widget: string
          - label: "Tag"
            name: tag
            widget: string
            required: false
          - label: "Time"
            name: time
            widget: string
            required: false
          - label: "Status"
            name: status
            widget: string
          - label: "Links"
            name: links
            widget: object
            required: false
            fields:
              - label: "Repository URL"
                name: repo
                widget: string
                required: false
              - label: "Demo URL"
                name: demo
                widget: string
                required: false
              - label: "Paper URL"
                name: paper
                widget: string
                required: false
          - label: "Body"
            name: body
            widget: markdown
      - label: "labsite-pipeline Background (Chinese)"
        name: labsite_pipeline_background_cn
        file: "src/content/projects/labsite-pipeline/background_cn.md"
        fields:
          - label: "Body"
            name: body
            widget: markdown
      - label: "labsite-pipeline Background (English)"
        name: labsite_pipeline_background_en
        file: "src/content/projects/labsite-pipeline/background_en.md"
        fields:
          - label: "Body"
            name: body
            widget: markdown
      - label: "multimodal-tutor Overview (Chinese)"
        name: multimodal_tutor_overview_cn
        file: "src/content/projects/multimodal-tutor/overview_cn.md"
        fields:
          - label: "Title"
            name: title
            widget: string
          - label: "Tag"
            name: tag
            widget: string
            required: false
          - label: "Time"
            name: time
            widget: string
            required: false
          - label: "Status"
            name: status
            widget: string
          - label: "Links"
            name: links
            widget: object
            required: false
            fields:
              - label: "Repository URL"
                name: repo
                widget: string
                required: false
              - label: "Demo URL"
                name: demo
                widget: string
                required: false
              - label: "Paper URL"
                name: paper
                widget: string
                required: false
          - label: "Body"
            name: body
            widget: markdown
      - label: "multimodal-tutor Overview (English)"
        name: multimodal_tutor_overview_en
        file: "src/content/projects/multimodal-tutor/overview_en.md"
        fields:
          - label: "Title"
            name: title
            widget: string
          - label: "Tag"
            name: tag
            widget: string
            required: false
          - label: "Time"
            name: time
            widget: string
            required: false
          - label: "Status"
            name: status
            widget: string
          - label: "Links"
            name: links
            widget: object
            required: false
            fields:
              - label: "Repository URL"
                name: repo
                widget: string
                required: false
              - label: "Demo URL"
                name: demo
                widget: string
                required: false
              - label: "Paper URL"
                name: paper
                widget: string
                required: false
          - label: "Body"
            name: body
            widget: markdown
      - label: "multimodal-tutor Background (Chinese)"
        name: multimodal_tutor_background_cn
        file: "src/content/projects/multimodal-tutor/background_cn.md"
        fields:
          - label: "Body"
            name: body
            widget: markdown
      - label: "multimodal-tutor Background (English)"
        name: multimodal_tutor_background_en
        file: "src/content/projects/multimodal-tutor/background_en.md"
        fields:
          - label: "Body"
            name: body
            widget: markdown
      - label: "project-orion Overview (Chinese)"
        name: project_orion_overview_cn
        file: "src/content/projects/project-orion/overview_cn.md"
        fields:
          - label: "Title"
            name: title
            widget: string
          - label: "Tag"
            name: tag
            widget: string
            required: false
          - label: "Time"
            name: time
            widget: string
            required: false
          - label: "Status"
            name: status
            widget: string
          - label: "Links"
            name: links
            widget: object
            required: false
            fields:
              - label: "Repository URL"
                name: repo
                widget: string
                required: false
              - label: "Demo URL"
                name: demo
                widget: string
                required: false
              - label: "Paper URL"
                name: paper
                widget: string
                required: false
          - label: "Body"
            name: body
            widget: markdown
      - label: "project-orion Overview (English)"
        name: project_orion_overview_en
        file: "src/content/projects/project-orion/overview_en.md"
        fields:
          - label: "Title"
            name: title
            widget: string
          - label: "Tag"
            name: tag
            widget: string
            required: false
          - label: "Time"
            name: time
            widget: string
            required: false
          - label: "Status"
            name: status
            widget: string
          - label: "Links"
            name: links
            widget: object
            required: false
            fields:
              - label: "Repository URL"
                name: repo
                widget: string
                required: false
              - label: "Demo URL"
                name: demo
                widget: string
                required: false
              - label: "Paper URL"
                name: paper
                widget: string
                required: false
          - label: "Body"
            name: body
            widget: markdown
      - label: "project-orion Background (Chinese)"
        name: project_orion_background_cn
        file: "src/content/projects/project-orion/background_cn.md"
        fields:
          - label: "Body"
            name: body
            widget: markdown
      - label: "project-orion Background (English)"
        name: project_orion_background_en
        file: "src/content/projects/project-orion/background_en.md"
        fields:
          - label: "Body"
            name: body
            widget: markdown

