Github前端项目排名

 

Github前端项目排名(2016-04-04)

一、前言

近几年前端技术日新月异,从 RequireJS 到 AngularJS 再到 React,似乎每天都有新的技术诞生。而大神们总能第一时间获取到最新资讯,在我们还在刀耕火种的年代就使用上各种高新技术,甚是膜拜。

为了赶上时代的脚步,加上昨天闲着蛋痛。。。就打算去 Github 研究一波,看看大家都在干什么。万一找到一个潜力股项目在萌芽阶段,然后我就去读懂它的源代码,努力成为项目主要贡献者,等星星上来之后,不就成为又一个大牛了吗!(想想就好...)。于是项目按星星排序,一个个研究。。。突然发现这样子太笨了,不如写个爬虫把所有信息都捉取过来弄个排行榜吧。正计划中又发现这个网站Github Rank,上面写着 by Github API v3。原来有 Github 有开放 api 的,还tm写爬虫那不是逗吗。。。

二、使用Nodejs生成排行榜

于是乎就用 Nodejs 编写了简单的脚本,自动生成前端项目的排行榜。前端项目指使用语言类型为 JavaScript 、 CSS 和 HTML 的项目。具体代码如下,大家可以复制过去玩玩,只要使用node index.js就可以生成最新的前端项目排行榜,当然如果你想自定义排行榜类型的话,修改一下源码,也很简单(代码使用了一些 ES6 的语法,如果大家对 ES6 不太熟悉,强烈推荐查看阮一峰老师的开源电子书 ECMAScript 6入门)。此外要注意的一点是生成的文档为 markdown 格式,所以你还需要一个相关的编辑器查看。 这份代码也可以在我的 Github 上查看。

var https = require('https');
var fs = require('fs');

var options = {
    protocol: 'https:',
    host: 'api.github.com',
    path: '/search/repositories?q=language:javascript+language:css+language:html+stars:>=10000&sort=stars&order=desc&per_page=100',
    method: 'GET',
    headers: {
        'User-Agent': 'frontend-repos-ranking',
    }
};

var getRepos = new Promise(function(resolve, reject) {
    var req = https.request(options, (res) => {
        var data = '';
        res.setEncoding('utf8');
        res.on('data', (chunk) => {
            data += chunk;
        });
        res.on('end', () => {
            resolve(data);
        })
    });

    req.on('error', (e) => {
        console.log(`problem with request: ${e.message}`);
    });

    req.end();
});

getRepos.then((repos) => {
    var markdown = 
`# frontend-repos-ranking
## ${(new Date()).toDateString()}
github上所有前端项目(HTML+CSS+JavaScript)的总排名!
本页面使用nodejs结合github的api自动生成,您可以通过运行\`node index.js\`来生成最新的排行榜。\n\n`;

    markdown += ' Rank | Name(Description) | Star | Language | Created_At \n';

    markdown += ' --- | --- | --- | --- | --- \n';

    repos = JSON.parse(repos);

    repos.items.forEach((item, index) => {

        markdown += `${index+1}|[**${item.full_name}**](${item.html_url})<br><br>${item.description}|${item.stargazers_count}|${item.language}|${item.created_at.split('T')[0]}\n`;

    });

    fs.writeFile('README.md', markdown);
});

三、排行榜

接下来放出排名前100的前端项目,这样我就可以好好研究一下每一个项目啦(hehe...)。
博客园里的这表格样式太丑了。。。推荐到我的 Github 上查看

RankName(Description)StarLanguageCreated_At
1FreeCodeCamp/FreeCodeCamp

The http://FreeCodeCamp.com open source codebase and curriculum. Learn to code and help nonprofits.
101749JavaScript2014-12-24
2twbs/bootstrap

The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.
94459CSS2011-07-29
3mbostock/d3

A JavaScript visualization library for HTML and SVG.
48331JavaScript2010-09-27
4angular/angular.js

