departr 0.4 → 0.6

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.
metadata CHANGED
@@ -1,80 +1,86 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: departr
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.4'
5
- prerelease:
4
+ version: '0.6'
6
5
  platform: ruby
7
6
  authors:
8
7
  - Florent Solt
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-02-15 00:00:00.000000000 Z
11
+ date: 2014-02-20 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: json
16
- requirement: &68380000 !ruby/object:Gem::Requirement
17
- none: false
14
+ name: haml
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
- version: '1.6'
19
+ version: '4.0'
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *68380000
25
- - !ruby/object:Gem::Dependency
26
- name: tzinfo
27
- requirement: &68379620 !ruby/object:Gem::Requirement
28
- none: false
22
+ version_requirements: !ruby/object:Gem::Requirement
29
23
  requirements:
30
- - - ~>
24
+ - - "~>"
31
25
  - !ruby/object:Gem::Version
32
- version: '0.3'
33
- type: :runtime
34
- prerelease: false
35
- version_requirements: *68379620
26
+ version: '4.0'
36
27
  - !ruby/object:Gem::Dependency
37
- name: haml
38
- requirement: &68379250 !ruby/object:Gem::Requirement
39
- none: false
28
+ name: sass
29
+ requirement: !ruby/object:Gem::Requirement
40
30
  requirements:
41
- - - ~>
31
+ - - "~>"
42
32
  - !ruby/object:Gem::Version
43
- version: '3.1'
33
+ version: '3.2'
44
34
  type: :runtime
45
35
  prerelease: false
46
- version_requirements: *68379250
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.2'
47
41
  - !ruby/object:Gem::Dependency
48
- name: sass
49
- requirement: &68378810 !ruby/object:Gem::Requirement
50
- none: false
42
+ name: sinatra
43
+ requirement: !ruby/object:Gem::Requirement
51
44
  requirements:
52
- - - ~>
45
+ - - "~>"
53
46
  - !ruby/object:Gem::Version
54
- version: '3.1'
47
+ version: '1.4'
55
48
  type: :runtime
56
49
  prerelease: false
57
- version_requirements: *68378810
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.4'
58
55
  - !ruby/object:Gem::Dependency
59
- name: sinatra
60
- requirement: &68378370 !ruby/object:Gem::Requirement
61
- none: false
56
+ name: oauth
57
+ requirement: !ruby/object:Gem::Requirement
62
58
  requirements:
63
- - - ~>
59
+ - - "~>"
64
60
  - !ruby/object:Gem::Version
65
- version: '1.3'
61
+ version: '0.4'
66
62
  type: :runtime
67
63
  prerelease: false
68
- version_requirements: *68378370
69
- description:
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.4'
69
+ description: Departr is a smart and fast startpage to help you reach other web sites.
70
70
  email: florent@solt.biz
71
- executables: []
71
+ executables:
72
+ - departr-images
72
73
  extensions: []
73
74
  extra_rdoc_files: []
74
75
  files:
76
+ - ".gitignore"
75
77
  - Gemfile
76
- - Gemfile.lock
77
78
  - README.md
79
+ - bin/departr-images
80
+ - chrome/logo.png
81
+ - chrome/manifest.json
82
+ - chrome/newtab.html
83
+ - chrome/newtab.js
78
84
  - config.ru.example
79
85
  - departr.gemspec
80
86
  - lib/departr.rb
@@ -89,10 +95,10 @@ files:
89
95
  - public/javascripts/1_mootools.js
90
96
  - public/javascripts/2_autocomplete.js
91
97
  - public/javascripts/3_simple-modal.js
92
- - public/javascripts/4_coolclock.js
93
- - public/javascripts/5_appliction.js
94
- - public/javascripts/6_command.js
95
- - screenshot.png
98
+ - public/javascripts/4_appliction.js
99
+ - public/javascripts/5_command.js
100
+ - public/javascripts/9_run.js
101
+ - screenshot.jpg
96
102
  - views/help.haml
97
103
  - views/index.haml
98
104
  - views/layout.haml
@@ -100,27 +106,28 @@ files:
100
106
  - views/settings.haml
101
107
  - views/style.sass
102
108
  homepage: https://github.com/florentsolt/departr
103
- licenses: []
109
+ licenses:
110
+ - MIT
111
+ metadata: {}
104
112
  post_install_message:
