middleman-more 3.0.0.beta.3 → 3.0.0.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (292) hide show
  1. data/features/asset_hash.feature +28 -25
  2. data/features/asset_host.feature +7 -0
  3. data/features/automatic_image_sizes.feature +16 -0
  4. data/features/clean_build.feature +14 -0
  5. data/features/coffee-script.feature +1 -1
  6. data/features/content_for.feature +5 -0
  7. data/features/directory_index.feature +66 -0
  8. data/features/extensionless_text_files.feature +28 -0
  9. data/features/former_padrino_helpers.feature +12 -0
  10. data/features/frontmatter_page_settings.feature +42 -0
  11. data/features/helpers_auto_javascript_include_tag.feature +27 -0
  12. data/features/helpers_auto_stylesheet_link_tag.feature +27 -0
  13. data/features/helpers_lorem.feature +6 -0
  14. data/features/helpers_page_classes.feature +17 -0
  15. data/features/helpers_relative_link_to.feature +68 -0
  16. data/features/i18n_builder.feature +121 -0
  17. data/features/i18n_preview.feature +113 -0
  18. data/features/ignore.feature +62 -0
  19. data/features/instance_vars.feature +18 -0
  20. data/features/markdown.feature +1 -7
  21. data/features/markdown_redcarpet.feature +10 -4
  22. data/features/minify_css.feature +2 -2
  23. data/features/nested_layouts.feature +55 -0
  24. data/features/partials.feature +46 -0
  25. data/features/sass_partials.feature +0 -33
  26. data/features/sitemap_traversal.feature +73 -0
  27. data/features/support/env.rb +3 -0
  28. data/features/twitter-bootstrap-compile.feature +6 -0
  29. data/features/wildcard_page_helper.feature +10 -0
  30. data/fixtures/asset-hash-app/source/apple-touch-icon.png +0 -0
  31. data/fixtures/asset-hash-app/source/favicon.ico +0 -0
  32. data/fixtures/asset-hash-app/source/index.html.erb +3 -0
  33. data/fixtures/asset-host-app/source/asset_host.html.erb +1 -0
  34. data/fixtures/auto-css-app/config.rb +11 -0
  35. data/fixtures/auto-css-app/source/auto-css.html.erb +1 -0
  36. data/fixtures/auto-css-app/source/auto-css/auto-css.html.erb +1 -0
  37. data/fixtures/auto-css-app/source/auto-css/index.html.erb +1 -0
  38. data/fixtures/auto-css-app/source/auto-css/sub/auto-css.html.erb +1 -0
  39. data/fixtures/auto-css-app/source/stylesheets/auto-css.css +3 -0
  40. data/fixtures/auto-css-app/source/stylesheets/auto-css/auto-css.css +3 -0
  41. data/fixtures/{sprockets-app2/config.rb → auto-css-app/source/stylesheets/auto-css/index.css} +0 -0
  42. data/fixtures/auto-css-app/source/stylesheets/auto-css/sub/auto-css.css +3 -0
  43. data/fixtures/auto-js-app/config.rb +11 -0
  44. data/fixtures/auto-js-app/source/auto-js.html.erb +1 -0
  45. data/fixtures/auto-js-app/source/auto-js/auto-js.html.erb +1 -0
  46. data/fixtures/auto-js-app/source/auto-js/index.html.erb +1 -0
  47. data/fixtures/auto-js-app/source/auto-js/sub/auto-js.html.erb +1 -0
  48. data/fixtures/auto-js-app/source/javascripts/auto-js.js +1 -0
  49. data/fixtures/auto-js-app/source/javascripts/auto-js/auto-js.js +1 -0
  50. data/fixtures/auto-js-app/source/javascripts/auto-js/index.js +1 -0
  51. data/fixtures/auto-js-app/source/javascripts/auto-js/sub/auto-js.js +1 -0
  52. data/fixtures/automatic-image-size-app/config.rb +0 -0
  53. data/fixtures/automatic-image-size-app/source/auto-image-sizes.html.erb +1 -0
  54. data/fixtures/automatic-image-size-app/source/images/blank.gif +0 -0
  55. data/fixtures/clean-dir-app/config.rb +2 -0
  56. data/fixtures/clean-dir-app/source/about.html +1 -0
  57. data/fixtures/content-for-app/config.rb +1 -0
  58. data/fixtures/content-for-app/source/content_for_erb.html.erb +5 -0
  59. data/fixtures/different-engine-partial/config.rb +0 -0
  60. data/fixtures/different-engine-partial/source/index.html.erb +1 -0
  61. data/fixtures/different-engine-partial/source/layouts/layout.erb +7 -0
  62. data/fixtures/different-engine-partial/source/shared/_footer.str +1 -0
  63. data/fixtures/different-engine-partial/source/shared/_header.erb +1 -0
  64. data/fixtures/extensionless-text-files-app/config.rb +1 -0
  65. data/fixtures/extensionless-text-files-app/source/CNAME +1 -0
  66. data/fixtures/extensionless-text-files-app/source/LICENSE +1 -0
  67. data/fixtures/extensionless-text-files-app/source/README +1 -0
  68. data/fixtures/extensionless-text-files-app/source/index.html +1 -0
  69. data/fixtures/frontmatter-settings-app/config.rb +4 -0
  70. data/fixtures/frontmatter-settings-app/source/alternate_layout.html.erb +5 -0
  71. data/fixtures/frontmatter-settings-app/source/ignored.html.erb +5 -0
  72. data/fixtures/frontmatter-settings-app/source/layouts/alternate.erb +3 -0
  73. data/fixtures/frontmatter-settings-app/source/no_index.html.erb +5 -0
  74. data/fixtures/i18n-alt-root-app/locales/en.yml +4 -0
  75. data/fixtures/i18n-alt-root-app/locales/es.yml +7 -0
  76. data/fixtures/i18n-alt-root-app/source/lang_data/hello.html.erb +1 -0
  77. data/fixtures/i18n-alt-root-app/source/lang_data/index.html.erb +1 -0
  78. data/fixtures/i18n-alt-root-app/source/layout.erb +1 -0
  79. data/fixtures/i18n-test-app/locales/en.yml +4 -0
  80. data/fixtures/i18n-test-app/locales/es.yml +7 -0
  81. data/fixtures/i18n-test-app/source/layout.erb +1 -0
  82. data/fixtures/i18n-test-app/source/localizable/hello.html.erb +1 -0
  83. data/fixtures/i18n-test-app/source/localizable/index.html.erb +1 -0
  84. data/fixtures/ignore-app/source/about.html.erb +1 -0
  85. data/fixtures/ignore-app/source/images/icon/messages.png +0 -0
  86. data/fixtures/ignore-app/source/images/pic.png +0 -0
  87. data/fixtures/ignore-app/source/images/portrait.jpg +0 -0
  88. data/fixtures/ignore-app/source/index.html.erb +0 -0
  89. data/fixtures/ignore-app/source/plain.html +1 -0
  90. data/fixtures/ignore-app/source/reports/another.html +0 -0
  91. data/fixtures/ignore-app/source/reports/index.html +0 -0
  92. data/fixtures/indexable-app/config.rb +4 -0
  93. data/fixtures/indexable-app/source/.htaccess +1 -0
  94. data/fixtures/indexable-app/source/a_folder/needs_index.html +1 -0
  95. data/fixtures/indexable-app/source/leave_me_alone.html +1 -0
  96. data/fixtures/indexable-app/source/needs_index.html +1 -0
  97. data/fixtures/indexable-app/source/regular/index.html +1 -0
  98. data/fixtures/indexable-app/source/wildcard_leave_me_alone.html +1 -0
  99. data/fixtures/instance-vars-app/config.rb +0 -0
  100. data/fixtures/instance-vars-app/source/_vartial.erb +5 -0
  101. data/fixtures/instance-vars-app/source/instance-var-set.html.erb +2 -0
  102. data/fixtures/instance-vars-app/source/layout.erb +3 -0
  103. data/fixtures/instance-vars-app/source/no-instance-var.html.erb +1 -0
  104. data/fixtures/lorem-app/config.rb +1 -0
  105. data/fixtures/lorem-app/source/lorem.html.erb +13 -0
  106. data/fixtures/markdown-app/source/hard_wrap.html.markdown +2 -0
  107. data/fixtures/markdown-app/source/with_toc_data.html.markdown +3 -0
  108. data/fixtures/nested-layout-app/config.rb +1 -0
  109. data/fixtures/nested-layout-app/source/another.html.markdown +7 -0
  110. data/fixtures/nested-layout-app/source/data-one.html.erb +5 -0
  111. data/fixtures/nested-layout-app/source/data-two.html.erb +5 -0
  112. data/fixtures/nested-layout-app/source/haml-test.html.markdown +7 -0
  113. data/fixtures/nested-layout-app/source/index.html.erb +6 -0
  114. data/fixtures/nested-layout-app/source/layouts/inner.erb +4 -0
  115. data/fixtures/nested-layout-app/source/layouts/inner_haml.haml +3 -0
  116. data/fixtures/nested-layout-app/source/layouts/inner_slim.slim +3 -0
  117. data/fixtures/nested-layout-app/source/layouts/master.erb +3 -0
  118. data/fixtures/nested-layout-app/source/layouts/master_haml.haml +3 -0
  119. data/fixtures/nested-layout-app/source/layouts/master_slim.slim +3 -0
  120. data/fixtures/nested-layout-app/source/layouts/outer.erb +4 -0
  121. data/fixtures/nested-layout-app/source/layouts/outer_haml.haml +3 -0
  122. data/fixtures/nested-layout-app/source/layouts/outer_slim.slim +3 -0
  123. data/fixtures/nested-layout-app/source/slim-test.html.markdown +7 -0
  124. data/fixtures/padrino-helpers-app/config.rb +0 -0
  125. data/fixtures/padrino-helpers-app/source/former_padrino_test.html.erb +5 -0
  126. data/fixtures/page-classes-app/config.rb +4 -0
  127. data/fixtures/page-classes-app/source/page-classes.html.erb +1 -0
  128. data/fixtures/page-classes-app/source/sub1/page-classes.html.erb +1 -0
  129. data/fixtures/page-classes-app/source/sub1/sub2/page-classes.html.erb +1 -0
  130. data/fixtures/partials-app/config.rb +0 -0
  131. data/fixtures/partials-app/source/_locals.erb +1 -0
  132. data/fixtures/partials-app/source/_main.erb +1 -0
  133. data/fixtures/partials-app/source/_main.str +1 -0
  134. data/fixtures/partials-app/source/index.html.erb +3 -0
  135. data/fixtures/partials-app/source/locals.html.erb +1 -0
  136. data/fixtures/partials-app/source/second.html.str +3 -0
  137. data/fixtures/partials-app/source/shared/_footer.erb +1 -0
  138. data/fixtures/partials-app/source/shared/_header.erb +1 -0
  139. data/fixtures/partials-app/source/shared/snippet.erb +1 -0
  140. data/fixtures/partials-app/source/sub/_local.erb +1 -0
  141. data/fixtures/partials-app/source/sub/index.html.erb +3 -0
  142. data/fixtures/partials-app/source/using_snippet.html.erb +1 -0
  143. data/fixtures/traversal-app/config.rb +7 -0
  144. data/fixtures/traversal-app/source/directory-indexed.html.erb +0 -0
  145. data/fixtures/traversal-app/source/directory-indexed/sibling.html.erb +3 -0
  146. data/fixtures/traversal-app/source/directory-indexed/sibling2.html.erb +3 -0
  147. data/fixtures/traversal-app/source/directory-indexed/sub2/index.html.erb +0 -0
  148. data/fixtures/traversal-app/source/directory-indexed/sub3/deep.html.erb +0 -0
  149. data/fixtures/traversal-app/source/index.html.erb +0 -0
  150. data/fixtures/traversal-app/source/layout.erb +21 -0
  151. data/fixtures/traversal-app/source/proxied.html.erb +0 -0
  152. data/fixtures/traversal-app/source/root.html.erb +0 -0
  153. data/fixtures/traversal-app/source/sub/index.html.erb +0 -0
  154. data/fixtures/traversal-app/source/sub/sibling.html.erb +0 -0
  155. data/fixtures/traversal-app/source/sub/sibling2.html.erb +0 -0
  156. data/fixtures/traversal-app/source/sub/sub2/index.html.erb +0 -0
  157. data/fixtures/traversal-app/source/sub/sub3/deep.html.erb +0 -0
  158. data/fixtures/twitter-bootstrap-app/config.rb +0 -0
  159. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/.gitignore +36 -0
  160. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/.travis.yml +3 -0
  161. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/LICENSE +176 -0
  162. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/README.md +137 -0
  163. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/img/glyphicons-halflings-white.png +0 -0
  164. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/img/glyphicons-halflings.png +0 -0
  165. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/.jshintrc +10 -0
  166. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/README.md +112 -0
  167. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-alert.js +90 -0
  168. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-button.js +96 -0
  169. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-carousel.js +169 -0
  170. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-collapse.js +157 -0
  171. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-dropdown.js +100 -0
  172. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-modal.js +218 -0
  173. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-popover.js +98 -0
  174. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-scrollspy.js +151 -0
  175. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-tab.js +135 -0
  176. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-tooltip.js +275 -0
  177. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-transition.js +61 -0
  178. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/bootstrap-typeahead.js +285 -0
  179. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/index.html +54 -0
  180. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/phantom.js +63 -0
  181. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/server.js +14 -0
  182. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-alert.js +56 -0
  183. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-button.js +77 -0
  184. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-carousel.js +28 -0
  185. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-collapse.js +54 -0
  186. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-dropdown.js +87 -0
  187. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-modal.js +114 -0
  188. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-phantom.js +21 -0
  189. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-popover.js +93 -0
  190. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-scrollspy.js +31 -0
  191. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-tab.js +61 -0
  192. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-tooltip.js +155 -0
  193. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-transition.js +13 -0
  194. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/unit/bootstrap-typeahead.js +148 -0
  195. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/vendor/jquery.js +9252 -0
  196. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/vendor/qunit.css +232 -0
  197. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/js/tests/vendor/qunit.js +1510 -0
  198. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_accordion.less +33 -0
  199. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_alerts.less +58 -0
  200. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_breadcrumbs.less +24 -0
  201. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_button-groups.less +191 -0
  202. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_buttons.less +191 -0
  203. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_carousel.less +121 -0
  204. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_close.less +29 -0
  205. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_code.less +57 -0
  206. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_component-animations.less +20 -0
  207. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_dropdowns.less +143 -0
  208. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_forms.less +583 -0
  209. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_grid.less +5 -0
  210. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_hero-unit.less +22 -0
  211. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_labels-badges.less +55 -0
  212. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_layouts.less +17 -0
  213. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_mixins.less +646 -0
  214. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_modals.less +90 -0
  215. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_navbar.less +358 -0
  216. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_navs.less +363 -0
  217. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_pager.less +36 -0
  218. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_pagination.less +56 -0
  219. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_popovers.less +49 -0
  220. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_progress-bars.less +117 -0
  221. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_reset.less +131 -0
  222. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_responsive-1200px-min.less +26 -0
  223. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_responsive-767px-max.less +149 -0
  224. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_responsive-768px-979px.less +17 -0
  225. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_responsive-navbar.less +153 -0
  226. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_responsive-utilities.less +41 -0
  227. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_scaffolding.less +29 -0
  228. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_sprites.less +191 -0
  229. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_tables.less +176 -0
  230. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_thumbnails.less +47 -0
  231. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_tooltip.less +35 -0
  232. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_type.less +232 -0
  233. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_utilities.less +23 -0
  234. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_variables.less +206 -0
  235. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/_wells.less +27 -0
  236. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/bootstrap.less +62 -0
  237. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/responsive.less +48 -0
  238. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/tests/css-tests.css +52 -0
  239. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/tests/css-tests.html +917 -0
  240. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/tests/forms.html +179 -0
  241. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/less/tests/navbar.html +108 -0
  242. data/fixtures/twitter-bootstrap-app/source/twitter-bootstrap-ebc6935/package.json +25 -0
  243. data/fixtures/wildcard-directory-index-app/config.rb +2 -0
  244. data/fixtures/wildcard-directory-index-app/source/admin/index.html.erb +1 -0
  245. data/fixtures/wildcard-directory-index-app/source/admin/page.html.erb +1 -0
  246. data/fixtures/wildcard-directory-index-app/source/index.html.erb +1 -0
  247. data/fixtures/wildcard-directory-index-app/source/layouts/admin.erb +2 -0
  248. data/fixtures/wildcard-directory-index-app/source/layouts/layout.erb +2 -0
  249. data/lib/middleman-more.rb +117 -2
  250. data/lib/middleman-more/core_extensions/assets.rb +43 -0
  251. data/lib/middleman-more/core_extensions/compass.rb +26 -0
  252. data/lib/middleman-more/core_extensions/default_helpers.rb +171 -0
  253. data/lib/middleman-more/core_extensions/i18n.rb +123 -0
  254. data/lib/middleman-more/extensions/asset_hash.rb +75 -81
  255. data/lib/middleman-more/extensions/asset_host.rb +46 -0
  256. data/lib/middleman-more/extensions/automatic_image_sizes.rb +56 -0
  257. data/lib/middleman-more/extensions/automatic_image_sizes/fastimage.rb +287 -0
  258. data/lib/middleman-more/extensions/directory_indexes.rb +56 -0
  259. data/lib/middleman-more/extensions/lorem.rb +197 -0
  260. data/lib/middleman_extension.rb +1 -0
  261. data/middleman-more.gemspec +4 -4
  262. metadata +674 -158
  263. data/features/sprockets.feature +0 -52
  264. data/features/sprockets_gems.feature +0 -15
  265. data/fixtures/sprockets-app/config.rb +0 -2
  266. data/fixtures/sprockets-app/source/library/css/bootstrap_include.css.scss +0 -1
  267. data/fixtures/sprockets-app/source/library/css/plain.css +0 -3
  268. data/fixtures/sprockets-app/source/library/css/sprockets_base1.css.scss +0 -1
  269. data/fixtures/sprockets-app/source/library/css/sprockets_base2.css.scss +0 -1
  270. data/fixtures/sprockets-app/source/library/css/sprockets_sub.css.scss +0 -1
  271. data/fixtures/sprockets-app/source/library/js/jquery_include.js +0 -1
  272. data/fixtures/sprockets-app/source/library/js/plain.js +0 -3
  273. data/fixtures/sprockets-app/source/library/js/sprockets_base.js +0 -5
  274. data/fixtures/sprockets-app/source/library/js/sprockets_sub.js +0 -3
  275. data/fixtures/sprockets-app/source/library/js/vendored_include.js +0 -1
  276. data/fixtures/sprockets-app/vendor/assets/javascripts/vendored_js.js +0 -1
  277. data/fixtures/sprockets-app2/data/test.yml +0 -4
  278. data/fixtures/sprockets-app2/data/test2.json +0 -4
  279. data/fixtures/sprockets-app2/source/javascripts/multiple_engines.js.coffee.erb +0 -1
  280. data/fixtures/sprockets-app2/source/javascripts/sprockets_base.js +0 -5
  281. data/fixtures/sprockets-app2/source/javascripts/sprockets_sub.js +0 -3
  282. data/fixtures/sprockets-app2/source/stylesheets/sprockets_base1.css.scss +0 -1
  283. data/fixtures/sprockets-app2/source/stylesheets/sprockets_base2.css.scss +0 -1
  284. data/fixtures/sprockets-app2/source/stylesheets/sprockets_sub.css.scss +0 -1
  285. data/lib/middleman-more/core_extensions/sprockets.rb +0 -101
  286. data/lib/middleman-more/register_extensions.rb +0 -82
  287. data/lib/middleman-more/renderers/coffee_script.rb +0 -22
  288. data/lib/middleman-more/renderers/haml.rb +0 -30
  289. data/lib/middleman-more/renderers/liquid.rb +0 -40
  290. data/lib/middleman-more/renderers/markdown.rb +0 -58
  291. data/lib/middleman-more/renderers/sass.rb +0 -88
  292. data/lib/middleman-more/renderers/slim.rb +0 -35