HTML enhanced for web apps
48295JavaScript2010-01-06
5FortAwesome/Font-Awesome

The iconic font and CSS toolkit
41054HTML2012-02-17
6facebook/react

A declarative, efficient, and flexible JavaScript library for building user interfaces.
39549JavaScript2013-05-24
7jquery/jquery

jQuery JavaScript Library
38815JavaScript2009-04-03
8h5bp/html5-boilerplate

A professional front-end template for building fast, robust, and adaptable web apps or sites.
33483JavaScript2010-01-24
9meteor/meteor

Meteor, the JavaScript App Platform
33130JavaScript2012-01-19
10airbnb/javascript

JavaScript Style Guide
32896JavaScript2012-11-01
11daneden/animate.css

A cross-browser library of CSS animations. As easy to use as an easy thing.
30965CSS2011-10-12
12facebook/react-native

A framework for building native apps with React.
29822JavaScript2015-01-09
13getify/You-Dont-Know-JS

A book series on JavaScript. @YDKJS on twitter.
28689JavaScript2013-11-16
14hakimel/reveal.js

The HTML Presentation Framework
27192JavaScript2011-06-07
15impress/impress.js

It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com.
26984JavaScript2011-12-28
16moment/moment

Parse, validate, manipulate, and display dates in javascript.
25424JavaScript2011-03-01
17adobe/brackets

An open source code editor for the web, written in JavaScript, HTML and CSS.
25028JavaScript2011-12-07
18jashkenas/backbone

Give your JS App some Backbone with Models, Views, Collections, and Events
24505JavaScript2010-09-30
19Semantic-Org/Semantic-UI

Semantic is a UI component framework based around useful principles from natural language.
24411JavaScript2013-04-08
20expressjs/express

Fast, unopinionated, minimalist web framework for node.
24289JavaScript2009-06-26
21mrdoob/three.js

JavaScript 3D library.
24145JavaScript2010-03-23
22socketio/socket.io

Realtime application framework (Node.JS server)
24047JavaScript2010-03-11
23blueimp/jQuery-File-Upload

File Upload widget with multiple file selection, drag&drop support, progress bar, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (Google App Engine, PHP, Python, Ruby on Rails, Java, etc.) that supports standard HTML form file uploads.
23220JavaScript2010-12-01
24driftyco/ionic

Advanced HTML5 mobile development framework and SDK. Build incredible mobile apps with web technologies you already know and love. Best friends with AngularJS.
23142JavaScript2013-08-20
25zurb/foundation-sites

The most advanced responsive front-end framework in the world. Quickly create prototypes and production code for sites that work on any kind of device.
23026JavaScript2011-10-13
26google/material-design-icons

Material Design icons by Google
23014CSS2014-10-08
27resume/resume.github.com

Resumes generated using the GitHub informations
21789JavaScript2011-02-06
28nodejs/node

Node.js JavaScript runtime ✨����✨
21699JavaScript2014-11-26
29NARKOZ/hacker-scripts

Based on a true story
21456JavaScript2015-11-21
30necolas/normalize.css

A collection of HTML element and attribute style-normalizations
20603HTML2011-05-04
31gulpjs/gulp

The streaming build system
20300JavaScript2013-07-04
32google/material-design-lite

Material Design Lite Components in HTML/CSS/JS
19866HTML2015-01-14
33harvesthq/chosen

Chosen is a library for making long, unwieldy select boxes more friendly.
19239HTML2011-04-18
34TryGhost/Ghost

Just a blogging platform
19015JavaScript2013-05-04
35nnnick/Chart.js

Simple HTML5 Charts using the tag
18875JavaScript2013-03-17
36jashkenas/underscore

JavaScript's utility _ belt
17789JavaScript2009-10-25
37Modernizr/Modernizr

Modernizr is a JavaScript library that detects HTML5 and CSS3 features in the user’s browser.
17706JavaScript2009-09-25
38ariya/phantomjs

Scriptable Headless WebKit
17545HTML2010-12-27
39Dogfalo/materialize

