1.2.0

## How-To - Write Documentation

The Rubinius documentation is integrated with the website and blog. It uses Jekyll just like the other components.

To get started, ensure you have the `kramdown` and `jekyll` gems installed.

    rbx gem install jekyll kramdown

The documentation source is under the `web/doc` directory. There are subdirectories for each language to which the documentation has been translated (eg `en`, `es`, etc.).

There is a Table of Contents for each translation (e.g. `/web/doc/en/index.markdown`). The rest of the documentation consists of single files that have YAML attributes to specify how the documents are connected. Essentially, the documentation can be viewed as a doubly-linked list of documents with each document pointing to the previous and next document. The Table of Contents document shows the complete structure.

The YAML attributes in a document look like the following:

    ---
    layout: doc_en
    title: How-To - Write Documentation
    previous: Write a Blog Post
    previous_url: how-to/write-a-blog-post
    next: Translate Documentation
    next_url: how-to/translate-documentation
    ---

The layout specifies which Jekyll layout to use when formatting the document. The layout should be `doc_LANG`, where LANG is the ISO-639-2 code for the language.

The title specifies the document title that is displayed at the top of the page.

The previous and previous_url attributes give the title and link to the previous document. Likewise, the next and next_url attributes give the title and link for the next document. These are used to enhance browsing the documentation and limiting the amount of work necessary to re-order parts of the documentation.

### Editing Existing Documentation

An initial outline for the documentation has been created. There are many topics that merely need to have documentation written for them.

To add documentation for an existing topic, or to fix existing documentation, open the file for the topic under `web/doc/LANG` and add or improve the documentation.

### Adding New Documentation

To add documentation for which no existing topic exists:

1. Create a new file with the .markdown extension under `web/doc/LANG`.
2. Set up the attributes to link the new file into the existing files. This will require editing the previous and next attributes of the existing files to insert the new file, as well as adding an entry to `index.markdown`.
3. To view your updates while you are working on them, run `rbx -S jekyll --server --auto`
4. Edit the new file using Markdown syntax.
5. In the `web/` directory, run `rbx -S jekyll`.
6. Commit all the changes in the `web/` directory.