YAMLSyntaxError:所有集合项必须从第 X 行第 X 列的同一列开始

问题描述 投票:0回答:1

我在尝试运行 netlify CMS 时收到此错误。

Error loading the CMS configuration
Config Errors:
YAMLSyntaxError: All collection items must start at the same column at line 71, column 5:

  - name: 'data'
    ^^^^^^^^^^^^…
Check your config.yml file.

这是我的 config.yml 文件。其他一切都工作正常,但是当尝试访问管理员时,我抛出了该错误。我检查了身份,一切对我来说似乎都很好。检查了第 51 行,但找不到语法错误是什么。

---
---

collections:

  - name: 'blog'
    label: 'Posts'
    folder: '_posts'
    create: true
    slug: '{{"{{year"}}}}-{{"{{month"}}}}-{{"{{day"}}}}-{{"{{slug"}}}}'
    fields:
      - { label: 'Layout', name: 'layout', widget: 'hidden', default: 'post' }
      - { label: 'Title', name: 'title', widget: 'string' }
      - { label: 'Date', name: 'date', widget: 'date', format: 'YYYY-MM-DD' }
      - { label: 'Description', name: 'description', widget: 'string' }
      - { label: 'Author', name: 'author', widget: 'string' }
      - { label: 'Excerpt', name: 'excerpt', widget: 'string' }
      - { label: 'Image', name: 'image', widget: 'image' }
      - { label: 'Thumbnail', name: 'thumbnail', widget: 'image' }
      - {
          label: 'Image credit',
          name: 'imageCredit',
          widget: 'string',
          required: false,
        }
      - { label: 'Type', name: 'type', widget: 'hidden', default: 'article' }
      - { label: 'Keywords', name: 'keywords', widget: 'string' }
      - { label: 'Tags', name: 'tags', widget: 'string' }
      - { label: 'Hidden', name: 'hidden', widget: 'boolean', default: false }
      - { label: 'Body', name: 'body', widget: 'markdown' }

  - name: 'job_openings'
    label: 'Job Openings'
    folder: '_job_openings'
    create: true
    slug: '{{"{{year"}}}}-{{"{{month"}}}}-{{"{{day"}}}}-{{"{{slug"}}}}'
    fields:
      - { label: 'Layout', name: 'layout', widget: 'hidden', default: 'job-opening' }
      - { label: 'Title', name: 'title', widget: 'string' }
      - { label: 'Location', name: 'location', widget: 'string', default: 'Remote' }
      - {
          label: 'Time',
          name: 'time',
          widget: 'select',
          options: ['Full Time', 'Half-Time / Hourly'],
        }
      - { label: 'Description', name: 'description', widget: 'text' }
      - { label: 'Salary range', name: 'salaryRange', widget: 'string', required: false }
      - label: 'Responsibilities'
        name: 'responsibilities'
        widget: 'list'
        field: {label: 'Responsibility', name: 'responsibility', widget: 'string'}
      - label: 'Requirements'
        name: 'requirements'
        widget: 'list'
        field: {label: 'Requirement', name: 'requirement', widget: 'string'}
      - { label: 'Hidden', name: 'hidden', widget: 'boolean', default: false }
  

  - name: 'data'
    label: 'Data'
    editor:
      preview: false
    files:
      - name: 'departments'
        label: 'Departments'
        file: '_data/departments.json'
        fields:
          - name: 'data'
            label: 'Departments'
            widget: 'list'
            fields:
              - { label: 'Name', name: 'name', widget: 'string' }
              - {
                  label: 'Avatar',
                  name: 'avatar',
                  widget: 'image',
                  required: false,
                }
      
      -name: 'career-pathways'          
        label: 'Pathways'
        file: '_data/career-pathways.json'
        fields:
          -name: 'data'
            label: 'Guilds'
            widget: 'list'
            fields:
              - { label: 'Name', name: 'name', widget: 'string' }
              -name: 'levels'
                label: 'Levels'
                widget: 'list'
                fields:
                  - { label: 'Title', name: 'title', widget: 'string' }
                  - { label: 'Type', name: 'type', widget: 'string' }

再次,一切正常。我也可以访问这些集合。真的不知道是什么原因造成的。

syntax yaml jekyll config indentation
1个回答
7
投票

就像评论中提到的

Ross
一样,在
YAML
中你有 3 个
-name:
而不是 - name:,所以只需在 - 和键名之间添加空格即可。

没有行号。但是从底部开始的三个。

© www.soinside.com 2019 - 2024. All rights reserved.