Materialize, a CSS Framework based on Material Design
17470JavaScript2014-09-12
40caolan/async

Async utilities for node and the browser
17083JavaScript2010-06-01
41select2/select2

Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.
16753JavaScript2012-03-04
42reactjs/redux

Predictable state container for JavaScript apps
16538JavaScript2015-05-29
43tastejs/todomvc

Helping you select an MV* framework - Todo apps for Backbone.js, Ember.js, AngularJS, and many more
16505JavaScript2011-06-03
44emberjs/ember.js

Ember.js - A JavaScript framework for creating ambitious web applications
16016JavaScript2011-05-25
45vuejs/vue

Simple yet powerful library for building modern web interfaces.
15884JavaScript2013-07-29
46lodash/lodash

A modern JavaScript utility library delivering modularity, performance, & extras.
15689JavaScript2012-04-07
47Prinzhorn/skrollr

Stand-alone parallax scrolling library for mobile (Android + iOS) and desktop. No jQuery. Just plain JavaScript (and some love).
15327HTML2012-03-18
48callemall/material-ui

React Components that Implement Google's Material Design.
15085JavaScript2014-08-18
49FezVrasta/bootstrap-material-design

Material design theme for Bootstrap 3
14861CSS2014-08-18
50babel/babel

Babel is a compiler for writing next generation JavaScript.
14783JavaScript2014-09-28
51Polymer/polymer

Build modern apps using web components
14750HTML2012-08-23
52kenwheeler/slick

the last carousel you'll ever need
14153JavaScript2014-03-24
53numbbbbb/the-swift-programming-language-in-chinese

中文版 Apple 官方 Swift 教程《The Swift Programming Language》
14101CSS2014-06-03
54mozilla/pdf.js

PDF Reader in JavaScript
14036JavaScript2011-04-26
55balderdashy/sails

Realtime MVC Framework for Node.js
14032JavaScript2012-03-18
56bower/bower

A package manager for the web
13899JavaScript2012-09-07
57yahoo/pure

A set of small, responsive CSS modules that you can use in every web project.
13831HTML2013-04-22
58webpack/webpack

A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows to load parts for the application on demand. Through "loaders" modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.
13806JavaScript2012-03-10
59alvarotrigo/fullPage.js

fullPage plugin by Alvaro Trigo. Create full screen pages fast and simple
13559JavaScript2013-09-20
60hammerjs/hammer.js

A javascript library for multi-touch gestures :// You can touch this
13496JavaScript2012-03-02
61less/less.js

Leaner CSS
13455JavaScript2010-02-20
62usablica/intro.js

A better way for new feature introduction and step-by-step users guide for your website and project.
13361JavaScript2013-03-10
63Leaflet/Leaflet

�� JavaScript library for mobile-friendly interactive maps
13245JavaScript2010-09-22
64defunkt/jquery-pjax

pushState + ajax = pjax
13223JavaScript2011-02-26
65google/web-starter-kit

Web Starter Kit - a workflow for multi-device websites
13149HTML2014-04-07
66angular/material

Material design for Angular
13112JavaScript2014-07-01
67bevacqua/dragula

�� Drag and drop so simple it hurts
13025JavaScript2015-04-13
68t4t5/sweetalert

A beautiful replacement for JavaScript's "alert"
13002JavaScript2014-09-30
69IanLunn/Hover

A collection of CSS3 powered hover effects to be applied to links, buttons, logos, SVG, featured images and so on. Easily apply to your own elements, modify or just use for inspiration. Available in CSS, Sass, and LESS.
12995CSS2014-01-02
70sahat/hackathon-starter

A boilerplate for Node.js web applications
12812CSS2013-11-13
71twbs/ratchet

Build mobile apps with simple HTML, CSS, and JavaScript components.
12763CSS2012-08-17
72enaqx/awesome-react

A collection of awesome things regarding React ecosystem.
12707JavaScript2014-08-06
73ajaxorg/ace

