Ruby on Rails 가이드 지침
이 가이드는 Ruby on Rails 가이드 작성을 위한 지침을 문서화합니다. 이 가이드는 자신을 우아하게 반복하며 예시로 제공됩니다.
이 가이드를 읽고 나면 다음을 알 수 있습니다:
- Rails 문서에 사용되는 규칙에 대해
- 로컬에서 가이드를 생성하는 방법
Markdown
가이드는 GitHub Flavored Markdown으로 작성됩니다. Markdown에 대한 포괄적인 문서와 치트시트가 있습니다.
서문
각 가이드는 맨 위에 동기부여 텍스트로 시작해야 합니다(파란색 영역의 작은 소개). 서문은 가이드의 내용과 학습 내용을 독자에게 알려줘야 합니다. Routing 가이드를 참고하세요.
제목
모든 가이드의 제목은 h1
제목을 사용하고, 가이드 섹션은 h2
제목을, 하위 섹션은 h3
제목을 사용합니다. 생성된 HTML 출력에서는 <h2>
태그부터 사용됩니다.
가이드 제목 =========== 섹션 ------- ### 하위 섹션
제목을 작성할 때는 전치사, 접속사, 내부 관사, “to be” 동사형을 제외한 모든 단어를 대문자로 씁니다:
#### 구성 요소 내부의 어설션 및 테스트 작업 #### 미들웨어 스택은 배열입니다 #### 언제 객체가 저장되나요?
일반 텍스트와 같은 인라인 형식을 사용합니다:
##### `:content_type` 옵션
API 링크
API(api.rubyonrails.org
) 링크는 가이드 생성기에 의해 다음과 같이 처리됩니다:
릴리스 태그가 포함된 링크는 그대로 유지됩니다. 예를 들어
https://api.rubyonrails.org/v5.0.1/classes/ActiveRecord/Attributes/ClassMethods.html
은 수정되지 않습니다.
릴리스 노트에서는 이러한 링크를 사용하세요. 이 링크는 대상이 생성되는 버전을 가리켜야 합니다.
릴리스 태그가 포함되지 않은 링크이고 엣지 가이드가 생성되는 경우, 도메인이 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
에 수동으로 링크하지 마세요.
열 줄바꿈
오래된 가이드는 열을 줄바꾸기 위해 다시 포맷하지 마세요. 하지만 새로운 섹션과 가이드는 80자에서 줄바꿈해야 합니다.
API 문서화 지침
가이드와 API는 적절한 경우 일관성 있고 일치해야 합니다. 특히 API 문서화 지침의 다음 섹션이 가이드에도 적용됩니다:
HTML 가이드
가이드를 생성하기 전에 시스템에 최신 버전의 Bundler가 설치되어 있는지 확인하세요. 최신 버전의 Bundler를 설치하려면 gem install bundler
를 실행하세요.
Bundler가 이미 설치되어 있다면 gem update bundler
로 업데이트할 수 있습니다.
생성
모든 가이드를 생성하려면 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