git-trend 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,125 +1,87 @@
1
+ # rubocop:disable Style/TrailingWhitespace
1
2
  include GitTrend
2
3
  RSpec.describe GitTrend::CLI do
3
- shared_examples 'since daily ranking' do |since|
4
- it 'display daily ranking' do
4
+ shared_examples "since daily ranking" do |since|
5
+ it "display daily ranking" do
5
6
  expect { cli.invoke(:list, [], since: since, description: false) }.to output(dummy_result_without_description).to_stdout
6
7
  end
7
8
  end
8
9
 
9
- shared_examples 'since weekly ranking' do |since|
10
- it 'display weekly ranking' do
10
+ shared_examples "since weekly ranking" do |since|
11
+ it "display weekly ranking" do
11
12
  expect { cli.invoke(:list, [], since: since, description: false) }.to output(dummy_weekly_result).to_stdout
12
13
  end
13
14
  end
14
15
 
15
- shared_examples 'since monthly ranking' do |since|
16
- it 'display monthly ranking' do
16
+ shared_examples "since monthly ranking" do |since|
17
+ it "display monthly ranking" do
17
18
  expect { cli.invoke(:list, [], since: since, description: false) }.to output(dummy_monthly_result).to_stdout
18
19
  end
19
20
  end
20
21
 
21
- describe '#list' do
22
+ describe "#list" do
22
23
  let(:cli) { CLI.new }
23
24
 
24
- describe 'with -n option' do
25
- context 'with 3' do
26
- before { stub_request_get('trending') }
25
+ describe "with -n option" do
26
+ context "with 3" do
27
+ before { stub_request_get("trending") }
27
28
  let(:number) { 3 }
28
- it 'display top 3 daily ranking' do
29
+ it "display top 3 daily ranking" do
29
30
  res = <<-'EOS'.unindent
30
31
  |No. Name Lang Star
31
32
  |--- ---------------------------------------- ---------- ------
32
- | 1 HunterLarco/voxel.css CSS 941
33
- | 2 fengyuanchen/viewerjs JavaScript 716
34
- | 3 FreeCodeCamp/FreeCodeCamp JavaScript 614
33
+ | 1 Bilibili/flv.js JavaScript 3782
34
+ | 2 drathier/stack-overflow-import Python 589
35
+ | 3 FreeCodeCamp/FreeCodeCamp JavaScript 191056
35
36
 
36
37
  EOS
37
38
  expect { cli.invoke(:list, [], number: number, description: false) }.to output(res).to_stdout
38
39
  end
39
40
  end
40
41
 
41
- context 'with over 25' do
42
- before { stub_request_get('trending') }
42
+ context "with over 25" do
43
+ before { stub_request_get("trending") }
43
44
  let(:number) { 26 }
44
- it 'display daily ranking' do
45
+ it "display daily ranking" do
45
46
  expect { cli.invoke(:list, [], number: number, description: false) }.to output(dummy_result_without_description).to_stdout
46
47
  end
47
48
  end
48
49
  end
49
50
 
50
- describe 'with -l option' do
51
- context 'with ruby' do
52
- before { stub_request_get("trending?l=#{language}") }
53
- let(:language) { 'ruby' }
51
+ describe "with -l option" do
52
+ context "with ruby" do
53
+ before { stub_request_get("trending/#{language}") }
54
+ let(:language) { "ruby" }
54
55
 
55
- it 'display daily ranking by language' do
56
+ it "display daily ranking by language" do
56
57
  res = <<-'EOS'.unindent
57
58
  |No. Name Lang Star
58
59
  |--- ---------------------------------------- ---------- ------
