backend:
  name: github
  repo: netlify/netlify-cms
  squash_merges: true
  open_authoring: true

local_backend: true

site_url: https://www.netlifycms.org

publish_mode: editorial_workflow

media_folder: website/static/img
public_folder: /img

docs_collection: &docs_collection
  folder: website/content/docs
  create: true
  summary: '{{weight}} - {{title}}'
  preview_path: 'docs/{{slug}}'
  sortable_fields: ['weight', 'title', 'group']
  fields:
    - label: Section
      name: group
      widget: relation
      collection: settings
      file: docs_sections
      search_fields: ['menu.docs.*.name', 'menu.docs.*.title']
      display_fields: ['menu.docs.*.title']
      value_field: 'menu.docs.*.name'
    - { label: 'Order', name: weight, widget: number }
    - { label: Title, name: title }
    - { label: Body, name: body, widget: markdown }

word_list: &word_list
  fields:
    - label: Extends
      name: extends
      widget: hidden
      default: 'existence'
    - label: Output message
      name: message
      widget: string
    - label: Ignore Case
      name: ignorecase
      widget: boolean
      default: true
      required: false
    - label: Notification Level
      name: level
      widget: select
      default: suggestion
      options:
        - { label: 'Suggestion', value: 'suggestion' }
        - { label: 'Warning', value: 'warning' }
        - { label: 'Error', value: 'error' }
    - label: Entries
      name: tokens
      widget: list

collections:
  - label: Settings
    name: settings
    hide: true
    files:
      - label: Docs Sections
        name: docs_sections
        file: website/site.yml
        fields:
          - label: menu
            name: menu
            widget: object
            fields:
              - label: Sections
                label_singular: Section
                name: docs
                widget: list
                summary: '{{title}} ({{name}})'
                fields:
                  - { label: 'Full Name', name: 'title', widget: 'string' }
                  - { label: 'Summary Name', name: 'name', widget: 'string' }
  - label: Style & Usage Options
    name: linter
    hide: false
    files:
      - <<: *word_list
        label: Acronyms
        name: acronyms
        file: website/src/writing-guide/styles/Avoid/Acronyms.yml
      - <<: *word_list
        label: Adverbs
        name: adverbs
        file: website/src/writing-guide/styles/Avoid/Adverbs.yml
      - <<: *word_list
        label: Archaisms
        name: archaisms
        file: website/src/writing-guide/styles/Avoid/Archaisms.yml
      - <<: *word_list
        label: Cliches
        name: cliches
        file: website/src/writing-guide/styles/Avoid/Cliches.yml
      - <<: *word_list
        label: Hyperbole
        name: hyperbole
        file: website/src/writing-guide/styles/Avoid/Hyperbole.yml
      - <<: *word_list
        label: Indirect Language
        name: indirect
        file: website/src/writing-guide/styles/Avoid/Indirect.yml
      - <<: *word_list
        label: Jargon
        name: jargon
        file: website/src/writing-guide/styles/Avoid/Jargon.yml
      - <<: *word_list
        label: Passive
        name: passive
        file: website/src/writing-guide/styles/Avoid/Passive.yml
      - <<: *word_list
        label: Simplify
        name: simplify
        file: website/src/writing-guide/styles/Avoid/Simplify.yml

  - <<: *docs_collection
    name: docs_intro
    label: 'Docs: Intro'
    filter:
      field: group
      value: Intro
  - <<: *docs_collection
    name: docs_accounts
    label: 'Docs: Account'
    filter:
      field: group
      value: Accounts
  - <<: *docs_collection
    name: docs_configuration
    label: 'Docs: Configuration'
    filter:
      field: group
      value: Configuration
  - <<: *docs_collection
    name: docs_media
    label: 'Docs: Media'
    filter:
      field: group
      value: Media
  - <<: *docs_collection
    name: docs_workflow
    label: 'Docs: Workflow'
    filter:
      field: group
      value: Workflow
  - <<: *docs_collection
    name: docs_collections
    label: 'Docs: Collections'
    filter:
      field: group
      value: Collections
  - <<: *docs_collection
    name: docs_fields
    label: 'Docs: Fields'
    filter:
      field: group
      value: Fields
  - <<: *docs_collection
    name: docs_guides
    label: 'Docs: Guides'
    filter:
      field: group
      value: Guides
  - <<: *docs_collection
    name: docs_customization
    label: 'Docs: Customization'
    filter:
      field: group
      value: Customization
  - <<: *docs_collection
    name: docs_contributing
    label: 'Docs: Contributing'
    filter:
      field: group
      value: Contributing
  - name: widget_docs
    label: 'Docs: Widgets'
    folder: website/content/docs/widgets
    preview_path: 'docs/widgets/{{title}}'
    create: true
    fields:
      - { label: Name, name: title }
      - { label: Label, name: label }
      - { label: Body, name: body, widget: markdown }
  - name: blog
    label: Blog
    label_singular: Post
    folder: website/content/blog
    preview_path: 'blog/{{year}}/{{month}}/{{title}}'
    create: true
    fields:
      - { label: Title, name: title }
      - { label: Author, name: author }
      - { label: Description (for blog list), name: description, widget: text }
      - {
          label: Meta Description (defaults to Description),
          name: meta_description,
          widget: text,
          required: false,
        }
      - { label: Twitter Image, name: twitter_image, widget: image }
      - { label: Date, name: date, widget: date }
      - { label: Body, name: body, widget: markdown }
  - name: community
    label: Community
    files:
      - name: community
        label: Community
        file: website/content/pages/community.md
        preview_path: community
        fields:
          - { label: Title, name: title }
          - { label: Headline, name: headline }
          - { label: Subheading, name: subhead }
          - label: Sections
            name: sections
            widget: list
            fields:
              - { name: title, label: Title }
              - name: channels
                label: Channels
                widget: list
                fields:
                  - { name: title, label: Title }
                  - { name: url, label: URL }
                  - { name: description, label: Description }
  - name: updates
    label: Updates
    files:
      - name: releases
        label: Releases
        file: website/data/updates.yml
        fields:
          - name: updates
            label: Releases
            widget: list
            fields:
              - { name: version, label: Version }
              - { name: date, label: Date, widget: date }
              - { name: description, label: Description }
              - { name: url, label: Url, required: false }
      - name: notifications
        label: Notifications
        file: website/data/notifications.yml
        description: Site-top notifications - publish one at a time
        fields:
          - name: notifications
            label: Notifications
            widget: list
            fields:
              - { label: Title, name: title }
              - { label: Published, name: published, widget: boolean }
              - { label: Loud, name: loud, widget: boolean }
              - { label: Message, name: message, widget: text }
              - { label: URL, name: url }