使用内联 RST 记录的 YAML 文件的 Linting/重新格式化工具
项目描述
yaml4rst 是一个 linting/checking/reformatting 工具,用于使用内联 RST 记录的 YAML 文件,它与yaml2rst 齐头并进。
编写它是为了帮助保持 DebOps 的 Ansible 角色中的defaults/main.yml文件是最新的,并帮助编写或包含新角色。DebOps 使用 Sphinx 生成 Ansible 角色文档,其中还包括默认角色变量。有关详细信息,请参阅debops/docs。
用法
该程序的典型用例是改进 Ansible 角色的默认 YAML 文件。
推荐的方法是在角色的存储库中提交所有更改,然后运行:
yaml4rst -e 'ansible_full_role_name=ROLE_OWNER.ROLE_NAME' defaults/main.yml -i
从角色存储库的根目录。请务必将 ROLE_OWNER.ROLE_NAME替换为特定的 Ansible 角色名称。
这将检查并重新格式化defaults/main.yml文件。
现在,您可以使用您选择的差异/编辑工具检查重新格式化的文件,并修复yaml4rst可能发出的任何警告。
请参阅测试目录中的input_files和output_files以获取自动测试的输入和输出文件示例。
请注意,为了继续使用 yaml4rst 是在安装 yaml4rst 时从debops-optimize调用的,因此您可能想尝试debops-optimize。
特征
检查:
合理的变量命名空间
未记录的变量
自动修复:
不是折叠的 RST 部分
未记录的变量(为用户添加 FIXME)
非折叠的记录变量
没有定义标题的 YAML 文档
变量和节之间的间距
已知限制
不处理具有隐式级别和缺少关闭折叠标记的折叠。
状态:应该是可行的,但目前不需要也没有实施。引发NotImplementedError异常,导致 CLI 程序立即终止并出现错误并引用本节。
作为解决方法,只需使用您最喜欢的编辑器去掉打开的折叠,因为 yaml4rst 无论如何都会为部分和变量添加缺失的折叠。请参阅Makefile(prepare-real-data目标),其中使用这种变通方法进行集成测试。请注意,这并不完美,如debops.apt_install测试用例所示。
存储库
GitHub(带有问题跟踪器的主要存储库)
文档
执照
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。