59
- | 1 rails/rails Ruby 24
60
- | 2 thoughtbot/scenic Ruby 34
61
- | 3 Homebrew/homebrew Ruby 26
62
- | 4 jekyll/jekyll Ruby 23
63
- | 5 Thibaut/devdocs Ruby 19
64
- | 6 jondot/awesome-react-native Ruby 16
65
- | 7 fastlane/fastlane Ruby 15
66
- | 8 discourse/discourse Ruby 13
67
- | 9 mitchellh/vagrant Ruby 13
68
- | 10 caskroom/homebrew-cask Ruby 11
69
- | 11 shakacode/react_on_rails Ruby 14
70
- | 12 gitlabhq/gitlabhq Ruby 13
71
- | 13 samaaron/sonic-pi Ruby 12
72
- | 14 ruby/ruby Ruby 10
73
- | 15 twbs/bootstrap-sass Ruby 11
74
- | 16 rapid7/metasploit-framework Ruby 8
75
- | 17 tmuxinator/tmuxinator Ruby 10
76
- | 18 CocoaPods/CocoaPods Ruby 9
77
- | 19 plataformatec/devise Ruby 9
78
- | 20 saasbook/typo Ruby 0
79
- | 21 bbatsov/rubocop Ruby 7
80
- | 22 Shopify/liquid Ruby 8
81
- | 23 thoughtbot/administrate Ruby 7
82
- | 24 capistrano/capistrano Ruby 7
83
- | 25 brandonhilkert/sucker_punch Ruby 7
84
-
85
- EOS
86
- expect { cli.invoke(:list, [], language: language, description: false) }.to output(res).to_stdout
87
- end
88
- end
89
-
90
- context 'with objective-c++ (including + sign)' do
91
- before { stub_request_get('trending?l=objective-c%2B%2B') }
92
- let(:language) { 'objective-c++' }
93
-
94
- it 'display daily ranking by language' do
95
- res = <<-'EOS'.unindent
96
- |No. Name Lang Star
97
- |--- ---------------------------------------- ------------- ------
98
- | 1 facebook/pop Objective-C++ 0
99
- | 2 facebook/componentkit Objective-C++ 0
100
- | 3 rsms/fb-mac-messenger Objective-C++ 0
101
- | 4 johnno1962/Xtrace Objective-C++ 0
102
- | 5 pivotal/cedar Objective-C++ 0
103
- | 6 rogual/neovim-dot-app Objective-C++ 0
104
- | 7 mousebird/WhirlyGlobe Objective-C++ 0
105
- | 8 deanm/plask Objective-C++ 0
106
- | 9 jerols/PopTut Objective-C++ 0
107
- | 10 fjolnir/Tranquil Objective-C++ 0
108
- | 11 otaviocc/OCBorghettiView Objective-C++ 0
109
- | 12 jxd001/POPdemo Objective-C++ 0
110
- | 13 foundry/OpenCVSwiftStitch Objective-C++ 0
111
- | 14 couchdeveloper/RXPromise Objective-C++ 0
112
- | 15 petegoodliffe/PGMidi Objective-C++ 0
113
- | 16 opensource-apple/objc4 Objective-C++ 0
114
- | 17 giladno/UICoreTextView Objective-C++ 0
115
- | 18 iolate/SimulateTouch Objective-C++ 0
116
- | 19 otaviocc/NHCalendarActivity Objective-C++ 0
117
- | 20 belkevich/nsdate-calendar Objective-C++ 0
118
- | 21 pivotal/PivotalCoreKit Objective-C++ 0
119
- | 22 openpeer/opios Objective-C++ 0
120
- | 23 swift2js/swift2js Objective-C++ 0
121
- | 24 Smartype/iOS_VPNPlugIn Objective-C++ 0
122
- | 25 ryanb93/Applefy Objective-C++ 0
60
+ | 1 webgradus/kms Ruby 115
61
+ | 2 shakacode/react_on_rails Ruby 2111
62
+ | 3 Homebrew/brew Ruby 4409
63
+ | 4 rails/rails Ruby 33266
64
+ | 5 jondot/awesome-react-native Ruby 8260
65
+ | 6 fastlane/fastlane Ruby 12056
66
+ | 7 mitchellh/vagrant Ruby 13443
67
+ | 8 discourse/discourse Ruby 19670
68
+ | 9 jekyll/jekyll Ruby 27457
69
+ | 10 caskroom/homebrew-cask Ruby 9882
70
+ | 11 Thibaut/devdocs Ruby 10699
71
+ | 12 rapid7/metasploit-framework Ruby 6996
72
+ | 13 CocoaPods/CocoaPods Ruby 8715
73
+ | 14 rails-api/active_model_serializers Ruby 3837
74
+ | 15 kilimchoi/engineering-blogs Ruby 8631
75
+ | 16 plataformatec/devise Ruby 16116
76
+ | 17 gettalong/hexapdf Ruby 300
77
+ | 18 Gargron/mastodon Ruby 824
78
+ | 19 mperham/sidekiq Ruby 6826
79
+ | 20 bkeepers/dotenv Ruby 3691
80
+ | 21 skywinder/github-changelog-generator Ruby 2655
81
+ | 22 gitlabhq/gitlabhq Ruby 18633
82
+ | 23 Tim9Liu9/TimLiu-iOS Ruby 4830
83
+ | 24 elastic/logstash Ruby 6637
84
+ | 25 shakacode/react-webpack-rails-tutorial Ruby 1118
123
85
 
124
86
  EOS
125
87
  expect { cli.invoke(:list, [], language: language, description: false) }.to output(res).to_stdout
@@ -127,156 +89,143 @@ RSpec.describe GitTrend::CLI do
127
89
  end
128
90
  end
129
91
 
130
- describe 'with -s option' do
131
- context 'with no option' do
132
- before { stub_request_get('trending?since=') }
133
- include_examples 'since daily ranking', ''
92
+ describe "with -s option" do
93
+ context "with no option" do
94
+ before { stub_request_get("trending?since=") }
95
+ include_examples "since daily ranking", ""
134
96
  end
135
97
 
136
- describe 'since daily' do
137
- before { stub_request_get('trending?since=daily') }
138
- context 'with d' do
139
- include_examples 'since daily ranking', 'd'
98
+ describe "since daily" do
99
+ before { stub_request_get("trending?since=daily") }
100
+ context "with d" do
101
+ include_examples "since daily ranking", "d"
140
102
  end
141
103
 
142
- context 'with day' do
143
- include_examples 'since daily ranking', 'day'
104
+ context "with day" do
105
+ include_examples "since daily ranking", "day"
144
106
  end
145
107
 
146
- context 'with daily' do
147
- include_examples 'since daily ranking', 'daily'
108
+ context "with daily" do
109
+ include_examples "since daily ranking", "daily"
148
110
  end
149
111
  end
150
112
 
151
- describe 'since weekly' do
152
- before { stub_request_get('trending?since=weekly') }
153
- context 'with w' do
154
- include_examples 'since weekly ranking', 'w'
113
+ describe "since weekly" do
114
+ before { stub_request_get("trending?since=weekly") }
115
+ context "with w" do
116
+ include_examples "since weekly ranking", "w"
155
117
  end
156
118
 
157
- context 'with week' do
158
- include_examples 'since weekly ranking', 'week'
119
+ context "with week" do
120
+ include_examples "since weekly ranking", "week"
159
121
  end
