我正在使用以下linter来检查我的yml是否有效:http://www.yamllint.com/
我尝试了内联注释,但它们已被删除.我在这里阅读了规范http://www.yaml.org/spec/1.2/spec.html#id2780069
我是否更正,以下内容实际上是有效的,并且删除评论后,linting网站是错误的?
cache:
paths:
- node_modules/ # some comment here
Run Code Online (Sandbox Code Playgroud)
你的来源是正确的.如果你想保留评论来运行这样的检查,或者重新格式化保留评论,那么使用基于的小型Python程序ruamel.yaml,它可以保留你对往返的评论并规范化缩进(免责声明:我是作者ruamel.yaml) :
import sys
from ruamel.yaml import round_trip_dump
from ruamel.yaml.util import load_yaml_guess_indent
with open(sys.argv[1]) as fp:
data, ind, bsi = load_yaml_guess_indent(fp)
round_trip_dump(data, sys.stdout, indent=ind, block_seq_indent=bsi)
Run Code Online (Sandbox Code Playgroud)
只需在命令行上提供输入文件作为参数.
这比所有基于Web的检查器都有一个优势,即您可能的敏感数据不会被"发布".它还具有优于yamllint.com其他网站的优势,它支持YAML 1.2.yamllint.com仅支持YAML 1.1,如果您使用显式YAML文档指令进行尝试,则可以看到:
%YAML 1.2
---
a: 0o7
...
Run Code Online (Sandbox Code Playgroud)
该站点抛出了不支持该版本的错误.这比例如http://yaml-online-parser.appspot.com/更好(指令被忽略,解析好像是YAML 1.1,八进制整数标量就好像它是一个字符串标量)或半成熟的实现YAML在http://beautifytools.com/yaml-validator.php(错误:无法解析))
| 归档时间: |
|
| 查看次数: |
6481 次 |
| 最近记录: |