盤點Github所用的開源專案

edithfang發表於2014-06-21

Github是一家一直致力於開源事業的企業,github.com網站也是全球最流行的開源專案託管平臺,上面託管著成千上萬個開源專案。
在致力於開源事業的同時,Github也使用一些非常優秀的開源專案的來打造自己的平臺與服務,本文總結了Github所用到各種開源專案,它們分別扮演著不同的角色。

1.Linguist
顧名思義,Linguist直譯是語言學家的意思,採用Ruby開發。使用它可以自動分辨專案所使用的開發語言。Github使用該開源專案主要是用來探測blob語言,突出顯示程式碼、忽略二進位制檔案、防止檔案生成存在差異以及生成語言分解圖等。
託管地址: 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搜尋引擎,基於ApacheLucene開發。具備高可靠性,支援非常多的企業級搜尋用例。它對外提供一系列基於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、MacOSX、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頁面。
官網: http://cameronmcefee.com/plax/
託管地址:https://github.com/cameronmcefee/plax
18.Ace
Ace是一個開源的、獨立的、基於瀏覽器的程式碼編輯器,可以嵌入到任何Web頁面或JavaScript應用程式中。Ace支援超過40種語言語法高亮,並能夠處理程式碼多達400萬行的大型文件。Ace開發團隊稱,Ace在效能和功能上可以媲美原生程式碼編輯器(如Sublime Text、TextMate和Vim等)。
官網: http://ace.c9.io/
託管地址: https://github.com/ajaxorg/ace
19.Zepto.js
Zepto是為現代瀏覽器打造的輕量級JavaScript庫,它與jQuery有著類似的API。如果你會jQuery,那麼也就會使用Zepto了。
官網: http://zeptojs.com/
託管地址:https://github.com/madrobby/zepto
20.ZeroClipboard
ZeroClipboard使用一個不視覺化的Adobe Flash動畫和一個JavaScript介面即可輕易把文字的拷貝到貼上板的庫。
官網: 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/
託管地址: https://github.com/moment/moment
24.Bower
Bower是由Twitter開源的一款包管理器,主要用於Web前端開發。它提供了一套通用、客觀的解決方案。它通過一個API暴露包之間的依賴模型,這樣更利於使用更合適的構建工具。Bower沒有系統級的依賴,在不同App之間也不互相依賴,依賴樹是扁平的。
官網: http://bower.io/
託管地址: https://github.com/bower/bower
25.Resque
Resque是一個基於Redis的後端Ruby庫,由Github開源。其主要用來建立後臺任務、並且把這些任務安置在多個佇列上,等待處理。它還自帶前臺管理功能,方便檢視執行情況。
託管地址: https://github.com/github/resque
可以說,開源成就了Github,Github也推動了全球開源事業的發展。越來越多的網際網路公司重視開源事業的發展,並且積極投身到開源事業當中。
本文轉載自: Github
評論(1)

相關文章