160
122
 
161
- context 'with weekly' do
162
- include_examples 'since weekly ranking', 'weekly'
123
+ context "with weekly" do
124
+ include_examples "since weekly ranking", "weekly"
163
125
  end
164
126
  end
165
127
 
166
- describe 'since monthly' do
167
- before { stub_request_get('trending?since=monthly') }
168
- context 'with m' do
169
- include_examples 'since monthly ranking', 'm'
128
+ describe "since monthly" do
129
+ before { stub_request_get("trending?since=monthly") }
130
+ context "with m" do
131
+ include_examples "since monthly ranking", "m"
170
132
  end
171
133
 
172
- context 'with month' do
173
- include_examples 'since monthly ranking', 'month'
134
+ context "with month" do
135
+ include_examples "since monthly ranking", "month"
174
136
  end
175
137
 
176
- context 'with monthly' do
177
- include_examples 'since monthly ranking', 'monthly'
138
+ context "with monthly" do
139
+ include_examples "since monthly ranking", "monthly"
178
140
  end
179
141
  end
180
142
  end
181
143
 
182
- describe 'with -d option (or with no option)' do
144
+ describe "with -d option (or with no option)" do
183
145
  after do
184
- ENV['COLUMNS'] = nil
185
- ENV['LINES'] = nil
146
+ ENV["COLUMNS"] = nil
147
+ ENV["LINES"] = nil
186
148
  end
187
149
 
188
150
  before do
189
- stub_request_get('trending')
190
- ENV['COLUMNS'] = '140'
191
- ENV['LINES'] = '40'
151
+ stub_request_get("trending")
152
+ ENV["COLUMNS"] = "140"
153
+ ENV["LINES"] = "40"
192
154
  end
193
155
 
194
- context 'with no option' do
195
- it 'display daily ranking' do
156
+ context "with no option" do
157
+ it "display daily ranking" do
196
158
  expect { cli.invoke(:list, []) }.to output(dummy_result_no_options).to_stdout
197
159
  end
198
160
  end
199
161
 
200
- context 'terminal width is enough' do
201
- it 'display daily ranking with description' do
162
+ context "terminal width is enough" do
163
+ it "display daily ranking with description" do
202
164
  expect { cli.invoke(:list, [], description: true) }.to output(dummy_result_no_options).to_stdout
203
165
  end
204
166
  end
205
167
 
206
- context 'terminal width is tiny' do
168
+ context "terminal width is tiny" do
207
169
  before do
208
- ENV['COLUMNS'] = '84' # it is not enough for description.
209
- ENV['LINES'] = '40'
170
+ ENV["COLUMNS"] = "83" # it is not enough for description.
171
+ ENV["LINES"] = "40"
210
172
  end
211
173
 
212
- it 'display daily ranking about the same as no option' do
174
+ it "display daily ranking about the same as no option" do
213
175
  expect { cli.invoke(:list, [], description: true) }.to output(dummy_result_without_description).to_stdout
214
176
  end
215
177
  end
216
178
  end
217
179
 
218
- describe 'with -l and -s option' do
219
- context 'with ruby and weekly' do
220
- before { stub_request_get("trending?l=#{language}&since=#{since}") }
221
- let(:language) { 'ruby' }
222
- let(:since) { 'weekly' }
180
+ describe "with -l and -s option" do
181
+ context "with ruby and weekly" do
182
+ before { stub_request_get("trending/#{language}?since=#{since}") }
183
+ let(:language) { "ruby" }
184
+ let(:since) { "weekly" }
223
185
 
224
- it 'display weekly ranking by language' do
186
+ it "display weekly ranking by language" do
225
187
  res = <<-'EOS'.unindent
226
188
  |No. Name Lang Star
227
189
  |--- ---------------------------------------- ---------- ------
228
- | 1 Homebrew/homebrew Ruby 166
229
- | 2 shakacode/react_on_rails Ruby 197
230
- | 3 rails/rails Ruby 144
231
- | 4 jekyll/jekyll Ruby 136
232
- | 5 powerpak/tqdm-ruby Ruby 149
233
- | 6 fastlane/fastlane Ruby 117
234
- | 7 codekitchen/dinghy Ruby 116
235
- | 8 discourse/discourse Ruby 98
236
- | 9 jondot/awesome-react-native Ruby 97
237
- | 10 hanami/hanami Ruby 96
238
- | 11 kciter/simple-slack-bot Ruby 95
239
- | 12 zverok/worldize Ruby 95
240
- | 13 mitchellh/vagrant Ruby 80
241
- | 14 Thibaut/devdocs Ruby 82
242
- | 15 plataformatec/devise Ruby 69
243
- | 16 caskroom/homebrew-cask Ruby 54
244
- | 17 gitlabhq/gitlabhq Ruby 60
245
- | 18 ruby/ruby Ruby 58
246
- | 19 jeremyevans/sequel Ruby 67
247
- | 20 schneems/derailed_benchmarks Ruby 63
248
- | 21 thoughtbot/scenic Ruby 62
249
- | 22 cantino/huginn Ruby 57
250
- | 23 sass/sass Ruby 53
251
- | 24 kilimchoi/engineering-blogs Ruby 53
252
- | 25 thoughtbot/administrate Ruby 48
190
+ | 1 Homebrew/brew Ruby 4410
191
+ | 2 fastlane/fastlane Ruby 12057
192
+ | 3 jondot/awesome-react-native Ruby 8262
193
+ | 4 iberianpig/fusuma Ruby 129
194
+ | 5 rails/rails Ruby 33266
195
+ | 6 jekyll/jekyll Ruby 27459
196
+ | 7 Gargron/mastodon Ruby 826
197
+ | 8 gettalong/hexapdf Ruby 303
198
+ | 9 Tim9Liu9/TimLiu-iOS Ruby 4830
199
+ | 10 rapid7/metasploit-framework Ruby 6996
200
+ | 11 mitchellh/vagrant Ruby 13443
201
+ | 12 discourse/discourse Ruby 19671
202
+ | 13 cookpad/kuroko2 Ruby 85
203
+ | 14 shakacode/react_on_rails Ruby 2114
204
+ | 15 caskroom/homebrew-cask Ruby 9883
205
+ | 16 Thibaut/devdocs Ruby 10699
206
+ | 17 plataformatec/devise Ruby 16116
207
+ | 18 ruby/ruby Ruby 10880
208
+ | 19 sass/sass Ruby 8825
209
+ | 20 logstash-plugins/logstash-patterns-core Ruby 420
210
+ | 21 webgradus/kms Ruby 117
211
+ | 22 CocoaPods/CocoaPods Ruby 8715
212
+ | 23 Homebrew/homebrew-core Ruby 979
213
+ | 24 cantino/huginn Ruby 15035
214
+ | 25 twbs/bootstrap-sass Ruby 11486
253
215
 
