wadmiraal/rtfm

View on GitHub
README.md

Summary

Maintainability
Test Coverage
# rtfm

[![Build Status](https://travis-ci.org/wadmiraal/rtfm.svg?branch=master)](https://travis-ci.org/wadmiraal/rtfm)
[![Code Climate](https://codeclimate.com/github/wadmiraal/rtfm.png)](https://codeclimate.com/github/wadmiraal/rtfm)
[![Coverage Status](https://coveralls.io/repos/wadmiraal/rtfm/badge.png?branch=master)](https://coveralls.io/r/wadmiraal/rtfm?branch=master)

RTFM - A new format for your README files.

## Installation

Coming soon (will be a NodeJS package).

## Goal

This is just for kicks. It's a new format, similar to Markdown and Textile, but specifically aimed at README files.

As the name implies, this is a format for *manuals*. The interpreter will output any `*.rtfm` file given to it and compile it either to HTML or Markdown. The HTML version is much more fun, though.

## Syntax

### Headings

There are 6 levels of heading. A heading is prefixed with `!`, the number of which determine the hierarchy.

For a first level heading, use 6 `!`:

````
!!!!!! DIE DIE DIE IF YOU DO NOT READ THIS PART
````

For a second level heading, use 5 `!`:

````
!!!!! This is SUCH A VERY important part - IKILLYOUIFYOUDONTREAD
````

And so on and so forth.

### Bold

To set a piece of text as being **bold**, use `**`:

````
I am a string with **bold words**.
````

### Italic

To set a portion of text as *italic*, use `//`:

````
I am a string with //italic words//.
````

### Strike-through

To set a portion of text as <del>strike-through</del>, use `--`:

````
I am --striken-- with guilt.
````

### Underline

To set a portion of text as <u>underlined</u>, use `__`:

````
I am a string with __underlined words__.
````

### Link

To link to something, use `(Label:link/path)` (the label is optional):

````
You will find more information (here:http://www.example.com) and on (http://www.google.com).
````

### Image

To insert an image, use `[Alt text:image/path.jpg]` (the alt text is optional):

````
[Kittens:path/to/kittens.jpg]
````

### Lists

Unordered lists are defined as follows:

````
* My item
* My second item
* My third item,
  that can span multiple lines if I wish
````

Ordered lists are defined as follows (note that when using the HTML output, the numbers are not actually relevant):

````
1. First item on the list
2. Second item on the list
3. Third item on the list, which
   can span multiple lines
````

Definition lists are defined as follows:

````
- Definition title:
  Definition body comes here. It can
  span multiple lines.
- Definition title 2:
  Definition body 2
````

### Code

Inline code snippets are defined using `{{}}`:

````
This is a snippet: {{git init}}
````

Blocks of code are defined using `{{{}}}`:

````
{{{
This is a block of code   
}}}
````

### HTML

Any HTML code will just be output as is, but this is still dodgy if a tag contains complex attributes or styles. Use with caution.