Useful Forks
这个工具通过提供值得探索的分支列表,增强了开源项目有用分支的可发现性。
结果经过筛选,排除了自创建以来从未向主分支推送过任何提交的分支。
有时,一个项目可能被放弃,或者有人对它应该如何实现有不同的想法...当你去寻找那些有趣的分支时,你发现自己要在可能数百个分支中搜索。这个工具就是为了帮助你发现你一直在寻找的隐藏珍宝!
目录
发布版本
有几种方式可以访问这个工具。
如果你使用 Chrome,最佳选择是下载 Chrome 扩展程序。对于其他浏览器,你可能想使用书签工具。
在线工具
得益于 GitHub Pages,该项目可以在线免费使用。
你可以直接通过 URL 查询仓库。点击这个链接查看示例:https://useful-forks.github.io/?repo=payne911/PieMenu。
以下是扫描的录屏示例:
Chrome 扩展程序
前往 Chrome 网上应用店安装已发布的扩展程序。
激活后,扩展程序会自动在所有 GitHub 仓库页面添加一个新的"Useful"按钮:
点击后会发生以下情况:
这个按钮只会在你访问 GitHub 仓库时出现,点击它会打开一个新标签页,自动触发使用在线工具进行搜索。
请注意,本项目不会再更新 GitHub Releases 页面。我们现在将通过 Chrome 网上应用店发布更新。
书签工具
在线工具可以作为书签工具使用。要手动添加一个,按 Ctrl+D
创建一个新书签,并在 URL 字段中添加以下代码:
javascript:!function(){if(m=window.location.href.match(/github\.com\/([\w.-]+)\/([\w.-]+)/),m){window.open(`https://useful-forks.github.io/?repo=${m[1]}/${m[2]}`)}else window.alert("Not a GitHub repo")}();
当你在浏览器中查看 GitHub 仓库时,可以点击新创建的书签工具,它会在新标签页中为该仓库打开在线工具。
工作原理
这个活动图(UML)应该能够澄清算法的内部工作原理,以及为什么有时可能需要如此多的 API 调用。
贡献
如果你想提供帮助,仓库的结构相当简单。文件夹方面:
网站说明
要在本地运行网站,你需要:
- NodeJS(建议 v14.15+)
- NPM(建议 v6.14+)
在终端中进入 website
文件夹并执行 npm install
,然后执行 npm run dev
。
如果运行 npm run dev
后出现提到 "code: 'ERR_OSSL_EVP_UNSUPPORTED'
" 的错误,这个应该能帮到你。
每当你想测试对 src/queries-logic.js
文件的更改时,你需要重新执行 npm run dev
以重新编译 dist/main.js
。
致谢
- 感谢 raeleus 设计的 logo!
- 感谢 jkunstwald 允许我将 MIT 许可证应用于从他最初的工作扩展而来的内容。以下是所做改进的列表:
- 对所有子分支进行递归搜索
- GitHub API 的
Watchers
值存在 bug,因此被移除 - 实现对 GitHub API 的认证请求(这增加了调用限制)
- 为某些边缘情况添加了一些最小的反馈
- 为该功能创建了一个实际的网站
- Chrome 扩展程序链接到(更强大的)网站
- 感谢
star-history
的开源网站,我为这个项目对其进行了改编