254
216
  EOS
255
217
  expect { cli.invoke(:list, [], language: language, since: since, description: false) }.to output(res).to_stdout
256
218
  end
257
219
  end
258
220
  end
259
-
260
- describe 'without options' do
261
- context 'with multibyte chracters' do
262
- before do
263
- ENV['COLUMNS'] = '140'
264
- ENV['LINES'] = '40'
265
- stub_request_get('trending', 'trending_including_multibyte_characters')
266
- end
267
- it 'display daily ranking' do
268
- expect { cli.invoke(:list, []) }.to output(dummy_result_no_options_with_multibyte_characters).to_stdout
269
- end
270
- end
271
- end
272
221
  end
273
222
 
274
- describe '#languages' do
275
- before { stub_request_get('trending') }
223
+ describe "#languages" do
224
+ before { stub_request_get("trending") }
276
225
  let(:cli) { CLI.new }
277
226
 
278
- context 'with no option' do
279
- it 'display languages' do
227
+ context "with no option" do
228
+ it "display languages" do
280
229
  expect { cli.languages }.to output(dummy_languages).to_stdout
281
230
  end
282
231
  end
@@ -284,185 +233,153 @@ RSpec.describe GitTrend::CLI do
284
233
 
285
234
  private
286
235
 
287
- def stub_request_get(stub_url, stub_file_name = nil)
236
+ def stub_request_get(stub_url_path, stub_file_name = nil)
288
237
  url = Scraper::BASE_HOST.dup
289
- url << "/#{stub_url}" if stub_url
238
+ url << "/#{stub_url_path}" if stub_url_path
290
239
  uri = URI.parse(url)
291
- stub_file = stub_file_name || stub_url
240
+ stub_file = stub_file_name || stub_url_path
292
241
  stub_request(:get, uri)
293
242
  .to_return(
294
243
  status: 200,
295
- headers: { content_type: 'text/html' },
244
+ headers: { content_type: "text/html" },
296
245
  body: load_http_stub(stub_file))
297
246
  end
298
247
 
299
248
  def dummy_result_without_description
300
249
  <<-'EOS'.unindent
301
- |No. Name Lang Star
302
- |--- ---------------------------------------- ------------ ------
303
- | 1 HunterLarco/voxel.css CSS 941
304
- | 2 fengyuanchen/viewerjs JavaScript 716
305
- | 3 FreeCodeCamp/FreeCodeCamp JavaScript 614
306
- | 4 Microsoft/CNTK C++ 378
307
- | 5 cht8687/You-Dont-Need-Lodash-Underscore JavaScript 333
308
- | 6 jgthms/bulma CSS 334
309
- | 7 developit/preact JavaScript 322
310
- | 8 twitterdev/furni-ios Swift 303
311
- | 9 DrkSephy/es6-cheatsheet JavaScript 278
312
- | 10 chinchang/hint.css CSS 242
313
- | 11 denysdovhan/bash-handbook JavaScript 201
314
- | 12 yabwe/medium-editor JavaScript 192
315
- | 13 nlf/dlite Go 187
316
- | 14 hollance/swift-algorithm-club Swift 173
317
- | 15 jiahaog/nativefier JavaScript 163
318
- | 16 mxstbr/login-flow JavaScript 159
319
- | 17 Soundnode/soundnode-app JavaScript 146
320
- | 18 hirak/prestissimo PHP 149
321
- | 19 txusballesteros/sliding-deck Java 140
322
- | 20 tensorflow/tensorflow C++ 86
323
- | 21 milligram/milligram CSS 113
324
- | 22 valentin012/conspeech OpenEdge ABL 108
325
- | 23 gophergala2016/goad CSS 108
326
- | 24 Yalantis/uCrop Java 103
327
- | 25 mpociot/whiteboard JavaScript 97
250
+ |No. Name Lang Star
251
+ |--- ---------------------------------------- ----------- ------
252
+ | 1 Bilibili/flv.js JavaScript 3782
253
+ | 2 drathier/stack-overflow-import Python 589
254
+ | 3 FreeCodeCamp/FreeCodeCamp JavaScript 191056
255
+ | 4 alexjc/neural-enhance Python 4380
256
+ | 5 mzabriskie/axios JavaScript 7565
257
+ | 6 airbnb/knowledge-repo Python 621
258
+ | 7 skatejs/skatejs JavaScript 1482
259
+ | 8 UFreedom/FloatingView Java 304
260
+ | 9 verekia/js-stack-from-scratch JavaScript 7684
261
+ | 10 portainer/portainer JavaScript 463
262
+ | 11 CISOfy/lynis Shell 1480
263
+ | 12 vuejs/vue JavaScript 32676
264
+ | 13 th0r/webpack-bundle-analyzer JavaScript 1438
265
+ | 14 thunderrise/android-TNRAnimationHelper Java 487
266
+ | 15 Jasonette/JASONETTE-iOS Objective-C 164
267
+ | 16 justjavac/awesome-wechat-weapp JavaScript 3859
268
+ | 17 yarnpkg/yarn JavaScript 18470
269
+ | 18 jwasham/google-interview-university 19524
270
+ | 19 lengstrom/fast-style-transfer Python 1654
271
+ | 20 FreeCodeCampChina/freecodecamp.cn CSS 3016
272
+ | 21 minoca/os C 1616
273
+ | 22 facebook/react JavaScript 53230
274
+ | 23 sqreen/awesome-nodejs-projects 1454
275
+ | 24 tensorflow/tensorflow C++ 36152
276
+ | 25 andyxialm/TyperEditText Java 110
328
277
 
