菜单

存储库结构

相关源文件

本文档提供了《免费编程书籍》仓库结构的技术概述,详细介绍了仓库中文件和目录的组织方式。有关仓库中包含的特定资源类型的信息,请参阅资源类型

概述

《免费编程书籍》仓库以 Markdown 文件集合的形式组织,其中包含免费编程资源的链接。这些资源按类型(书籍、课程、播客等)分类,并进一步按自然语言细分,从而创建了一个全面的多语言教育材料目录。

来源:README.md71-124

顶级目录

仓库遵循基于资源类型的直接组织方式,每种类型都包含在自己的顶级目录中。

目录目的
books/包含列出免费编程书籍的 Markdown 文件
courses/包含列出免费在线课程的 Markdown 文件
casts/包含免费播客和截屏视频的 Markdown 文件
more/包含其他资源类型(互动教程、编程游乐场等)
docs/供贡献者使用的文档,包括指南和操作说明
.github/GitHub 特定的配置文件和工作流定义

来源:README.md71-183

文件命名约定

仓库使用一致的文件命名模式,便于按类型和语言查找资源。文件根据以下约定命名:

资源类型文件命名模式示例
书籍free-programming-books-{lang_code}.mdfree-programming-books-ro.md, free-programming-books-zh.md
书籍(英文)free-programming-books-langs.md
free-programming-books-subjects.md
按编程语言组织
按主题组织
课程free-courses-{lang_code}.mdfree-courses-en.md, free-courses-my.md
播客/截屏视频free-podcasts-screencasts-{lang_code}.mdfree-podcasts-screencasts-en.md
互动教程free-programming-interactive-tutorials-{lang_code}.mdfree-programming-interactive-tutorials-en.md
编程练习平台free-programming-playgrounds-{lang_code}.mdfree-programming-playgrounds.md(英文)

来源:README.md76-123 books/free-programming-books-ro.md books/free-programming-books-te.md courses/free-courses-my.md casts/free-podcasts-screencasts-my.md

语言组织

仓库提供超过 40 种自然语言的资源,每种资源类型都包含按语言代码组织的文件。英文资源通常具有特殊的组织结构,而非英文资源则按文件名中的语言代码组织。

来源:README.md80-123 README.md129-168 README.md187-209 README.md172-178 README.md212-218

内部文件结构

每个资源文件都遵循一致的内部结构,旨在方便资源的导航和发现。

资源文件示例

### Index

* <FileRef file-url="https://github.com/EbookFoundation/free-programming-books/blob/a0ff9b41/Ajax" undefined  file-path="Ajax">Hii</FileRef>
* <FileRef file-url="https://github.com/EbookFoundation/free-programming-books/blob/a0ff9b41/C" undefined  file-path="C">Hii</FileRef>
* <FileRef file-url="https://github.com/EbookFoundation/free-programming-books/blob/a0ff9b41/HTML and CSS" undefined  file-path="HTML and CSS">Hii</FileRef>
* <FileRef file-url="https://github.com/EbookFoundation/free-programming-books/blob/a0ff9b41/Javascript" undefined  file-path="Javascript">Hii</FileRef>
* <FileRef file-url="https://github.com/EbookFoundation/free-programming-books/blob/a0ff9b41/MySQL" undefined  file-path="MySQL">Hii</FileRef>
* <FileRef file-url="https://github.com/EbookFoundation/free-programming-books/blob/a0ff9b41/PHP" undefined  file-path="PHP">Hii</FileRef>
* <FileRef file-url="https://github.com/EbookFoundation/free-programming-books/blob/a0ff9b41/Scratch" undefined  file-path="Scratch">Hii</FileRef>


### Ajax

* [Ajax](http://etutoriale.ro/articles/1483/1/Tutorial-Ajax/)


### C

* <FileRef file-url="https://github.com/EbookFoundation/free-programming-books/blob/a0ff9b41/Ghidul Beej pentru Programarea in Retea - Folosind socket de internet" undefined  file-path="Ghidul Beej pentru Programarea in Retea - Folosind socket de internet">Hii</FileRef>

来源:books/free-programming-books-ro.md1-19 books/free-programming-books-te.md1-15 courses/free-courses-my.md1-10

自动化与质量控制基础设施

仓库采用多个 GitHub 工作流来维护资源质量和一致性。

工作流文件目的
check-urls.yml自动检查更改文件中的 URL,以确保所有链接有效
detect-conflicting-prs.yml识别存在合并冲突的拉取请求并相应地添加标签
stale.yml通过自动添加标签和关闭来管理陈旧的问题和拉取请求
awesomebot-gh-summary-action生成 URL 检查摘要报告的自定义操作

来源:.github/workflows/check-urls.yml .github/workflows/detect-conflicting-prs.yml .github/workflows/stale.yml .github/actions/awesomebot-gh-summary-action/action.yml

资源访问方法

仓库提供了多种用户访问资源的方式:

  1. 直接通过 GitHub 导航:用户可以直接在 GitHub 上浏览仓库结构
  2. 静态网站:提供了仓库的易读网站版本
  3. 搜索功能:一个专用的搜索工具帮助用户查找特定资源

来源:README.md11-13 README.md15-21

总结

《免费编程书籍》仓库遵循清晰、一致的组织模式,便于查找和贡献资源。其结构主要按资源类型组织,然后按自然语言细分,并全程保持一致的命名约定和内部文件结构。

仓库的组织结构能够有效地管理数千种跨多种语言的教育资源,同时通过自动化工作流保持质量。