mongodb_logger 0.2.6-jruby

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. data/.gitignore +20 -0
  2. data/.rvmrc +1 -0
  3. data/.travis.yml +19 -0
  4. data/CHANGELOG.md +30 -0
  5. data/Gemfile +10 -0
  6. data/LICENSE +22 -0
  7. data/README.md +207 -0
  8. data/Rakefile +169 -0
  9. data/SUPPORTED_RAILS_VERSIONS +17 -0
  10. data/TESTING.md +24 -0
  11. data/bin/mongodb_logger_web +24 -0
  12. data/config.ru +17 -0
  13. data/examples/server_config.yml +5 -0
  14. data/features/mongodb_logger_web.feature +14 -0
  15. data/features/rails.feature +12 -0
  16. data/features/step_definitions/mongodb_logger_web_steps.rb +45 -0
  17. data/features/step_definitions/rails_application_steps.rb +65 -0
  18. data/features/support/env.rb +15 -0
  19. data/features/support/rails.rb +98 -0
  20. data/features/support/terminal.rb +95 -0
  21. data/lib/mongodb_logger/initializer_mixin.rb +26 -0
  22. data/lib/mongodb_logger/logger.rb +239 -0
  23. data/lib/mongodb_logger/railtie.rb +12 -0
  24. data/lib/mongodb_logger/replica_set_helper.rb +19 -0
  25. data/lib/mongodb_logger/server/coffee/logs.coffee +250 -0
  26. data/lib/mongodb_logger/server/content_for.rb +58 -0
  27. data/lib/mongodb_logger/server/model/additional_filter.rb +104 -0
  28. data/lib/mongodb_logger/server/model/analytic.rb +82 -0
  29. data/lib/mongodb_logger/server/model/filter.rb +84 -0
  30. data/lib/mongodb_logger/server/partials.rb +24 -0
  31. data/lib/mongodb_logger/server/public/images/arrow-down.png +0 -0
  32. data/lib/mongodb_logger/server/public/images/arrow-up.png +0 -0
  33. data/lib/mongodb_logger/server/public/images/date.png +0 -0
  34. data/lib/mongodb_logger/server/public/images/external.png +0 -0
  35. data/lib/mongodb_logger/server/public/images/failure.png +0 -0
  36. data/lib/mongodb_logger/server/public/images/logo.png +0 -0
  37. data/lib/mongodb_logger/server/public/images/mongodb.png +0 -0
  38. data/lib/mongodb_logger/server/public/images/newlog.png +0 -0
  39. data/lib/mongodb_logger/server/public/images/play-icon.png +0 -0
  40. data/lib/mongodb_logger/server/public/images/spinner.gif +0 -0
  41. data/lib/mongodb_logger/server/public/images/spinner2.gif +0 -0
  42. data/lib/mongodb_logger/server/public/images/stop-icon.png +0 -0
  43. data/lib/mongodb_logger/server/public/images/success.png +0 -0
  44. data/lib/mongodb_logger/server/public/javascripts/logs.js +1 -0
  45. data/lib/mongodb_logger/server/public/javascripts/vendors/highlight.pack.js +1 -0
  46. data/lib/mongodb_logger/server/public/javascripts/vendors/jquery-1.7.1.min.js +4 -0
  47. data/lib/mongodb_logger/server/public/javascripts/vendors/jquery-ui-1.8.16.min.js +791 -0
  48. data/lib/mongodb_logger/server/public/javascripts/vendors/jquery.pjax.min.js +6 -0
  49. data/lib/mongodb_logger/server/public/stylesheets/all.css +12 -0
  50. data/lib/mongodb_logger/server/public/stylesheets/grids.css +18 -0
  51. data/lib/mongodb_logger/server/public/stylesheets/group-buttons.css +81 -0
  52. data/lib/mongodb_logger/server/public/stylesheets/group-forms.css +59 -0
  53. data/lib/mongodb_logger/server/public/stylesheets/group-headers.css +8 -0
  54. data/lib/mongodb_logger/server/public/stylesheets/group-tables.css +87 -0
  55. data/lib/mongodb_logger/server/public/stylesheets/highlight/zenburn.css +115 -0
  56. data/lib/mongodb_logger/server/public/stylesheets/humanity/images/ui-bg_flat_75_aaaaaa_40x100.png +0 -0
  57. data/lib/mongodb_logger/server/public/stylesheets/humanity/images/ui-bg_glass_100_f5f0e5_1x400.png +0 -0
  58. data/lib/mongodb_logger/server/public/stylesheets/humanity/images/ui-bg_glass_25_cb842e_1x400.png +0 -0
  59. data/lib/mongodb_logger/server/public/stylesheets/humanity/images/ui-bg_glass_70_ede4d4_1x400.png +0 -0
  60. data/lib/mongodb_logger/server/public/stylesheets/humanity/images/ui-bg_highlight-hard_100_f4f0ec_1x100.png +0 -0
  61. data/lib/mongodb_logger/server/public/stylesheets/humanity/images/ui-bg_highlight-hard_65_fee4bd_1x100.png +0 -0
  62. data/lib/mongodb_logger/server/public/stylesheets/humanity/images/ui-bg_highlight-hard_75_f5f5b5_1x100.png +0 -0
  63. data/lib/mongodb_logger/server/public/stylesheets/humanity/images/ui-bg_inset-soft_100_f4f0ec_1x100.png +0 -0
  64. data/lib/mongodb_logger/server/public/stylesheets/humanity/images/ui-icons_c47a23_256x240.png +0 -0
  65. data/lib/mongodb_logger/server/public/stylesheets/humanity/images/ui-icons_cb672b_256x240.png +0 -0
  66. data/lib/mongodb_logger/server/public/stylesheets/humanity/images/ui-icons_f08000_256x240.png +0 -0
  67. data/lib/mongodb_logger/server/public/stylesheets/humanity/images/ui-icons_f35f07_256x240.png +0 -0
  68. data/lib/mongodb_logger/server/public/stylesheets/humanity/images/ui-icons_ff7519_256x240.png +0 -0
  69. data/lib/mongodb_logger/server/public/stylesheets/humanity/images/ui-icons_ffffff_256x240.png +0 -0
  70. data/lib/mongodb_logger/server/public/stylesheets/humanity/jquery-ui-1.8.16.custom.css +568 -0
  71. data/lib/mongodb_logger/server/public/stylesheets/layout.css +205 -0
  72. data/lib/mongodb_logger/server/public/stylesheets/library.css +330 -0
  73. data/lib/mongodb_logger/server/public/stylesheets/reset.css +43 -0
  74. data/lib/mongodb_logger/server/public/stylesheets/spaces.css +42 -0
  75. data/lib/mongodb_logger/server/view_helpers.rb +113 -0
  76. data/lib/mongodb_logger/server/views/analytics.erb +61 -0
  77. data/lib/mongodb_logger/server/views/error.erb +2 -0
  78. data/lib/mongodb_logger/server/views/layout.erb +47 -0
  79. data/lib/mongodb_logger/server/views/overview.erb +119 -0
  80. data/lib/mongodb_logger/server/views/shared/_collection_stats.erb +14 -0
  81. data/lib/mongodb_logger/server/views/shared/_dynamic_filter.erb +34 -0
  82. data/lib/mongodb_logger/server/views/shared/_log.erb +8 -0
  83. data/lib/mongodb_logger/server/views/shared/_log_info.erb +27 -0
  84. data/lib/mongodb_logger/server/views/shared/_message_tabs.erb +15 -0
  85. data/lib/mongodb_logger/server/views/shared/_tabs.erb +4 -0
  86. data/lib/mongodb_logger/server/views/shared/_tail_panel.erb +13 -0
  87. data/lib/mongodb_logger/server/views/shared/_top_panel.erb +7 -0
  88. data/lib/mongodb_logger/server/views/show_log.erb +105 -0
  89. data/lib/mongodb_logger/server.rb +174 -0
  90. data/lib/mongodb_logger/server_config.rb +77 -0
  91. data/lib/mongodb_logger/version.rb +3 -0
  92. data/lib/mongodb_logger.rb +31 -0
  93. data/mongodb_logger.gemspec +44 -0
  94. data/mongodb_logger.java.gemspec +42 -0
  95. data/spec/javascripts/MongodbLoggerMainSpec.js +13 -0
  96. data/spec/javascripts/helpers/SpecHelper.js +3 -0
  97. data/spec/javascripts/support/jasmine.yml +77 -0
  98. data/spec/javascripts/support/jasmine_config.rb +23 -0
  99. data/spec/javascripts/support/jasmine_runner.rb +32 -0
  100. data/test/active_record.rb +13 -0
  101. data/test/config/samples/database.yml +9 -0
  102. data/test/config/samples/database_no_file_logging.yml +10 -0
  103. data/test/config/samples/database_replica_set.yml +12 -0
  104. data/test/config/samples/database_with_auth.yml +9 -0
  105. data/test/config/samples/database_with_collection.yml +8 -0
  106. data/test/config/samples/mongodb_logger.yml +2 -0
  107. data/test/config/samples/mongoid.yml +30 -0
  108. data/test/config/samples/server_config.yml +3 -0
  109. data/test/rails/app/controllers/order_controller.rb +23 -0
  110. data/test/rails/test/functional/order_controller_test.rb +116 -0
  111. data/test/rails/test/test_helper.rb +10 -0
  112. data/test/rails.rb +22 -0
  113. data/test/shoulda_macros/log_macros.rb +13 -0
  114. data/test/test.sh +6 -0
  115. data/test/test_helper.rb +89 -0
  116. data/test/unit/mongodb_logger_replica_test.rb +56 -0
  117. data/test/unit/mongodb_logger_test.rb +270 -0
  118. metadata +383 -0