329
278
  EOS
330
279
  end
331
280
 
332
281
  def dummy_result_no_options
333
282
  <<-'EOS'.unindent
334
- |No. Name Lang Star Description
335
- |--- ---------------------------------------- ------------ ------ ---------------------------------------------------------------------------
336
- | 1 HunterLarco/voxel.css CSS 941 A lightweight 3D CSS voxel library.
337
- | 2 fengyuanchen/viewerjs JavaScript 716 JavaScript image viewer.
338
- | 3 FreeCodeCamp/FreeCodeCamp JavaScript 614 The http://FreeCodeCamp.com open source codebase and curriculum. Learn t...
339
- | 4 Microsoft/CNTK C++ 378 Computational Network Toolkit (CNTK)
340
- | 5 cht8687/You-Dont-Need-Lodash-Underscore JavaScript 333 Lists of Javascript methods which you can use natively
341
- | 6 jgthms/bulma CSS 334 Modern CSS framework based on Flexbox
342
- | 7 developit/preact JavaScript 322 Fast 3kb React alternative with the same ES6 API. Components & Virtual DOM.
343
- | 8 twitterdev/furni-ios Swift 303 Furni for iOS is a furniture store demo app presented at the Twitter Fli...
344
- | 9 DrkSephy/es6-cheatsheet JavaScript 278 ES2015 [ES6] cheatsheet containing tips, tricks, best practices and code...
345
- | 10 chinchang/hint.css CSS 242 A CSS only tooltip library for your lovely websites.
346
- | 11 denysdovhan/bash-handbook JavaScript 201 For those who wanna learn Bash
347
- | 12 yabwe/medium-editor JavaScript 192 Medium.com WYSIWYG editor clone. Uses contenteditable API to implement a...
348
- | 13 nlf/dlite Go 187 The simplest way to use Docker on OS X
349
- | 14 hollance/swift-algorithm-club Swift 173 Algorithms and data structures in Swift, with explanations!
350
- | 15 jiahaog/nativefier JavaScript 163 Wrap any web page natively without even thinking, across Windows, OSX an...
351
- | 16 mxstbr/login-flow JavaScript 159 A login/register flow built with React&Redux
352
- | 17 Soundnode/soundnode-app JavaScript 146 Soundnode App is the Soundcloud for desktop. Built with NW.js, Angular.j...
353
- | 18 hirak/prestissimo PHP 149 composer parallel install plugin
354
- | 19 txusballesteros/sliding-deck Java 140 SlidingDeck View for Android
355
- | 20 tensorflow/tensorflow C++ 86 Computation using data flow graphs for scalable machine learning
356
- | 21 milligram/milligram CSS 113 A minimalist CSS framework.
357
- | 22 valentin012/conspeech OpenEdge ABL 108 Political Speech Generator
358
- | 23 gophergala2016/goad CSS 108 Goad is an AWS Lambda powered, highly distributed, load testing tool
359
- | 24 Yalantis/uCrop Java 103 Image Cropping Library for Android
360
- | 25 mpociot/whiteboard JavaScript 97 Simply write beautiful API documentation.
361
-
362
- EOS
363
- end
364
-
365
- def dummy_result_no_options_with_multibyte_characters
366
- <<-'EOS'.unindent
367
- |No. Name Lang Star Description
368
- |--- ---------------------------------------- ---------- ------ -----------------------------------------------------------------------------
369
- | 1 apple/swift C++ 1487 The Swift Programming Language
370
- | 2 hashcat/hashcat C 383 Advanced CPU-based password recovery utility
371
- | 3 airbnb/reagent JavaScript 416 JavaScript Testing utilities for React
372
- | 4 FreeCodeCamp/FreeCodeCamp JavaScript 381 The http://FreeCodeCamp.com open source codebase and curriculum. Learn to ...
373
- | 5 diafygi/acme-tiny Python 311 A tiny script to issue and renew TLS certs from Let's Encrypt
374
- | 6 letsencrypt/letsencrypt Python 300 This Let's Encrypt repo is an ACME client that can obtain certs and extens...
375
- | 7 twitter/labella.js JavaScript 248 Placing labels on a timeline without overlap.
376
- | 8 LeaVerou/bliss HTML 228 Blissful JavaScript
377
- | 9 nathancahill/Split.js JavaScript 217 Lightweight, unopinionated utility for adjustable split views
378
- | 10 hashcat/oclHashcat C 194 World's fastest and most advanced GPGPU-based password recovery utility
379
- | 11 apple/swift-package-manager Swift 190 The Package Manager for the Swift Programming Language
380
- | 12 documentationjs/documentation JavaScript 177 beautiful, flexible, powerful js docs
381
- | 13 HospitalRun/hospitalrun-frontend JavaScript 167 Ember front end for HospitalRun
382
- | 14 NARKOZ/hacker-scripts JavaScript 139 Based on a true story
383
- | 15 apple/swift-evolution 140
384
- | 16 MaximAbramchuck/awesome-interviews 139 A curated awesome list of lists of interview questions. Feel free to contr...
385
- | 17 adleroliveira/dreamjs JavaScript 136 A lightweight json data generator.
386
- | 18 huytd/swift-http Swift 125 HTTP Implementation for Swift on Linux and Mac OS X
387
- | 19 diafygi/gethttpsforfree JavaScript 118 Source code for https://gethttpsforfree.com/
388
- | 20 apple/swift-corelibs-foundation C 93 The Foundation Project, providing core utilities, internationalization, an...
389
- | 21 xenolf/lego Go 100 Let's Encrypt client and ACME library written in Go
390
- | 22 fengyuanchen/cropperjs JavaScript 95 JavaScript image cropper.
391
- | 23 proflin/CoolplaySpark 85 酷玩 Spark
392
- | 24 incrediblesound/story-graph JavaScript 87 The Graph that Generates Stories
393
- | 25 geeeeeeeeek/WeChatLuckyMoney Java 75 微信抢红包插件, an Android app that helps you snatch virtual red envelopes...
283
+ |No. Name Lang Star Description
284
+ |--- ---------------------------------------- ----------- ------ ----------------------------------------------------------------------------
285
+ | 1 Bilibili/flv.js JavaScript 3782 HTML5 FLV Player
286
+ | 2 drathier/stack-overflow-import Python 589 Import arbitrary code from Stack Overflow as Python modules.
287
+ | 3 FreeCodeCamp/FreeCodeCamp JavaScript 191056 The https://FreeCodeCamp.com open source codebase and curriculum. Learn t...
288
+ | 4 alexjc/neural-enhance Python 4380 Super Resolution for images using deep learning.
289
+ | 5 mzabriskie/axios JavaScript 7565 Promise based HTTP client for the browser and node.js
290
+ | 6 airbnb/knowledge-repo Python 621 A next-generation curated knowledge sharing platform for data scientists ...
291
+ | 7 skatejs/skatejs JavaScript 1482 SkateJS is a web component library designed to give you an augmentation o...
292
+ | 8 UFreedom/FloatingView Java 304 FloatingView can make the target view floating above the anchor view with...
293
+ | 9 verekia/js-stack-from-scratch JavaScript 7684 Step-by-step tutorial to build a modern JavaScript stack from scratch
294
+ | 10 portainer/portainer JavaScript 463 Simple management UI for Docker
295
+ | 11 CISOfy/lynis Shell 1480 Lynis - Security auditing tool for Linux, macOS, and UNIX-based systems. ...
296
+ | 12 vuejs/vue JavaScript 32676 Simple yet powerful library for building modern web interfaces.
297
+ | 13 th0r/webpack-bundle-analyzer JavaScript 1438 Webpack plugin and CLI utility that represents bundle content as convenie...
298
+ | 14 thunderrise/android-TNRAnimationHelper Java 487 This is a library that contains practical animations: Rotation, Flip, Hor...
299
+ | 15 Jasonette/JASONETTE-iOS Objective-C 164 📡 Native App over HTTP
300
+ | 16 justjavac/awesome-wechat-weapp JavaScript 3859 微信小程序开发资源汇总 wechat weapp
301
+ | 17 yarnpkg/yarn JavaScript 18470 📦🐈 Fast, reliable, and secure dependency management.
302
+ | 18 jwasham/google-interview-university 19524 A complete daily plan for studying to become a Google software engineer.
303
+ | 19 lengstrom/fast-style-transfer Python 1654 Fast Style Transfer in TensorFlow
304
+ | 20 FreeCodeCampChina/freecodecamp.cn CSS 3016 看源码请到Code,提问请到Issues,提交代码请到Pull requests,看学习心得请到...
305
+ | 21 minoca/os C 1616 Minoca operating system
306
+ | 22 facebook/react JavaScript 53230 A declarative, efficient, and flexible JavaScript library for building us...
307
+ | 23 sqreen/awesome-nodejs-projects 1454 Curated list of awesome open-source applications made with Node.js
308
+ | 24 tensorflow/tensorflow C++ 36152 Computation using data flow graphs for scalable machine learning
309
+ | 25 andyxialm/TyperEditText Java 110 Typewriter
394
310
 
