von-dashboard 0.0.4 → 0.0.5

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.
data/.gitignore CHANGED
@@ -7,7 +7,6 @@ Gemfile.lock
7
7
  InstalledFiles
8
8
  _yardoc
9
9
  coverage
10
- doc/
11
10
  lib/bundler/man
12
11
  pkg
13
12
  rdoc
data/README.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # Von::Dashboard
2
2
 
3
- TODO: Write a gem description
3
+ Dashboard interface for Von https://github.com/blahed/von
4
+
5
+ [![screenshot](https://raw.github.com/bcaccinolo/von-dashboard/master/doc/screenshot.png)](#demo)
6
+
4
7
 
5
8
  ## Installation
6
9
 
@@ -18,7 +21,16 @@ Or install it yourself as:
18
21
 
19
22
  ## Usage
20
23
 
21
- TODO: Write usage instructions here
24
+ Add this rack application to your Rails routes:
25
+
26
+ ```ruby
27
+ mount Von::Dashboard::Web, :at => "von"
28
+ ```
29
+
30
+ You can now reach it from `HOSTNAME/von`.
31
+
32
+
33
+
22
34
 
23
35
  ## Contributing
24
36
 
Binary file
@@ -0,0 +1,48 @@
1
+ html, body, div, span, applet, object, iframe,
2
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
3
+ a, abbr, acronym, address, big, cite, code,
4
+ del, dfn, em, font, img, ins, kbd, q, s, samp,
5
+ small, strike, strong, sub, sup, tt, var,
6
+ dl, dt, dd, ul, li,
7
+ form, label, legend,
8
+ table, caption, tbody, tfoot, thead, tr, th, td {
9
+ margin: 0;
10
+ padding: 0;
11
+ border: 0;
12
+ outline: 0;
13
+ font-weight: inherit;
14
+ font-style: normal;
15
+ font-size: 100%;
16
+ font-family: inherit;
17
+ }
18
+
19
+ :focus {
20
+ outline: 0;
21
+ }
22
+
23
+ body {
24
+ line-height: 1;
25
+ }
26
+
27
+ ul {
28
+ list-style: none;
29
+ }
30
+
31
+ table {
32
+ border-collapse: collapse;
33
+ border-spacing: 0;
34
+ }
35
+
36
+ caption, th, td {
37
+ text-align: left;
38
+ font-weight: normal;
39
+ }
40
+
41
+ blockquote:before, blockquote:after,
42
+ q:before, q:after {
43
+ content: "";
44
+ }
45
+
46
+ blockquote, q {
47
+ quotes: "" "";
48
+ }
@@ -0,0 +1,324 @@
1
+ html {
2
+ background: #efefef;
3
+ font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
4
+ font-size: 13px;
5
+ }
6
+
7
+ body {
8
+ padding: 0 10px;
9
+ margin: 10px auto 0;
10
+ max-width:800px;
11
+ }
12
+
13
+ .header {
14
+ background: #ededed;
15
+ background: -webkit-gradient(linear, left top, left bottom,
16
+ color-stop(0%,#576a76),
17
+ color-stop(100%,#4d5256));
18
+ background: -moz-linear-gradient(top, #576076 0%, #414e58 100%);
19
+ background: -webkit-linear-gradient(top, #576a76 0%, #414e58 100%);
20
+ background: -o-linear-gradient(top, #576a76 0%, #414e58 100%);
21
+ background: -ms-linear-gradient(top, #576a76 0%, #414e58 100%);
22
+ background: linear-gradient(top, #576a76 0%, #414e58 100%);
23
+ border-bottom: 1px solid #fff;
24
+ -moz-border-radius-topleft: 5px;
25
+ -webkit-border-top-left-radius: 5px;
26
+ border-top-left-radius: 5px;
27
+ -moz-border-radius-topright: 5px;
28
+ -webkit-border-top-right-radius:5px;
29
+ border-top-right-radius: 5px;
30
+
31
+ overflow:hidden;
32
+ padding: 10px 5%;
33
+ text-shadow:0 1px 0 #000;
34
+ }
35
+
36
+ .header h1 {
37
+ color: #eee;
38
+ float:left;
39
+ font-size:1.2em;
40
+ font-weight:normal;
41
+ margin:2px 30px 0 0;
42
+ }
43
+
44
+ .header ul li {
45
+ display: inline;
46
+ }
47
+
48
+ .header ul li a {
49
+ color: #eee;
50
+ text-decoration: none;
51
+ margin-right: 10px;
52
+ display: inline-block;
53
+ padding: 4px 8px;
54
+ -moz-border-radius: 10px;
55
+ -webkit-border-radius:10px;
56
+ border-radius: 10px;
57
+
58
+ }
59
+
60
+ .header ul li a:hover {
61
+ background: rgba(255,255,255,0.1);
62
+ }
63
+
64
+ .header ul li a:active {
65
+ -moz-box-shadow: inset 0 1px 0 rgba(0,0,0,0.2);
66
+ -webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,0.2);
67
+ box-shadow: inset 0 1px 0 rgba(0,0,0,0.2);
68
+ }
69
+
70
+ .header ul li.current a {
71
+ background: rgba(255,255,255,0.1);
72
+ -moz-box-shadow: inset 0 1px 0 rgba(0,0,0,0.2);
73
+ -webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,0.2);
74
+ box-shadow: inset 0 1px 0 rgba(0,0,0,0.2);
75
+ color: #fff;
76
+ }
77
+
78
+ .header p.environment {
79
+ clear: both;
80
+ padding: 10px 0 0 0;
81
+ color: #BBB;
82
+ font-style: italic;
83
+ float: right;
84
+ }
85
+
86
+ #main {
87
+ padding: 10px 4%;
88
+ background: #f9f9f9;
89
+ border:1px solid #ccc;
90
+ border-top:none;
91
+ -moz-box-shadow: 0 3px 10px rgba(0,0,0,0.2);
92
+ -webkit-box-shadow:0 3px 10px rgba(0,0,0,0.2);
93
+ box-shadow: 0 3px 10px rgba(0,0,0,0.2);
94
+ overflow: hidden;
95
+ }
96
+
97
+ #main .logo {
98
+ float: right;
99
+ margin: 10px;
100
+ }
101
+
102
+ #main span.hl {
103
+ background: #efefef;
104
+ padding: 2px;
105
+ }
106
+
107
+ #main h1 {
108
+ margin: 10px 0;
109
+ font-size: 190%;
110
+ font-weight: bold;
111
+ color: #0080FF;
112
+ }
113
+
114
+ #main table {
115
+ width: 100%;
116
+ margin:0 0 10px;
117
+ }
118
+
119
+ #main table tr td, #main table tr th {
120
+ border-bottom: 1px solid #ccc;
121
+ padding: 6px;
122
+ }
123
+
124
+ #main table tr th {
125
+ background: #efefef;
126
+ color: #888;
127
+ font-size: 80%;
128
+ text-transform:uppercase;
129
+ }
130
+
131
+ #main table tr td.no-data {
132
+ text-align: center;
133
+ padding: 40px 0;
134
+ color: #999;
135
+ font-style: italic;
136
+ font-size: 130%;
137
+ }
138
+
139
+ #main a {
140
+ color: #111;
141
+ }
142
+
143
+ #main p {
144
+ margin: 5px 0;
145
+ }
146
+
147
+ #main p.intro {
148
+ margin-bottom: 15px;
149
+ font-size: 85%;
150
+ color: #999;
151
+ margin-top: 0;
152
+ line-height: 1.3;
153
+ }
154
+
155
+ #main h1.wi {
156
+ margin-bottom: 5px;
157
+ }
158
+
159
+ #main p.sub {
160
+ font-size: 95%;
161
+ color: #999;
162
+ }
163
+
164
+ .experiment {
165
+ background:#fff;
166
+ border: 1px solid #eee;
167
+ border-bottom:none;
168
+ margin:10px 0;
169
+ }
170
+
171
+ .experiment_with_goal {
172
+ margin: -32px 0 30px 0;
173
+ }
174
+
175
+ .experiment .experiment-header {
176
+ background: #f4f4f4;
177
+ background: -webkit-gradient(linear, left top, left bottom,
178
+ color-stop(0%,#f4f4f4),
179
+ color-stop(100%,#e0e0e0));
180
+ background: -moz-linear-gradient (top, #f4f4f4 0%, #e0e0e0 100%);
181
+ background: -webkit-linear-gradient(top, #f4f4f4 0%, #e0e0e0 100%);
182
+ background: -o-linear-gradient (top, #f4f4f4 0%, #e0e0e0 100%);
183
+ background: -ms-linear-gradient (top, #f4f4f4 0%, #e0e0e0 100%);
184
+ background: linear-gradient (top, #f4f4f4 0%, #e0e0e0 100%);
185
+ border-top:1px solid #fff;
186
+ overflow:hidden;
187
+ padding:0 10px;
188
+ }
189
+
190
+ .experiment .experiment-period {
191
+ background: #f9f9f9;
192
+ overflow:hidden;
193
+ padding:0 10px;
194
+ border-left: 3px solid #E0E0E0;
195
+ border-top:1px solid #fff;
196
+ }
197
+
198
+ .experiment h2 {
199
+ color:#888;
200
+ margin: 12px 0 12px 0;
201
+ font-size: 1em;
202
+ font-weight:bold;
203
+ float:left;
204
+ text-shadow:0 1px 0 rgba(255,255,255,0.8);
205
+ }
206
+
207
+ .experiment h2 .goal {
208
+ font-style: italic;
209
+ }
210
+
211
+ .experiment h2 .version {
212
+ font-style:italic;
213
+ font-size:0.8em;
214
+ color:#bbb;
215
+ font-weight:normal;
216
+ }
217
+
218
+ .experiment table em{
219
+ font-style:italic;
220
+ font-size:0.9em;
221
+ color:#bbb;
222
+ }
223
+
224
+ .experiment table .totals td {
225
+ background: #eee;
226
+ font-weight: bold;
227
+ }
228
+
229
+ #footer {
230
+ padding: 10px 5%;
231
+ color: #999;
232
+ font-size: 85%;
233
+ line-height: 1.5;
234
+ padding-top: 10px;
235
+ }
236
+
237
+ #footer p a {
238
+ color: #999;
239
+ }
240
+
241
+ .inline-controls {
242
+ float:right;
243
+ }
244
+
245
+ .inline-controls small {
246
+ color: #888;
247
+ font-size: 11px;
248
+ }
249
+
250
+ .inline-controls form {
251
+ display: inline-block;
252
+ font-size: 10px;
253
+ line-height: 38px;
254
+ }
255
+
256
+ .inline-controls input {
257
+ margin-left: 10px;
258
+ }
259
+
260
+ .worse, .better {
261
+ color: #773F3F;
262
+ font-size: 10px;
263
+ font-weight:bold;
264
+ }
265
+
266
+ .better {
267
+ color: #408C48;
268
+ }
269
+
270
+ a.button, button, input[type="submit"] {
271
+ padding: 4px 10px;
272
+ overflow: hidden;
273
+ background: #d8dae0;
274
+ -moz-box-shadow: 0 1px 0 rgba(0,0,0,0.5);
275
+ -webkit-box-shadow:0 1px 0 rgba(0,0,0,0.5);
276
+ box-shadow: 0 1px 0 rgba(0,0,0,0.5);
277
+ border:none;
278
+ -moz-border-radius: 30px;
279
+ -webkit-border-radius:30px;
280
+ border-radius: 30px;
281
+ color:#2e3035;
282
+ cursor: pointer;
283
+ font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
284
+ text-decoration: none;
285
+ text-shadow:0 1px 0 rgba(255,255,255,0.8);
286
+ -moz-user-select: none;
287
+ -webkit-user-select:none;
288
+ user-select: none;
289
+ white-space: nowrap;
290
+ }
291
+ a.button:hover, button:hover, input[type="submit"]:hover,
292
+ a.button:focus, button:focus, input[type="submit"]:focus{
293
+ background:#bbbfc7;
294
+ }
295
+ a.button:active, button:active, input[type="submit"]:active{
296
+ -moz-box-shadow: inset 0 0 4px #484d57;
297
+ -webkit-box-shadow:inset 0 0 4px #484d57;
298
+ box-shadow: inset 0 0 4px #484d57;
299
+ position:relative;
300
+ top:1px;
301
+ }
302
+
303
+ a.button.red, button.red, input[type="submit"].red,
304
+ a.button.green, button.green, input[type="submit"].green {
305
+ color:#fff;
306
+ text-shadow:0 1px 0 rgba(0,0,0,0.4);
307
+ }
308
+
309
+ a.button.red, button.red, input[type="submit"].red {
310
+ background:#a56d6d;
311
+ }
312
+ a.button.red:hover, button.red:hover, input[type="submit"].red:hover,
313
+ a.button.red:focus, button.red:focus, input[type="submit"].red:focus {
314
+ background:#895C5C;
315
+ }
316
+ a.button.green, button.green, input[type="submit"].green {
317
+ background:#8daa92;
318
+ }
319
+ a.button.green:hover, button.green:hover, input[type="submit"].green:hover,
320
+ a.button.green:focus, button.green:focus, input[type="submit"].green:focus {
321
+ background:#768E7A;
322
+ }
323
+
324
+
@@ -1,5 +1,5 @@
1
1
  module Von
2
2
  module Dashboard
3
- VERSION = "0.0.4"
3
+ VERSION = "0.0.5"
4
4
  end
5
5
  end
@@ -5,39 +5,49 @@
5
5
  %script{:type => "text/javascript", :src => "/von/js/jquery.js"}
6
6
  %script{:type => "text/javascript", :src => "/von/js/d3.v2.js" }
7
7
  %script{:type => "text/javascript", :src => "/von/js/rickshaw.js"}
8
+
9
+ %link{:href => "/von/css/reset.css", :rel => "stylesheet", :type => "text/css" }
10
+ %link{:href => "/von/css/style.css", :rel => "stylesheet", :type => "text/css" }
8
11
  %link{:href => "/von/css/rickshaw.css", :rel => "stylesheet", :type => "text/css" }
9
12
 
10
13
  %body
11
14
 
12
- %h1 Von Dashboard
15
+ .header
16
+ %h1 Von Dashboard
13
17
 
14
- - Von.config.currents.keys.each do |counter|
18
+ #main
15
19
 
16
- %h3= "Counter #{counter}"
20
+ - Von.config.currents.keys.each do |counter|
21
+ .experiment
22
+ .experiment-header
23
+ %h2= counter
17
24
 
18
- - Von.config.periods[counter].map(&:time_unit).each do |period|
25
+ - Von.config.periods[counter].map(&:time_unit).each do |period|
19
26
 
20
- %h3= "Period #{period}"
27
+ .experiment-period
28
+ %h2= "Per #{period}"
21
29
 
22
- - id = "chart_#{counter}_#{period}"
30
+ - id = "chart_#{counter}_#{period}"
23
31
 
24
- %div{id:id}
25
- :javascript
26
- $(document).ready(function() {
27
- var graph = new Rickshaw.Graph( {
28
- element: document.querySelector("##{id}"),
29
- width: 600,
30
- height: 200,
31
- series: [{
32
- color: 'steelblue',
33
- data: JSON.parse('#{Von.to_rickshaw(counter, period)}'),
34
- name: "#{period}"
35
- }]
36
- });
32
+ %div{id:id}
33
+ :javascript
34
+ $(document).ready(function() {
35
+ var graph = new Rickshaw.Graph( {
36
+ element: document.querySelector("##{id}"),
37
+ width: 600,
38
+ height: 200,
39
+ series: [{
40
+ color: 'steelblue',
41
+ data: JSON.parse('#{Von.to_rickshaw(counter, period)}'),
42
+ name: "#{period}"
43
+ }]
44
+ });
37
45
 
38
- new Rickshaw.Graph.Axis.Time( { graph: graph } );
39
- new Rickshaw.Graph.HoverDetail( { graph: graph } );
40
- graph.render();
46
+ new Rickshaw.Graph.Axis.Time( { graph: graph } );
47
+ new Rickshaw.Graph.HoverDetail( { graph: graph } );
48
+ graph.render();
41
49
 
42
- })
50
+ })
43
51
 
52
+ #footer
53
+ Powered by sinatra
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["benoit.caccinolo@gmail.com"]
11
11
  spec.description = "Von dashboard"
12
12
  spec.summary = "Von dashboard using Rickshaw"
13
- spec.homepage = ""
13
+ spec.homepage = "http://github.com/bcaccinolo/von-dashboard"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: von-dashboard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-07 00:00:00.000000000 Z
12
+ date: 2013-08-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -103,8 +103,11 @@ files:
103
103
  - LICENSE.txt
104
104
  - README.md
105
105
  - Rakefile
106
+ - doc/screenshot.png
106
107
  - lib/von/dashboard.rb
108
+ - lib/von/dashboard/public/css/reset.css
107
109
  - lib/von/dashboard/public/css/rickshaw.css
110
+ - lib/von/dashboard/public/css/style.css
108
111
  - lib/von/dashboard/public/js/d3.js
109
112
  - lib/von/dashboard/public/js/d3.v2.js
110
113
  - lib/von/dashboard/public/js/jquery.js
@@ -113,7 +116,7 @@ files:
113
116
  - lib/von/dashboard/views/index.haml
114
117
  - lib/von/dashboard/web.rb
115
118
  - von-dashboard.gemspec
116
- homepage: ''
119
+ homepage: http://github.com/bcaccinolo/von-dashboard
117
120
  licenses:
118
121
  - MIT
119
122
  post_install_message:
@@ -128,7 +131,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
128
131
  version: '0'
129
132
  segments:
130
133
  - 0
131
- hash: -25013518142631303
134
+ hash: -3812906875981621539
132
135
  required_rubygems_version: !ruby/object:Gem::Requirement
133
136
  none: false
134
137
  requirements:
@@ -137,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
140
  version: '0'
138
141
  segments:
139
142
  - 0
140
- hash: -25013518142631303
143
+ hash: -3812906875981621539
141
144
  requirements: []
142
145
  rubyforge_project:
143
146
  rubygems_version: 1.8.25