从小白蜕变成建站大佬(1)寻找开源项目

博客原文

https://www.biliwind.com/19754.html
雨云优惠码:wp-admin

什么是开源

开源,就是指软件的源代码可以被公众查看、修改和分发,通常遵循特定的开源许可证。这样,任何人都可以参与改进软件,并且可以自由地使用和分享

使用开源的优势是什么

  1. 成本效益:开源软件通常是免费的,可以节省购买商业软件的费用。但部分开源软件禁止直接商用,商用需要购买授权
  2. 透明性:源代码公开,用户可以检查代码,确保没有隐藏的恶意行为。当然某些特殊情况还是有的,例如某用户在代码中多提交了一个字符串导致跳出编译器沙盒环境
  3. 灵活性:用户可以根据自己的需要修改软件
  4. 社区支持:通常有一个活跃的社区,用户可以互相帮助解决问题
  5. 创新:开源鼓励创新,因为任何人都可以贡献新的想法和改进
  6. 兼容性:开源软件往往有更好的跨平台兼容性

去哪里寻找开源

这就要提到大名鼎鼎的GitHub、GitLab以及恶心人的Gitee,还有疯狂抄袭的GitCode了

GitHub 由 GitHub, Inc. 拥有和运营,它是面向全球性的开源平台,并且由于国内网络环境的不断“净化”,这些真正好用的网站几乎都被“净化”掉了,有时需要科学上网环境才能访问

Gitee 原名 Git@OSC,是一个中国的代码托管平台,由开源中国(OSChina)运营。由于是中国运营的平台,强制登陆、强制手机号验证、下载限速等都是常态了,并且相较于GitHub,Gitee的限制更多
GitCode 是由华为云和 CSDN 联合开发的代码托管平台,并且在CSDN中很常见它的跳转链接

并且它强制登陆也是常态

而且由于GitCode疯狂未经允许搬运各大项目,导致骂声一片,也因为搬运了需要被中国互联网“净化”的好用开源项目,曾一度搞的自己疯狂404

GitLab是一个自托管的 Git 项目仓库,同时也有官方的云端平台,适合极客用户和需要私有化的项目,因为它完全开源,可以部署在你自己的服务器上,无需公开给其他人,并且其原生支持WebIDE,对小白非常友好

寻找开源项目

由于国内平台的流氓特性,本文仅深究GitHub

使用搜索

标准搜索

GitHub在几乎任意界面的顶部都有一个搜索框,点击即可触发搜索功能,同时,细心的小伙伴肯定发现了搜索框右侧有一个斜线的图标,这实际上是一个快捷键,按下键盘上的”/”可以直接触发搜索,不需要再动鼠标了

比如我想寻找一个博客源码,那么就直接搜索“博客”

敲下回车后你就看到了搜索结果

在左侧可以设置过滤项,例如我想搜索Issues就选Issues,右侧的数字则是结果的数量,例如默认搜索的是Repositories这里显示的结果数量是106k,也就是搜索的存储库,一共搜到了106千个库,但是为什么是106千,而不是10.6w(万)呢?因为w并不是万的单位,而国外也习惯于用千做单位

又有一个问题出现了,我为什么不用浏览器的翻译功能?这个翻译功能在GitHub这种依赖于pjax响应的网站可不敢乱用,因为会…


过滤搜索

逆向寻找开源项目

这里以雨云论坛为例

有时候可能会看到一些个人、小厂有一款功能及其强大的网站等,这时候我们不难联想到他们都是使用了开源,毕竟他们的能力不足以开发并且维护一个这么大的项目,但我们又不知道它用的是什么开源,此时我们就可以通过逆向寻找的方式来扒出使用的开源项目

某些情况下我们甚至都不用很费力,按下F12打开开发者工具就明白了

不光告诉你使用的是Discourse,甚至还附上了一个通往GitHub的链接,但实际上这种情况很少见,只存在于部分开源项目的部分版本

如果没有控制台提示怎么办呢,这时我们需要打开元素选项,并且尝试从引用的文件中寻找

如果只能寻找到这种一串乱码命名的怎么办呢,这时候我们就要请出GitHub了

我们首先需要找到一些有代表性的标签并且复制到GitHub搜索

我们点击左上角搜索源码,这时候我们看到出现了两个结果,并且上下文都和雨云论坛有几分相似,这时我们就基本确定肯定是开源项目了

我们观察一下项目名称不就真相大白了嘛

discourse-loading-bench不就是discourse负载均衡的意思么

下载发行版

既然这是个开源平台,那搜索到的东西也多半是源码啊,源码可是需要编译才能运行的,编译又费时又对小白不友好,所以我们要寻找的是已经编译好的版本

我们往下滑一点可以找到一个Releases,也就是发行版的意思,这里显示的是最新的版本,直接点进去通常就能找到下载的地方

直接点击文件名就能下载了,右侧的“下载”本身是没有的,只不过我的浏览器插件添加了一个按钮,可以自定义加速地址,我使用的加速地址是ghproxy

找到了但是不会用

如果你找到了一个看起来满足你需求的开源项目,但是不会部署,我们可以在下面找到自动嵌入的README文档(自述文件)

在这里面找一找通常就能找到部署教程了