395
311
  EOS
396
312
  end
397
313
 
398
314
  def dummy_weekly_result
399
315
  <<-'EOS'.unindent
400
- |No. Name Lang Star
401
- |--- ---------------------------------------- ----------- ------
402
- | 1 DrkSephy/es6-cheatsheet JavaScript 5143
403
- | 2 FreeCodeCamp/FreeCodeCamp JavaScript 4555
404
- | 3 Microsoft/CNTK C++ 3548
405
- | 4 jiahaog/nativefier JavaScript 2593
406
- | 5 HunterLarco/voxel.css CSS 2054
407
- | 6 samshadwell/TrumpScript Python 1824
408
- | 7 Yalantis/uCrop Java 1731
409
- | 8 Soundnode/soundnode-app JavaScript 1230
410
- | 9 tensorflow/tensorflow C++ 953
411
- | 10 Jam3/devtool JavaScript 1170
412
- | 11 KnuffApp/Knuff Objective-C 1136
413
- | 12 brave/browser-laptop JavaScript 1030
414
- | 13 nlf/dlite Go 1051
415
- | 14 zquestz/s Go 971
416
- | 15 milligram/milligram CSS 959
417
- | 16 themattrix/bash-concurrent Shell 924
418
- | 17 kragniz/json-sempai Python 871
419
- | 18 loverajoel/jstips CSS 841
420
- | 19 chinchang/hint.css CSS 816
421
- | 20 hirak/prestissimo PHP 783
422
- | 21 rdpeng/ProgrammingAssignment2 R 8
423
- | 22 fengyuanchen/viewerjs JavaScript 729
424
- | 23 vhf/free-programming-books 620
425
- | 24 yamartino/pressure JavaScript 695
426
- | 25 cdmedia/cms.js JavaScript 677
316
+ |No. Name Lang Star
317
+ |--- ---------------------------------------------- ---------- ------
318
+ | 1 verekia/js-stack-from-scratch JavaScript 7704
319
+ | 2 alexjc/neural-enhance Python 4401
320
+ | 3 FreeCodeCamp/FreeCodeCamp JavaScript 191088
321
+ | 4 witheve/Eve JavaScript 4896
322
+ | 5 Bilibili/flv.js JavaScript 3796
323
+ | 6 lengstrom/fast-style-transfer Python 1663
324
+ | 7 VoLuong/Begin-Latex-in-minutes 1652
325
+ | 8 minoca/os C 1622
326
+ | 9 sqreen/awesome-nodejs-projects 1455
327
+ | 10 th0r/webpack-bundle-analyzer JavaScript 1446
328
+ | 11 blue-yonder/tsfresh Python 1419
329
+ | 12 zeit/next.js JavaScript 5191
330
+ | 13 GoogleChrome/lighthouse JavaScript 3962
331
+ | 14 jwasham/google-interview-university 19533
332
+ | 15 mas-cli/mas Swift 2261
333
+ | 16 mattrajca/sudo-touchid C 884
334
+ | 17 songrotek/Deep-Learning-Papers-Reading-Roadmap Python 7241
335
+ | 18 yarnpkg/yarn JavaScript 18477
336
+ | 19 ImmortalZ/TransitionHelper Java 790
337
+ | 20 the-control-group/voyager PHP 818
338
+ | 21 vuejs/vue JavaScript 32693
339
+ | 22 jobbole/awesome-programming-books 821
340
+ | 23 tensorflow/tensorflow C++ 36159
341
+ | 24 BelooS/ChipsLayoutManager Java 714
342
+ | 25 krisk/Fuse JavaScript 3369
427
343
 
