diff options
Diffstat (limited to 'src/ext_depends/D-YAML/README.md')
-rw-r--r-- | src/ext_depends/D-YAML/README.md | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/src/ext_depends/D-YAML/README.md b/src/ext_depends/D-YAML/README.md new file mode 100644 index 0000000..4781bdd --- /dev/null +++ b/src/ext_depends/D-YAML/README.md @@ -0,0 +1,97 @@ +# D:YAML + +[![travis-ci](https://travis-ci.org/dlang-community/D-YAML.svg?branch=master)](https://travis-ci.org/dlang-community/D-YAML) +[![codecov](https://codecov.io/gh/dlang-community/D-YAML/branch/master/graph/badge.svg)](https://codecov.io/gh/dlang-community/D-YAML) +[![code.dlang.org](https://img.shields.io/dub/v/dyaml.svg)](http://code.dlang.org/packages/dyaml) + +## Introduction + +D:YAML is an open source YAML parser and emitter library for the D programming language. +It is [almost](https://dlang-community.github.io/D-YAML/articles/spec_differences.html) compliant to the YAML 1.1 specification. +D:YAML is based on [PyYAML](http://www.pyyaml.org) created by Kirill Simonov. + +D:YAML is designed to be easy to use while supporting the full feature set of YAML. +To start using it in your project, see the [Getting Started](https://dlang-community.github.io/D-YAML/tutorials/getting_started.html) tutorial. + +## Features + + - Easy to use, high level API and detailed debugging messages. + - Detailed API documentation and tutorials. + - Code examples. + - Supports all YAML 1.1 constructs. All examples from the YAML 1.1 + specification are parsed correctly. + - Reads from and writes from/to YAML files or in-memory buffers. + - UTF-8, UTF-16 and UTF-32 encodings are supported, both big and + little endian (plain ASCII also works as it is a subset of UTF-8). + - Support for both block (Python-like, based on indentation) and flow + (JSON-like, based on bracing) constructs. + - Support for YAML anchors and aliases. + - Support for default values in mappings. + - Support for custom tags (data types), and implicit tag resolution + for custom scalar tags. + - All tags (data types) described at <http://yaml.org/type/> are + supported, with the exception of `tag:yaml.org,2002:yaml`, which is + used to represent YAML code in YAML. + - Remembers YAML style information between loading and dumping if + possible. + - Reuses input memory and uses slices to minimize memory allocations. + - There is no support for recursive data structures. There are no + plans to implement this at the moment. + +## Directory structure + +| Directory | Contents | +|---------------|--------------------------------| +| `./` | This README, utility scripts. | +| `./docs` | Documentation. | +| `./source` | Source code. | +| `./examples/` | Example projects using D:YAML. | +| `./test` | Unittest data. | + +## Installing and tutorial + +See the [Getting Started](https://dlang-community.github.io/D-YAML/tutorials/getting_started.html). +Tutorial and other tutorials that can be found at the [GitHub pages](https://dlang-community.github.io/D-YAML/) or in the `docs` directory of the repository. + +API documentation is available [here](https://dyaml.dpldocs.info/dyaml.html). + +## License + +D:YAML is released under the terms of the [Boost Software +License 1.0](http://www.boost.org/LICENSE_1_0.txt). This license allows +you to use the source code in your own projects, open source or +proprietary, and to modify it to suit your needs. However, in source +distributions, you have to preserve the license headers in the source +code and the accompanying license file. + +Full text of the license can be found in file `LICENSE_1_0.txt` and is +also displayed here: + + Boost Software License - Version 1.0 - August 17th, 2003 + + Permission is hereby granted, free of charge, to any person or organization + obtaining a copy of the software and accompanying documentation covered by + this license (the "Software") to use, reproduce, display, distribute, + execute, and transmit the Software, and to prepare derivative works of the + Software, and to permit third-parties to whom the Software is furnished to + do so, all subject to the following: + + The copyright notices in the Software and this entire statement, including + the above license grant, this restriction and the following disclaimer, + must be included in all copies of the Software, in whole or in part, and + all derivative works of the Software, unless such copies or derivative + works are solely in the form of machine-executable object code generated by + a source language processor. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + +## Credits + +D:YAML was created by Ferdinand Majerech aka Kiith-Sa and is handled by the [dlang-community](https://github.com/dlang-community) organization since 2017. +Parts of code based on [PyYAML](http://www.pyyaml.org) created by Kirill Simonov. |