mirror of
https://github.com/EbookFoundation/free-programming-books.git
synced 2024-12-21 02:46:13 +00:00
131eb5dae7
* feat: translate CONTRIBUTING doc into zh-TW version * feat: add link to other CONTRIBUTING
154 lines
8.4 KiB
Markdown
154 lines
8.4 KiB
Markdown
*閱讀其他語言版本的文件:[English](CONTRIBUTING.md)、[简体中文](CONTRIBUTING-zh.md)。*
|
||
|
||
|
||
## 貢獻者許可協議
|
||
|
||
請遵循此[許可協議](https://github.com/EbookFoundation/free-programming-books/blob/master/LICENSE)參與貢獻。
|
||
|
||
|
||
## 貢獻者行為準則
|
||
|
||
請同意並遵循此[行為準則](https://github.com/EbookFoundation/free-programming-books/blob/master/CODE_OF_CONDUCT.md)參與貢獻。
|
||
|
||
|
||
## 概要
|
||
|
||
1. "一個可以輕易下載一本書的連結" 並不代表它導向的就是 *免費* 書籍。 請只提供免費內容。 確信你所提供的書籍是免費的。我們不接受導向*需要*工作電子郵件地址才能獲取書籍页面的連結,但我們歡迎有需求這些連結的列表。
|
||
|
||
2. 你不需要會 Git:如果你發現了一些有趣的東西 *尚未出现在此 repo* 中,請開一個[Issue](https://github.com/EbookFoundation/free-programming-books/issues)進行主題討論。
|
||
* 如果你已經知道 Git,請 Fork 此 repo 並提交 PR。
|
||
|
||
3. 這裡有五種列表,請選擇正確的一項:
|
||
|
||
* *Books* :PDF、HTML、ePub、基於 gitbook.io 的網站、Git 的 repo 等。
|
||
* *Courses* :課程是一種學習素材,而不是一本書 [This is a course](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/)。
|
||
* *Interactive Tutorials* :一個互動式網站,允許用戶輸入程式碼或指令並執行結果。例如:[Try Haskell](http://tryhaskell.org),[Try Github](http://try.github.io)。
|
||
* *Podcasts and Screencasts* :Podcast 和影音。
|
||
* *Problem Sets & Competitive Programming* :一個網站或軟體,讓你透過解決簡單或複雜的問題來評估你的程式技能,可能有程式碼檢查,或與其他用戶比對结果。
|
||
|
||
4. 確保遵循下方的[基本準則](#基本準則),並遵循此 repo 文件的[Markdown規定格式](#規定格式)。
|
||
|
||
5. Travis CI 將運行測試,以確保你的列表是 **按字母顺序排列** 的,並 **遵循格式化規則**。請 **確保** 你的更改通過該測試。
|
||
|
||
|
||
### 基本準則
|
||
|
||
* 確保你提交的每一本書都是免費的。如有需要請 Double-check。如果你在 PR 中註明為什麼你認為這本書是免費的,這對管理員是很有幫助的。
|
||
* 我們不接受儲存在 google drive、dropbox、mega、scribd、issuu 和其他類似文件上傳平台上的文件。
|
||
* 請按照字母顺序插入連結。如果你看到一個錯位的連結,請重新對他進行排序並提交一個 PR。
|
||
* 使用最權威來源的連結(意思是原作者的網站比編輯的網站好,比第三方網站好)。
|
||
* 沒有文件託管服務(包括(但不限於)Dropbox和 Google Drive 連結)。
|
||
* 優先選擇使用 `https` 連結,而不是 `http` 連結 -- 只要它們位於相同的網域並提供相同的内容。
|
||
* 在網域根目錄上,去掉尾末的斜槓:使用 `http://example.com` 代替 `http://example.com/`。
|
||
* 優先選擇最短的連結:使用 `http://example.com/dir/` 比使用 `http://example.com/dir/index.html` 更好。
|
||
* 不要提供短連結
|
||
* 優先選擇使用 "current" 連結代替有 "version" 連結:使用 `http://example.com/dir/book/current/` 比使用 `http://example.com/dir/book/v1.0.0/index.html` 更好。
|
||
* 如果一個連結存在過期的證書/自簽名證書/SSL問題的任何其他類型:
|
||
1. *replace it* :如果可能的話,將其 *替換* 為對應的`http`(因為在移動設備上接受異常可能比較複雜)。
|
||
2. *leave it* :如果没有http版本,但仍然可以通過https造訪連結,則在瀏覽器中添加異常或忽略警告。
|
||
3. *remove it* :上述狀況以外則删除掉它。
|
||
* 如果一個連結以多種格式存在,請添加一個單獨的連結,並註明每種格式。
|
||
* 如果一個資源存在於Internet上的不同位置
|
||
* 使用最權威來源的連結(意思是原始作者的網站比編輯的網站好,比第三方網站好)。
|
||
* 如果它們連結到不同的版本,你認為這些版本差異很大,值得保留,那麼添加一個單獨的連結,並對每個版本做說明(參考[Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353)有助於格式化問题的討論)。
|
||
* 相較一個比較大的提交,我們更傾向於原子提交(通過添加/删除/修改進行一次提交)。在提交PR之前没有必要壓縮你的提交。(為了維護人員的方便,我們永遠不會執行這個規則)。
|
||
* 如果一本書比較舊,請在書名中註明出版日期。
|
||
* 包含作者的名字或適當的名字。中文版本可以用 “等” 縮短作者列表。
|
||
* 如果一本書還没有完成,並且仍在編寫中,則需添加 “編寫中” 符號,參考[下文](#in_process)所述。
|
||
* 如果在開始下載之前需要電子郵件地址或帳户設置,請在括號中添加合適的語言描述,例如:`(*需要*電子郵件,但不是必需的)`。
|
||
|
||
|
||
### 規定格式
|
||
|
||
* 所有列表都是`.md`文件。試着學習[Markdown](https://guides.github.com/features/mastering-markdown/)語法。它很容易上手!
|
||
* 所有的列表都以索引開始。它的作用是列出並連結所有的sections(章節/段落)或subsections(子段落/子章節)。務必遵循字母顺序排列。
|
||
* Sections(章節/段落)使用3级標题(`###`),subsections(子段落/子章節)使用4级標题 (`####`)。
|
||
|
||
|
||
#### 整體思維為:
|
||
|
||
* `2` :新添加的Section與末尾連結間必需留有`2`個空行
|
||
* `1` :標题和第一個連結之間必需留有`1`個空行的空行
|
||
* `0` :任何兩個連結之間不能留有任何空行
|
||
* `1` :每個`.md`文件末尾必需留有`1`個空行
|
||
|
||
|
||
#### 舉例:
|
||
|
||
```
|
||
[...]
|
||
* [一本很有用的書](http://example.com/example.html)
|
||
(空行)
|
||
(空行)
|
||
### 電子書種類標题
|
||
(空行)
|
||
* [Another 很有用的書](http://example.com/book.html)
|
||
* [Other 有用的書](http://example.com/other.html)
|
||
```
|
||
|
||
* 在 `]` 和 `(` 之間不要留有空格:
|
||
|
||
```
|
||
錯誤:* [一本很有用的書] (http://example.com/book.html)
|
||
正確:* [一本很有用的書](http://example.com/book.html)
|
||
```
|
||
|
||
* 如果包括作者,請使用' - '(由單個空格(英文半型)包圍的破折號):
|
||
|
||
```
|
||
錯誤:* [一本很有用的書](http://example.com/book.html)- 張顯宗
|
||
正確:* [一本很有用的書](http://example.com/book.html) - 張顯宗
|
||
```
|
||
|
||
* 在連結和電子書格式之間放一個空格:
|
||
|
||
```
|
||
錯誤:* [一本很有用的書](https://example.org/book.pdf)(PDF)
|
||
正確:* [一本很有用的書](https://example.org/book.pdf) (PDF)
|
||
```
|
||
|
||
* 如需備注或注解,請使用英文半型括號`( )`:
|
||
|
||
```
|
||
錯誤:* [一本很有用的書](https://example.org/book.pdf) (繁體中文)
|
||
正確:* [一本很有用的書](https://example.org/book.pdf) (繁體中文)
|
||
```
|
||
|
||
* 作者在電子書格式之前:
|
||
|
||
```
|
||
錯誤:* [一本很有用的書](https://example.org/book.pdf)- (PDF) 張顯宗
|
||
正確:* [一本很有用的書](https://example.org/book.pdf) - 張顯宗 (PDF)
|
||
```
|
||
|
||
* 多重格式:
|
||
|
||
```
|
||
錯誤:* [一本很有用的書](http://example.com/)- 張顯宗 (HTML)
|
||
錯誤:* [一本很有用的書](https://downloads.example.org/book.html)- 張顯宗 (download site)
|
||
正確:* [一本很有用的書](http://example.com/) - 張顯宗 (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
|
||
```
|
||
|
||
* 多作者,多譯者時,請使用中文 `、` 進行分隔,在譯者名字後請使用英文半型括號包圍的 `(翻譯)`,可以用 “等” 縮短作者列表:
|
||
|
||
```
|
||
錯誤:* [一本很有用的書](https://example.org/book.pdf) - 張顯宗,岳綺羅
|
||
正確:* [一本很有用的書](https://example.org/book.pdf) - 張顯宗、岳綺羅(翻譯)
|
||
正確:* [一本很有用的書](https://example.org/book.pdf) - 張顯宗、岳綺羅、顧玄武、出塵子 等
|
||
```
|
||
|
||
* 在舊書的標题中包括出版年份:
|
||
|
||
```
|
||
錯誤:* [一本很有用的書](https://example.org/book.html) - 張顯宗 - 1970
|
||
正確:* [一本很有用的書 (1970)](https://example.org/book.html) - 張顯宗
|
||
```
|
||
|
||
<a name="in_process"></a>
|
||
* 編寫(翻譯)中的書籍:
|
||
|
||
```
|
||
正確:* [即將出版的一本書](http://example.com/book2.html) - 張顯宗 (HTML) (:construction: *編寫中*)
|
||
正確:* [即將出版的一本書](http://example.com/book2.html) - 張顯宗 (HTML) (:construction: *翻譯中*)
|
||
```
|