請遵循此 許可協議 參與貢獻。
請同意並遵循此 行為準則 參與貢獻。(translations)
"一個可以輕易下載一本書的連結" 並不代表它導向的就是 免費 書籍。 請只提供免費內容。 確信你所提供的書籍是免費的。我們不接受導向 需要 工作電子郵件地址才能獲取書籍頁面的連結,但我們歡迎有需求這些連結的列表。
你不需要會 Git:如果你發現了一些有趣的東西 尚未出現在此 repo 中,請開一個 Issue 進行主題討論。
這裡有六種列表,請選擇正確的一項:
確保遵循下方的 基本準則,並遵循此 repo 文件的 Markdown 規定格式。
GitHub Actions 將運行測試,以確保你的列表是 按字母顺序排列 的,並 遵循格式化規則。請 確保 你的更改通過該測試。
https 連結,而不是 http 連結 -- 只要它們位於相同的網域並提供相同的内容。http://example.com 代替 http://example.com/。http://example.com/dir/ 比使用 http://example.com/dir/index.html 更好。
http://example.com/dir/book/current/ 比使用 http://example.com/dir/book/v1.0.0/index.html 更好。http (因為在移動設備上接受異常可能比較複雜)。http版本,但仍然可以通過https造訪連結,則在瀏覽器中添加異常或忽略警告。等” (“et al.”) 縮短作者列表。in process” 符號,參考 下文 所述。archived" notation, as described below. The best versions to use are recent and complete.(*需要* 電子郵件,但不是必需的)。.md 文件。試着學習 Markdown 語法。它很容易上手!###),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) - 張顯宗
正確:* [即將出版的一本書](http://example.com/book2.html) - 張顯宗 (HTML) *(:construction: 編寫中)*
正確:* [即將出版的一本書](http://example.com/book2.html) - 張顯宗 (HTML) *(:construction: 翻譯中)*
正確: * [A Way-backed Interesting Book](https://web.archive.org/web/20211016123456/http://example.com/) - John Doe (HTML) *(:card_file_box: archived)*
aa 排在 ab 前面one two 排在 onetwo 前面如果你看到錯誤的連結,請檢查 linter 的錯誤訊息來找到哪一行順序需要交換
While the basics are relatively simple, there is a great diversity in the resources we list. Here are some notes on how we deal with this diversity.
Our lists provide a minimal set of metadata: titles, URLs, creators, platforms, and access notes.
https) URLs are always preferred over non-secure (http) urls where HTTPS has been implemented.For translated works the original author should be credited. We recommend using MARC relators to credit creators other than authors, as in this example:
* [A Translated Book](http://example.com/book-zh.html) - John Doe, `trl.:` Mike The Translator
here, the annotation trl.: uses the MARC relator code for "translator".
Use a comma , to delimit each item in the author list.
You can shorten author lists with "et al.".
We do not permit links for Creators.
For compilation or remixed works, the "creator" may need a description. For example, "GoalKicker" or "RIP Tutorial" books are credited as "Compiled from StackOverflow documentation".
*(Leanpub account or valid email requested)*.The first rule in deciding which list a resource belongs in is to see how the resource describes itself. If it calls itself a book, then maybe it's a book.
Because the Internet is vast, we don't include in our lists:
Our competitive programming lists are not as strict about these exclusions. The scope of the repo is determined by the community; if you want to suggest a change or addition to the scope, please use an issue to make the suggestion.
We're not that fussy about book-ness. Here are some attributes that signify that a resource is a book:
There are lots of books that we list that don't have these attributes; it can depend on context.
Sometimes these can be hard to distinguish!
Courses often have associated textbooks, which we would list in our books lists. Courses have lectures, exercises, tests, notes or other didactic aids. A single lecture or video by itself is not a course. A powerpoint is not a course.
If you can print it out and retain its essence, it's not an Interactive Tutorial.
.github/workflows/fpb-lint.yml)。可以藉由提交一個內容包含check_urls=file_to_check來觸發連結驗證:
check_urls=free-programming-books.md free-programming-books-zh.md
您可以以一個空白區隔出想要進行驗證的檔案名稱來一次驗證多個檔案。
如果您一次驗證多個檔案,自動化測試的結果會是基於最後一個驗證的檔案。您的測試可能會因此通過,因此請詳加確認測試日誌。可以在 Pull Request 結果中點選"Show all checks" -> "Details" 來查看。