Yaml-include

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

Install

shell cargo install yaml-include

Features

Usage

Help

shell yaml-include --help

```yaml A simple cli that output to stdout recursively included data from a yaml file path

Usage: yaml-include [OPTIONS]

Arguments: main yaml file path to process

Options: -o, --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 ```

Run

Ex.:

shell yaml-include data/sample/main.yml > main_inlined.yml

Basically, turns this:

main.yml:

yaml data: - !include file_a.yml - !include file_b.yml

file_a.yml:

yaml something: - this - that

file_b.yml:

yaml other: - text: !include file_c.txt - markdown: !include file_d.md

file_c.txt:

yaml This is some "long" multiline text file i don't want to edit inline in a long yaml file

file_d.md:

```markdown

This is some markdown data

I don't want to edit

Into that:

```yaml 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