twigg-app 0.0.1 → 0.0.2

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.
Files changed (208) hide show
  1. checksums.yaml +4 -4
  2. data/assets/javascripts/_bootstrap.js +7 -0
  3. data/assets/javascripts/_jquery.js +19 -0
  4. data/assets/javascripts/_tables.js +3 -0
  5. data/assets/javascripts/_views.js +10 -0
  6. data/assets/javascripts/application.js +9 -0
  7. data/{public/application.js → assets/javascripts/views/_commit_set_bar_chart.js} +32 -34
  8. data/assets/javascripts/views/_russia.js +61 -0
  9. data/assets/javascripts/views/_tags.js +56 -0
  10. data/assets/javascripts/views/_tags_word_cloud.js +51 -0
  11. data/assets/stylesheets/_bootstrap_overrides.scss +15 -0
  12. data/assets/stylesheets/_footer.scss +28 -0
  13. data/assets/stylesheets/_global.scss +14 -0
  14. data/assets/stylesheets/_tables.scss +20 -0
  15. data/assets/stylesheets/application.scss +10 -0
  16. data/assets/stylesheets/d3/_bar_chart.scss +25 -0
  17. data/assets/stylesheets/d3/_bubble_chart.scss +22 -0
  18. data/lib/twigg-app/app/routes.rb +4 -0
  19. data/lib/twigg-app/app/server.rb +78 -21
  20. data/lib/twigg-app/app/version.rb +1 -1
  21. data/public/vendor/bootstrap/Gruntfile.js +32 -10
  22. data/public/vendor/bootstrap/README.md +2 -0
  23. data/public/vendor/bootstrap/_config.yml +5 -10
  24. data/public/vendor/bootstrap/_includes/footer.html +2 -1
  25. data/public/vendor/bootstrap/_includes/nav-components.html +33 -31
  26. data/public/vendor/bootstrap/_includes/nav-css.html +32 -22
  27. data/public/vendor/bootstrap/_includes/nav-getting-started.html +17 -1
  28. data/public/vendor/bootstrap/_includes/nav-javascript.html +1 -1
  29. data/public/vendor/bootstrap/_includes/nav-main.html +1 -1
  30. data/public/vendor/bootstrap/_includes/social-buttons.html +1 -1
  31. data/public/vendor/bootstrap/_layouts/default.html +18 -14
  32. data/public/vendor/bootstrap/_layouts/home.html +9 -6
  33. data/public/vendor/bootstrap/assets/css/docs.css +584 -396
  34. data/public/vendor/bootstrap/assets/ico/apple-touch-icon-114-precomposed.png +0 -0
  35. data/public/vendor/bootstrap/assets/ico/apple-touch-icon-144-precomposed.png +0 -0
  36. data/public/vendor/bootstrap/assets/ico/apple-touch-icon-57-precomposed.png +0 -0
  37. data/public/vendor/bootstrap/assets/ico/apple-touch-icon-72-precomposed.png +0 -0
  38. data/public/vendor/bootstrap/assets/ico/favicon.png +0 -0
  39. data/public/vendor/bootstrap/assets/js/application.js +2 -1
  40. data/public/vendor/bootstrap/assets/js/customizer.js +160 -45
  41. data/public/vendor/bootstrap/assets/js/filesaver.js +169 -0
  42. data/public/vendor/bootstrap/assets/js/jquery.js +6 -5
  43. data/public/vendor/bootstrap/assets/js/raw-files.js +3 -0
  44. data/public/vendor/bootstrap/bower.json +1 -1
  45. data/public/vendor/bootstrap/components.html +787 -364
  46. data/public/vendor/bootstrap/composer.json +1 -1
  47. data/public/vendor/bootstrap/css.html +413 -248
  48. data/public/vendor/bootstrap/customize.html +413 -447
  49. data/public/vendor/bootstrap/dist/css/bootstrap-theme.css +384 -0
  50. data/public/vendor/bootstrap/dist/css/bootstrap-theme.min.css +1 -0
  51. data/public/vendor/bootstrap/dist/css/bootstrap.css +3033 -1807
  52. data/public/vendor/bootstrap/dist/css/bootstrap.min.css +1 -1
  53. data/public/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  54. data/public/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +228 -0
  55. data/public/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  56. data/public/vendor/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  57. data/public/vendor/bootstrap/dist/js/bootstrap.js +18 -12
  58. data/public/vendor/bootstrap/dist/js/bootstrap.min.js +1 -1
  59. data/public/vendor/bootstrap/examples/carousel/carousel.css +128 -0
  60. data/public/vendor/bootstrap/examples/carousel/index.html +201 -0
  61. data/public/vendor/bootstrap/examples/grid/grid.css +28 -0
  62. data/public/vendor/bootstrap/examples/grid/index.html +119 -0
  63. data/public/vendor/bootstrap/examples/jumbotron/index.html +111 -0
  64. data/public/vendor/bootstrap/examples/jumbotron/jumbotron.css +5 -0
  65. data/public/vendor/bootstrap/examples/jumbotron-narrow/index.html +78 -0
  66. data/public/vendor/bootstrap/examples/jumbotron-narrow/jumbotron-narrow.css +79 -0
  67. data/public/vendor/bootstrap/examples/justified-nav/index.html +79 -0
  68. data/public/vendor/bootstrap/examples/justified-nav/justified-nav.css +88 -0
  69. data/public/vendor/bootstrap/examples/navbar/index.html +83 -0
  70. data/public/vendor/bootstrap/examples/navbar/navbar.css +7 -0
  71. data/public/vendor/bootstrap/examples/navbar-fixed-top/index.html +86 -0
  72. data/public/vendor/bootstrap/examples/navbar-fixed-top/navbar-fixed-top.css +4 -0
  73. data/public/vendor/bootstrap/examples/navbar-static-top/index.html +87 -0
  74. data/public/vendor/bootstrap/examples/navbar-static-top/navbar-static-top.css +7 -0
  75. data/public/vendor/bootstrap/examples/non-responsive/index.html +96 -0
  76. data/public/vendor/bootstrap/examples/non-responsive/non-responsive.css +117 -0
  77. data/public/vendor/bootstrap/examples/offcanvas/index.html +127 -0
  78. data/public/vendor/bootstrap/examples/offcanvas/offcanvas.css +48 -0
  79. data/public/vendor/bootstrap/examples/offcanvas/offcanvas.js +5 -0
  80. data/public/vendor/bootstrap/examples/screenshots/carousel.jpg +0 -0
  81. data/public/vendor/bootstrap/examples/screenshots/grid.jpg +0 -0
  82. data/public/vendor/bootstrap/examples/screenshots/jumbotron-narrow.jpg +0 -0
  83. data/public/vendor/bootstrap/examples/screenshots/jumbotron.jpg +0 -0
  84. data/public/vendor/bootstrap/examples/screenshots/justified-nav.jpg +0 -0
  85. data/public/vendor/bootstrap/examples/screenshots/navbar-fixed.jpg +0 -0
  86. data/public/vendor/bootstrap/examples/screenshots/navbar-static.jpg +0 -0
  87. data/public/vendor/bootstrap/examples/screenshots/navbar.jpg +0 -0
  88. data/public/vendor/bootstrap/examples/screenshots/non-responsive.jpg +0 -0
  89. data/public/vendor/bootstrap/examples/screenshots/offcanvas.jpg +0 -0
  90. data/public/vendor/bootstrap/examples/screenshots/sign-in.jpg +0 -0
  91. data/public/vendor/bootstrap/examples/screenshots/starter-template.jpg +0 -0
  92. data/public/vendor/bootstrap/examples/screenshots/sticky-footer-navbar.jpg +0 -0
  93. data/public/vendor/bootstrap/examples/screenshots/sticky-footer.jpg +0 -0
  94. data/public/vendor/bootstrap/examples/screenshots/theme.jpg +0 -0
  95. data/public/vendor/bootstrap/examples/signin/index.html +46 -0
  96. data/public/vendor/bootstrap/examples/signin/signin.css +40 -0
  97. data/public/vendor/bootstrap/examples/starter-template/index.html +63 -0
  98. data/public/vendor/bootstrap/examples/starter-template/starter-template.css +7 -0
  99. data/public/vendor/bootstrap/examples/sticky-footer/index.html +51 -0
  100. data/public/vendor/bootstrap/examples/sticky-footer/sticky-footer.css +39 -0
  101. data/public/vendor/bootstrap/examples/sticky-footer-navbar/index.html +86 -0
  102. data/public/vendor/bootstrap/examples/sticky-footer-navbar/sticky-footer-navbar.css +46 -0
  103. data/public/vendor/bootstrap/examples/theme/index.html +387 -0
  104. data/public/vendor/bootstrap/examples/theme/theme.css +14 -0
  105. data/public/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  106. data/public/vendor/bootstrap/fonts/glyphicons-halflings-regular.svg +228 -0
  107. data/public/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  108. data/public/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  109. data/public/vendor/bootstrap/getting-started.html +513 -22
  110. data/public/vendor/bootstrap/index.html +3 -4
  111. data/public/vendor/bootstrap/javascript.html +123 -115
  112. data/public/vendor/bootstrap/js/dropdown.js +3 -3
  113. data/public/vendor/bootstrap/js/modal.js +5 -3
  114. data/public/vendor/bootstrap/js/tests/unit/modal.js +19 -0
  115. data/public/vendor/bootstrap/js/tests/vendor/jquery.js +6 -5
  116. data/public/vendor/bootstrap/js/tooltip.js +9 -5
  117. data/public/vendor/bootstrap/js/transition.js +1 -1
  118. data/public/vendor/bootstrap/less/alerts.less +7 -11
  119. data/public/vendor/bootstrap/less/bootstrap.less +17 -21
  120. data/public/vendor/bootstrap/less/button-groups.less +14 -10
  121. data/public/vendor/bootstrap/less/buttons.less +3 -2
  122. data/public/vendor/bootstrap/less/carousel.less +6 -1
  123. data/public/vendor/bootstrap/less/dropdowns.less +22 -5
  124. data/public/vendor/bootstrap/less/forms.less +36 -15
  125. data/public/vendor/bootstrap/less/glyphicons.less +232 -0
  126. data/public/vendor/bootstrap/less/grid.less +9 -3
  127. data/public/vendor/bootstrap/less/input-groups.less +1 -1
  128. data/public/vendor/bootstrap/less/jumbotron.less +16 -5
  129. data/public/vendor/bootstrap/less/labels.less +9 -5
  130. data/public/vendor/bootstrap/less/mixins.less +73 -43
  131. data/public/vendor/bootstrap/less/modals.less +8 -0
  132. data/public/vendor/bootstrap/less/navbar.less +251 -189
  133. data/public/vendor/bootstrap/less/navs.less +13 -12
  134. data/public/vendor/bootstrap/less/pager.less +1 -1
  135. data/public/vendor/bootstrap/less/pagination.less +20 -9
  136. data/public/vendor/bootstrap/less/panels.less +28 -8
  137. data/public/vendor/bootstrap/less/progress-bars.less +6 -10
  138. data/public/vendor/bootstrap/less/responsive-utilities.less +120 -49
  139. data/public/vendor/bootstrap/less/scaffolding.less +37 -18
  140. data/public/vendor/bootstrap/less/tables.less +84 -59
  141. data/public/vendor/bootstrap/less/theme.less +232 -0
  142. data/public/vendor/bootstrap/less/thumbnails.less +8 -19
  143. data/public/vendor/bootstrap/less/type.less +2 -2
  144. data/public/vendor/bootstrap/less/variables.less +63 -50
  145. data/public/vendor/bootstrap/package.json +2 -1
  146. data/public/vendor/components-backbone/LICENSE +22 -0
  147. data/public/vendor/components-backbone/README.md +10 -0
  148. data/public/vendor/components-backbone/backbone-min.js +4 -0
  149. data/public/vendor/components-backbone/backbone.js +1571 -0
  150. data/public/vendor/components-backbone/bower.json +17 -0
  151. data/public/vendor/components-backbone/component.json +21 -0
  152. data/public/vendor/components-backbone/composer.json +37 -0
  153. data/public/vendor/components-backbone/package.json +24 -0
  154. data/public/vendor/d3.layout.cloud.js +401 -0
  155. data/public/vendor/replacejs/CHANGELOG.md +4 -0
  156. data/public/vendor/replacejs/replace.js +21 -2
  157. data/public/vendor/underscore/CNAME +1 -0
  158. data/public/vendor/underscore/CONTRIBUTING.md +9 -0
  159. data/public/vendor/underscore/LICENSE +22 -0
  160. data/public/vendor/underscore/README.md +19 -0
  161. data/public/vendor/underscore/Rakefile +10 -0
  162. data/public/vendor/underscore/docs/docco.css +192 -0
  163. data/public/vendor/underscore/docs/favicon.ico +0 -0
  164. data/public/vendor/underscore/docs/images/background.png +0 -0
  165. data/public/vendor/underscore/docs/images/underscore.png +0 -0
  166. data/public/vendor/underscore/docs/underscore.html +823 -0
  167. data/public/vendor/underscore/favicon.ico +0 -0
  168. data/public/vendor/underscore/index.html +2467 -0
  169. data/public/vendor/underscore/index.js +1 -0
  170. data/public/vendor/underscore/package.json +16 -0
  171. data/public/vendor/underscore/test/arrays.js +200 -0
  172. data/public/vendor/underscore/test/chaining.js +59 -0
  173. data/public/vendor/underscore/test/collections.js +453 -0
  174. data/public/vendor/underscore/test/functions.js +265 -0
  175. data/public/vendor/underscore/test/index.html +44 -0
  176. data/public/vendor/underscore/test/objects.js +570 -0
  177. data/public/vendor/underscore/test/speed.js +75 -0
  178. data/public/vendor/underscore/test/utility.js +266 -0
  179. data/public/vendor/underscore/test/vendor/jquery.js +9404 -0
  180. data/public/vendor/underscore/test/vendor/jslitmus.js +670 -0
  181. data/public/vendor/underscore/test/vendor/qunit.css +235 -0
  182. data/public/vendor/underscore/test/vendor/qunit.js +1977 -0
  183. data/public/vendor/underscore/test/vendor/runner.js +98 -0
  184. data/public/vendor/underscore/underscore-min.js +1 -0
  185. data/public/vendor/underscore/underscore.js +1226 -0
  186. data/views/dashboard.haml +1 -1
  187. data/views/layout.haml +8 -4
  188. metadata +132 -25
  189. data/public/vendor/bootstrap/_layouts/customize.html +0 -52
  190. data/public/vendor/bootstrap/assets/js/jquery.bbq.min.js +0 -1287
  191. data/public/vendor/bootstrap-glyphicons/CHANGELOG.md +0 -3
  192. data/public/vendor/bootstrap-glyphicons/CNAME +0 -1
  193. data/public/vendor/bootstrap-glyphicons/CONTRIBUTING.md +0 -54
  194. data/public/vendor/bootstrap-glyphicons/LICENSE +0 -19
  195. data/public/vendor/bootstrap-glyphicons/README.md +0 -61
  196. data/public/vendor/bootstrap-glyphicons/_config.yml +0 -12
  197. data/public/vendor/bootstrap-glyphicons/composer.json +0 -9
  198. data/public/vendor/bootstrap-glyphicons/css/bootstrap-glyphicons.css +0 -2
  199. data/public/vendor/bootstrap-glyphicons/css/bootstrap.css +0 -9
  200. data/public/vendor/bootstrap-glyphicons/css/docs.css +0 -160
  201. data/public/vendor/bootstrap-glyphicons/fonts/glyphiconshalflings-regular.eot +0 -0
  202. data/public/vendor/bootstrap-glyphicons/fonts/glyphiconshalflings-regular.otf +0 -0
  203. data/public/vendor/bootstrap-glyphicons/fonts/glyphiconshalflings-regular.svg +0 -175
  204. data/public/vendor/bootstrap-glyphicons/fonts/glyphiconshalflings-regular.ttf +0 -0
  205. data/public/vendor/bootstrap-glyphicons/fonts/glyphiconshalflings-regular.woff +0 -0
  206. data/public/vendor/bootstrap-glyphicons/index.html +0 -255
  207. data/public/vendor/bootstrap-glyphicons/less/bootstrap-glyphicons.less +0 -201
  208. data/public/vendor/bootstrap-glyphicons/package.json +0 -18