428
344
  EOS
429
345
  end
430
346
 
431
347
  def dummy_monthly_result
432
348
  <<-'EOS'.unindent
433
- |No. Name Lang Star
434
- |--- ------------------------------------------ ----------- ------
435
- | 1 FreeCodeCamp/FreeCodeCamp JavaScript 15567
436
- | 2 loverajoel/jstips CSS 7710
437
- | 3 braydie/HowToBeAProgrammer 6786
438
- | 4 DrkSephy/es6-cheatsheet JavaScript 5127
439
- | 5 matryer/bitbar Objective-C 4946
440
- | 6 Microsoft/ChakraCore JavaScript 4689
441
- | 7 VerbalExpressions/JSVerbalExpressions JavaScript 4758
442
- | 8 tldr-pages/tldr Shell 4193
443
- | 9 jlevy/the-art-of-command-line 3966
444
- | 10 mhinz/vim-galore VimL 4062
445
- | 11 jiahaog/nativefier JavaScript 3932
446
- | 12 jlevy/og-equity-compensation 3797
447
- | 13 Microsoft/CNTK C++ 3537
448
- | 14 hacksalot/HackMyResume JavaScript 3252
449
- | 15 vhf/free-programming-books 2690
450
- | 16 milligram/milligram CSS 2876
451
- | 17 samshadwell/TrumpScript Python 2718
452
- | 18 sindresorhus/awesome 2640
453
- | 19 donnemartin/data-science-ipython-notebooks Python 2424
454
- | 20 tensorflow/tensorflow C++ 2033
455
- | 21 os-js/OS.js JavaScript 2357
456
- | 22 JakeLin/IBAnimatable Swift 2345
457
- | 23 viljamis/feature.js HTML 2239
458
- | 24 facebook/react-native Java 1962
459
- | 25 baidu-research/warp-ctc Cuda 1966
349
+ |No. Name Lang Star
350
+ |--- ---------------------------------------------- ---------- ------
351
+ | 1 verekia/js-stack-from-scratch JavaScript 7704
352
+ | 2 alexjc/neural-enhance Python 4401
353
+ | 3 FreeCodeCamp/FreeCodeCamp JavaScript 191088
354
+ | 4 witheve/Eve JavaScript 4896
355
+ | 5 Bilibili/flv.js JavaScript 3796
356
+ | 6 lengstrom/fast-style-transfer Python 1663
357
+ | 7 VoLuong/Begin-Latex-in-minutes 1652
358
+ | 8 minoca/os C 1622
359
+ | 9 sqreen/awesome-nodejs-projects 1455
360
+ | 10 th0r/webpack-bundle-analyzer JavaScript 1446
361
+ | 11 blue-yonder/tsfresh Python 1419
362
+ | 12 zeit/next.js JavaScript 5191
363
+ | 13 GoogleChrome/lighthouse JavaScript 3962
364
+ | 14 jwasham/google-interview-university 19533
365
+ | 15 mas-cli/mas Swift 2261
366
+ | 16 mattrajca/sudo-touchid C 884
367
+ | 17 songrotek/Deep-Learning-Papers-Reading-Roadmap Python 7241
368
+ | 18 yarnpkg/yarn JavaScript 18477
369
+ | 19 ImmortalZ/TransitionHelper Java 790
370
+ | 20 the-control-group/voyager PHP 818
371
+ | 21 vuejs/vue JavaScript 32693
372
+ | 22 jobbole/awesome-programming-books 821
373
+ | 23 tensorflow/tensorflow C++ 36159
374
+ | 24 BelooS/ChipsLayoutManager Java 714
375
+ | 25 krisk/Fuse JavaScript 3369
460
376
 
