A cli tool for processing yaml with include documents through !include <path>
tag.
it kinda works with json as well see data/simple/other.json
cargo install yaml-include
- include and parse recursively
yaml
(andjson
) files - include
markdown
andtxt
text files - include other types as
base64
encoded binary data. - by default handle gracefully circular references with
!circular
tag
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
Ex.:
yaml-include data/sample/main.yml > main_inlined.yml
Basically, turns this:
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
Into that:
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
see data/sample