@@ -13,7 +13,6 @@ th {
13
13
 
14
14
 
15
15
  // Baseline styles
16
- // ---------------
17
16
 
18
17
  .table {
19
18
  width: 100%;
@@ -35,6 +34,7 @@ th {
35
34
  // Bottom align for column headings
36
35
  thead > tr > th {
37
36
  vertical-align: bottom;
37
+ border-bottom: 2px solid @table-border-color;
38
38
  }
39
39
  // Remove top border from thead by default
40
40
  caption + thead,
@@ -58,9 +58,7 @@ th {
58
58
  }
59
59
 
60
60
 
61
-
62
61
  // Condensed table w/ half padding
63
- // -------------------------------
64
62
 
65
63
  .table-condensed {
66
64
  thead,
@@ -76,9 +74,9 @@ th {
76
74
  }
77
75
 
78
76
 
79
-
80
77
  // Bordered version
81
- // ----------------
78
+ //
79
+ // Add borders all around the table and between all the columns.
82
80
 
83
81
  .table-bordered {
84
82
  border: 1px solid @table-border-color;
@@ -92,14 +90,21 @@ th {
92
90
  }
93
91
  }
94
92
  }
93
+ > thead {
94
+ > tr {
95
+ > th,
96
+ > td {
97
+ border-bottom-width: 2px;
98
+ }
99
+ }
100
+ }
95
101
  }
96
102
 
97
103
 
98
-
99
104
  // Zebra-striping
100
- // --------------
101
-
105
+ //
102
106
  // Default zebra-stripe styles (alternating gray and transparent backgrounds)
107
+
103
108
  .table-striped {
104
109
  > tbody {
105
110
  > tr:nth-child(odd) {
@@ -112,11 +117,10 @@ th {
112
117
  }
113
118
 
114
119
 
115
-
116
120
  // Hover effect
117
- // ------------
118
-
121
+ //
119
122
  // Placed here since it has to come after the potential zebra striping
123
+
120
124
  .table-hover {
121
125
  > tbody {
122
126
  > tr:hover {
@@ -129,19 +133,18 @@ th {
129
133
  }
130
134
 
131
135
 
132
-
133
136
  // Table cell sizing
134
- // -----------------
135
-
137
+ //
136
138
  // Reset default table behavior
137
- table col[class^="col-"] {
139
+
140
+ table col[class*="col-"] {
138
141
  float: none;
139
142
  display: table-column;
140
143
  }
141
144
  table {
142
145
  td,
143
146
  th {
144
- &[class^="col-"] {
147
+ &[class*="col-"] {
145
148
  float: none;
146
149
  display: table-cell;
147
150
  }
@@ -149,9 +152,8 @@ table {
149
152
  }
150
153
 
151
154
 
152
-
153
155
  // Table backgrounds
154
- // -----------------
156
+ //
155
157
  // Exact selectors below required to override `.table-striped` and prevent
156
158
  // inheritance to nested tables.
157
159
 
@@ -164,48 +166,71 @@ table {
164
166
  &.active > th {
165
167
  background-color: @table-bg-active;
166
168
  }
167
- > td.success,
168
- > th.success,
169
- &.success > td,
170
- &.success > th {
171
- background-color: @state-success-bg;
172
- border-color: @state-success-border;
173
- }
174
- > td.danger,
175
- > th.danger,
176
- &.danger > td,
177
- &.danger > th {
178
- background-color: @state-danger-bg;
179
- border-color: @state-danger-border;
180
- }
181
- > td.warning,
182
- > th.warning,
183
- &.warning > td,
184
- &.warning > th {
185
- background-color: @state-warning-bg;
186
- border-color: @state-warning-border;
187
- }
188
169
  }
189
170
 
190
- // Hover states for `.table-hover`
191
- // Note: this is not available for cells or rows within `thead` or `tfoot`.
192
- .table-hover > tbody > tr {
193
- > td.success:hover,
194
- > th.success:hover,
195
- &.success:hover > td {
196
- background-color: darken(@state-success-bg, 5%);
197
- border-color: darken(@state-success-border, 5%);
198
- }
199
- > td.danger:hover,
200
- > th.danger:hover,
201
- &.danger:hover > td {
202
- background-color: darken(@state-danger-bg, 5%);
203
- border-color: darken(@state-danger-border, 5%);
204
- }
205
- > td.warning:hover,
206
- > th.warning:hover,
207
- &.warning:hover > td {
208
- background-color: darken(@state-warning-bg, 5%);
209
- border-color: darken(@state-warning-border, 5%);
171
+ // Generate the contextual variants
172
+ .table-row-variant(success; @state-success-bg; @state-success-border);
173
+ .table-row-variant(danger; @state-danger-bg; @state-danger-border);
174
+ .table-row-variant(warning; @state-warning-bg; @state-warning-border);
175
+
176
+
177
+ // Responsive tables
178
+ //
179
+ // Wrap your tables in `.table-scrollable` and we'll make them mobile friendly
180
+ // by enabling horizontal scrolling. Only applies <768px. Everything above that
181
+ // will display normally.
182
+
183
+ @media (max-width: @screen-sm) {
184
+ .table-responsive {
185
+ width: 100%;
186
+ margin-bottom: 15px;
187
+ overflow-y: hidden;
188
+ overflow-x: scroll;
189
+ border: 1px solid @table-border-color;
190
+
191
+ // Tighten up spacing and give a background color
192
+ > .table {
193
+ margin-bottom: 0;
194
+ background-color: #fff;
195
+
196
+ // Ensure the content doesn't wrap
197
+ > thead,
198
+ > tbody,
199
+ > tfoot {
200
+ > tr {
201
+ > th,
202
+ > td {
203
+ white-space: nowrap;
204
+ }
205
+ }
206
+ }
207
+ }
208
+
209
+ // Special overrides for the bordered tables
210
+ > .table-bordered {
211
+ border: 0;
212
+
213
+ // Nuke the appropriate borders so that the parent can handle them
214
+ > thead,
215
+ > tbody,
216
+ > tfoot {
217
+ > tr {
218
+ > th:first-child,
219
+ > td:first-child {
220
+ border-left: 0;
221
+ }
222
+ > th:last-child,
223
+ > td:last-child {
224
+ border-right: 0;
225
+ }
226
+ }
227
+ > tr:last-child {
228
+ > th,
229
+ > td {
230
+ border-bottom: 0;
231
+ }
232
+ }
233
+ }
234
+ }
210
235
  }
211
236
  }
@@ -0,0 +1,232 @@
1
+
2
+ //
3
+ // Load core variables and mixins
4
+ // --------------------------------------------------
5
+
6
+ @import "variables.less";
7
+ @import "mixins.less";
8
+
9
+
10
+
11
+ //
12
+ // Buttons
13
+ // --------------------------------------------------
14
+
15
+ // Common styles
16
+ .btn-default,
17
+ .btn-primary,
18
+ .btn-success,
19
+ .btn-info,
20
+ .btn-warning,
21
+ .btn-danger {
22
+ text-shadow: 0 -1px 0 rgba(0,0,0,.2);
23
+ @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);
24
+ .box-shadow(@shadow);
25
+
26
+ // Reset the shadow
27
+ &:active,
28
+ &.active {
29
+ .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
30
+ }
31
+ }
32
+
33
+ // Mixin for generating new styles
34
+ .btn-styles(@btn-color: #555;) {
35
+ #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 10%));
36
+ border-color: darken(@btn-color, 12%);
37
+
38
+ &:active,
39
+ &.active {
40
+ background-color: darken(@btn-color, 10%);
41
+ border-color: darken(@btn-color, 12%);
42
+ }
43
+ }
44
+
45
+ // Common styles
46
+ .btn {
47
+ // Remove the gradient for the pressed/active state
48
+ &:active,
49
+ &.active {
50
+ background-image: none;
51
+ }
52
+ }
53
+
54
+ // Apply the mixin to the buttons
55
+ .btn-default { .btn-styles(@btn-default-bg;); text-shadow: 0 1px 0 #fff; border-color: #ccc; }
56
+ .btn-primary { .btn-styles(@btn-primary-bg); }
57
+ .btn-success { .btn-styles(@btn-success-bg); }
58
+ .btn-warning { .btn-styles(@btn-warning-bg); }
59
+ .btn-danger { .btn-styles(@btn-danger-bg); }
60
+ .btn-info { .btn-styles(@btn-info-bg); }
61
+
62
+
63
+
64
+ //
65
+ // Images
66
+ // --------------------------------------------------
67
+
68
+ .thumbnail,
69
+ .img-thumbnail {
70
+ .box-shadow(0 1px 2px rgba(0,0,0,.075));
71
+ }
72
+
73
+
74
+
75
+ //
76
+ // Dropdowns
77
+ // --------------------------------------------------
78
+
79
+ .dropdown-menu > li > a:hover,
80
+ .dropdown-menu > li > a:focus,
81
+ .dropdown-menu > .active > a,
82
+ .dropdown-menu > .active > a:hover,
83
+ .dropdown-menu > .active > a:focus {
84
+ #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));
85
+ background-color: darken(@dropdown-link-hover-bg, 5%);
86
+ }
87
+
88
+
89
+
90
+ //
91
+ // Navbar
92
+ // --------------------------------------------------
93
+
94
+ // Basic navbar
95
+ .navbar {
96
+ #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg;);
97
+ border-radius: @navbar-border-radius;
98
+ @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);
99
+ .box-shadow(@shadow);
100
+
101
+ .navbar-nav > .active > a {
102
+ background-color: @navbar-default-bg;
103
+ }
104
+ }
105
+ .navbar-brand,
106
+ .navbar-nav > li > a {
107
+ text-shadow: 0 1px 0 rgba(255,255,255,.25);
108
+ }
109
+
110
+ // Inverted navbar
111
+ .navbar-inverse {
112
+ #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg;);
113
+
114
+ .navbar-nav > .active > a {
115
+ background-color: @navbar-inverse-bg;
116
+ }
117
+
118
+ .navbar-brand,
119
+ .navbar-nav > li > a {
120
+ text-shadow: 0 -1px 0 rgba(0,0,0,.25);
121
+ }
122
+ }
123
+
124
+ // Undo rounded corners in static and fixed navbars
125
+ .navbar-static-top,
126
+ .navbar-fixed-top,
127
+ .navbar-fixed-bottom {
128
+ border-radius: 0;
129
+ }
130
+
131
+
132
+
133
+ //
134
+ // Alerts
135
+ // --------------------------------------------------
136
+
137
+ // Common styles
138
+ .alert {
139
+ text-shadow: 0 1px 0 rgba(255,255,255,.2);
140
+ @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);
141
+ .box-shadow(@shadow);
142
+ }
143
+
144
+ // Mixin for generating new styles
145
+ .alert-styles(@color) {
146
+ #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));
147
+ border-color: darken(@color, 15%);
148
+ }
149
+
150
+ // Apply the mixin to the alerts
151
+ .alert-success { .alert-styles(@alert-success-bg); }
152
+ .alert-info { .alert-styles(@alert-info-bg); }
153
+ .alert-warning { .alert-styles(@alert-warning-bg); }
154
+ .alert-danger { .alert-styles(@alert-danger-bg); }
155
+
156
+
157
+
158
+ //
159
+ // Progress bars
160
+ // --------------------------------------------------
161
+
162
+ // Give the progress background some depth
163
+ .progress {
164
+ #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg;)
165
+ }
166
+
167
+ // Mixin for generating new styles
168
+ .progress-bar-styles(@color) {
169
+ #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));
170
+ }
171
+
172
+ // Apply the mixin to the progress bars
173
+ .progress-bar { .progress-bar-styles(@progress-bar-bg); }
174
+ .progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }
175
+ .progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }
176
+ .progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }
177
+ .progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }
178
+
179
+
180
+
181
+ //
182
+ // List groups
183
+ // --------------------------------------------------
184
+
185
+ .list-group {
186
+ border-radius: @border-radius-base;
187
+ .box-shadow(0 1px 2px rgba(0,0,0,.075));
188
+ }
189
+ .list-group-item.active,
190
+ .list-group-item.active:hover,
191
+ .list-group-item.active:focus {
192
+ text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);
193
+ #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));
194
+ border-color: darken(@list-group-active-border, 7.5%);
195
+ }
196
+
197
+
198
+
199
+ //
200
+ // Panels
201
+ // --------------------------------------------------
202
+
203
+ // Common styles
204
+ .panel {
205
+ .box-shadow(0 1px 2px rgba(0,0,0,.05));
206
+ }
207
+
208
+ // Mixin for generating new styles
209
+ .panel-heading-styles(@color) {
210
+ #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));
211
+ }
212
+
213
+ // Apply the mixin to the panel headings only
214
+ .panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }
215
+ .panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }
216
+ .panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }
217
+ .panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }
218
+ .panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }
219
+ .panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }
220
+
221
+
222
+
223
+ //
224
+ // Wells
225
+ // --------------------------------------------------
226
+
227
+ .well {
228
+ #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg;);
229
+ border-color: darken(@well-bg, 10%);
230
+ @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);
231
+ .box-shadow(@shadow);
232
+ }
@@ -3,28 +3,17 @@
3
3
  // --------------------------------------------------