461
377
  EOS
462
378
  end
463
379
 
464
380
  def dummy_languages
465
381
  <<-'EOS'.unindent
382
+ |1C Enterprise
466
383
  |ABAP
467
384
  |ActionScript
468
385
  |Ada
@@ -521,6 +438,9 @@ RSpec.describe GitTrend::CLI do
521
438
  |Cool
522
439
  |Coq
523
440
  |Crystal
441
+ |Csound
442
+ |Csound Document
443
+ |Csound Score
524
444
  |CSS
525
445
  |Cucumber
526
446
  |Cuda
@@ -543,11 +463,13 @@ RSpec.describe GitTrend::CLI do
543
463
  |Elm
544
464
  |Emacs Lisp
545
465
  |EmberScript
466
+ |EQ
546
467
  |Erlang
547
468
  |F#
548
469
  |Factor
549
470
  |Fancy
550
471
  |Fantom
472
+ |Filebench WML
551
473
  |FLUX
552
474
  |Forth
553
475
  |FORTRAN
@@ -556,6 +478,8 @@ RSpec.describe GitTrend::CLI do
556
478
  |Game Maker Language
557
479
  |GAMS
558
480
  |GAP
481
+ |GCC Machine Description
482
+ |GDB
559
483
  |GDScript
560
484
  |Genshi
561
485
  |Gettext Catalog
@@ -575,6 +499,7 @@ RSpec.describe GitTrend::CLI do
575
499
  |Haskell
576
500
  |Haxe
577
501
  |HCL
502
+ |HLSL
578
503
  |HTML
579
504
  |Hy
580
505
  |HyPhy
@@ -615,6 +540,7 @@ RSpec.describe GitTrend::CLI do
615
540
  |LSL
616
541
  |Lua
617
542
  |M
543
+ |M4
618
544
  |Makefile
619
545
  |Mako
620
546
  |Markdown
@@ -633,6 +559,8 @@ RSpec.describe GitTrend::CLI do
633
559
  |Monkey
634
560
  |Moocode
635
561
  |MoonScript
562
+ |MQL4
563
+ |MQL5
636
564
  |MTML
637
565
  |mupad
638
566
  |Myghty
@@ -678,6 +606,8 @@ RSpec.describe GitTrend::CLI do
678
606
  |PogoScript
679
607
  |Pony
680
608
  |PostScript
609
+ |POV-Ray SDL
610
+ |PowerBuilder
681
611
  |PowerShell
682
612
  |Processing
683
613
  |Prolog
@@ -699,10 +629,13 @@ RSpec.describe GitTrend::CLI do
699
629
  |Rebol
700
630
  |Red
701
631
  |Redcode
632
+ |Ren'Py
702
633
  |RenderScript
634
+ |REXX
703
635
  |RobotFramework
704
636
  |Rouge
705
637
  |Ruby
638
+ |RUNOFF
706
639
  |Rust
707
640
  |SaltStack
708
641
  |SAS
@@ -723,6 +656,7 @@ RSpec.describe GitTrend::CLI do
723
656
  |SQL
724
657
  |SQLPL
725
658
  |Squirrel
659
+ |SRecode Template
726
660
  |Stan
727
661
  |Standard ML
728
662
  |Stata
@@ -731,11 +665,15 @@ RSpec.describe GitTrend::CLI do
731
665
  |SystemVerilog
732
666
  |Tcl
733
667
  |Tea
668
+ |Terra
734
669
  |TeX
735
670
  |Thrift
671
+ |TI Program
672
+ |TLA
736
673
  |Turing
737
674
  |TXL
738
675
  |TypeScript
676
+ |Uno
739
677
  |UnrealScript
740
678
  |UrWeb
741
679
  |Vala
@@ -764,7 +702,7 @@ RSpec.describe GitTrend::CLI do
764
702
  |Zephir
765
703
  |Zimpl
766
704
  |
767
- |300 languages
705
+ |322 languages
768
706
  |you can get only selected language list with '-l' option.
769
707
  |if languages is unknown, you can specify 'unkown'.
770
708
  |