盘点 Github 所用到的开源项目
http://www.php100.com/html/it/mobile/2014/0401/6736.html
![](http://www.php100.com/uploadfile/2014/0401/20140401100740440.jpg)
在致力于开源事业的同时,Github也使用一些非常优秀的开源项目的来打造自己的平台与服务,本文总结了Github所用到各种开源项目,它们分别扮演着不同的角色。
1.Linguist
Linguist直译是语言学家的意思,采用Ruby开发。使用它可以自动分辨项目所使用的开发语言。Github使用该开源项目主要是用来探测代码所用语言,突出显示代码、忽略二进制文件、防止文件生成存在差异以及生成语言分解图等。
托管地址: https://github.com/github/linguist
2.pjax
pjax是对ajax + pushState的封装,让你可以很方便的使用pushState技术。同时支持缓存和本地存储,再次访问的时候可以直接读取本地数据。展现方式支持动画技术,可以使用系统自带的动画方式,也可以自定义动画展现方式。
官网: http://pjax.heroku.com/
托管地址: https://github.com/defunkt/jquery-pjax
3.Elasticsearch
Elasticsearch是一个实时的、分布式的RESTful搜索引擎,基于Apache Lucene开发。具备高可靠性,支持非常多的企业级搜索用例。它对外提供一系列基于Java和HTTP的API,用于索引、检索、修改大多数配置。
官网: http://www.elasticsearch.org/
托管地址: https://github.com/elasticsearch/elasticsearch
4.Ruby on Rails
Rails是一个使用Ruby语言写的开源Web应用框架,它是严格按照MVC结构开发的。它努力使自身保持简单,来使实际的应用开发代码更少,使用最少的配置。
官网: http://rubyonrails.org/
托管地址: https://github.com/rails/rails
5.redis
Redis是一个开源、支持网络、基于内存、键值对存储的数据库。基于C语言开发,与其他很多键值对数据库的不同之处在于, Redis不仅支持简单的字符串键值对,它还提供了一系列数据结构类型值,比如列表、哈希、集合和有序集, 并在这些数据结构类型上定义了一套强大的API。
官网: http://redis.io/
托管地址: https://github.com/antirez/redis
6.sprockets
sprockets是一个Ruby库,用于编译和服务Web资产。它可以用来检查JavaScript和CSS等文件之间的依赖关系,它还拥有一个强大的预处理器管道,允许开发者在CoffeeScript、Sass、SCSS和LESS等语言里编写资产。
托管地址: https://github.com/sstephenson/sprockets
7.libgit2
libgit2是一个可移植、纯C语言实现的Git核心开发包,作为一款带有稳固API的可重入链接库,libgit2允许你使用任何语言来编写Git应用。此外,libgit2可以应用在各个平台上,包括Unix、Linux、MacOS X、Windows等。
官网: http://libgit2.github.com/
托管地址: https://github.com/libgit2/libgit2
8.Rugged
Rugged是一个C语言实现的库,主要用来支持在Ruby中访问libgit2开发包。
托管地址: https://github.com/libgit2/rugged
9.bcrypt-ruby
bcrypt-ruby是一个用于OpenBSD bcrypt()密码哈希算法的Ruby绑定,开发者可以使用它把用户密码变成哈希数,安全地存储用户密码,预防黑客攻击。
官网: http://bcrypt-ruby.rubyforge.org
托管地址: https://github.com/codahale/bcrypt-ruby
10.html-pipeline
Github HTML处理过滤器和工具,是由几个HTML工具打包而成的。该模块还包含一个基于内容过滤来定义DOM的小型框架。
托管地址: https://github.com/jch/html-pipeline
11.gemoji
gemoji里面主要包含emoji表情的图片和名称。
托管地址: https://github.com/github/gemoji
12.Jekyll
Jekyll是一个静态站点生成器,它会根据网页源码生成静态文件。它提供了模板、变量、插件等功能,所以实际上可以用来编写整个网站。
官网: http://jekyllrb.com/
托管地址: https://github.com/jekyll/jekyll
13.Gollum
Gollum是一个简单的基于Git的wiki系统,Github的wiki就是由它实现的。支持markdown编写。它同时带有一个本地的前端,你可以在浏览器里编写保存页面,系统会在后端自动提交。因为它是一个Git repo,所以你也可以把它push到GitHub。
托管地址: https://github.com/gollum/gollum
14.Octokit
Octokit是Github API客户端库集合,允许开发者使用自己擅长的编程语言来访问Github API。Octokit项目包含Ruby、Objective-C和.NET、GO客户端。
托管地址: https://github.com/octokit
15.Hubot
Hubot是Github开源的运维机器人,它在Github员工的日常生活中扮演着非常重要的角色。它非常灵活,任何人都可以编写自己的脚本来扩展基本功能。脚本使用的语言是CoffeeScript,而Hubot运行在Node.js上。
官网: http://hubot.github.com/
托管地址: https://github.com/github/hubot
16.D3.js
D3.js是一个基于JavaScript数据展示库,用于操作基于数据的HTML文档。它能够帮助我们以HTML或SVG的形式快速可视化展示,进行交互处理,合并平稳过渡,在Web页面演示动画。它既可以作为一个可视化框架(如Protovis),也可以作为构建页面的框架(如jQuery)。
官网: http://d3js.org/
托管地址: https://github.com/mbostock/d3
17.Plax
Plax是一个jQuery插件,可以通过鼠标的悬浮或移动来触发视差滚动效果。开发者可以使用它制作404、500以及About页面。
官网: [/url][url=http://cameronmcefee.com/plax/]http://cameronmcefee.com/plax/
托管地址: [/url][url=https://github.com/cameronmcefee/plax]https://github.com/cameronmcefee/plax
18.Ace
Ace是一个开源的、独立的、基于浏览器的代码编辑器,可以嵌入到任何Web页面或JavaScript应用程序中。Ace支持超过40种语言语法高亮,并能够处理代码多达400万行的大型文档。Ace开发团队称,Ace在性能和功能上可以媲美本地代码编辑器(如Sublime Text、TextMate和Vim等)。
官网: [/url][url=http://ace.c9.io/]http://ace.c9.io/
托管地址: [/url][url=https://github.com/ajaxorg/ace]https://github.com/ajaxorg/ace
19.Zepto.js
Zepto是为现代浏览器打造的轻量级JavaScript库,它与jQuery有着类似的API。如果你会jQuery,那么也就会使用Zepto了。
官网: http://zeptojs.com/
托管地址: [/url][url=https://github.com/madrobby/zepto]https://github.com/madrobby/zepto
20.ZeroClipboard
ZeroClipboard使用一个不可视化的Adobe Flash动画和一个JavaScript接口即可轻易把文本的拷贝到粘贴板的库。
官网: [/url][url=http://zeroclipboard.org/]http://zeroclipboard.org/
托管地址: https://github.com/zeroclipboard/zeroclipboard
21.Charlock Holmes
Charlock Holmes是一个字符编码检测库,主要用于检测字符和代码转换,以确保代码字符为UTF-8。
托管地址: https://github.com/brianmario/charlock_holmes
22.Puppet
Puppet是一个自动管理引擎,可以适用于Linux、Unix以及Windows平台。所谓配置管理系统,就是管理机器里面诸如文件、用户、进程、软件包这些资源。无论是管理1台,还是上万台机器Puppet都能轻松搞定。
官网: http://www.puppetlabs.com/puppet/introduction/
托管地址: https://github.com/puppetlabs/puppet
23.Moment.js
Moment.js是一款非常轻量且健壮的JavaScript日期处理类库,提供了日期格式转换、日期验证等功能。Github使用它主要用来显示前端时钟。
官网: http://momentjs.com/
托管地址: [/url][url=https://github.com/moment/moment]https://github.com/moment/moment
24.Bower
Bower是由Twitter开源的一款包管理器,主要用于Web前端开发。它提供了一套通用、客观的解决方案。它通过一个API暴露包之间的依赖模型,这样更利于使用更合适的构建工具。Bower没有系统级的依赖,在不同App之间也不互相依赖,依赖树是扁平的。
官网: http://bower.io/
托管地址: [/url][url=https://github.com/bower/bower]https://github.com/bower/bower
25.Resque
Resque是一个基于Redis的后端Ruby库,由Github开源。其主要用来创建后台任务、并且把这些任务安置在多个队列上,等待处理。它还自带前台管理功能,方便查看执行情况。
托管地址: [/url][url=https://github.com/github/resque]https://github.com/github/resque
可以说,开源成就了Github,Github也推动了全球开源事业的发展。越来越多的互联网公司重视开源事业的发展,并且积极投身到开源事业当中。
盘点 Github 所用到的开源项目的更多相关文章
- GitHub 优秀的 Android 开源项目(转)
今天查找资源时看到的一篇文章,总结了很多实用资源,十分感谢原作者分享. 转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介 ...
- GitHub 优秀的 Android 开源项目
转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.M ...
- 【转】GitHub 优秀的 Android 开源项目
转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.M ...
- GitHub优秀的Android 开源项目
GitHub上优秀Android开源项目 转载自 : http://my.eoe.cn/sisuer/archive/3348.html http://my.eoe.cn/sisuer/archive ...
- 【Android 应用开发】GitHub 优秀的 Android 开源项目
原文地址为http://www.trinea.cn/android/android-open-source-projects-view/,作者Trinea 主要介绍那些不错个性化的View,包括Lis ...
- [转]GitHub 优秀的 Android 开源项目
GitHub 优秀的 Android 开源项目 主要介绍那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageV ...
- github上有android开源项目
下面是一些比较好的开源项目,总共分为5大类,也许对某一些人有用,有些项目也许将来某一天对自己也有用,所以整理到此,希望对大家有帮助.首先声明非原创,这篇blog的目的是分享给那些可能需要的人. htt ...
- GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。
1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便 ...
- GitHub上优秀的开源项目(转载)
转载出处:https://github.com/Trinea/android-open-project 第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.A ...
随机推荐
- c#中字符串截取使用的方法
AndyZhang welcome to java world c#中字符串截取使用的方法 String substring(int beginIndex) String substring(int ...
- ARM-Linux配置DHCP自动获取IP地址
备注:内核版本:2.6.30.9busybox版本:1.15.2 PC Linux和开发板Linux的工作用户:root 1. 配置内核:[*] Networking support --->N ...
- 新浪微博2.5.1 for Android 去广告
新浪微博更新到2.5.1版,就开始来广告了,伤不起啊... 亲,看到没,手机屏幕就那么一小块,还要往里面塞东西,另外是一个在后台运行的AdCenter服务. 所需要用到的工具有:apktool,JD- ...
- lightoj 1008
水题,开根号判断大致范围,再找即可. #include<cstdio> #include<cmath> #include<cstdlib> using namesp ...
- HDU 1881
思路:一开始以为rating相同的点就直接比较rp然后建图,后来想想不对,因为这样发现不了冲突.后来一想对于rating相同的点可以不用排序,因为对于这些点,他们的rp必然不相同,也就是说在这些点的内 ...
- [CODEVS3299]有序数组合并求第K大问题
题目描述 Description 给出两个有序数组A和B(从小到大有序),合并两个有序数组后新数组c也有序,询问c数组中第k大的数 假设不计入输入输出复杂度,你能否给出一个O(logN)的方法? 输入 ...
- 输入一个正数 n,输出所有和为 n 连续正数序列。 java实现
用了半小时才写出来啊, 其实这种思路应用范围很广,利用有序性这个特点,比如本体只要是有序就行,例如两个集合是有序的,求交集,有序数组的查找,有序数组的归并,有序有了优化的可能. 输入一个正数 n,输出 ...
- Sql->Linq-> Lambda 相互转换
Linq 转 SQL 或 Linq 转 Lambda : 工具: LinqPad Sql 转 Linq to Entity: 工具: Linqer
- 路由器中pppoe,动态IP,静态IP的区别
路由器中pppoe,动态IP,静态IP的区别 要把路由器设置得能上网,无非就是设置WAN外网接口连接而已.WAN接口能上网,则连接的电脑就能上网,反之则上不了网.只不过WAN接口往往有pppoe,动态 ...
- POJ2407–Relatives(欧拉函数)
题目大意 给定一个正整数n,要求你求出所有小于n的正整数当中与n互质的数的个数 题解 欧拉函数模板题~~~因为n过大~~~所以直接用公式求 代码: #include<iostream> # ...