@@ -0,0 +1,205 @@
1
+ html, body {
2
+ height: 100%;
3
+ }
4
+
5
+ body {
6
+ min-width: 1000px;
7
+ font: 12px/140% helvetica, arial, sans-serif;
8
+ color: #333;
9
+ background: #F3F4EB;
10
+ }
11
+
12
+ .logo {
13
+ float: left;
14
+ margin-top: 2px;
15
+ margin-right: 20px;
16
+ }
17
+
18
+ .logger {
19
+ color: #fff;
20
+ font-size: 11px;
21
+ text-transform: uppercase;
22
+ position: relative;
23
+ top: 25px;
24
+ }
25
+
26
+ .wrapper {
27
+ width: 96%;
28
+ max-width: 1600px;
29
+ margin: 0 auto;
30
+ position: relative;
31
+ }
32
+
33
+ .outer:after {
34
+ content: '';
35
+ display: block;
36
+ clear: both;
37
+ height: 0;
38
+ overflow: hidden;
39
+ font-size: 0;
40
+ }
41
+
42
+ .page {
43
+ overflow: hidden;
44
+ min-height: 100%;
45
+ position: relative;
46
+ }
47
+
48
+ .content {
49
+ padding: 20px 0;
50
+ }
51
+
52
+ .header {
53
+ height: 50px;
54
+ background-color: #363636;
55
+ }
56
+
57
+ .topline {
58
+ height: 50px;
59
+ position: relative;
60
+ background: rgb(238,238,238);
61
+ border-bottom: 1px solid #ADB4B8;
62
+ background: -moz-linear-gradient(top, rgba(238,238,238,1) 0%, rgba(204,204,204,1) 100%);
63
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(238,238,238,1)), color-stop(100%,rgba(204,204,204,1)));
64
+ background: -webkit-linear-gradient(top, rgba(238,238,238,1) 0%,rgba(204,204,204,1) 100%);
65
+ background: -o-linear-gradient(top, rgba(238,238,238,1) 0%,rgba(204,204,204,1) 100%);
66
+ background: -ms-linear-gradient(top, rgba(238,238,238,1) 0%,rgba(204,204,204,1) 100%);
67
+ background: linear-gradient(top, rgba(238,238,238,1) 0%,rgba(204,204,204,1) 100%);
68
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#cccccc',GradientType=0 );
69
+ }
70
+
71
+ .topline li {
72
+ float: left;
73
+ height: 50px;
74
+ line-height: 50px;
75
+ font-size: 20px;
76
+ }
77
+
78
+ .topline li a {
79
+ display: block;
80
+ padding: 0 20px;
81
+ text-decoration: none;
82
+ border-right: 1px solid #bbb;
83
+ color: #333;
84
+ }
85
+
86
+ .topline li a:hover {
87
+ background: -moz-linear-gradient(top, rgba(255,255,255,0.62) 0%, rgba(23,146,212,0.5) 100%);
88
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0.62)), color-stop(100%,rgba(23,146,212,0.5)));
89
+ background: -webkit-linear-gradient(top, rgba(255,255,255,0.62) 0%,rgba(23,146,212,0.5) 100%);
90
+ background: -o-linear-gradient(top, rgba(255,255,255,0.62) 0%,rgba(23,146,212,0.5) 100%);
91
+ background: -ms-linear-gradient(top, rgba(255,255,255,0.62) 0%,rgba(23,146,212,0.5) 100%);
92
+ background: linear-gradient(top, rgba(255,255,255,0.62) 0%,rgba(23,146,212,0.5) 100%);
93
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9effffff', endColorstr='#801792d4',GradientType=0 );
94
+
95
+ }
96
+
97
+ .topline li.active a {
98
+ background: #f4f4f4;
99
+ box-shadow: 0 2px 5px #ccc inset;
100
+ text-shadow: 0 1px 0 #fff;
101
+ }
102
+
103
+ .mainbox {
104
+ position: relative;
105
+ border: 1px solid #ADB4B8;
106
+ background-color: #fff;
107
+ box-shadow: 0 1px 2px rgba(25,25,25,0.2);
108
+ min-height: 500px;
109
+ }
110
+
111
+ .details {
112
+ position: absolute;
113
+ overflow: auto;
114
+ width: 25%;
115
+ bottom: 0;
116
+ right: 0;
117
+ top: 50px;
118
+ border-left: 1px solid #ADB4B8;
119
+ border-top: 1px solid #ADB4B8;
120
+ background-color: #fefefe;
121
+ box-shadow: 2px 2px 5px #e4e4e4 inset;
122
+ background: rgb(255,255,255);
123
+ min-height: 400px;
124
+ }
125
+
126
+ /* nav */
127
+ .nav {
128
+ height: 50px;
129
+ }
130
+
131
+ .nav li {
132
+ float: left;
133
+ margin-top: 17px;
134
+ margin-right: 20px;
135
+ }
136
+
137
+ .nav li a {
138
+ font-weight: bold;
139
+ text-decoration: none;
140
+ text-shadow: 0 1px 0 #fff;
141
+ }
142
+
143
+ .nav li a:hover {
144
+ color: #333;
145
+ }
146
+
147
+ .nav li.current a {
148
+ color: #888;
149
+ cursor: default;
150
+ }
151
+
152
+
153
+ /* footer */
154
+ .footer {
155
+ position: absolute;
156
+ left: 0;
157
+ bottom: 0;
158
+ width: 100%;
159
+ height: 30px;
160
+ color: #666;
161
+ }
162
+
163
+ .footer a {
164
+ color: #666;
165
+ }
166
+
167
+ #ajax_loader {
168
+ display: none;
169
+ position: absolute;
170
+ top: 15px;
171
+ margin-left: -110px;
172
+ left: 50%;
173
+ }
174
+
175
+ .stats {
176
+ position: relative;
177
+ width: 25%;
178
+ height: 50px;
179
+ color: #fff;
180
+ font-size: 11px;
181
+ line-height: 1.1;
182
+ text-shadow: 0 1px 0 rgba(0,0,0, 0.7);
183
+ background: rgb(119,73,43);
184
+ background: -moz-linear-gradient(top, rgba(119,73,43,1) 0%, rgba(89,54,32,1) 100%);
185
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(119,73,43,1)), color-stop(100%,rgba(89,54,32,1)));
186
+ background: -webkit-linear-gradient(top, rgba(119,73,43,1) 0%,rgba(89,54,32,1) 100%);
187
+ background: -o-linear-gradient(top, rgba(119,73,43,1) 0%,rgba(89,54,32,1) 100%);
188
+ background: -ms-linear-gradient(top, rgba(119,73,43,1) 0%,rgba(89,54,32,1) 100%);
189
+ background: linear-gradient(top, rgba(119,73,43,1) 0%,rgba(89,54,32,1) 100%);
190
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#77492b', endColorstr='#593620',GradientType=0 );
191
+
192
+ }
193
+
194
+ .stats strong {
195
+ display: inline-block;
196
+ width: 60px;
197
+ color: #e7c5a9;
198
+ }
199
+
200
+
201
+ /*
202
+ http://localhost:3000/mongodblogs/overview
203
+ ./bin/mongodb_logger_web ../mongo.yml -F
204
+
205
+ */
@@ -0,0 +1,330 @@
1
+ /* colors */
2
+ .positive {
3
+ color: #238c00;
4
+ }
5
+
6
+ .negative {
7
+ color: #cc0000;
8
+ }
9
+
10
+ .neutral {
11
+ color: #666;
12
+ }
13
+
14
+ .pale {
15
+ color: #999;
16
+ }
17
+
18
+ .opaque {
19
+ color: #333;
20
+ }
21
+
22
+ .firm {
23
+ color: #3084ca;
24
+ }
25
+
26
+ /* links */
27
+ a {
28
+ color: #3078CA;
29
+ }
30
+
31
+ a:hover, a:active {
32
+ color: #333;
33
+ }
34
+
35
+ .inline {
36
+ display: inline;
37
+ }
38
+
39
+ .txtC {
40
+ text-align: center;
41
+ }
42
+
43
+ .txtR {
44
+ text-align: right;
45
+ }
46
+
47
+ .success {
48
+ padding-right: 15px;
49
+ background: url(../images/success.png) no-repeat 100% 50%;
50
+ }
51
+
52
+ .failure {
53
+ padding-right: 15px;
54
+ background: url(../images/failure.png) no-repeat 100% 50%;
55
+ }
56
+
57
+ .notice {
58
+ position: relative;
59
+ top: 1px;
60
+ width: 10px;
61
+ height: 10px;
62
+ display: inline-block;
63
+ margin-right: 5px;
64
+ margin-left: -17px;
65
+ /* background: url(../images/success.png) no-repeat 0 0; */
66
+ }
67
+
68
+ .error {
69
+ position: relative;
70
+ top: 1px;
71
+ width: 10px;
72
+ height: 10px;
73
+ display: inline-block;
74
+ margin-right: 5px;
75
+ margin-left: -17px;
76
+ background: url(../images/failure.png) no-repeat 0 0;
77
+ }
78
+
79
+ .arrow-down {
80
+ padding-right: 15px;
81
+ background: url(../images/arrow-down.png) no-repeat 100% 50%;
82
+ }
83
+
84
+ .arrow-down.rotate {
85
+ background: url(../images/arrow-up.png) no-repeat 100% 50%;
86
+ }
87
+
88
+ code {
89
+ display: block;
90
+ overflow: auto;
91
+ height: 260px;
92
+ padding: 20px;
93
+ background-color: #4C565E;
94
+ color: #fff;
95
+ white-space: pre;
96
+ }
97
+
98
+ /* info */
99
+ .info li {
100
+ overflow: hidden;
101
+ margin-bottom: 10px;
102
+ }
103
+
104
+ .info .title {
105
+ float: left;
106
+ width: 70px;
107
+ margin-right: 10px;
108
+ font-weight: bold;
109
+ color: #999;
110
+ }
111
+
112
+ .info .value {
113
+ float: left;
114
+ }
115
+
116
+ .list li {
117
+ border-top: 1px solid #ddd;
118
+ }
119
+
120
+ .list li:nth-child(even) {
121
+ background-color: #f8f8f8;
122
+ }
123
+
124
+ .filter {
125
+ display: none;
126
+ background-color: #ededed;
127
+ box-shadow: 0 1px 2px #bbb inset;
128
+ border-bottom: 1px solid #bbb;
129
+ }
130
+
131
+ .filter-toggle {
132
+ height: 24px;
133
+ text-align: center;
134
+ line-height: 24px;
135
+ font-weight: bold;
136
+ cursor: pointer;
137
+ text-shadow: 0 1px 0 #fff;
138
+ border-bottom: 1px solid #bbb;
139
+ background: rgb(238,238,238);
140
+ background: -moz-linear-gradient(top, rgba(238,238,238,1) 0%, rgba(211,211,211,1) 100%);
141
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(238,238,238,1)), color-stop(100%,rgba(211,211,211,1)));
142
+ background: -webkit-linear-gradient(top, rgba(238,238,238,1) 0%,rgba(211,211,211,1) 100%);
143
+ background: -o-linear-gradient(top, rgba(238,238,238,1) 0%,rgba(211,211,211,1) 100%);
144
+ background: -ms-linear-gradient(top, rgba(238,238,238,1) 0%,rgba(211,211,211,1) 100%);
145
+ background: linear-gradient(top, rgba(238,238,238,1) 0%,rgba(211,211,211,1) 100%);
146
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#d3d3d3',GradientType=0 );
147
+
148
+ }
149
+
150
+ .logs-time {
151
+ width: 200px;
152
+ padding: 7px 15px 7px 30px;
153
+ -moz-box-sizing: border-box;
154
+ -webkit-box-sizing: border-box;
155
+ box-sizing: border-box;
156
+ font: 12px arial, sans-serif;
157
+ vertical-align: middle;
158
+ border: 1px solid #bbb;
159
+ background: #fff url(../images/date.png) no-repeat 9px 50%;
160
+ border-radius: 3px;
161
+ box-shadow: 0 1px 2px #e6e6e6 inset, 0 1px 0 #fff;
162
+ }
163
+
164
+
165
+ #tail_logs_block.started .info, #tail_logs_block .initial {
166
+ display: inline-block;
167
+ }
168
+
169
+ #tail_logs_block .info, #tail_logs_block.started .initial {
170
+ display: none;
171
+ }
172
+
173
+
174
+ .wrap_text {
175
+ word-wrap: break-word;
176
+ }
177
+
178
+ li.message_tab {
179
+ cursor: pointer;
180
+ cursor: hand;
181
+ }
182
+
183
+ .tab_content.hidden {
184
+ display:none;
185
+ }
186
+
187
+
188
+ .message_tabs {
189
+ height: 30px;
190
+ position: relative;
191
+ background: rgb(238,238,238);
192
+ border: 1px solid #ADB4B8;
193
+ background: -moz-linear-gradient(top, rgba(238,238,238,1) 0%, rgba(204,204,204,1) 100%);
194
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(238,238,238,1)), color-stop(100%,rgba(204,204,204,1)));
195
+ background: -webkit-linear-gradient(top, rgba(238,238,238,1) 0%,rgba(204,204,204,1) 100%);
196
+ background: -o-linear-gradient(top, rgba(238,238,238,1) 0%,rgba(204,204,204,1) 100%);
197
+ background: -ms-linear-gradient(top, rgba(238,238,238,1) 0%,rgba(204,204,204,1) 100%);
198
+ background: linear-gradient(top, rgba(238,238,238,1) 0%,rgba(204,204,204,1) 100%);
199
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#cccccc',GradientType=0 );
200
+ }
201
+
202
+ .message_tabs li.message_tab {
203
+ float: left;
204
+ padding: 0 20px;
205
+ height: 30px;
206
+ line-height: 30px;
207
+ font-size: 14px;
208
+ border-right: 1px solid #bbb;
209
+ border-top: 0;
210
+ color: #333;
211
+ background: transparent;
212
+ }
213
+
214
+ .message_tabs li:hover {
215
+ background: -moz-linear-gradient(top, rgba(255,255,255,0.62) 0%, rgba(23,146,212,0.5) 100%);
216
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0.62)), color-stop(100%,rgba(23,146,212,0.5)));
217
+ background: -webkit-linear-gradient(top, rgba(255,255,255,0.62) 0%,rgba(23,146,212,0.5) 100%);
218
+ background: -o-linear-gradient(top, rgba(255,255,255,0.62) 0%,rgba(23,146,212,0.5) 100%);
219
+ background: -ms-linear-gradient(top, rgba(255,255,255,0.62) 0%,rgba(23,146,212,0.5) 100%);
220
+ background: linear-gradient(top, rgba(255,255,255,0.62) 0%,rgba(23,146,212,0.5) 100%);
221
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9effffff', endColorstr='#801792d4',GradientType=0 );
222
+
223
+ }
224
+
225
+ .message_tabs li.active {
226
+ background: #f4f4f4;
227
+ box-shadow: 0 2px 5px #ccc inset;
228
+ text-shadow: 0 1px 0 #fff;
229
+ }
230
+
231
+ a[target="_blank"] {
232
+ display: inline-block;
233
+ background: url(../images/external.png) no-repeat 0 3px;
234
+ padding-left: 17px;
235
+ }
236
+
237
+ .not-implemented {
238
+ opacity: 0.3;
239
+ cursor: default;
240
+ }
241
+
242
+ .not-implemented:hover {
243
+ background: none !important;
244
+ }
245
+
246
+ .log-num {
247
+ padding: 3px 7px 1px;
248
+ background-color: #5E3B22;
249
+ font-size: 11px;
250
+ color: #fff;
251
+ border-radius: 20px;
252
+ box-shadow: 0 2px 3px rgba(0,0,0, 0.4) inset, 0 1px 0 rgba(255,255,255, 0.2);
253
+ }
254
+
255
+ .progress {
256
+ height: 14px;
257
+ position: absolute;
258
+ bottom: 4px;
259
+ left: 10px;
260
+ right: 10px;
261
+ font-size: 10px;
262
+ background: rgb(230,234,220);
263
+ background: -moz-linear-gradient(top, rgba(230,234,220,1) 0%, rgba(223,234,197,1) 100%);
264
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(230,234,220,1)), color-stop(100%,rgba(223,234,197,1)));
265
+ background: -webkit-linear-gradient(top, rgba(230,234,220,1) 0%,rgba(223,234,197,1) 100%);
266
+ background: -o-linear-gradient(top, rgba(230,234,220,1) 0%,rgba(223,234,197,1) 100%);
267
+ background: -ms-linear-gradient(top, rgba(230,234,220,1) 0%,rgba(223,234,197,1) 100%);
268
+ background: linear-gradient(top, rgba(230,234,220,1) 0%,rgba(223,234,197,1) 100%);
269
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e6eadc', endColorstr='#dfeac5',GradientType=0 );
270
+ border-radius: 3px;
271
+ box-shadow: 0 1px 2px rgba(0,0,0,0.5) inset;
272
+ }
273
+
274
+ .used {
275
+ height: 14px;
276
+ position: absolute;
277
+ left: 0;
278
+ top: 0;
279
+ border-radius: 3px;
280
+ background: rgb(191,210,85);
281
+ background: -moz-linear-gradient(top, rgba(191,210,85,1) 0%, rgba(142,185,42,1) 50%, rgba(114,170,0,1) 51%, rgba(158,203,45,1) 100%);
282
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(191,210,85,1)), color-stop(50%,rgba(142,185,42,1)), color-stop(51%,rgba(114,170,0,1)), color-stop(100%,rgba(158,203,45,1)));
283
+ background: -webkit-linear-gradient(top, rgba(191,210,85,1) 0%,rgba(142,185,42,1) 50%,rgba(114,170,0,1) 51%,rgba(158,203,45,1) 100%);
284
+ background: -o-linear-gradient(top, rgba(191,210,85,1) 0%,rgba(142,185,42,1) 50%,rgba(114,170,0,1) 51%,rgba(158,203,45,1) 100%);
285
+ background: -ms-linear-gradient(top, rgba(191,210,85,1) 0%,rgba(142,185,42,1) 50%,rgba(114,170,0,1) 51%,rgba(158,203,45,1) 100%);
286
+ background: linear-gradient(top, rgba(191,210,85,1) 0%,rgba(142,185,42,1) 50%,rgba(114,170,0,1) 51%,rgba(158,203,45,1) 100%);
287
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bfd255', endColorstr='#9ecb2d',GradientType=0 );
288
+
289
+ }
290
+
291
+ .size {
292
+ font-size: 10px;
293
+ position: absolute;
294
+ right: 5px;
295
+ top: 3px;
296
+ z-index: 2;
297
+ color: #000;
298
+ text-shadow: none;
299
+ }
300
+
301
+ .add {
302
+ color: #333;
303
+ text-decoration: none;
304
+ }
305
+
306
+ .warning {
307
+ position: absolute;
308
+ bottom: 1px;
309
+ padding: 3px 0;
310
+ clear: both;
311
+ width: 100%;
312
+ font-size: 10px;
313
+ background-color: #FCF6C4;
314
+ color: black;
315
+ text-shadow: none;
316
+ }
317
+
318
+ .warning p {
319
+ padding: 0 10px;
320
+ }
321
+
322
+ a.more {
323
+ padding-left: 0;
324
+ background: none;
325
+ font-weight: bold;
326
+ }
327
+
328
+ #analyticData {
329
+ text-align: center;
330
+ }
@@ -0,0 +1,43 @@
1
+ * {
2
+ padding: 0;
3
+ margin: 0;
4
+ font-size: 1em;
5
+ outline: none;
6
+ }
7
+
8
+ a img, iframe, fieldset, object {
9
+ border: none;
10
+ }
11
+
12
+ caption, th {
13
+ text-align: left;
14
+ }
15
+
16
+ td {
17
+ vertical-align: top;
18
+ }
19
+
20
+ sub, sup {
21
+ vertical-align: baseline;
22
+ }
23
+
24
+ ul {
25
+ list-style-type: none;
26
+ }
27
+
28
+ table {
29
+ border-collapse: collapse;
30
+ border-spacing: 0;
31
+ }
32
+
33
+ body {
34
+ background-color: white;
35
+ }
36
+
37
+ th, h1, h2, h3, h4, h5, h6 {
38
+ font-weight: normal;
39
+ }
40
+
41
+ cite, em {
42
+ font-style: normal;
43
+ }
@@ -0,0 +1,42 @@
1
+ /* spacing helpers
2
+ p,m = padding,margin
3
+ a,t,r,b,l,h,v = all,top,right,bottom,left,horizontal,vertical
4
+ s,m,l,n = small(10px),medium(20px),large(40px),none(0px)
5
+ */
6
+
7
+ .ptn,.pvn,.pan{padding-top:0px}
8
+ .pts,.pvs,.pas{padding-top:10px}
9
+ .ptm,.pvm,.pam{padding-top:20px}
10
+ .ptl,.pvl,.pal{padding-top:40px}
11
+ .prn,.phn,.pan{padding-right:0px}
12
+ .prs,.phs,.pas{padding-right:10px}
13
+ .prm,.phm,.pam{padding-right:20px}
14
+ .prl,.phl,.pal{padding-right:40px}
15
+ .pbn,.pvn,.pan{padding-bottom:0px}
16
+ .pbs,.pvs,.pas{padding-bottom:10px}
17
+ .pbm,.pvm,.pam{padding-bottom:20px}
18
+ .pbl,.pvl,.pal{padding-bottom:40px}
19
+ .pln,.phn,.pan{padding-left:0px}
20
+ .pls,.phs,.pas{padding-left:10px}
21
+ .plm,.phm,.pam{padding-left:20px}
22
+ .pll,.phl,.pal{padding-left:40px}
23
+ .mtn,.mvn,.man{margin-top:0px}
24
+ .mts,.mvs,.mas{margin-top:10px}
25
+ .mtm,.mvm,.mam{margin-top:20px}
26
+ .mtl,.mvl,.mal{margin-top:40px}
27
+ .mrn,.mhn,.man{margin-right:0px}
28
+ .mrs,.mhs,.mas{margin-right:10px}
29
+ .mrm,.mhm,.mam{margin-right:20px}
30
+ .mrl,.mhl,.mal{margin-right:40px}
31
+ .mbn,.mvn,.man{margin-bottom:0px}
32
+ .mbs,.mvs,.mas{margin-bottom:10px}
33
+ .mbm,.mvm,.mam{margin-bottom:20px}
34
+ .mbl,.mvl,.mal{margin-bottom:40px}
35
+ .mln,.mhn,.man{margin-left:0px}
36
+ .mls,.mhs,.mas{margin-left:10px}
37
+ .mlm,.mhm,.mam{margin-left:20px}
38
+ .mll,.mhl,.mal{margin-left:40px}
39
+
40
+ .ptxs {
41
+ padding-top: 5px;
42
+ }