Documentation - IKI Write
Author: Kevin Day
Description: IKI Write program documentation.
Keywords: FLL, Featureless, Kevin Day, Kevux, Linux, Library, IKI, IKI Write, Open-Source

# IKI Write Documentation

The iki_write program is a tool for generating strings that follow the IKI standard, specifically the IKI-0000 (Unrestricted) standard.

This tool is designed to be scriptable and accepts piped input using a special format.

## Standard Parameters

Short | Long | Description
--- | --- | ---
`-h` | `--help` | Print the help message.
`+C` | `++copyright` | Print the copyright.
`+d` | `++dark` | Output using colors that show up better on dark backgrounds.
`+l` | `++light` | Output using colors that show up better on light backgrounds.
`+n` | `++no_color` | Do not print using color.
`+Q` | `++quiet` | Decrease verbosity, silencing most output.
`+E` | `++error` | Decrease verbosity, using only error output.
`+N` | `++normal` | Set verbosity to normal.
`+V` | `++verbose` | Increase verbosity beyond normal output.
`+D` | `++debug` | Enable debugging, significantly increasing verbosity beyond normal output.
`+v` | `++version` | Print only the version number.

The `+Q/++quiet` parameter silences all output that is not the intent and purpose of the program.
For example, the purpose of the utf8 program is to print the Unicode code point or the UTF-8 byte code.
The `+Q/++quiet` will not suppress this output.
The new line printed at the end of the program, is however, not printed.
The `+Q/++quiet` is ideal for using in scripting to help guarantee more consistent and controlled output.

The `+N/++no_color` simplifies the output to avoid the special color character codes.
The special color character codes tend to take up a lot of extra space and may slow down printing performance.

## Program Parameters

Short | Long | Description
--- | --- | ---
`-c` | `--content` | The Content to write.
`-d` | `--double` | Use double quotes (default).
`-f` | `--file` | Specify a file to send data to.
`-g` | `--grave` | Use grave (U+0060) for quotes.
`-o` | `--object` | The Object to write.
`-s` | `--single` | Use single quotes.

This program will accept Object and Content strings to generate an IKI string, such as `object:"content"`.
Each Object must have a Content (and each Content must have an Object).

The Object is also called the Vocabulary.
A complete Object and Content set is also called a Variable.

When piping main to this program, a single form-feed character (`\f`) (U+000C) must be used to separate each Object from each Content.
Furthermore, each Object must be followed by a Content.