backend:
  name: github
  repo: neerajadhav/homepage # Replace with your GitHub repository path
  branch: main # Branch to update (optional; defaults to master)
  base_url: https://www.neerajadhav.in # Base URL for OAuth
  auth_endpoint: api/auth/login

local_backend: true

display_url: https://www.neerajadhav.in
# publish_mode: editorial_workflow

media_folder: 'public/media'
public_folder: '/media'

collections:
  - name: 'essays'
    label: 'Essays'
    label_singular: 'Essay'
    folder: 'data/essays'
    slug: '{{slug}}'
    filter: { field: 'draft', value: false }
    fields:
      - { label: 'Title', name: 'title', widget: 'string' }
      - { label: 'Description', name: 'description', widget: 'text', required: false }
      - { label: 'Publish Date', name: 'pubDate', widget: 'datetime', format: 'YYYY-MM-DD' }
      - { label: 'Draft', name: 'draft', widget: 'boolean', default: false, required: false }
      - { label: 'Discussion Link', name: 'discussionLink', widget: 'string', required: false }
      - { label: 'Category', name: 'category', widget: 'string', required: false }
      - { label: 'Body', name: 'body', widget: 'markdown' }

  - name: 'essay_drafts'
    label: 'Essay drafts'
    label_singular: 'Essay draft'
    folder: 'data/essays'
    create: true
    slug: '{{slug}}'
    filter: { field: 'draft', value: true }
    fields:
      - { label: 'Title', name: 'title', widget: 'string' }
      - { label: 'Description', name: 'description', widget: 'text', required: false }
      - { label: 'Publish Date', name: 'pubDate', widget: 'datetime', format: 'YYYY-MM-DD' }
      - { label: 'Draft', name: 'draft', widget: 'boolean', default: true, required: true }
      - { label: 'Discussion Link', name: 'discussionLink', widget: 'string', required: false }
      - { label: 'Category', name: 'category', widget: 'string', required: false }
      - { label: 'Body', name: 'body', widget: 'markdown' }
  - name: 'settings'
    label: 'Settings'
    delete: false
    files:
      - name: 'navigation'
        label: 'Navigation'
        file: 'data/settings/navigation.json'
        fields:
          - name: 'links'
            label: 'Navigation Links'
            widget: 'list'
            types:
              - name: 'link'
                label: 'Link'
                widget: 'object'
                fields:
                  - { name: 'name', label: 'Name', widget: 'string' }
                  - { name: 'url', label: 'URL', widget: 'string' }
                  - { name: 'icon', label: 'Icon', widget: 'string', required: false }
                  - {
                      name: 'isExternal',
                      label: 'External Link',
                      widget: 'boolean',
                      default: false,
                    }
                  - {
                      name: 'isMixternal',
                      label: 'Mixternal Link',
                      widget: 'boolean',
                      default: false,
                      required: false,
                    }
              - name: 'separator'
                label: 'Separator'
                widget: 'object'
                fields:
                  - { name: 'isSeparator', label: 'Is Separator', widget: 'hidden', default: true }
  - name: 'profile'
    label: 'Profile'
    delete: false
    files:
      - name: 'summary'
        label: 'Summary/Profile'
        file: 'data/resume/summary.json'
        fields:
          - { name: 'title', label: 'Name', widget: 'string' }
          - { name: 'subtitle', label: 'Subtitle', widget: 'string' }
          - { name: 'description', label: 'Description', widget: 'markdown' }
          - name: 'socials'
            label: 'Social Media Accounts'
            widget: 'list'
            fields:
              - { name: 'name', label: 'Platform', widget: 'string' }
              - { name: 'url', label: 'URL', widget: 'string' }
              - { name: 'icon', label: 'Icon Path', widget: 'string' }
              - { name: 'color', label: 'Color Class', widget: 'string' }
              - { name: 'hoverClass', label: 'Hover Class', widget: 'string' }

      - name: 'experience'
        label: 'Experience'
        file: 'data/resume/experience.json'
        fields:
          - name: 'experience'
            label: 'Experience Items'
            widget: 'list'
            fields:
              - { name: 'company', label: 'Company', widget: 'string' }
              - { name: 'position', label: 'Position', widget: 'string' }
              - { name: 'location', label: 'Location', widget: 'string' }
              - { name: 'duration', label: 'Duration', widget: 'string' }
              - { name: 'type', label: 'Type', widget: 'select', options: ['current', 'completed'] }
              - { name: 'description', label: 'Description', widget: 'markdown' }

      - name: 'projects'
        label: 'Projects'
        file: 'data/resume/projects.json'
        fields:
          - name: 'projects'
            label: 'Project Items'
            widget: 'list'
            fields:
              - { name: 'title', label: 'Title', widget: 'string' }
              - { name: 'description', label: 'Description', widget: 'markdown' }
              - { name: 'link', label: 'Link', widget: 'string', required: false }
              - { name: 'thumbnail', label: 'Thumbnail Path', widget: 'image', required: false }
              - {
                  name: 'status',
                  label: 'Status',
                  widget: 'select',
                  options: ['completed', 'in-progress', 'planned'],
                }
              - {
                  name: 'tags',
                  label: 'Tags',
                  widget: 'list',
                  field: { name: 'tag', label: 'Tag', widget: 'string' },
                }
              - {
                  name: 'techStackLogos',
                  label: 'Tech Stack Logos',
                  widget: 'list',
                  field: { name: 'logo', label: 'Logo Path', widget: 'string' },
                  required: false,
                }
              - { name: 'onResume', label: 'Show on Resume', widget: 'boolean', default: false }

      - name: 'education'
        label: 'Education'
        file: 'data/resume/education.json'
        fields:
          - name: 'education'
            label: 'Education Items'
            widget: 'list'
            fields:
              - { name: 'institution', label: 'Institution', widget: 'string' }
              - { name: 'degree', label: 'Degree', widget: 'string' }
              - { name: 'location', label: 'Location', widget: 'string' }
              - { name: 'duration', label: 'Duration', widget: 'string' }
              - { name: 'type', label: 'Type', widget: 'select', options: ['current', 'completed'] }

      - name: 'certifications'
        label: 'Certifications'
        file: 'data/resume/certifications.json'
        fields:
          - name: 'certifications'
            label: 'Certification Items'
            widget: 'list'
            fields:
              - { name: 'name', label: 'Name', widget: 'string' }
              - { name: 'issuer', label: 'Issuer', widget: 'string' }
              - { name: 'date', label: 'Date', widget: 'string' }
              - { name: 'link', label: 'Link', widget: 'string', required: false }
              - { name: 'logo', label: 'Logo Path', widget: 'image', required: false }
              - { name: 'image', label: 'Image Path', widget: 'image', required: false }

      - name: 'volunteering'
        label: 'Volunteering'
        file: 'data/resume/volunteering.json'
        fields:
          - name: 'volunteering'
            label: 'Volunteering Items'
            widget: 'list'
            fields:
              - { name: 'title', label: 'Title', widget: 'string' }
              - { name: 'subtitle', label: 'Subtitle', widget: 'string' }
              - { name: 'duration', label: 'Duration', widget: 'string' }
              - { name: 'location', label: 'Location', widget: 'string' }
              - { name: 'description', label: 'Description', widget: 'markdown' }

      - name: 'languages'
        label: 'Languages'
        file: 'data/resume/languages.json'
        fields:
          - name: 'languages'
            label: 'Languages List'
            widget: 'list'
            fields:
              - { name: 'title', label: 'Language', widget: 'string' }
              - { name: 'subtitle', label: 'Proficiency', widget: 'string' }

      - name: 'skills'
        label: 'Skills'
        file: 'data/resume/skills.json'
        fields:
          - name: 'skills'
            label: 'Skills Categories'
            widget: 'list'
            fields:
              - { name: 'category', label: 'Category', widget: 'string' }
              - { name: 'items', label: 'Skills (comma separated)', widget: 'string' }
  - name: 'books'
    label: 'Books'
    label_singular: 'Book'
    folder: 'data/books'
    extension: 'json'
    format: 'json'
    create: true
    slug: '{{title}}'
    editor:
      preview: false
    fields:
      - { label: 'Title', name: 'title', widget: 'string' }
      - { label: 'Author', name: 'author', widget: 'string' }
      - { label: 'Cover Image', name: 'cover', widget: 'image' }
      - { label: 'Description', name: 'description', widget: 'text' }
      - { label: 'Month', name: 'month', widget: 'string' }
      - { label: 'Year', name: 'year', widget: 'number', value_type: 'int' }
      - { label: 'Category', name: 'category', widget: 'string' }
      - {
          label: 'Status',
          name: 'status',
          widget: 'select',
          options: ['reading', 'completed', 'wishlist'],
          required: false,
        }
      - { label: 'Active', name: 'active', widget: 'boolean', default: true }
      - { label: 'Affiliate Link', name: 'affiliateLink', widget: 'string', required: false }
