yannoff / yamltools
A command-line Swiss-Knife for YAML files
Installs: 42
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 1
Type:console-script
Requires
- php: >=5.5
- ext-json: *
- symfony/polyfill-ctype: <=1.19.0
- symfony/yaml: ^3.4
- yannoff/console: ^2.0
- yannoff/y-a-m-l: ^1.1
README
The YAML Tools Project: A command-line swiss-knife for YAML
, written in PHP.
Requirements
php
5.6.40+go-md2man
for advanced configuration (see Advanced install section for details)
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 thePATH
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
- Clone or fetch a zipball from this repository
- Run configure if you want to fine-tune installation parameters (run
./configure --help
to see available options and invocation modus operandi). - 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.