Skip to content

Command-line utility to juggle easily between JSON and YAML

License

Notifications You must be signed in to change notification settings

yannoff/yamltools

Repository files navigation

yannoff/yamltools

The YAML Tools Project: A command-line swiss-knife for YAML, written in PHP.

Latest Stable Version Total Downloads License

Requirements

Installation

Quick install

Option A: As a composer global package

The yamltools phar may be installed as a global package using composer or offenbach.

composer global require yannoff/yamltools

or

offenbach global require yannoff/yamltools

The $COMPOSER_HOME/vendor/bin directory have to be in the PATH system-wide environment variable.

Option B: Manual download

Get the latest release and install it

curl -Lo /usr/bin/yamltools https://github.com/yannoff/yamltools/releases/latest/download/yamltools
chmod +x /usr/bin/yamltools

The /usr/bin/yamltools path is just an example, fell free to replace by any custom binary file path.

Advanced install

  1. Clone or fetch a zipball from this repository
  2. Run configure if you want to fine-tune installation parameters (run ./configure --help to see available options and invocation modus operandi).
  3. Compille & install: make && sudo make install

Usage

The YAML Tools Project comes with several utilities to handle YAML from the command-line:

  • Converter : Juggle easily between JSON & YAML formats
  • Comments : Manipulate YAML comments: export, import & merge

Acknowledgement

The YAML Tools Project is based on the well-known symfony/yaml component, which implements its own engine to dump/parse YAML data.

Two reasons motivated the choice:

  • The component is a standalone, pure PHP implementation: no need to have the Yaml PHP extension installed, guaranteeing a wider support for many platforms.
  • The dumps are more pretty-print oriented, and more flexible, allowing to customize indentation and inline wrapping level.

The major drawback on the other hand is that the component is not fully compliant with YAML Standards.

Credits

Licensed under the MIT License.