@@ -0,0 +1,17 @@
1
+ // PORTRAIT TABLET TO DEFAULT DESKTOP
2
+ // ----------------------------------
3
+
4
+ @media (min-width: 768px) and (max-width: 979px) {
5
+
6
+ // Fixed grid
7
+ #grid > .core(42px, 20px);
8
+
9
+ // Fluid grid
10
+ #grid > .fluid(5.801104972%, 2.762430939%);
11
+
12
+ // Input grid
13
+ #grid > .input(42px, 20px);
14
+
15
+ // No need to reset .thumbnails here since it's the same @gridGutterWidth
16
+
17
+ }
@@ -0,0 +1,153 @@
1
+ // TABLETS AND BELOW
2
+ // -----------------
3
+ @media (max-width: 979px) {
4
+
5
+ // UNFIX THE TOPBAR
6
+ // ----------------
7
+ // Remove any padding from the body
8
+ body {
9
+ padding-top: 0;
10
+ }
11
+ // Unfix the navbar
12
+ .navbar-fixed-top,
13
+ .navbar-fixed-bottom {
14
+ position: static;
15
+ }
16
+ .navbar-fixed-top {
17
+ margin-bottom: @baseLineHeight;
18
+ }
19
+ .navbar-fixed-bottom {
20
+ margin-top: @baseLineHeight;
21
+ }
22
+ .navbar-fixed-top .navbar-inner,
23
+ .navbar-fixed-bottom .navbar-inner {
24
+ padding: 5px;
25
+ }
26
+ .navbar .container {
27
+ width: auto;
28
+ padding: 0;
29
+ }
30
+ // Account for brand name
31
+ .navbar .brand {
32
+ padding-left: 10px;
33
+ padding-right: 10px;
34
+ margin: 0 0 0 -5px;
35
+ }
36
+
37
+ // COLLAPSIBLE NAVBAR
38
+ // ------------------
39
+ // Nav collapse clears brand
40
+ .nav-collapse {
41
+ clear: both;
42
+ }
43
+ // Block-level the nav
44
+ .nav-collapse .nav {
45
+ float: none;
46
+ margin: 0 0 (@baseLineHeight / 2);
47
+ }
48
+ .nav-collapse .nav > li {
49
+ float: none;
50
+ }
51
+ .nav-collapse .nav > li > a {
52
+ margin-bottom: 2px;
53
+ }
54
+ .nav-collapse .nav > .divider-vertical {
55
+ display: none;
56
+ }
57
+ .nav-collapse .nav .nav-header {
58
+ color: @navbarText;
59
+ text-shadow: none;
60
+ }
61
+ // Nav and dropdown links in navbar
62
+ .nav-collapse .nav > li > a,
63
+ .nav-collapse .dropdown-menu a {
64
+ padding: 6px 15px;
65
+ font-weight: bold;
66
+ color: @navbarLinkColor;
67
+ .border-radius(3px);
68
+ }
69
+ // Buttons
70
+ .nav-collapse .btn {
71
+ padding: 4px 10px 4px;
72
+ font-weight: normal;
73
+ .border-radius(4px);
74
+ }
75
+ .nav-collapse .dropdown-menu li + li a {
76
+ margin-bottom: 2px;
77
+ }
78
+ .nav-collapse .nav > li > a:hover,
79
+ .nav-collapse .dropdown-menu a:hover {
80
+ background-color: @navbarBackground;
81
+ }
82
+ // Buttons in the navbar
83
+ .nav-collapse.in .btn-group {
84
+ margin-top: 5px;
85
+ padding: 0;
86
+ }
87
+ // Dropdowns in the navbar
88
+ .nav-collapse .dropdown-menu {
89
+ position: static;
90
+ top: auto;
91
+ left: auto;
92
+ float: none;
93
+ display: block;
94
+ max-width: none;
95
+ margin: 0 15px;
96
+ padding: 0;
97
+ background-color: transparent;
98
+ border: none;
99
+ .border-radius(0);
100
+ .box-shadow(none);
101
+ }
102
+ .nav-collapse .dropdown-menu:before,
103
+ .nav-collapse .dropdown-menu:after {
104
+ display: none;
105
+ }
106
+ .nav-collapse .dropdown-menu .divider {
107
+ display: none;
108
+ }
109
+ // Forms in navbar
110
+ .nav-collapse .navbar-form,
111
+ .nav-collapse .navbar-search {
112
+ float: none;
113
+ padding: (@baseLineHeight / 2) 15px;
114
+ margin: (@baseLineHeight / 2) 0;
115
+ border-top: 1px solid @navbarBackground;
116
+ border-bottom: 1px solid @navbarBackground;
117
+ .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1)");
118
+ }
119
+ // Pull right (secondary) nav content
120
+ .navbar .nav-collapse .nav.pull-right {
121
+ float: none;
122
+ margin-left: 0;
123
+ }
124
+ // Hide everything in the navbar save .brand and toggle button */
125
+ .nav-collapse,
126
+ .nav-collapse.collapse {
127
+ overflow: hidden;
128
+ height: 0;
129
+ }
130
+ // Navbar button
131
+ .navbar .btn-navbar {
132
+ display: block;
133
+ }
134
+
135
+ // STATIC NAVBAR
136
+ // -------------
137
+ .navbar-static .navbar-inner {
138
+ padding-left: 10px;
139
+ padding-right: 10px;
140
+ }
141
+ }
142
+
143
+
144
+ // DEFAULT DESKTOP
145
+ // ---------------
146
+
147
+ // Required to make the collapsing navbar work on regular desktops
148
+ @media (min-width: 980px) {
149
+ .nav-collapse.collapse {
150
+ height: auto !important;
151
+ overflow: visible !important;
152
+ }
153
+ }
@@ -0,0 +1,41 @@
1
+ // RESPONSIVE CLASSES
2
+ // ------------------
3
+
4
+ // Hide from screenreaders and browsers
5
+ // Credit: HTML5 Boilerplate
6
+ .hidden {
7
+ display: none;
8
+ visibility: hidden;
9
+ }
10
+
11
+ // Visibility utilities
12
+
13
+ // For desktops
14
+ .visible-phone { display: none !important; }
15
+ .visible-tablet { display: none !important; }
16
+ .visible-desktop { } // Don't set initially
17
+ .hidden-phone { }
18
+ .hidden-tablet { }
19
+ .hidden-desktop { display: none !important; }
20
+
21
+ // Phones only
22
+ @media (max-width: 767px) {
23
+ // Show
24
+ .visible-phone { display: inherit !important; } // Use inherit to restore previous behavior
25
+ // Hide
26
+ .hidden-phone { display: none !important; }
27
+ // Hide everything else
28
+ .hidden-desktop { display: inherit !important; }
29
+ .visible-desktop { display: none !important; }
30
+ }
31
+
32
+ // Tablets & small desktops only
33
+ @media (min-width: 768px) and (max-width: 979px) {
34
+ // Show
35
+ .visible-tablet { display: inherit !important; }
36
+ // Hide
37
+ .hidden-tablet { display: none !important; }
38
+ // Hide everything else
39
+ .hidden-desktop { display: inherit !important; }
40
+ .visible-desktop { display: none !important ; }
41
+ }
@@ -0,0 +1,29 @@
1
+ // Scaffolding
2
+ // Basic and global styles for generating a grid system, structural layout, and page templates
3
+ // -------------------------------------------------------------------------------------------
4
+
5
+
6
+ // Body reset
7
+ // ----------
8
+
9
+ body {
10
+ margin: 0;
11
+ font-family: @baseFontFamily;
12
+ font-size: @baseFontSize;
13
+ line-height: @baseLineHeight;
14
+ color: @textColor;
15
+ background-color: @bodyBackground;
16
+ }
17
+
18
+
19
+ // Links
20
+ // -----
21
+
22
+ a {
23
+ color: @linkColor;
24
+ text-decoration: none;
25
+ }
26
+ a:hover {
27
+ color: @linkColorHover;
28
+ text-decoration: underline;
29
+ }
@@ -0,0 +1,191 @@
1
+ // SPRITES
2
+ // Glyphs and icons for buttons, nav, and more
3
+ // -------------------------------------------
4
+
5
+
6
+ // ICONS
7
+ // -----
8
+
9
+ // All icons receive the styles of the <i> tag with a base class
10
+ // of .i and are then given a unique class to add width, height,
11
+ // and background-position. Your resulting HTML will look like
12
+ // <i class="icon-inbox"></i>.
13
+
14
+ // For the white version of the icons, just add the .icon-white class:
15
+ // <i class="icon-inbox icon-white"></i>
16
+
17
+ [class^="icon-"],
18
+ [class*=" icon-"] {
19
+ display: inline-block;
20
+ width: 14px;
21
+ height: 14px;
22
+ .ie7-restore-right-whitespace();
23
+ line-height: 14px;
24
+ vertical-align: text-top;
25
+ background-image: url("@{iconSpritePath}");
26
+ background-position: 14px 14px;
27
+ background-repeat: no-repeat;
28
+
29
+ }
30
+ .icon-white {
31
+ background-image: url("@{iconWhiteSpritePath}");
32
+ }
33
+
34
+ .icon-glass { background-position: 0 0; }
35
+ .icon-music { background-position: -24px 0; }
36
+ .icon-search { background-position: -48px 0; }
37
+ .icon-envelope { background-position: -72px 0; }
38
+ .icon-heart { background-position: -96px 0; }
39
+ .icon-star { background-position: -120px 0; }
40
+ .icon-star-empty { background-position: -144px 0; }
41
+ .icon-user { background-position: -168px 0; }
42
+ .icon-film { background-position: -192px 0; }
43
+ .icon-th-large { background-position: -216px 0; }
44
+ .icon-th { background-position: -240px 0; }
45
+ .icon-th-list { background-position: -264px 0; }
46
+ .icon-ok { background-position: -288px 0; }
47
+ .icon-remove { background-position: -312px 0; }
48
+ .icon-zoom-in { background-position: -336px 0; }
49
+ .icon-zoom-out { background-position: -360px 0; }
50
+ .icon-off { background-position: -384px 0; }
51
+ .icon-signal { background-position: -408px 0; }
52
+ .icon-cog { background-position: -432px 0; }
53
+ .icon-trash { background-position: -456px 0; }
54
+
55
+ .icon-home { background-position: 0 -24px; }
56
+ .icon-file { background-position: -24px -24px; }
57
+ .icon-time { background-position: -48px -24px; }
58
+ .icon-road { background-position: -72px -24px; }
59
+ .icon-download-alt { background-position: -96px -24px; }
60
+ .icon-download { background-position: -120px -24px; }
61
+ .icon-upload { background-position: -144px -24px; }
62
+ .icon-inbox { background-position: -168px -24px; }
63
+ .icon-play-circle { background-position: -192px -24px; }
64
+ .icon-repeat { background-position: -216px -24px; }
65
+ .icon-refresh { background-position: -240px -24px; }
66
+ .icon-list-alt { background-position: -264px -24px; }
67
+ .icon-lock { background-position: -287px -24px; } // 1px off
68
+ .icon-flag { background-position: -312px -24px; }
69
+ .icon-headphones { background-position: -336px -24px; }
70
+ .icon-volume-off { background-position: -360px -24px; }
71
+ .icon-volume-down { background-position: -384px -24px; }
72
+ .icon-volume-up { background-position: -408px -24px; }
73
+ .icon-qrcode { background-position: -432px -24px; }
74
+ .icon-barcode { background-position: -456px -24px; }
75
+
76
+ .icon-tag { background-position: 0 -48px; }
77
+ .icon-tags { background-position: -25px -48px; } // 1px off
78
+ .icon-book { background-position: -48px -48px; }
79
+ .icon-bookmark { background-position: -72px -48px; }
80
+ .icon-print { background-position: -96px -48px; }
81
+ .icon-camera { background-position: -120px -48px; }
82
+ .icon-font { background-position: -144px -48px; }
83
+ .icon-bold { background-position: -167px -48px; } // 1px off
84
+ .icon-italic { background-position: -192px -48px; }
85
+ .icon-text-height { background-position: -216px -48px; }
86
+ .icon-text-width { background-position: -240px -48px; }
87
+ .icon-align-left { background-position: -264px -48px; }
88
+ .icon-align-center { background-position: -288px -48px; }
89
+ .icon-align-right { background-position: -312px -48px; }
90
+ .icon-align-justify { background-position: -336px -48px; }
91
+ .icon-list { background-position: -360px -48px; }
92
+ .icon-indent-left { background-position: -384px -48px; }
93
+ .icon-indent-right { background-position: -408px -48px; }
94
+ .icon-facetime-video { background-position: -432px -48px; }
95
+ .icon-picture { background-position: -456px -48px; }
96
+
97
+ .icon-pencil { background-position: 0 -72px; }
98
+ .icon-map-marker { background-position: -24px -72px; }
99
+ .icon-adjust { background-position: -48px -72px; }
100
+ .icon-tint { background-position: -72px -72px; }
101
+ .icon-edit { background-position: -96px -72px; }
102
+ .icon-share { background-position: -120px -72px; }
103
+ .icon-check { background-position: -144px -72px; }
104
+ .icon-move { background-position: -168px -72px; }
105
+ .icon-step-backward { background-position: -192px -72px; }
106
+ .icon-fast-backward { background-position: -216px -72px; }
107
+ .icon-backward { background-position: -240px -72px; }
108
+ .icon-play { background-position: -264px -72px; }
109
+ .icon-pause { background-position: -288px -72px; }
110
+ .icon-stop { background-position: -312px -72px; }
111
+ .icon-forward { background-position: -336px -72px; }
112
+ .icon-fast-forward { background-position: -360px -72px; }
113
+ .icon-step-forward { background-position: -384px -72px; }
114
+ .icon-eject { background-position: -408px -72px; }
115
+ .icon-chevron-left { background-position: -432px -72px; }
116
+ .icon-chevron-right { background-position: -456px -72px; }
117
+
118
+ .icon-plus-sign { background-position: 0 -96px; }
119
+ .icon-minus-sign { background-position: -24px -96px; }
120
+ .icon-remove-sign { background-position: -48px -96px; }
121
+ .icon-ok-sign { background-position: -72px -96px; }
122
+ .icon-question-sign { background-position: -96px -96px; }
123
+ .icon-info-sign { background-position: -120px -96px; }
124
+ .icon-screenshot { background-position: -144px -96px; }
125
+ .icon-remove-circle { background-position: -168px -96px; }
126
+ .icon-ok-circle { background-position: -192px -96px; }
127
+ .icon-ban-circle { background-position: -216px -96px; }
128
+ .icon-arrow-left { background-position: -240px -96px; }
129
+ .icon-arrow-right { background-position: -264px -96px; }
130
+ .icon-arrow-up { background-position: -289px -96px; } // 1px off
131
+ .icon-arrow-down { background-position: -312px -96px; }
132
+ .icon-share-alt { background-position: -336px -96px; }
133
+ .icon-resize-full { background-position: -360px -96px; }
134
+ .icon-resize-small { background-position: -384px -96px; }
135
+ .icon-plus { background-position: -408px -96px; }
136
+ .icon-minus { background-position: -433px -96px; }
137
+ .icon-asterisk { background-position: -456px -96px; }
138
+
139
+ .icon-exclamation-sign { background-position: 0 -120px; }
140
+ .icon-gift { background-position: -24px -120px; }
141
+ .icon-leaf { background-position: -48px -120px; }
142
+ .icon-fire { background-position: -72px -120px; }
143
+ .icon-eye-open { background-position: -96px -120px; }
144
+ .icon-eye-close { background-position: -120px -120px; }
145
+ .icon-warning-sign { background-position: -144px -120px; }
146
+ .icon-plane { background-position: -168px -120px; }
147
+ .icon-calendar { background-position: -192px -120px; }
148
+ .icon-random { background-position: -216px -120px; }
149
+ .icon-comment { background-position: -240px -120px; }
150
+ .icon-magnet { background-position: -264px -120px; }
151
+ .icon-chevron-up { background-position: -288px -120px; }
152
+ .icon-chevron-down { background-position: -313px -119px; } // 1px, 1px off
153
+ .icon-retweet { background-position: -336px -120px; }
154
+ .icon-shopping-cart { background-position: -360px -120px; }
155
+ .icon-folder-close { background-position: -384px -120px; }
156
+ .icon-folder-open { background-position: -408px -120px; }
157
+ .icon-resize-vertical { background-position: -432px -119px; } // 1px, 1px off
158
+ .icon-resize-horizontal { background-position: -456px -118px; } // 1px, 2px off
159
+
160
+ .icon-hdd { background-position: 0 -144px; }
161
+ .icon-bullhorn { background-position: -24px -144px; }
162
+ .icon-bell { background-position: -48px -144px; }
163
+ .icon-certificate { background-position: -72px -144px; }
164
+ .icon-thumbs-up { background-position: -96px -144px; }
165
+ .icon-thumbs-down { background-position: -120px -144px; }
166
+ .icon-hand-right { background-position: -144px -144px; }
167
+ .icon-hand-left { background-position: -168px -144px; }
168
+ .icon-hand-up { background-position: -192px -144px; }
169
+ .icon-hand-down { background-position: -216px -144px; }
170
+ .icon-circle-arrow-right { background-position: -240px -144px; }
171
+ .icon-circle-arrow-left { background-position: -264px -144px; }
172
+ .icon-circle-arrow-up { background-position: -288px -144px; }
173
+ .icon-circle-arrow-down { background-position: -312px -144px; }
174
+ .icon-globe { background-position: -336px -144px; }
175
+ .icon-wrench { background-position: -360px -144px; }
176
+ .icon-tasks { background-position: -384px -144px; }
177
+ .icon-filter { background-position: -408px -144px; }
178
+ .icon-briefcase { background-position: -432px -144px; }
179
+ .icon-fullscreen { background-position: -456px -144px; }
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
@@ -0,0 +1,176 @@
1
+ //
2
+ // Tables.less
3
+ // Tables for, you guessed it, tabular data
4
+ // ----------------------------------------
5
+
6
+
7
+ // BASE TABLES
8
+ // -----------------
9
+
10
+ table {
11
+ max-width: 100%;
12
+ background-color: @tableBackground;
13
+ border-collapse: collapse;
14
+ border-spacing: 0;
15
+ }
16
+
17
+ // BASELINE STYLES
18
+ // ---------------
19
+
20
+ .table {
21
+ width: 100%;
22
+ margin-bottom: @baseLineHeight;
23
+ // Cells
24
+ th,
25
+ td {
26
+ padding: 8px;
27
+ line-height: @baseLineHeight;
28
+ text-align: left;
29
+ vertical-align: top;
30
+ border-top: 1px solid @tableBorder;
31
+ }
32
+ th {
33
+ font-weight: bold;
34
+ }
35
+ // Bottom align for column headings
36
+ thead th {
37
+ vertical-align: bottom;
38
+ }
39
+ // Remove top border from thead by default
40
+ caption + thead tr:first-child th,
41
+ caption + thead tr:first-child td,
42
+ colgroup + thead tr:first-child th,
43
+ colgroup + thead tr:first-child td,
44
+ thead:first-child tr:first-child th,
45
+ thead:first-child tr:first-child td {
46
+ border-top: 0;
47
+ }
48
+ // Account for multiple tbody instances
49
+ tbody + tbody {
50
+ border-top: 2px solid @tableBorder;
51
+ }
52
+ }
53
+
54
+
55
+
56
+ // CONDENSED TABLE W/ HALF PADDING
57
+ // -------------------------------
58
+
59
+ .table-condensed {
60
+ th,
61
+ td {
62
+ padding: 4px 5px;
63
+ }
64
+ }
65
+
66
+
67
+ // BORDERED VERSION
68
+ // ----------------
69
+
70
+ .table-bordered {
71
+ border: 1px solid @tableBorder;
72
+ border-collapse: separate; // Done so we can round those corners!
73
+ *border-collapse: collapsed; // IE7 can't round corners anyway
74
+ border-left: 0;
75
+ .border-radius(4px);
76
+ th,
77
+ td {
78
+ border-left: 1px solid @tableBorder;
79
+ }
80
+ // Prevent a double border
81
+ caption + thead tr:first-child th,
82
+ caption + tbody tr:first-child th,
83
+ caption + tbody tr:first-child td,
84
+ colgroup + thead tr:first-child th,
85
+ colgroup + tbody tr:first-child th,
86
+ colgroup + tbody tr:first-child td,
87
+ thead:first-child tr:first-child th,
88
+ tbody:first-child tr:first-child th,
89
+ tbody:first-child tr:first-child td {
90
+ border-top: 0;
91
+ }
92
+ // For first th or td in the first row in the first thead or tbody
93
+ thead:first-child tr:first-child th:first-child,
94
+ tbody:first-child tr:first-child td:first-child {
95
+ -webkit-border-top-left-radius: 4px;
96
+ border-top-left-radius: 4px;
97
+ -moz-border-radius-topleft: 4px;
98
+ }
99
+ thead:first-child tr:first-child th:last-child,
100
+ tbody:first-child tr:first-child td:last-child {
101
+ -webkit-border-top-right-radius: 4px;
102
+ border-top-right-radius: 4px;
103
+ -moz-border-radius-topright: 4px;
104
+ }
105
+ // For first th or td in the first row in the first thead or tbody
106
+ thead:last-child tr:last-child th:first-child,
107
+ tbody:last-child tr:last-child td:first-child {
108
+ .border-radius(0 0 0 4px);
109
+ -webkit-border-bottom-left-radius: 4px;
110
+ border-bottom-left-radius: 4px;
111
+ -moz-border-radius-bottomleft: 4px;
112
+ }
113
+ thead:last-child tr:last-child th:last-child,
114
+ tbody:last-child tr:last-child td:last-child {
115
+ -webkit-border-bottom-right-radius: 4px;
116
+ border-bottom-right-radius: 4px;
117
+ -moz-border-radius-bottomright: 4px;
118
+ }
119
+ }
120
+
121
+
122
+ // ZEBRA-STRIPING
123
+ // --------------
124
+
125
+ // Default zebra-stripe styles (alternating gray and transparent backgrounds)
126
+ .table-striped {
127
+ tbody {
128
+ tr:nth-child(odd) td,
129
+ tr:nth-child(odd) th {
130
+ background-color: @tableBackgroundAccent;
131
+ }
132
+ }
133
+ }
134
+
135
+
136
+ // HOVER EFFECT
137
+ // ------------
138
+ // Placed here since it has to come after the potential zebra striping
139
+ .table {
140
+ tbody tr:hover td,
141
+ tbody tr:hover th {
142
+ background-color: @tableBackgroundHover;
143
+ }
144
+ }
145
+
146
+
147
+ // TABLE CELL SIZING
148
+ // -----------------
149
+
150
+ // Change the columns
151
+ table {
152
+ .span1 { .tableColumns(1); }
153
+ .span2 { .tableColumns(2); }
154
+ .span3 { .tableColumns(3); }
155
+ .span4 { .tableColumns(4); }
156
+ .span5 { .tableColumns(5); }
157
+ .span6 { .tableColumns(6); }
158
+ .span7 { .tableColumns(7); }
159
+ .span8 { .tableColumns(8); }
160
+ .span9 { .tableColumns(9); }
161
+ .span10 { .tableColumns(10); }
162
+ .span11 { .tableColumns(11); }
163
+ .span12 { .tableColumns(12); }
164
+ .span13 { .tableColumns(13); }
165
+ .span14 { .tableColumns(14); }
166
+ .span15 { .tableColumns(15); }
167
+ .span16 { .tableColumns(16); }
168
+ .span17 { .tableColumns(17); }
169
+ .span18 { .tableColumns(18); }
170
+ .span19 { .tableColumns(19); }
171
+ .span20 { .tableColumns(20); }
172
+ .span21 { .tableColumns(21); }
173
+ .span22 { .tableColumns(22); }
174
+ .span23 { .tableColumns(23); }
175
+ .span24 { .tableColumns(24); }
176
+ }