5 个版本 (破坏性更新)
0.7.0 | 2023年7月4日 |
---|---|
0.6.0 | 2023年6月21日 |
0.5.0 | 2023年6月21日 |
0.4.1 | 2023年6月9日 |
0.3.0 | 2023年6月8日 |
#2190 在 编码
每月499 次下载
24KB
199 行
Yaml-include
一个通过 !include <path>
标签处理带有包含文档的 yaml 的 CLI 工具。
它也可以与 json 一起工作,请参见 data/simple/other.json
安装
cargo install yaml-include
特性
- 递归包含和解析
yaml
(和json
)文件 - 包含
markdown
和txt
文本文件 - 以
base64
编码的二进制数据包含其他类型。 - 默认情况下,使用
!circular
标签优雅地处理循环引用
用法
帮助
yaml-include --help
A simple cli that output to stdout recursively included data from a yaml file path
Usage: yaml-include [OPTIONS] <FILE_PATH>
Arguments:
<FILE_PATH> main yaml file path to process
Options:
-o, --output-path <OUTPUT_PATH> optional output path (output to stdout if not set)
-p, --panic-on-circular panic on circular reference (default: gracefully handle circular references with !circular tag)
-h, --help Print help
-V, --version Print version
运行
示例
yaml-include data/sample/main.yml > main_inlined.yml
基本上,将这个
main.yml
:
data:
- !include file_a.yml
- !include file_b.yml
file_a.yml
:
something:
- this
- that
file_b.yml
:
other:
- text: !include file_c.txt
- markdown: !include file_d.md
file_c.txt
:
This is some "long" multiline
text file i don't want to edit
inline in a long yaml file
file_d.md
:
# This is some markdown data
## I don't want to edit
- inline
- in a long yaml file
转换为这个
data:
- something:
- this
- that
- other:
- text: |-
This is some long multiline
text i don't want to edit
inline in a long yaml file
- markdown: |
# This is some markdown data
## I don't want to edit
- inline
- in a long yaml file
请参阅 data/sample
依赖项
~5.5–7.5MB
~139K SLoC