1 降價
指南是用 GitHub Flavored Markdown 編寫的。有全面的 Markdown 文件,以及 備忘單。
2 序幕
每個指南都應該從頂部的動機文字開始(這是藍色區域的小介紹)。序言應該告訴讀者指南的內容,以及他們將學到什麼。例如,請參閱路由指南。
3 標題
每個指南的標題都使用 h1
標題;指南部分使用 h2
標題;小節使用 h3
標題;等等。請注意,產生的 HTML 輸出將使用以 <h2>
開頭的標題標籤。
Guide Title
===========
Section
-------
### 小節
寫標題時,除了介詞、連詞、內部冠詞和動詞“to be”的形式外,所有單詞都大寫:
#### 元件內的斷言和測試作業
#### 中介軟體棧是一個數組
#### 什麼時候儲存物件?
使用與正常文字相同的內聯格式:
##### `:content_type` 選項
4 連結到 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
。
5 API 文件指南
指南和 API 應在適當的情況下保持一致和一致。特別是,API 文件指南 的這些部分也適用於指南:
6 HTML 指南
在產生指南之前,請確保您擁有最新版本的 Bundler 安裝在您的系統上。您可以找到最新的 Bundler 版本 這裡。在撰寫本文時,它是 v1.17.1。
要安裝最新版本的 Bundler,請執行 gem install bundler
。
6.1 代
要產生所有指南,只需將 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
6.2 驗證
請使用以下方法驗證產生的 HTML:
$ bundle exec rake guides:validate
特別是,標題會根據其內容產生 ID,這通常會導致重複。
7 Kindle 指南
7.1 代
要為 Kindle 產生指南,請使用以下 rake 任務:
$ bundle exec rake guides:generate:kindle
回饋
我們鼓勵您幫助提高本指南的品質。
如果您發現任何拼寫錯誤或資訊錯誤,請提供回饋。 要開始回饋,您可以閱讀我們的 回饋 部分。
您還可能會發現不完整的內容或不是最新的內容。 請務必為 main 新增任何遺漏的文件。假設是 非穩定版指南(edge guides) 請先驗證問題是否已經在主分支上解決。 請前往 Ruby on Rails 指南寫作準則 查看寫作風格和慣例。
如果由於某種原因您發現要修復的內容但無法自行修補,請您 提出 issue。
關於 Ruby on Rails 的任何類型的討論歡迎提供任何文件至 rubyonrails-docs 討論區。