Ace (Ajax.org Cloud9 Editor)
12460JavaScript2010-10-27
74Unitech/pm2

Production process manager for Node.js apps with a built-in load balancer
12387JavaScript2013-05-21
75twitter/typeahead.js

typeahead.js is a fast and fully-featured autocomplete library
12320JavaScript2013-02-19
76facebook/immutable-js

Immutable persistent data collections for Javascript which increase efficiency and simplicity.
12200JavaScript2014-07-02
77ftlabs/fastclick

Polyfill to remove click delays on browsers with touch UIs
12136JavaScript2012-02-13
78videojs/video.js

Video.js - open source HTML5 & Flash video player
12056JavaScript2010-05-14
79angular-ui/bootstrap

Native AngularJS (Angular) directives for Bootstrap. Smaller footprint (20kB gzipped), no 3rd party JS dependencies (jQuery, bootstrap JS) required. Please read the README.md file before submitting an issue!
11989JavaScript2012-10-05
80reactjs/react-router

A complete routing solution for React.js
11918JavaScript2014-05-16
81photonstorm/phaser

Phaser is a fun, free and fast 2D game framework for making HTML5 games for desktop and mobile web browsers, supporting Canvas and WebGL rendering.
11820JavaScript2013-04-12
82GitbookIO/gitbook

Modern book format and toolchain using Git and Markdown
11675JavaScript2014-03-31
83adam-p/markdown-here

Google Chrome, Firefox, and Thunderbird extension that lets you write email in Markdown and render it before sending.
11651JavaScript2012-05-13
84typicode/json-server

Get a full fake REST API with zero coding in less than 30 seconds (seriously)
11442JavaScript2013-11-27
85designmodo/Flat-UI

Flat UI Free - Design Framework (html/css3/less/js). Flat UI is based on Bootstrap, a comfortable, responsive, and functional framework that simplifies the development of websites.
11415JavaScript2013-03-03
86dhg/Skeleton

Skeleton: A Dead Simple, Responsive Boilerplate for Mobile-Friendly Development
11403CSS2011-04-30
87kriskowal/q

A tool for creating and composing asynchronous promises in JavaScript
11349JavaScript2010-09-04
88zenorocha/clipboard.js

✂️ Modern copy to clipboard. No Flash. Just 3kb gzipped ��
11323JavaScript2015-09-18
89ecomfe/echarts

A powerful charting and visualization library for browser
11102JavaScript2013-04-03
90facebook/flux

Application Architecture for Building User Interfaces
11069JavaScript2014-07-20
91angular/angular-seed

Seed project for angular apps.
11055HTML2010-12-24
92tobiasahlin/SpinKit

A collection of loading indicators animated with CSS
10942CSS2013-12-12
93dimsemenov/PhotoSwipe

JavaScript image gallery for mobile and desktop, modular, framework independent
10833JavaScript2011-04-07
94rstacruz/nprogress

For slim progress bars like on YouTube, Medium, etc
10817JavaScript2013-08-20
95jasmine/jasmine

DOM-less simple JavaScript testing framework
10702JavaScript2008-12-02
96gruntjs/grunt

Grunt: The JavaScript Task Runner
10676JavaScript2011-09-21
97petkaantonov/bluebird

�� ⚡ Bluebird is a full featured promise library with unmatched performance.
10484JavaScript2013-09-07
98request/request

Simplified HTTP request client.
10450JavaScript2011-01-23
99pugjs/pug

Jade - robust, elegant, feature rich template engine for Node.js
10416JavaScript2010-06-23
100madrobby/zepto

Zepto.js is a minimalist JavaScript library for modern browsers, with a jQuery-compatible API
10378HTML2010-09-20

四、总结

有朝一日我会把上面的全部项目都研究一遍的。。。

文章署名:
文章地址:  http://www.cnblogs.com/oadaM92/p/5353424.html

转载于:https://www.cnblogs.com/think90/p/5737016.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值