YAML文件插入html代码导致的语法错误
错误
1 | ERROR Process failed: _data/widget.yml |
原因
例如
1 | top: |
在这里面
为hexo框架构建网站是向侧边栏添加一段html代码
代码中却含有 background: #bec7cb;
将误认为background以YAML语法对应#bec7cb
但是其位置位于top下的html:中
如果background同样为top下于html,icon为同等地位时正确的代码应该是这样的
top:
- class_name:
id_name:
name:
icon: fas fa-desktop
html:
- <style>
.cp-weather {
background: #bec7cb;
}
省略为
top:
- class_name:
id_name:
name:
icon: fas fa-desktop
html: ......
background: #bec7cb;
......
所以生成器认为此次为background缩进错误
因为yaml语法定位为 " : "
错误指向甚至有位于 " : "下
于是报错:
ERROR Process failed: _data/widget.yml
YAMLException: bad indentation of a sequence entry (41:31)
错误进程失败:_data/widget.yml
YAMLException:序列条目的不良缩进 (41:31)
错误指向的是html代码中的一个 :
是YAML语法错误导致的问题。
请注意在YAML文件中正确缩进序列(sequence)的条目。
来自chatGPT的解释
错误提示中的错误原因是YAML语法中的错误缩进。在YAML文件中,缩进非常重要,它用于表示数据结构之间的层次关系。在您的情况下,错误发生在第41行,因为它没有正确缩进。
根据您提供的代码片段,看起来您正在编辑一个YAML文件,其中包含一系列条目。在YAML中,序列(sequence)是由一个连字符 -
开始,并且其后的条目需要正确缩进。
根据错误消息,缩进问题发生在第41行的 background: #bec7cb;
这一行。您需要确保该行与前一行的缩进级别相同,以保持正确的语法结构。例如,您可以将该行的缩进与前一行的 cp-weather
属性相同,像这样:
1 | 41 | cp-weather: |
请注意,YAML文件对缩进使用空格,而不是制表符。在这个示例中,我使用了4个空格来缩进该行,以与前一行的缩进级别相匹配。
确保在整个YAML文件中使用一致的缩进,以避免语法错误。如果您的YAML文件中还有其他错误,可以根据错误消息来解决它们。
解决方法
top:
- class_name:
id_name:
name:
icon: fas fa-desktop
html:
- |
<style>
.cp-weather {
background: #bec7cb;
}
......
请注意,我在插入的HTML代码块前添加了|以保持代码块的格式。您可以将这段YAML代码添加到您的配置文件中,确保正确缩进每个条目。这样就可以将实时天气的HTML代码插入到指定的位置。
使用
- |
......
的方式告诉计算机
此次html后的均为插入的代码
是html的格式而不是yaml的语法格式
解决方式即
1 | html: |
相关信息
时间:2023/7/1
平台:win11/hexo: 6.3.0
错误:ERROR Process failed: _data/widget.yml
YAMLException: bad indentation of a sequence entry
改后:
1 | top: |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 polar-bear~Blog!
评论