PRoff - Personal Roff

                                          Document edited by PRoff 2.0
                         Text: http://tvannini.github.io/proff/site/soft
                         HTML: http://tvannini.github.io/proff/site/full

» Current version: 2.0

» PRoff site: http://tvannini.github.io/proff

» Download: http://github.com/tvannini/proff

» Documentation: http://github.com/tvannini/proff/wiki

» Informations: tvannini@gmail.com


Content

0. ...... Preamble

1. ...... Licensing

2. ...... How PRoff works

3. ...... Formatting syntax


0. Preamble

This project was born from the problem of writing clear, consistent, good-looking, web-able documentation.

After working for a while with LATEX, *roff, WYSIWYG editors, HTML and WIKICode, I came up with a brand new solution: I just wanted to definitively wipe tags out.

PRoff, my Personal Roff, is the result of my effort and I hope someone will find it useful. If you have ideas, suggestions or questions please mail to tvannini@gmail.com.


1. Licensing

PRoff - Copyright (C) 2007, Tommaso Vannini (<tvannini@gmail.com>)

PRoff is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. PRoff is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.


2. How PRoff works

The idea is to identify a set of criteria to beautify a text, with no need of tags or other text-extraneous elements.

One only rule: feeding a processed document as a source, process must result in the same document .

This document, for example, as you see it, is the source and the result at the same time.

See PRoff at work:

<http://tvannini.github.io/proff/site/sample.html>

Sample will compare a raw text file:

<http://tvannini.github.io/proff/site/lorem-raw.txt>

with 3 different formatting stages of the same file:

. PRoffed: <http://tvannini.github.io/proff/site/lorem-proffed.txt>

. Soft: <http://tvannini.github.io/proff/site/soft/lorem.html>

. Full: <http://tvannini.github.io/proff/site/full/lorem.html>


3. Formatting syntax

Document text can be written considering a few tricks that will help PRoff to respect and rightly understand your document style.

Here for "graphic" element is intended a character (or block of characters) matching regular expression "\W+".

- All in-paragraph multiple spaces will be reduced to one.

- Line breaks will not break paragraphs.

- All paragraphs larger than line width will be justified.

- Blank lines will be respected and they break paragraphs.

- Start each unordered list element with a "graphic" char or block and sibling space(s), then indent next lines.

- Start each ordered list element with a number, a optional sibling "graphic" char or block and space(s), then indent next lines.

- All indentation changes, not recognized as un/ordered lists, will cause a line break. - In other words: with the exception of un/ordered lists elements first line, all rows of a paragraph will have the same source indentation.

- Lines starting with a ">" will not be processed and they will be added to text as they are.

- All text bounded by a "~" will be displayed as black in soft and full HTML rendering

- Text surrounded on 4 sides by "graphic" elements will be displayed as bordered in full HTML rendering.