搜索指定网站内容(GitHub有没有类似的呢?答案是「肯定的」(组图) )
优采云 发布时间: 2021-12-10 21:05搜索指定网站内容(GitHub有没有类似的呢?答案是「肯定的」(组图)
)
你在 GitHub 上搜索代码时做了什么?是不是也和我一样,直接在搜索框中输入你要检索的内容,然后在列表中不断翻页,找到你需要的内容?
或者简单地过滤,在左边添加一个语言过滤项。
或者改变列表的排序方式
这是“全部”吗?
一般系统搜索功能都会有“高级搜索”功能。需要在另一个界面展开,进行二次搜索等等。GitHub 有没有类似的东西?
答案是“是的”。作为一个为成千上万的工程师提供服务的网站,我们不仅要有,还要有技术范围。
如果我们自己开发一个类似的应用程序,我们将如何实现它?
有了想法,我们来看看GitHub是怎么做的。
这里假设我们即将学习Spring Cloud,我们正在寻找一个Spring Cloud Demo参考训练手。
1. 明确搜索仓库标题、仓库描述、README
GitHub 提供了方便的搜索方式,可以将搜索限制在仓库的标题、描述、README 等。
以Spring Cloud为例,一个仓库一般长这个样子
其中,红色箭头所指的两个地方分别是仓库的名称和描述。我们可以直接限制关键字只搜索特定的地方。例如,如果我们只想查找名称收录 spring cloud 的仓库,则可以使用语法
在:名称关键词
如果要查找描述的内容,可以使用这种方法:
在:描述关键词
这里是搜索上述项目中描述的内容。
对于一般项目,会有一个 README 文件。如果你想检查文件是否收录特定的关键词,我想你猜对了
在:自述文件关键词
2. 明确搜索星叉数大于
一个项目的星数一般代表该项目的热度。虽然也有垃圾物品刷星星,但毕竟是小数目,星星还是个不错的衡量标准。
星星:>数字关键字。
比如我们想找一个star数大于3000的Spring Cloud仓库,可以这样做
星数:>3000 春云
如果不加>=,则需要准确找出星号与具体数字相等的位置。这通常有点困难。
如果您正在寻找指定的数字间隔,请使用
星数:10..20关键词
叉号相同,用叉替换上面的星星,其他语法相同
3. 明确搜索仓库大小
比如你只想看一个简单的Demo,又不想找一个特别复杂的占用大量磁盘空间的Demo,可以在搜索的时候直接限制仓库的大小。
如何使用:
大小:>=5000关键词
这里注意这个数字代表K,5000代表5M。
4. 明确仓库是否还在更新维护中
当我们确认是否使用一些开源产品和框架时,继续维护它们是非常重要的。东西过时了没人维护,就很难踩坑了。在GitHub上查找项目时,不再需要点击每个项目查看最新推送时间,直接在搜索框中即可完成。
就在元旦刚过,比如我们要找临近年底还在勤奋更新的项目,可以直接指定更新时间之前或之后的时间。
这样一篇文章推送的搜索:>2019-01-03spring cloud
我们发现在 1 月 3 日之后仍在更新的项目。
如果要查找在指定时间之前或之后创建的仓库,也可以将pushed 更改为created。
5. 明确搜索仓库的LICENSE
我们经常使用开源软件,要知道开源软件也分为不同的“门派”和不同的LICENSE。开源并不意味着一切都是免费的,不同的许可要求也有很大不同。2018 年,Facebook 修改了 React 的许可协议,导致各家公司修改自己的代码并寻找替代框架。
比如我们想找到协议最松的Apache License 2的代码,我们可以这样做
许可证:apache-2.0spring cloud
对于其他协议,只需替换apache-2.0,如mit。
6. 明确搜索仓库语言
例如,让我们查找 Java 库。除了如上点击左侧的选择,您还可以在搜索中进行过滤。像这样:
语言:java 关键词
7. 明确搜索某个人或组织的仓库
比如我们想在GitHub上查找某位大神是否提交了一个新的函数,我们可以指定它的名字并搜索它。比如看Josh Long是否提交了新的Spring Cloud代码,我们可以这样使用
用户:joshlong
结合使用它可以过滤掉 Java 项并用“空格”分隔多个查询。
用户:joshlong 语言:java
要查找某个组织的代码,您可以这样做:
org:spring-cloud 可以列出特定的组织仓库。