Each guide should start with motivational text at the top (that's the little introduction in the blue area). The prologue should tell the reader what the guide is about, and what they will learn. As an example, see the Routing Guide.
The title of every guide uses an
h1 heading; guide sections use
h2 headings; subsections use
h3 headings; etc. Note that the generated HTML output will use heading tags starting with
Guide Title =========== Section ------- ### Sub Section
When writing headings, capitalize all words except for prepositions, conjunctions, internal articles, and forms of the verb "to be":
#### Middleware Stack is an Array #### When are Objects Saved?
Use the same inline formatting as regular text:
##### The `:content_type` Option
Links to the API (
api.rubyonrails.org) are processed by the guides generator in the following manner:
Links that include a release tag are left untouched. For example
is not modified.
Please use these in release notes, since they should point to the corresponding version no matter the target being generated.
If the link does not include a release tag and edge guides are being generated, the domain is replaced by
edgeapi.rubyonrails.org. For example,
If the link does not include a release tag and release guides are being generated, the Rails version is injected. For example, if we are generating the guides for v5.1.0 the link
Please don't link to
The guides and the API should be coherent and consistent where appropriate. In particular, these sections of the API Documentation Guidelines also apply to the guides:
Before generating the guides, make sure that you have the latest version of Bundler installed on your system. You can find the latest Bundler version here. As of this writing, it's v1.17.1.
To install the latest version of Bundler, run
gem install bundler.
To generate all the guides, just
cd into the
guides directory, run
bundle install, and execute:
bundle exec rake guides:generate
bundle exec rake guides:generate:html
Resulting HTML files can be found in the
my_guide.md and nothing else use the
ONLY environment variable:
touch my_guide.md bundle exec rake guides:generate ONLY=my_guide
By default, guides that have not been modified are not processed, so
ONLY is rarely needed in practice.
To force processing all the guides, pass
If you want to generate guides in a language other than English, you can keep them in a separate directory under
source/es) and use the
GUIDES_LANGUAGE environment variable:
bundle exec rake guides:generate GUIDES_LANGUAGE=es
If you want to see all the environment variables you can use to configure the generation script just run:
Please validate the generated HTML with:
bundle exec rake guides:validate
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 solution.
To generate guides for the Kindle, use the following rake task:
bundle exec rake guides:generate:kindle
이 가이드의 품질을 향상시키기 위해 여러분의 도움이 필요하다.
오타나 실제 오류를 발견시 여러분의 기여를 권고한다. 시작하려면 본 가이드의 기여 섹션을 읽어보기 바란다.
어떤 이유로든 고칠 수 있지만 직접 패치 할 수 없는 경우 이슈를 새로 오픈하면 된다.
그리고 마지막으로, 루비온레일스 문서에 관한 모든 논의는 rubyonrails-docs 메일링 리스트 상에서 언제든지 가능하다.