Freely available programming books
View the Project on GitHub EbookFoundation/free-programming-books
请遵循此许可协议参与贡献。
请同意并遵循此行为准则参与贡献。(translations)
仅仅因为链接“促进下载书籍”并不意味着它指向“免费”书籍。 请仅提供免费内容的链接。 确保您分享的书籍是免费的。 我们不接受“需要”有效电子邮件地址才能访问书籍的链接,但我们欢迎列出这些资源。
这里有6种列表,请选择正确的一个:
确保遵循下面的基本准则,并遵循本仓库文件的Markdown规定格式。
为了确保一致性和准确性,我们在将内容从英语版本翻译成其他语言时遵循审查和调整流程。 它的工作原理如下:
参考英文文件:我们始终参考该文件的英文版本作为信息和指南的主要来源。
翻译和本地化:译员仔细地将内容翻译成目标语言,同时牢记语言和文化的细微差别。
审阅:翻译后,文件会经过母语人士的审阅过程,以确保翻译的准确性。
改编:在某些情况下,特定术语、短语或参考文献可能需要改编以更好地适应目标受众。 译者可以灵活地进行这些调整,同时保留核心信息。
质量保证:进行最终的质量保证检查,以验证翻译的文档是否连贯、准确且适合文化。
持续改进:我们鼓励贡献者和读者提供反馈和建议,以不断改进翻译内容。
通过遵循这一流程,我们的目标是提供既忠实于原始内容又与目标受众相关的高质量翻译。
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)*
如果您看到错误的链接,请检查 linter 错误讯息以了解应该交换哪些行。
虽然基础知识相对简单,但我们列出的资源却多种多样。以下是关于我们如何处理这种多样性的一些说明。
我们的清单提供了一组最小的元资料:标题、URL、创建者、平台和存取注释。
翻译作品,应注明原作者。我们建议使用 MARC relators 来表彰作者以外的创作者,如下例所示:
* [译作](http://example.com/book-zh.html) - John Doe,`trl.:` 译者麦克
这里,注解「trl.:」使用「翻译器」的 MARC 相关程式码。
et al.
」来缩短作者清单。Compiled from StackOverflow Documentation
」。决定资源属于哪个清单的第一条规则是查看资源如何描述自己。如果它称自己为一本书,那么也许它就是一本书。
由于互联网非常庞大,因此我们不将以下内容包括在列表中:
我们的竞争性节目清单对这些例外情况没有那么严格。 仓库的范围由社区决定;如果您想建议更改或新增范围,请使用 issue 提出建议
我们对书本性并不那么挑剔。以下是一些表示资源是一本书的属性:
我们列出的许多书籍不具备这些属性;这可能取决于上下文。
有时这些可能很难区分!
课程通常有相关的教科书,我们会将其列在图书列表中。课程包括讲座、练习、测试、笔记或其他教学辅助工具。单个讲座或视频本身并不是一门课程。PowerPoint不是课程。
如果您可以将其打印出来并保留其精髓,那么它就不是交互式教程。
.github/workflows/fpb-lint.yml
)要触发 URL 验证,请推送包含以下内容的 commit message 的提交 check_urls=file_to_check
:
check_urls=free-programming-books.md free-programming-books-zh.md