h2. Ruby on Rails Guides Guidelines
This guide documents guidelines for writing guides. This guide follows itself in a gracile loop.
endprologue.
h3. Textile
Guides are written in "Textile":http://www.textism.com/tools/textile/. There's comprehensive documentation "here":http://redcloth.org/hobix.com/textile/ and a cheatsheet for markup "here":http://redcloth.org/hobix.com/textile/quick.html.
h3. Prologue
Each guide should start with motivational text at the top. That's the little introduction in the blue area. The prologue should tell the readers what's the guide about, and what will they learn. See for example the "Routing Guide":routing.html.
h3. Titles
The title of every guide uses +h2+, guide sections use +h3+, subsections +h4+, etc.
Capitalize all words except for internal articles, prepositions, conjunctions, and forms of the verb to be:
h5. Middleware Stack is an Array
h5. When are Objects Saved?
Use same typography as in regular text:
h6. The +:content_type+ Option
h3. API Documentation Guidelines
The guides and the API should be coherent where appropriate. Please have a look at these particular sections of the "API Documentation Guidelines":api_documentation_guidelines.html:
* "Wording":api_documentation_guidelines.html#wording
* "Example Code":api_documentation_guidelines.html#example-code
* "Filenames":api_documentation_guidelines.html#filenames
* "Fonts":api_documentation_guidelines.html#fonts
Those guidelines apply also to guides.
h3. HTML Generation
To generate all the guides just cd into the +railties+ directory and execute
bundle exec rake generate_guides
You'll need the gems erubis, i18n, and RedCloth.
To process +my_guide.textile+ and nothing else use the +ONLY+ environment variable:
bundle exec rake generate_guides ONLY=my_guide
Although by default guides that have not been modified are not processed, so +ONLY+ is rarely needed in practice.
To force process of all the guides, pass +ALL=1+.
It is also recommended that you work with +WARNINGS=1+, this detects duplicate IDs and warns about broken internal links.
If you want to generate guides in languages other than English, you can keep them in a separate directory under +source+ (eg. source/es) and use the +LANGUAGE+ environment variable.
rake generate_guides LANGUAGE=es
h3. HTML Validation
Please do validate the generated HTML with
rake validate_guides
Particularly, titles get an ID generated from their content and this often leads to duplicates. Please set +WARNINGS=1+ when generating guides to detect them. The warning messages suggest a way to fix them.
h3. Changelog
* October 5, 2010: ported from the docrails wiki and revised by "Xavier Noria":credits.html#fxn