4
4
 
5
5
 
6
- // Base classes
7
- // For thumbnail block-level composite components and simple image styles
8
-
9
- // The actual thumbnailed element
10
- // Can be `a`, `div`, or `img`
11
- .thumbnail,
12
- .img-thumbnail {
13
- padding: @thumbnail-padding;
14
- line-height: @line-height-base;
15
- background-color: @thumbnail-bg;
16
- border: 1px solid @thumbnail-border;
17
- border-radius: @thumbnail-border-radius;
18
- .transition(all .2s ease-in-out);
19
- }
6
+ // Mixin and adjust the regular image class
20
7
  .thumbnail {
21
- display: block;
22
- }
23
- .thumbnail > img,
24
- .img-thumbnail {
25
- .img-responsive();
8
+ .img-thumbnail();
9
+ display: block; // Override the inline-block from `.img-thumbnail`
10
+
11
+ > img {
12
+ .img-responsive();
13
+ }
26
14
  }
27
15
 
16
+
28
17
  // Add a hover state for linked versions only
29
18
  a.thumbnail:hover,
30
19
  a.thumbnail:focus {
@@ -72,8 +72,8 @@ h6 {
72
72
  margin-bottom: (@line-height-computed / 2);
73
73
  }
74
74
 
75
- h1, .h1 { font-size: ceil(@font-size-base * 2.70); } // ~38px
76
- h2, .h2 { font-size: ceil(@font-size-base * 2.25); } // ~32px
75
+ h1, .h1 { font-size: floor(@font-size-base * 2.60); } // ~36px
76
+ h2, .h2 { font-size: floor(@font-size-base * 2.15); } // ~30px
77
77
  h3, .h3 { font-size: ceil(@font-size-base * 1.70); } // ~24px
78
78
  h4, .h4 { font-size: ceil(@font-size-base * 1.25); } // ~18px
79
79
  h5, .h5 { font-size: @font-size-base; }