Рекомендации для руководств по Ruby on Rails
Это руководство документирует рекомендации по написанию руководств по Ruby on Rails. Это руководство следует самому себе в изящном цикле, являясь примером для самого себя.
Это руководство документирует рекомендации по написанию руководств по Ruby on Rails. Это руководство следует самому себе в изящном цикле, являясь примером для самого себя.
После прочтения этого руководства, вы узнаете:
- О соглашениях, используемых в документации Rails.
- Как генерировать руководства локально.
Markdown
Руководства написаны на GitHub Flavored Markdown. Имеется полная документация по Markdown, а также шпаргалка.
Пролог
Каждое руководство должно начинаться с мотивационного текста сверху (это маленькое введение в голубой области на официальном сайте). Пролог должен рассказать читателю, о чем это руководство, и что они изучат. В качестве примера смотрите Routing Guide.
Заголовки
Название каждого руководства использует заголовок h1; разделы руководства — заголовок h2; подразделы используют заголовок h3; и так далее. Отметьте, что сгенерированный в HTML результат будет использовать теги заголовков, начиная с <h2>.
# Guide Title
## Section
### Sub SectionПри написании заголовков начинайте с заглавной буквы все слова, кроме предлогов, союзов, внутренних артиклей и форм глагола "to be":
#### Assertions and Testing Jobs inside Components
#### Middleware Stack is an Array
#### When are Objects Saved?Используйте форматирования для кода, как в обычном тексте:
##### The `:content_type` OptionСвязывание с API
Ссылки на API (api.rubyonrails.org) обрабатываются генератором руководств следующим образом:
Ссылки, включающие тег релиза, оставляются неизменными. Например
https://api.rubyonrails.org/v5.0.1/classes/ActiveRecord/Attributes/ClassMethods.htmlне модифицируется.
Пожалуйста, используйте их в заметках о релизе, так как они должны указывать на соответствующую версию, вне зависимости от генерирующейся версии.
Если ссылка не включает тег версии и генерируются руководства edge, домен заменяется на edgeapi.rubyonrails.org. Например,
https://api.rubyonrails.org/classes/ActionDispatch/Response.htmlстановится
https://edgeapi.rubyonrails.org/classes/ActionDispatch/Response.htmlЕсли ссылка не включает тег релиза, и генерируются руководства релиза, вставляется версия Rails. Например, если генерируются руководства для v5.1.0, ссылка
https://api.rubyonrails.org/classes/ActionDispatch/Response.htmlстановится
https://api.rubyonrails.org/v5.1.0/classes/ActionDispatch/Response.htmlПожалуйста, не ссылайтесь на edgeapi.rubyonrails.org вручную.
Рекомендации по документированию API
Эти руководства и API должны быть согласованны и последовательны, насколько возможно. В частности, эти разделы Рекомендаций по документированию API также применяются к руководствам:
Руководства в HTML
До генерации руководств, убедитесь, что используете последнюю версию Bundler в своей системе. Последнюю версию Bundler можно найти тут. На момент написания этих строк это v1.17.1.
Чтобы установить последнюю версию Bundler, запустите gem install bundler.
Генерация
Чтобы сгенерировать все руководства, просто сделайте cd в директорию guides, запустите bundle install и выполните:
$ bundle exec rake guides:generateили
$ bundle exec rake guides:generate:htmlРезультирующие файлы HTML будут в директории ./output.
Чтобы обработать my_guide.md и ничего, кроме него, используйте переменную среды ONLY:
$ touch my_guide.md
$ bundle exec rake guides:generate ONLY=my_guideПо умолчанию неизмененные руководства не обрабатываются, поэтому ONLY редко нужна на практике.
Чтобы принудить к обработке всех руководств, передайте ALL=1.
Если хотите сгенерировать руководства на языке ином, чем английский, можете держать их в отдельной директории в source (то есть source/es) и использовать переменную среды GUIDES_LANGUAGE:
$ bundle exec rake guides:generate GUIDES_LANGUAGE=esЕсли хотите увидеть все переменные окружения, которые могут использоваться генерационным скриптом, просто запустите:
$ rakeВалидация
Пожалуйста, проверяйте сгенерированный HTML с помощью:
$ bundle exec rake guides:validateВ частности, заголовки имеют ID, сгенерированный на основе их содержания, и это часто ведет к дубликатам.
Руководства для Kindle
Генерация
Чтобы сгенерировать руководства для Kindle, используйте следующую задачу rake:
$ bundle exec rake guides:generate:kindleШаблоны приложения Rails
Шаблоны приложений - это простые Ruby файлы, содержащие DSL для добавления гемов, инициализаторов и т.п. в ваш только что созданный или существующий Rails проект.
Установка зависимостей для разработки
Это руководство раскрывает, как настроить среду для разработки ядра Ruby on Rails.