best-of项目深度解析:从配置到贡献的完整路线图
best-of项目是一个精心策划的开源项目列表集合,旨在帮助开发者发现各类主题的优秀开源项目。该项目通过自动化工具收集GitHub和不同包管理器的各种指标,为每个项目计算质量分数并进行排名,目前已包含25个最佳列表,总计42K星标,分为10个类别。无论是机器学习、Web开发还是区块链技术,用户都能在这里找到高质量的开源资源。## 快速开始:3分钟创建个人最佳列表创建自己的best-of列表
best-of项目深度解析:从配置到贡献的完整路线图
best-of项目是一个精心策划的开源项目列表集合,旨在帮助开发者发现各类主题的优秀开源项目。该项目通过自动化工具收集GitHub和不同包管理器的各种指标,为每个项目计算质量分数并进行排名,目前已包含25个最佳列表,总计42K星标,分为10个类别。无论是机器学习、Web开发还是区块链技术,用户都能在这里找到高质量的开源资源。
快速开始:3分钟创建个人最佳列表
创建自己的best-of列表非常简单,只需几个步骤即可完成。这个过程无需复杂的技术知识,即使是开源新手也能轻松上手。
使用模板仓库
首先,访问best-of模板仓库并创建新仓库。这个模板已经包含了所有必要的配置文件和工作流,为你省去了繁琐的初始设置。
使用best-of模板仓库创建新仓库
填写仓库名称和描述后,即可完成新仓库的创建。建议选择一个能反映列表主题的名称,以便其他用户快速了解你的列表内容。
填写新仓库信息
运行设置工作流
仓库创建完成后,需要运行setup-best-of-list工作流来初始化项目。在GitHub仓库页面中,导航到"Actions"选项卡,选择"setup-best-of-list"工作流,然后点击"Run workflow"按钮。
运行setup-best-of-list工作流
这个工作流会自动配置项目所需的基本文件和设置,包括创建必要的分支和配置文件。整个过程通常只需几分钟时间。
合并设置拉取请求
工作流运行完成后,会自动创建一个名为"Initial setup for best-of list"的拉取请求。导航到"Pull requests"选项卡,选择这个拉取请求并合并它。
选择设置拉取请求
合并拉取请求后,项目的基本结构就设置完成了。这一步是必要的,因为它将工作流生成的配置应用到主分支。
合并设置拉取请求
生成和发布列表
最后,运行update-best-of-list工作流来生成你的第一个最佳列表。同样在"Actions"选项卡中找到这个工作流并运行它。工作流完成后,会创建另一个拉取请求,其中包含生成的README.md文件。
运行update-best-of-list工作流
合并这个拉取请求并按照PR中的说明发布草稿版本,你的最佳列表就正式上线了!
合并更新拉取请求
项目配置详解
best-of项目的配置主要通过几个关键文件来实现,理解这些文件的作用和结构对于自定义和维护你的最佳列表至关重要。
projects.yaml文件
projects.yaml是整个项目的核心配置文件,所有项目信息都存储在这里。每个项目条目包含名称、GitHub ID、包管理器ID等信息。例如:
- name: Tensorflow
github_id: tensorflow/tensorflow
pypi_id: tensorflow
conda_id: tensorflow
labels: ["tensorflow"]
category: ml-frameworks
这个文件使用YAML格式,结构清晰易读。你可以通过添加或修改项目条目来更新你的最佳列表。每个项目可以属于一个类别,并可以添加多个标签以提高可发现性。
配置文件结构
除了projects.yaml,best-of项目还有其他一些重要的配置文件:
config/header.md:自定义列表的头部内容config/footer.md:自定义列表的底部内容.github/workflows/:包含自动更新和设置的工作流配置
通过修改这些文件,你可以定制列表的外观和行为,使其更符合你的需求和偏好。
贡献指南:如何参与best-of项目
贡献是开源项目的生命线,best-of项目欢迎各种形式的贡献,从添加新项目到改进现有功能。
添加新项目
要添加新项目,你可以直接修改projects.yaml文件并提交拉取请求。在添加项目时,请确保:
- 项目尚未被添加或建议过
- 使用正确的YAML格式和属性
- 为每个项目创建单独的拉取请求
- 使用
Add project: project-name格式的标题
项目属性包括名称、GitHub ID、类别、标签以及各种包管理器ID等。完整的属性列表可以在project properties部分找到。
更新现有项目
如果你发现项目信息需要更新,可以通过修改projects.yaml中的相应条目来实现。更新项目时,请遵循与添加项目类似的指南,使用Update project: project-name格式的标题。
改进元数据收集和Markdown生成
如果你对项目的元数据收集或Markdown生成过程有改进建议,可以参考best-of-generator仓库,那里包含了这些功能的实现代码。
项目质量评分机制
best-of项目使用一套自动评分机制来评估每个项目的质量。这个评分基于从GitHub和各种包管理器收集的多种指标,包括星标数量、贡献者数量、fork数量、问题数量等。
评分机制的具体实现可以在best-of-generator中找到。通过这种客观的评分方式,best-of项目确保了列表的质量和客观性,帮助用户发现真正有价值的开源项目。
常见问题解答
如何更新我的最佳列表?
更新最佳列表非常简单,只需修改projects.yaml文件并重新运行update-best-of-list工作流。你也可以等待预定的自动更新,通常每周运行一次。
我可以创建多少个最佳列表?
没有限制!你可以根据自己的兴趣创建任意数量的最佳列表,每个列表专注于不同的主题或技术领域。
如何自定义列表的外观?
你可以通过修改config/header.md和config/footer.md文件来自定义列表的头部和底部内容。此外,你还可以通过修改工作流配置来自定义生成的Markdown格式。
结语
best-of项目为开发者提供了一个发现和分享优秀开源项目的平台。通过简单的设置和配置,任何人都可以创建自己的最佳列表,为开源社区贡献力量。无论你是开源新手还是经验丰富的开发者,都可以通过best-of项目发现更多有价值的开源资源,同时分享自己喜爱的项目。
立即开始创建你自己的best-of列表,加入这个充满活力的开源社区吧!你可以通过以下命令克隆仓库开始:
git clone https://gitcode.com/gh_mirrors/be/best-of
然后按照本文档中的步骤,创建属于你的第一个最佳列表!
更多推荐


所有评论(0)