# local_backend: true

backend:
  name: github
  repo: z00rat/hashem.prof
  branch: deploy
  base_url: https://hashem.prof
  auth_endpoint: auth
  site_domain: hashem.prof

media_folder: 'src/assets/images'
public_folder: 'src/assets/images'
publish_mode: editorial_workflow

slug:
  encoding: 'unicode'
  clean_accents: true
  sanitize_replacement: '-'

collections:
  # HOME: personal-info
  - name: 'home'
    label: 'Home'
    folder: 'src/content/home'
    create: false
    extension: 'mdx'
    format: 'frontmatter'
    fields:
      # Personal Info
      - {
          label: 'English Name',
          name: 'nameEnglish',
          widget: 'string',
          required: false,
        }
      - {
          label: 'Bengali Name',
          name: 'nameBengali',
          widget: 'string',
          required: false,
        }
      - {
          label: 'Affiliation',
          name: 'affiliation',
          widget: 'string',
          required: false,
        }

      # Contacts
      - { label: 'Mobile', name: 'mobile', widget: 'string', required: false }
      - { label: 'PABX', name: 'pabx', widget: 'string', required: false }
      - { label: 'Fax', name: 'fax', widget: 'string', required: false }
      - { label: 'Email', name: 'email', widget: 'string', required: false }
      - { label: 'Website', name: 'website', widget: 'string', required: false }
      - {
          label: 'Facebook',
          name: 'facebook',
          widget: 'string',
          required: false,
        }
      - {
          label: 'LinkedIn',
          name: 'linkedin',
          widget: 'string',
          required: false,
        }
      - {
          label: 'Google Scholar',
          name: 'googleScholar',
          widget: 'string',
          required: false,
        }
      - {
          label: 'ResearchGate',
          name: 'researchGate',
          widget: 'string',
          required: false,
        }

      # Motto
      - { label: 'Quote', name: 'quote', widget: 'string', required: false }
      - { label: 'Source', name: 'source', widget: 'string', required: false }

      # Tags
      - {
          label: 'Undergraduate',
          name: 'undergraduate',
          widget: 'list',
          required: false,
        }
      - {
          label: 'Postgraduate',
          name: 'postgraduate',
          widget: 'list',
          required: false,
        }
      - {
          label: 'Interests',
          name: 'interests',
          widget: 'list',
          required: false,
        }

      # About / generic body
      - { label: 'Body', name: 'body', widget: 'markdown', required: false }

  # CAREER
  - name: 'career-education'
    label: 'Career / Education'
    folder: 'src/content/career/education'
    create: true
    extension: 'mdx'
    format: 'frontmatter'
    fields:
      - { label: 'Degree Type', name: 'degreeType', widget: 'string' }
      - { label: 'Institution', name: 'institution', widget: 'string' }
      - {
          label: 'Department',
          name: 'department',
          widget: 'string',
          required: false,
        }
      - { label: 'Location', name: 'location', widget: 'string' }
      - { label: 'From', name: 'from', widget: 'string' }
      - { label: 'To', name: 'to', widget: 'string', required: false }
      - {
          label: 'Thesis Title',
          name: 'thesisTitle',
          widget: 'string',
          required: false,
        }
      - {
          label: 'Dissertation Title',
          name: 'dissertationTitle',
          widget: 'string',
          required: false,
        }
      - { label: 'Body', name: 'body', widget: 'markdown', required: false }

  - name: 'career-academic-experience'
    label: 'Career / Academic Experience'
    folder: 'src/content/career/academic-experience'
    create: true
    extension: 'mdx'
    format: 'frontmatter'
    fields:
      - { label: 'Title', name: 'title', widget: 'string' }
      - {
          label: 'Department',
          name: 'department',
          widget: 'string',
          required: false,
        }
      - { label: 'Institution', name: 'institution', widget: 'string' }
      - { label: 'Location', name: 'location', widget: 'string' }
      - { label: 'From', name: 'from', widget: 'string' }
      - { label: 'To', name: 'to', widget: 'string', required: false }
      - {
          label: 'Description',
          name: 'description',
          widget: 'text',
          required: false,
        }
      - { label: 'Body', name: 'body', widget: 'markdown', required: false }

  - name: 'career-administrative-experience'
    label: 'Career / Administrative Experience'
    folder: 'src/content/career/administrative-experience'
    create: true
    extension: 'mdx'
    format: 'frontmatter'
    fields:
      - { label: 'Position', name: 'position', widget: 'string' }
      - {
          label: 'Department',
          name: 'department',
          widget: 'string',
          required: false,
        }
      - { label: 'Institution', name: 'institution', widget: 'string' }
      - {
          label: 'Location',
          name: 'location',
          widget: 'string',
          required: false,
        }
      - { label: 'From', name: 'from', widget: 'string' }
      - { label: 'To', name: 'to', widget: 'string', required: false }
      - label: 'Responsibilities'
        name: 'responsibilities'
        widget: 'list'
        required: false
      - { label: 'Body', name: 'body', widget: 'markdown', required: false }

  - name: 'career-professional-experience'
    label: 'Career / Professional Experience'
    folder: 'src/content/career/professional-experience'
    create: true
    extension: 'mdx'
    format: 'frontmatter'
    fields:
      - { label: 'Role', name: 'role', widget: 'string' }
      - { label: 'Organization', name: 'organization', widget: 'string' }
      - {
          label: 'Location',
          name: 'location',
          widget: 'string',
          required: false,
        }
      - { label: 'From', name: 'from', widget: 'string' }
      - { label: 'To', name: 'to', widget: 'string', required: false }
      - { label: 'Description', name: 'description', widget: 'text' }
      - {
          label: 'Achievements',
          name: 'achievements',
          widget: 'list',
          required: false,
        }
      - { label: 'Body', name: 'body', widget: 'markdown', required: false }

  - name: 'career-memberships'
    label: 'Career / Memberships'
    folder: 'src/content/career/memberships'
    create: true
    extension: 'mdx'
    format: 'frontmatter'
    fields:
      - { label: 'Organization', name: 'organization', widget: 'string' }
      - { label: 'Type', name: 'type', widget: 'string' }
      - { label: 'ID', name: 'id', widget: 'string', required: false }
      - { label: 'Body', name: 'body', widget: 'markdown', required: false }

  - name: 'career-committees'
    label: 'Career / Committees'
    folder: 'src/content/career/committees'
    create: true
    extension: 'mdx'
    format: 'frontmatter'
    fields:
      - { label: 'Role', name: 'role', widget: 'string' }
      - { label: 'Organization', name: 'organization', widget: 'string' }
      - {
          label: 'Description',
          name: 'description',
          widget: 'text',
          required: false,
        }
      - { label: 'From', name: 'from', widget: 'string', required: false }
      - { label: 'To', name: 'to', widget: 'string', required: false }
      - { label: 'Body', name: 'body', widget: 'markdown', required: false }

  # WORK
  - name: 'work-publications'
    label: 'Work / Publications'
    folder: 'src/content/work/publications'
    create: true
    extension: 'mdx'
    format: 'frontmatter'
    sortable_fields: ['date', 'title']
    fields:
      - { label: 'Title', name: 'title', widget: 'string' }
      - label: 'Type'
        name: 'type'
        widget: 'select'
        options:
          [
            'journal',
            'conference',
            'book',
            'book-chapter',
            'poster',
            'magazine',
          ]
      - label: 'Authors'
        name: 'authors'
        widget: 'list'
        field: { label: 'Author', name: 'author', widget: 'string' }
      - label: 'Date'
        name: 'date'
        widget: 'datetime'
        date_format: 'YYYY-MM-DD'
        time_format: false
        format: 'YYYY-MM-DD'
        picker_utc: true
      - { label: 'Venue', name: 'venue', widget: 'string' }
      - { label: 'Link', name: 'link', widget: 'string', required: false }
      - label: 'Status'
        name: 'status'
        widget: 'select'
        options: ['published', 'accepted', 'in-press']
        required: false
      - { label: 'Tags', name: 'tags', widget: 'list', required: false }
      - { label: 'Body', name: 'body', widget: 'markdown', required: false }

  - name: 'work-awards'
    label: 'Work / Awards'
    folder: 'src/content/work/awards'
    create: true
    extension: 'mdx'
    format: 'frontmatter'
    fields:
      - { label: 'Title', name: 'title', widget: 'string' }
      - { label: 'Year', name: 'year', widget: 'number' }
      - {
          label: 'Description',
          name: 'description',
          widget: 'text',
          required: false,
        }
      - { label: 'Event', name: 'event', widget: 'string', required: false }
      - {
          label: 'Organization',
          name: 'organization',
          widget: 'string',
          required: false,
        }
      - { label: 'Body', name: 'body', widget: 'markdown', required: false }

  - name: 'work-thesis-supervision'
    label: 'Work / Thesis Supervision'
    folder: 'src/content/work/thesis-supervision'
    create: true
    extension: 'mdx'
    format: 'frontmatter'
    fields:
      - { label: 'Thesis Title', name: 'thesisTitle', widget: 'string' }
      - { label: 'Degree Type', name: 'degreeType', widget: 'string' }
      - {
          label: 'Student Name',
          name: 'studentName',
          widget: 'string',
          required: false,
        }
      - { label: 'Year', name: 'year', widget: 'number' }
      - label: 'Status'
        name: 'status'
        widget: 'select'
        options: ['completed', 'ongoing']
        default: 'completed'
      - { label: 'Body', name: 'body', widget: 'markdown', required: false }

  - name: 'gallery'
    label: 'Gallery'
    folder: 'src/content/gallery'
    create: true
    extension: 'mdx'
    format: 'frontmatter'
    fields:
      - { label: 'Title', name: 'title', widget: 'string' }
      - {
          label: 'Description (supports Markdown)',
          name: 'description',
          widget: 'text',
        }
      - label: 'Date'
        name: 'date'
        widget: 'datetime'
        date_format: 'YYYY-MM-DD'
        time_format: false
        format: 'YYYY-MM-DD'
        picker_utc: true

      - label: 'Location'
        name: 'location'
        widget: 'object'
        fields:
          - { label: 'City', name: 'city', widget: 'string' }
          - { label: 'Country', name: 'country', widget: 'string' }
          - label: 'Coordinates (GeoJSON)'
            name: 'coordinates'
            widget: 'map'
            type: 'Point'
            required: false
            default: '{"type":"Point","coordinates":[90.399452,23.777176]}'

      - label: 'Images'
        name: 'images'
        widget: 'list'
        field: { label: 'Image', name: 'image', widget: 'image' }
      - {
          label: 'Featured Image',
          name: 'featuredImage',
          widget: 'image',
          required: false,
        }
      - { label: 'Body', name: 'body', widget: 'markdown', required: false }
