【问题标题】:YAMLSyntaxError: All collection items must start at the same column at line X column XYAMLSyntaxError:所有集合项必须从 X 行 X 列的同一列开始
【发布时间】:2021-02-26 00:03:02
【问题描述】:

我在尝试运行 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' }

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

【问题讨论】:

  • -name:更改为- name:

标签: syntax yaml jekyll config indentation


【解决方案1】:

就像评论中提到的Ross,你在YAML中有三倍-name:而不是- name:,所以只需在 - 和键名之间添加空格。

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

【讨论】:

  • 还要检查制表符和空格是否没有混合用于缩进。这就是我的问题。
猜你喜欢
  • 2020-08-17
  • 1970-01-01
  • 2017-10-23
  • 1970-01-01
  • 2016-07-04
  • 1970-01-01
  • 1970-01-01
  • 2018-08-13
  • 1970-01-01
相关资源
最近更新 更多