用内联rst记录的yaml文件的linting/重新格式化工具
yaml4rst的Python项目详细描述
yaml4rst是一个用于yaml文件的linting/checking/reformatting工具,文档包含 内联rst与yaml2rst并行。
它是为了帮助将defaults/main.yml文件保存在 负责DebOps最新的角色,协助写作或 包括新角色。Debops使用Sphinx生成可翻译的角色文档 其中还包括默认的角色变量。请参阅debops/docs了解 细节。
用法
这个程序的典型用例是改进默认的yaml文件 负责的角色。
建议的方法是在存储库中提交所有更改 然后运行:
yaml4rst -e 'ansible_full_role_name=ROLE_OWNER.ROLE_NAME' defaults/main.yml -i
从角色存储库的根目录。一定要更换 ROLE_OWNER.ROLE_NAME具有特定的ansible角色名。
这将检查并重新格式化defaults/main.yml文件。
现在,您可以使用所选的扩散/编辑工具检查重新格式化的文件 并修复yaml4rst可能发出的任何警告。
请参阅tests directory中的input_files和output_files了解 自动测试输入和输出文件的示例。
注意,对于继续使用,yaml4rst是从debops-optimize调用的,当 已安装yaml4rst,因此您可能需要尝试debops-optimize。
功能
检查:
- 合理的变量命名空间
- 未记录的变量
自动修复:
- 未折叠的RST部分
- 未记录的变量(为用户添加一个fixme)
- 未折叠的记录变量
- 没有定义标题的yaml文档
- 变量和节之间的间距
已知限制
不处理具有隐式级别和缺少闭合折叠标记的折叠。
状态:应该是可行的,但目前不需要也不实施。一个 NotImplementedError引发异常,导致cli程序 立即终止,出现错误并参考本节。
解决方法就是用你最喜欢的编辑器 yaml4rst无论如何都会为节和变量添加缺少的折叠。 请参阅Makefile(prepare-real-datatarget),其中有这样一个解决方案 用于集成测试。注意,这并不是完美的 在debops.apt_install测试用例中。
存储库
- GitHub(带有问题跟踪程序的主回购)