yannoff / yamltools
A command-line Swiss-Knife for YAML files
Installs: 43
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 1
Type:console-script
pkg:composer/yannoff/yamltools
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
php5.6.40+go-md2manfor 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/bindirectory have to be in thePATHsystem-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/yamltoolspath 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 --helpto 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&YAMLformats - 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.