请遵循此许可协议参与贡献。
请同意并遵循此行为准则参与贡献。(translations)
仅仅因为链接“促进下载书籍”并不意味着它指向“免费”书籍。 请仅提供免费内容的链接。 确保您分享的书籍是免费的。 我们不接受“需要”有效电子邮件地址才能访问书籍的链接,但我们欢迎列出这些资源。
您不需要熟悉 Git:如果您发现一些有趣的东西*尚未包含在此存储库中*,请打开一个[问题](https://github.com/EbookFoundation/free-programming-books/issues)开始讨论相关主题。
这里有6种列表,请选择正确的一个:
确保遵循下面的基本准则,并遵循本仓库文件的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 comes before ab.one two comes before onetwoIf you see a misplaced link, check the linter error message to know which lines should be swapped.
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)To trigger URL validation, push a commit that includes a commit message containing check_urls=file_to_check:
check_urls=free-programming-books.md free-programming-books-zh.md
You may specify more than one file to check, using a single space to separate each entry.
If you specify more than one file, results of the build are based on the result of the last file checked. You should be aware that you may get passing green builds due to this so be sure to inspect the build log at the end of the Pull Request by clicking on "Show all checks" -> "Details".