105
113
  rdoc_options: []
106
114
  require_paths:
107
115
  - lib
108
116
  required_ruby_version: !ruby/object:Gem::Requirement
109
- none: false
110
117
  requirements:
111
- - - ! '>='
118
+ - - ">="
112
119
  - !ruby/object:Gem::Version
113
120
  version: '0'
114
121
  required_rubygems_version: !ruby/object:Gem::Requirement
115
- none: false
116
122
  requirements:
117
- - - ! '>='
123
+ - - ">="
118
124
  - !ruby/object:Gem::Version
119
125
  version: '0'
120
126
  requirements: []
121
127
  rubyforge_project:
122
- rubygems_version: 1.8.16
128
+ rubygems_version: 2.2.0
123
129
  signing_key:
124
- specification_version: 3
125
- summary: Departr is a smart and fast startpage to help you reach other web sites.
130
+ specification_version: 4
131
+ summary: Departr!
126
132
  test_files: []
133
+ has_rdoc:
data/Gemfile.lock DELETED
@@ -1,30 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- departr (0.1)
5
- haml (~> 3.1)
6
- json (~> 1.6)
7
- sass (~> 3.1)
8
- sinatra (~> 1.3)
9
- tzinfo (~> 0.3)
10
-
11
- GEM
12
- specs:
13
- haml (3.1.4)
14
- json (1.6.5)
15
- rack (1.4.0)
16
- rack-protection (1.2.0)
17
- rack
18
- sass (3.1.12)
19
- sinatra (1.3.2)
20
- rack (~> 1.3, >= 1.3.6)
21
- rack-protection (~> 1.2)
22
- tilt (~> 1.3, >= 1.3.3)
23
- tilt (1.3.3)
24
- tzinfo (0.3.31)
25
-
26
- PLATFORMS
27
- ruby
28
-
29
- DEPENDENCIES
30
- departr!
@@ -1,325 +0,0 @@
1
- /**
2
- * CoolClock 2.1.4
3
- * Copyright 2010, Simon Baird
4
- * Released under the BSD License.
5
- *
6
- * Display an analog clock using canvas.
7
- * http://randomibis.com/coolclock/
8
- *
9
- */
10
-
11
- // Constructor for CoolClock objects
12
- window.CoolClock = function(options) {
13
- return this.init(options);
14
- }
15
-
16
- // Config contains some defaults, and clock skins
17
- CoolClock.config = {
18
- tickDelay: 1000,
19
- longTickDelay: 15000,
20
- defaultRadius: 85,
21
- renderRadius: 100,
22
- defaultSkin: "solt",
23
- // Should be in skin probably...
24
- // (TODO: allow skinning of digital display)
25
- showSecs: true,
26
- showAmPm: true,
27
-
28
- skins: {
29
- solt: {
30
- outerBorder: { lineWidth: 4, radius:97, color: "#ccc", alpha: 1 },
31
- smallIndicator: { lineWidth: 4, startAt: 89, endAt: 93, color: "#ccc", alpha: 1 },
32
- largeIndicator: { lineWidth: 8, startAt: 80, endAt: 93, color: "#ccc", alpha: 1 },
33
- hourHand: { lineWidth: 12, startAt: -15, endAt: 60, color: "black", alpha: 1 },
34
- minuteHand: { lineWidth: 10, startAt: -15, endAt: 85, color: "black", alpha: 1 },
35
- secondHand: { lineWidth: 4, startAt: -20, endAt: 85, color: "#54ACFF", alpha: 1 },
36
- secondDecoration: { lineWidth: 2, startAt: 70, radius: 8, fillColor: "#54ACFF", color: "red", alpha: 1 }
37
- }/*,
38
- swissRail: {
39
- outerBorder: { lineWidth: 2, radius:95, color: "black", alpha: 1 },
40
- smallIndicator: { lineWidth: 2, startAt: 88, endAt: 92, color: "black", alpha: 1 },
41
- largeIndicator: { lineWidth: 4, startAt: 79, endAt: 92, color: "black", alpha: 1 },
42
- hourHand: { lineWidth: 8, startAt: -15, endAt: 50, color: "black", alpha: 1 },
43
- minuteHand: { lineWidth: 7, startAt: -15, endAt: 75, color: "black", alpha: 1 },
44
- secondHand: { lineWidth: 1, startAt: -20, endAt: 85, color: "red", alpha: 1 },
45
- secondDecoration: { lineWidth: 1, startAt: 70, radius: 4, fillColor: "red", color: "red", alpha: 1 }
46
- },
47
- chunkySwiss: {
48
- outerBorder: { lineWidth: 4, radius:97, color: "black", alpha: 1 },
49
- smallIndicator: { lineWidth: 4, startAt: 89, endAt: 93, color: "black", alpha: 1 },
50
- largeIndicator: { lineWidth: 8, startAt: 80, endAt: 93, color: "black", alpha: 1 },
51
- hourHand: { lineWidth: 12, startAt: -15, endAt: 60, color: "black", alpha: 1 },
52
- minuteHand: { lineWidth: 10, startAt: -15, endAt: 85, color: "black", alpha: 1 },
53
- secondHand: { lineWidth: 4, startAt: -20, endAt: 85, color: "red", alpha: 1 },
54
- secondDecoration: { lineWidth: 2, startAt: 70, radius: 8, fillColor: "red", color: "red", alpha: 1 }
55
- },
56
- chunkySwissOnBlack: {
57
- outerBorder: { lineWidth: 4, radius:97, color: "white", alpha: 1 },
58
- smallIndicator: { lineWidth: 4, startAt: 89, endAt: 93, color: "white", alpha: 1 },
59
- largeIndicator: { lineWidth: 8, startAt: 80, endAt: 93, color: "white", alpha: 1 },
60
- hourHand: { lineWidth: 12, startAt: -15, endAt: 60, color: "white", alpha: 1 },
61
- minuteHand: { lineWidth: 10, startAt: -15, endAt: 85, color: "white", alpha: 1 },
62
- secondHand: { lineWidth: 4, startAt: -20, endAt: 85, color: "red", alpha: 1 },
63
- secondDecoration: { lineWidth: 2, startAt: 70, radius: 8, fillColor: "red", color: "red", alpha: 1 }
64
- }
65
- */
66
- },
67
-
68
- // Test for IE so we can nurse excanvas in a couple of places
69
- isIE: !!document.all,
70
-
71
- // Will store (a reference to) each clock here, indexed by the id of the canvas element
72
- clockTracker: {},
73
-
74
- // For giving a unique id to coolclock canvases with no id
75
- noIdCount: 0
76
- };
77
-
78
- // Define the CoolClock object's methods
79
- CoolClock.prototype = {
80
-
81
- // Initialise using the parameters parsed from the colon delimited class
82
- init: function(options) {
83
- // Parse and store the options
84
- this.canvasId = options.canvasId;
85
- this.skinId = options.skinId || CoolClock.config.defaultSkin;
86
- this.displayRadius = options.displayRadius || CoolClock.config.defaultRadius;
87
- this.showSecondHand = typeof options.showSecondHand == "boolean" ? options.showSecondHand : true;
88
- this.gmtOffset = (options.gmtOffset !== null && options.gmtOffset !== '') ? parseFloat(options.gmtOffset) : null;
89
- this.showDigital = typeof options.showDigital == "boolean" ? options.showDigital : true;
90
- this.logClock = typeof options.logClock == "boolean" ? options.logClock : false;
91
- this.logClockRev = typeof options.logClock == "boolean" ? options.logClockRev : false;
92
-
93
- this.tickDelay = CoolClock.config[ this.showSecondHand ? "tickDelay" : "longTickDelay" ];
94
- this.label = options.label || false;
95
- this.fontSize = options.fontSize || "15px";
96
-
97
- // Get the canvas element
98
- this.canvas = document.getElementById(this.canvasId);
99
-
100
- // Make the canvas the requested size. It's always square.
101
- this.width = this.displayRadius*2;
102
- this.height = this.displayRadius*2 + parseInt(this.fontSize) * 2;
103
- this.canvas.setAttribute("width",this.width);
104
- this.canvas.setAttribute("height",this.height);
105
- this.canvas.style.width = this.width + "px";
106
- this.canvas.style.height = this.height + "px";
107
-
108
- // Explain me please...?
109
- this.renderRadius = CoolClock.config.renderRadius;
110
- this.scale = this.displayRadius / this.renderRadius;
111
-
112
- // Initialise canvas context
113
- this.ctx = this.canvas.getContext("2d");
114
- this.ctx.scale(this.scale,this.scale);
115
-
116
- // Keep track of this object
117
- CoolClock.config.clockTracker[this.canvasId] = this;
118
-
119
- // should we be running the clock?
120
- this.active = true;
121
- this.tickTimeout = null;
122
-
123
- // Start the clock going
124
- this.tick();
125
-
126
- return this;
127
- },
128
-
129
- // Draw a circle at point x,y with params as defined in skin
130
- fullCircleAt: function(x,y,skin) {
131
- this.ctx.save();
132
- this.ctx.globalAlpha = skin.alpha;
133
- this.ctx.lineWidth = skin.lineWidth;
134
-
135
- if (!CoolClock.config.isIE) {
136
- this.ctx.beginPath();
137
- }
138
-
139
- if (CoolClock.config.isIE) {
140
- // excanvas doesn't scale line width so we will do it here
141
- this.ctx.lineWidth = this.ctx.lineWidth * this.scale;
142
- }
143
-
144
- this.ctx.arc(x, y, skin.radius, 0, 2*Math.PI, false);
145
-
146
- if (CoolClock.config.isIE) {
147
- // excanvas doesn't close the circle so let's fill in the tiny gap
148
- this.ctx.arc(x, y, skin.radius, -0.1, 0.1, false);
149
- }
150
-
151
- if (skin.fillColor) {
152
- this.ctx.fillStyle = skin.fillColor
153
- this.ctx.fill();
154
- }
155
- else {
156
- // XXX why not stroke and fill
157
- this.ctx.strokeStyle = skin.color;
158
- this.ctx.stroke();
159
- }
160
- this.ctx.restore();
161
- },
162
-
163
- // Draw some text centered vertically and horizontally
164
- drawTextAt: function(theText,x,y,bold) {
165
- this.ctx.save();
166
- this.ctx.font = (bold?'bold ':'') + this.fontSize + ' sans-serif';
167
- var tSize = this.ctx.measureText(theText);
168
- if (!tSize.height) tSize.height = 15; // no height in firefox.. :(
169
- this.ctx.fillText(theText,x - tSize.width/2,y - tSize.height/2);
170
- this.ctx.restore();
171
- },
172
-
173
- lpad2: function(num) {
174
- return (num < 10 ? '0' : '') + num;
175
- },
176
-
177
- tickAngle: function(second) {
178
- // Log algorithm by David Bradshaw
179
- var tweak = 3; // If it's lower the one second mark looks wrong (?)
180
- if (this.logClock) {
181
- return second == 0 ? 0 : (Math.log(second*tweak) / Math.log(60*tweak));
182
- }
183
- else if (this.logClockRev) {
184
- // Flip the seconds then flip the angle (trickiness)
185
- second = (60 - second) % 60;
186
- return 1.0 - (second == 0 ? 0 : (Math.log(second*tweak) / Math.log(60*tweak)));
187
- }
188
- else {
189
- return second/60.0;
190
- }
191
- },
192
-
193
- timeText: function(hour,min,sec) {
194
- var c = CoolClock.config;
195
- return '' +
196
- (c.showAmPm ? ((hour%12)==0 ? 12 : (hour%12)) : hour) + ':' +
197
- this.lpad2(min) +
198
- (c.showSecs ? ':' + this.lpad2(sec) : '') +
199
- (c.showAmPm ? (hour < 12 ? ' am' : ' pm') : '')
200
- ;
201
- },
202
-
203
- // Draw a radial line by rotating then drawing a straight line
204
- // Ha ha, I think I've accidentally used Taus, (see http://tauday.com/)
205
- radialLineAtAngle: function(angleFraction,skin) {
206
- this.ctx.save();
207
- this.ctx.translate(this.renderRadius,this.renderRadius);
208
- this.ctx.rotate(Math.PI * (2.0 * angleFraction - 0.5));
209
- this.ctx.globalAlpha = skin.alpha;
210
- this.ctx.strokeStyle = skin.color;
211
- this.ctx.lineWidth = skin.lineWidth;
212
-
213
- if (CoolClock.config.isIE)
214
- // excanvas doesn't scale line width so we will do it here
215
- this.ctx.lineWidth = this.ctx.lineWidth * this.scale;
216
-
217
- if (skin.radius) {
218
- this.fullCircleAt(skin.startAt,0,skin)
219
- }
220
- else {
221
- this.ctx.beginPath();
222
- this.ctx.moveTo(skin.startAt,0)
223
- this.ctx.lineTo(skin.endAt,0);
224
- this.ctx.stroke();
225
- }
226
- this.ctx.restore();
227
- },
228
-
229
- render: function(hour,min,sec) {
230
- // Get the skin
231
- var skin = CoolClock.config.skins[this.skinId];
232
- if (!skin) skin = CoolClock.config.skins[CoolClock.config.defaultSkin];
233
-
234
- // Clear
235
- this.ctx.clearRect(0,0,this.renderRadius*2,this.renderRadius*2+2*(parseInt(this.fontSize)+10));
236
-
237
- // Draw the outer edge of the clock
238
- if (skin.outerBorder)
239
- this.fullCircleAt(this.renderRadius,this.renderRadius,skin.outerBorder);
240
-
241
- // Draw the tick marks. Every 5th one is a big one
242
- for (var i=0;i<60;i++) {
243
- (i%5) && skin.smallIndicator && this.radialLineAtAngle(this.tickAngle(i),skin.smallIndicator);
244
- !(i%5) && skin.largeIndicator && this.radialLineAtAngle(this.tickAngle(i),skin.largeIndicator);
245
- }
246
-
247
- // Write the time
248
- if (this.showDigital) {
249
- this.drawTextAt(
250
- this.timeText(hour,min,sec),
251
- this.renderRadius,
252
- this.renderRadius*2+parseInt(this.fontSize)+15
253
- );
254
- }
255
-
256
- if (this.label) {
257
- this.drawTextAt(
258
- this.label,
259
- this.renderRadius,
260
- this.renderRadius*2+2*(parseInt(this.fontSize)+10),
261
- true
262
- );
263
- }
264
-
265
- // Draw the hands
266
- if (skin.hourHand)
267
- this.radialLineAtAngle(this.tickAngle(((hour%12)*5 + min/12.0)),skin.hourHand);
268
-
269
- if (skin.minuteHand)
270
- this.radialLineAtAngle(this.tickAngle((min + sec/60.0)),skin.minuteHand);
271
-
272
- if (this.showSecondHand && skin.secondHand)
273
- this.radialLineAtAngle(this.tickAngle(sec),skin.secondHand);
274
-
275
- // Second hand decoration doesn't render right in IE so lets turn it off
276
- if (!CoolClock.config.isIE && this.showSecondHand && skin.secondDecoration)
277
- this.radialLineAtAngle(this.tickAngle(sec),skin.secondDecoration);
278
- },
279
-
280
- // Check the time and display the clock
281
- refreshDisplay: function() {
282
- var now = new Date();
283
- if (this.gmtOffset !== null) {
284
- // Use GMT + gmtOffset
285
- var offsetNow = new Date(now.valueOf() + (this.gmtOffset * 1000 * 60 * 60));
286
- this.render(offsetNow.getUTCHours(),offsetNow.getUTCMinutes(),offsetNow.getUTCSeconds());
287
- }
288
- else {
289
- // Use local time
290
- this.render(now.getHours(),now.getMinutes(),now.getSeconds());
291
- }
292
- },
293
-
294
- // Set timeout to trigger a tick in the future
295
- nextTick: function() {
296
- this.tickTimeout = setTimeout("CoolClock.config.clockTracker['"+this.canvasId+"'].tick()",this.tickDelay);
297
- },
298
-
299
- // Check the canvas element hasn't been removed
300
- stillHere: function() {
301
- return document.getElementById(this.canvasId) != null;
302
- },
303
-
304
- // Stop this clock
305
- stop: function() {
306
- this.active = false;
307
- clearTimeout(this.tickTimeout);
308
- },
309
-
310
- // Start this clock
311
- start: function() {
312
- if (!this.active) {
313
- this.active = true;
314
- this.tick();
315
- }
316
- },
317
-
318
- // Main tick handler. Refresh the clock then setup the next tick
319
- tick: function() {
320
- if (this.stillHere() && this.active) {
321
- this.refreshDisplay()
322
- this.nextTick();
323
- }
324
- }
325
- };