locomotivecms_wagon 2.4.1 → 3.0.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (359) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -3
  3. data/generators/blank/app/assets/.babelrc +3 -0
  4. data/generators/blank/app/assets/fonts/.empty_directory +1 -0
  5. data/generators/blank/app/assets/javascripts/app.js +19 -0
  6. data/generators/blank/app/assets/javascripts/sections/_manager.js +94 -0
  7. data/generators/blank/app/assets/javascripts/sections/index.js +5 -0
  8. data/generators/blank/app/assets/package.json.tt +35 -0
  9. data/generators/blank/app/assets/postcss.config.js +6 -0
  10. data/generators/blank/app/assets/stylesheets/app.scss +1 -0
  11. data/generators/blank/app/assets/webpack.common.js +47 -0
  12. data/generators/blank/app/assets/webpack.dev.js +7 -0
  13. data/generators/blank/app/assets/webpack.prod.js +12 -0
  14. data/generators/blank/app/views/pages/404.liquid +1 -1
  15. data/generators/blank/app/views/pages/index.liquid +7 -15
  16. data/generators/blank/app/views/pages/layouts/default.liquid +22 -0
  17. data/generators/blank/app/views/sections/.empty_directory +1 -0
  18. data/generators/page/template.liquid.tt +11 -0
  19. data/generators/section/%type%.js.tt +26 -0
  20. data/generators/section/template.liquid.tt +183 -0
  21. data/lib/locomotive/wagon.rb +3 -2
  22. data/lib/locomotive/wagon/cli.rb +38 -10
  23. data/lib/locomotive/wagon/commands/clone_command.rb +3 -0
  24. data/lib/locomotive/wagon/commands/concerns/deploy_file_concern.rb +1 -1
  25. data/lib/locomotive/wagon/commands/concerns/steam_concern.rb +1 -1
  26. data/lib/locomotive/wagon/commands/loggers/sync_logger.rb +7 -0
  27. data/lib/locomotive/wagon/commands/pull_command.rb +1 -1
  28. data/lib/locomotive/wagon/commands/pull_sub_commands/concerns/assets_concern.rb +19 -10
  29. data/lib/locomotive/wagon/commands/pull_sub_commands/pull_base_command.rb +7 -3
  30. data/lib/locomotive/wagon/commands/pull_sub_commands/pull_content_entries_command.rb +11 -2
  31. data/lib/locomotive/wagon/commands/pull_sub_commands/pull_content_types_command.rb +1 -1
  32. data/lib/locomotive/wagon/commands/pull_sub_commands/pull_site_command.rb +24 -5
  33. data/lib/locomotive/wagon/commands/pull_sub_commands/pull_translations_command.rb +6 -1
  34. data/lib/locomotive/wagon/commands/push_command.rb +6 -4
  35. data/lib/locomotive/wagon/commands/push_sub_commands/push_pages_command.rb +6 -1
  36. data/lib/locomotive/wagon/commands/push_sub_commands/push_sections_command.rb +23 -0
  37. data/lib/locomotive/wagon/commands/push_sub_commands/push_site_command.rb +2 -0
  38. data/lib/locomotive/wagon/commands/serve_command.rb +1 -1
  39. data/lib/locomotive/wagon/commands/sync_command.rb +1 -1
  40. data/lib/locomotive/wagon/commands/sync_sub_commands/concerns/base_concern.rb +2 -2
  41. data/lib/locomotive/wagon/commands/sync_sub_commands/sync_pages_command.rb +48 -37
  42. data/lib/locomotive/wagon/commands/sync_sub_commands/sync_site_command.rb +15 -12
  43. data/lib/locomotive/wagon/commands/sync_sub_commands/sync_translations_command.rb +12 -0
  44. data/lib/locomotive/wagon/decorators/concerns/persist_assets_concern.rb +1 -1
  45. data/lib/locomotive/wagon/decorators/content_entry_decorator.rb +1 -1
  46. data/lib/locomotive/wagon/decorators/content_type_decorator.rb +5 -1
  47. data/lib/locomotive/wagon/decorators/content_type_field_decorator.rb +5 -1
  48. data/lib/locomotive/wagon/decorators/page_decorator.rb +11 -1
  49. data/lib/locomotive/wagon/decorators/section_decorator.rb +35 -0
  50. data/lib/locomotive/wagon/decorators/site_decorator.rb +12 -4
  51. data/lib/locomotive/wagon/decorators/theme_asset_decorator.rb +2 -2
  52. data/lib/locomotive/wagon/generators/page.rb +2 -12
  53. data/lib/locomotive/wagon/generators/section.rb +82 -0
  54. data/lib/locomotive/wagon/generators/site.rb +0 -3
  55. data/lib/locomotive/wagon/generators/site/base.rb +11 -28
  56. data/lib/locomotive/wagon/generators/site/blank.rb +1 -17
  57. data/lib/locomotive/wagon/generators/site/cloned.rb +1 -4
  58. data/lib/locomotive/wagon/generators/snippet.rb +3 -11
  59. data/lib/locomotive/wagon/middlewares/error_page.rb +26 -6
  60. data/lib/locomotive/wagon/tools/listen.rb +3 -3
  61. data/lib/locomotive/wagon/version.rb +1 -1
  62. data/locomotivecms_wagon.gemspec +7 -6
  63. data/spec/fixtures/cassettes/authenticate.yml +47 -47
  64. data/spec/fixtures/cassettes/delete.yml +261 -261
  65. data/spec/fixtures/cassettes/push.yml +4571 -1783
  66. data/spec/fixtures/cassettes/sync.yml +11483 -0
  67. data/spec/integration/cli_spec.rb +1 -1
  68. data/spec/integration/commands/delete_command_spec.rb +1 -2
  69. data/spec/integration/commands/push_command_spec.rb +4 -4
  70. data/spec/integration/commands/sync_command_spec.rb +54 -0
  71. data/spec/integration/generators/page_spec.rb +1 -1
  72. data/spec/unit/commands/pull_sub_commands/concerns/assets_concern_spec.rb +3 -3
  73. metadata +55 -306
  74. data/generators/blank/app/views/pages/404.liquid.haml +0 -11
  75. data/generators/blank/app/views/pages/index.liquid.haml +0 -16
  76. data/generators/bootstrap/Gemfile.tt +0 -24
  77. data/generators/bootstrap/Guardfile +0 -22
  78. data/generators/bootstrap/app/content_types/.empty_directory +0 -1
  79. data/generators/bootstrap/app/views/pages/404.liquid +0 -18
  80. data/generators/bootstrap/app/views/pages/404.liquid.haml +0 -14
  81. data/generators/bootstrap/app/views/pages/index.liquid +0 -31
  82. data/generators/bootstrap/app/views/pages/index.liquid.haml +0 -25
  83. data/generators/bootstrap/app/views/pages/layouts/default.liquid +0 -31
  84. data/generators/bootstrap/app/views/pages/layouts/default.liquid.haml +0 -30
  85. data/generators/bootstrap/app/views/pages/layouts/simple.liquid +0 -36
  86. data/generators/bootstrap/app/views/pages/layouts/simple.liquid.haml +0 -29
  87. data/generators/bootstrap/app/views/snippets/footer.liquid +0 -5
  88. data/generators/bootstrap/app/views/snippets/footer.liquid.haml +0 -3
  89. data/generators/bootstrap/app/views/snippets/nav.liquid +0 -26
  90. data/generators/bootstrap/app/views/snippets/nav.liquid.haml +0 -19
  91. data/generators/bootstrap/config/deploy.yml +0 -16
  92. data/generators/bootstrap/config/metafields_schema.yml +0 -56
  93. data/generators/bootstrap/config/site.yml.tt +0 -48
  94. data/generators/bootstrap/config/translations.yml +0 -8
  95. data/generators/bootstrap/data/.empty_directory +0 -1
  96. data/generators/bootstrap/icon.png +0 -0
  97. data/generators/bootstrap/public/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  98. data/generators/bootstrap/public/fonts/bootstrap/glyphicons-halflings-regular.svg +0 -288
  99. data/generators/bootstrap/public/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  100. data/generators/bootstrap/public/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  101. data/generators/bootstrap/public/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  102. data/generators/bootstrap/public/images/favicon.png +0 -0
  103. data/generators/bootstrap/public/javascripts/application.js +0 -2
  104. data/generators/bootstrap/public/javascripts/bootstrap.min.js +0 -7
  105. data/generators/bootstrap/public/javascripts/bootstrap/affix.js +0 -162
  106. data/generators/bootstrap/public/javascripts/bootstrap/alert.js +0 -94
  107. data/generators/bootstrap/public/javascripts/bootstrap/button.js +0 -120
  108. data/generators/bootstrap/public/javascripts/bootstrap/carousel.js +0 -237
  109. data/generators/bootstrap/public/javascripts/bootstrap/collapse.js +0 -211
  110. data/generators/bootstrap/public/javascripts/bootstrap/dropdown.js +0 -165
  111. data/generators/bootstrap/public/javascripts/bootstrap/modal.js +0 -337
  112. data/generators/bootstrap/public/javascripts/bootstrap/popover.js +0 -108
  113. data/generators/bootstrap/public/javascripts/bootstrap/scrollspy.js +0 -172
  114. data/generators/bootstrap/public/javascripts/bootstrap/tab.js +0 -155
  115. data/generators/bootstrap/public/javascripts/bootstrap/tooltip.js +0 -514
  116. data/generators/bootstrap/public/javascripts/bootstrap/transition.js +0 -59
  117. data/generators/bootstrap/public/javascripts/jquery.min.js +0 -5
  118. data/generators/bootstrap/public/stylesheets/application.css +0 -7
  119. data/generators/bootstrap/public/stylesheets/application.scss +0 -7
  120. data/generators/bootstrap/public/stylesheets/bootstrap.css +0 -5
  121. data/generators/bootstrap/public/stylesheets/bootstrap.scss +0 -63
  122. data/generators/bootstrap/public/stylesheets/bootstrap/_alerts.scss +0 -73
  123. data/generators/bootstrap/public/stylesheets/bootstrap/_badges.scss +0 -68
  124. data/generators/bootstrap/public/stylesheets/bootstrap/_breadcrumbs.scss +0 -28
  125. data/generators/bootstrap/public/stylesheets/bootstrap/_button-groups.scss +0 -244
  126. data/generators/bootstrap/public/stylesheets/bootstrap/_buttons.scss +0 -168
  127. data/generators/bootstrap/public/stylesheets/bootstrap/_carousel.scss +0 -269
  128. data/generators/bootstrap/public/stylesheets/bootstrap/_close.scss +0 -36
  129. data/generators/bootstrap/public/stylesheets/bootstrap/_code.scss +0 -69
  130. data/generators/bootstrap/public/stylesheets/bootstrap/_component-animations.scss +0 -37
  131. data/generators/bootstrap/public/stylesheets/bootstrap/_dropdowns.scss +0 -216
  132. data/generators/bootstrap/public/stylesheets/bootstrap/_forms.scss +0 -611
  133. data/generators/bootstrap/public/stylesheets/bootstrap/_glyphicons.scss +0 -307
  134. data/generators/bootstrap/public/stylesheets/bootstrap/_grid.scss +0 -84
  135. data/generators/bootstrap/public/stylesheets/bootstrap/_input-groups.scss +0 -167
  136. data/generators/bootstrap/public/stylesheets/bootstrap/_jumbotron.scss +0 -52
  137. data/generators/bootstrap/public/stylesheets/bootstrap/_labels.scss +0 -66
  138. data/generators/bootstrap/public/stylesheets/bootstrap/_list-group.scss +0 -130
  139. data/generators/bootstrap/public/stylesheets/bootstrap/_media.scss +0 -66
  140. data/generators/bootstrap/public/stylesheets/bootstrap/_mixins.scss +0 -40
  141. data/generators/bootstrap/public/stylesheets/bootstrap/_modals.scss +0 -150
  142. data/generators/bootstrap/public/stylesheets/bootstrap/_navbar.scss +0 -662
  143. data/generators/bootstrap/public/stylesheets/bootstrap/_navs.scss +0 -242
  144. data/generators/bootstrap/public/stylesheets/bootstrap/_normalize.scss +0 -424
  145. data/generators/bootstrap/public/stylesheets/bootstrap/_pager.scss +0 -54
  146. data/generators/bootstrap/public/stylesheets/bootstrap/_pagination.scss +0 -89
  147. data/generators/bootstrap/public/stylesheets/bootstrap/_panels.scss +0 -271
  148. data/generators/bootstrap/public/stylesheets/bootstrap/_popovers.scss +0 -131
  149. data/generators/bootstrap/public/stylesheets/bootstrap/_print.scss +0 -101
  150. data/generators/bootstrap/public/stylesheets/bootstrap/_progress-bars.scss +0 -87
  151. data/generators/bootstrap/public/stylesheets/bootstrap/_responsive-embed.scss +0 -35
  152. data/generators/bootstrap/public/stylesheets/bootstrap/_responsive-utilities.scss +0 -179
  153. data/generators/bootstrap/public/stylesheets/bootstrap/_scaffolding.scss +0 -161
  154. data/generators/bootstrap/public/stylesheets/bootstrap/_tables.scss +0 -234
  155. data/generators/bootstrap/public/stylesheets/bootstrap/_theme.scss +0 -291
  156. data/generators/bootstrap/public/stylesheets/bootstrap/_thumbnails.scss +0 -38
  157. data/generators/bootstrap/public/stylesheets/bootstrap/_tooltip.scss +0 -101
  158. data/generators/bootstrap/public/stylesheets/bootstrap/_type.scss +0 -298
  159. data/generators/bootstrap/public/stylesheets/bootstrap/_utilities.scss +0 -55
  160. data/generators/bootstrap/public/stylesheets/bootstrap/_variables.scss +0 -872
  161. data/generators/bootstrap/public/stylesheets/bootstrap/_wells.scss +0 -29
  162. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_alerts.scss +0 -14
  163. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_background-variant.scss +0 -12
  164. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_border-radius.scss +0 -18
  165. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_buttons.scss +0 -68
  166. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_center-block.scss +0 -7
  167. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_clearfix.scss +0 -22
  168. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_forms.scss +0 -88
  169. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_gradients.scss +0 -58
  170. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -81
  171. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_grid.scss +0 -122
  172. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_hide-text.scss +0 -21
  173. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_image.scss +0 -33
  174. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_labels.scss +0 -12
  175. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_list-group.scss +0 -32
  176. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
  177. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  178. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_opacity.scss +0 -8
  179. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_pagination.scss +0 -24
  180. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_panels.scss +0 -24
  181. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_progress-bar.scss +0 -10
  182. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_reset-filter.scss +0 -8
  183. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_reset-text.scss +0 -18
  184. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_resize.scss +0 -6
  185. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_responsive-visibility.scss +0 -21
  186. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_size.scss +0 -10
  187. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_tab-focus.scss +0 -9
  188. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_table-row.scss +0 -28
  189. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -12
  190. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_text-overflow.scss +0 -8
  191. data/generators/bootstrap/public/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +0 -222
  192. data/generators/foundation/Gemfile.tt +0 -24
  193. data/generators/foundation/Guardfile +0 -22
  194. data/generators/foundation/app/content_types/.gitkeep +0 -0
  195. data/generators/foundation/app/views/pages/404.liquid +0 -11
  196. data/generators/foundation/app/views/pages/404.liquid.haml +0 -11
  197. data/generators/foundation/app/views/pages/index.liquid +0 -172
  198. data/generators/foundation/app/views/pages/index.liquid.haml +0 -144
  199. data/generators/foundation/app/views/snippets/.gitkeep +0 -0
  200. data/generators/foundation/config/deploy.yml +0 -16
  201. data/generators/foundation/config/metafields_schema.yml +0 -56
  202. data/generators/foundation/config/site.yml +0 -48
  203. data/generators/foundation/config/translations.yml +0 -8
  204. data/generators/foundation/data/.gitkeep +0 -0
  205. data/generators/foundation/log/.gitkeep +0 -0
  206. data/generators/foundation/public/images/.gitkeep +0 -0
  207. data/generators/foundation/public/javascripts/app.js +0 -1
  208. data/generators/foundation/public/javascripts/vendor/foundation.js +0 -11788
  209. data/generators/foundation/public/javascripts/vendor/foundation.min.js +0 -5
  210. data/generators/foundation/public/javascripts/vendor/what-input.js +0 -212
  211. data/generators/foundation/public/javascripts/vendor/what-input.min.js +0 -1
  212. data/generators/foundation/public/stylesheets/_settings.scss +0 -869
  213. data/generators/foundation/public/stylesheets/app.css +0 -0
  214. data/generators/foundation/public/stylesheets/app.scss +0 -52
  215. data/generators/foundation/public/stylesheets/foundation.css +0 -5805
  216. data/generators/foundation/public/stylesheets/foundation6/_global.scss +0 -249
  217. data/generators/foundation/public/stylesheets/foundation6/components/_accordion-menu.scss +0 -171
  218. data/generators/foundation/public/stylesheets/foundation6/components/_accordion.scss +0 -155
  219. data/generators/foundation/public/stylesheets/foundation6/components/_badge.scss +0 -63
  220. data/generators/foundation/public/stylesheets/foundation6/components/_breadcrumbs.scss +0 -117
  221. data/generators/foundation/public/stylesheets/foundation6/components/_button-group.scss +0 -253
  222. data/generators/foundation/public/stylesheets/foundation6/components/_button.scss +0 -385
  223. data/generators/foundation/public/stylesheets/foundation6/components/_callout.scss +0 -106
  224. data/generators/foundation/public/stylesheets/foundation6/components/_card.scss +0 -129
  225. data/generators/foundation/public/stylesheets/foundation6/components/_close-button.scss +0 -102
  226. data/generators/foundation/public/stylesheets/foundation6/components/_drilldown.scss +0 -142
  227. data/generators/foundation/public/stylesheets/foundation6/components/_dropdown-menu.scss +0 -274
  228. data/generators/foundation/public/stylesheets/foundation6/components/_dropdown.scss +0 -79
  229. data/generators/foundation/public/stylesheets/foundation6/components/_flex-video.scss +0 -1
  230. data/generators/foundation/public/stylesheets/foundation6/components/_flex.scss +0 -117
  231. data/generators/foundation/public/stylesheets/foundation6/components/_float.scss +0 -27
  232. data/generators/foundation/public/stylesheets/foundation6/components/_label.scss +0 -64
  233. data/generators/foundation/public/stylesheets/foundation6/components/_media-object.scss +0 -114
  234. data/generators/foundation/public/stylesheets/foundation6/components/_menu-icon.scss +0 -9
  235. data/generators/foundation/public/stylesheets/foundation6/components/_menu.scss +0 -495
  236. data/generators/foundation/public/stylesheets/foundation6/components/_off-canvas.scss +0 -505
  237. data/generators/foundation/public/stylesheets/foundation6/components/_orbit.scss +0 -196
  238. data/generators/foundation/public/stylesheets/foundation6/components/_pagination.scss +0 -193
  239. data/generators/foundation/public/stylesheets/foundation6/components/_progress-bar.scss +0 -64
  240. data/generators/foundation/public/stylesheets/foundation6/components/_responsive-embed.scss +0 -70
  241. data/generators/foundation/public/stylesheets/foundation6/components/_reveal.scss +0 -180
  242. data/generators/foundation/public/stylesheets/foundation6/components/_slider.scss +0 -137
  243. data/generators/foundation/public/stylesheets/foundation6/components/_sticky.scss +0 -39
  244. data/generators/foundation/public/stylesheets/foundation6/components/_switch.scss +0 -247
  245. data/generators/foundation/public/stylesheets/foundation6/components/_table.scss +0 -330
  246. data/generators/foundation/public/stylesheets/foundation6/components/_tabs.scss +0 -196
  247. data/generators/foundation/public/stylesheets/foundation6/components/_thumbnail.scss +0 -67
  248. data/generators/foundation/public/stylesheets/foundation6/components/_title-bar.scss +0 -84
  249. data/generators/foundation/public/stylesheets/foundation6/components/_tooltip.scss +0 -160
  250. data/generators/foundation/public/stylesheets/foundation6/components/_top-bar.scss +0 -175
  251. data/generators/foundation/public/stylesheets/foundation6/components/_visibility.scss +0 -132
  252. data/generators/foundation/public/stylesheets/foundation6/forms/_checkbox.scss +0 -41
  253. data/generators/foundation/public/stylesheets/foundation6/forms/_error.scss +0 -88
  254. data/generators/foundation/public/stylesheets/foundation6/forms/_fieldset.scss +0 -53
  255. data/generators/foundation/public/stylesheets/foundation6/forms/_forms.scss +0 -34
  256. data/generators/foundation/public/stylesheets/foundation6/forms/_help-text.scss +0 -30
  257. data/generators/foundation/public/stylesheets/foundation6/forms/_input-group.scss +0 -142
  258. data/generators/foundation/public/stylesheets/foundation6/forms/_label.scss +0 -50
  259. data/generators/foundation/public/stylesheets/foundation6/forms/_meter.scss +0 -116
  260. data/generators/foundation/public/stylesheets/foundation6/forms/_progress.scss +0 -94
  261. data/generators/foundation/public/stylesheets/foundation6/forms/_range.scss +0 -149
  262. data/generators/foundation/public/stylesheets/foundation6/forms/_select.scss +0 -86
  263. data/generators/foundation/public/stylesheets/foundation6/forms/_text.scss +0 -179
  264. data/generators/foundation/public/stylesheets/foundation6/foundation.scss +0 -133
  265. data/generators/foundation/public/stylesheets/foundation6/grid/_classes.scss +0 -176
  266. data/generators/foundation/public/stylesheets/foundation6/grid/_column.scss +0 -112
  267. data/generators/foundation/public/stylesheets/foundation6/grid/_flex-grid.scss +0 -259
  268. data/generators/foundation/public/stylesheets/foundation6/grid/_grid.scss +0 -48
  269. data/generators/foundation/public/stylesheets/foundation6/grid/_gutter.scss +0 -82
  270. data/generators/foundation/public/stylesheets/foundation6/grid/_layout.scss +0 -76
  271. data/generators/foundation/public/stylesheets/foundation6/grid/_position.scss +0 -76
  272. data/generators/foundation/public/stylesheets/foundation6/grid/_row.scss +0 -99
  273. data/generators/foundation/public/stylesheets/foundation6/grid/_size.scss +0 -24
  274. data/generators/foundation/public/stylesheets/foundation6/motion-ui/_classes.scss +0 -109
  275. data/generators/foundation/public/stylesheets/foundation6/motion-ui/_settings.scss +0 -61
  276. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_fade.scss +0 -32
  277. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_hinge.scss +0 -65
  278. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_shake.scss +0 -15
  279. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_slide.scss +0 -41
  280. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_spin.scss +0 -28
  281. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_wiggle.scss +0 -13
  282. data/generators/foundation/public/stylesheets/foundation6/motion-ui/effects/_zoom.scss +0 -15
  283. data/generators/foundation/public/stylesheets/foundation6/motion-ui/motion-ui.scss +0 -29
  284. data/generators/foundation/public/stylesheets/foundation6/motion-ui/transitions/_fade.scss +0 -28
  285. data/generators/foundation/public/stylesheets/foundation6/motion-ui/transitions/_hinge.scss +0 -43
  286. data/generators/foundation/public/stylesheets/foundation6/motion-ui/transitions/_slide.scss +0 -42
  287. data/generators/foundation/public/stylesheets/foundation6/motion-ui/transitions/_spin.scss +0 -39
  288. data/generators/foundation/public/stylesheets/foundation6/motion-ui/transitions/_zoom.scss +0 -39
  289. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_animation.scss +0 -7
  290. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_args.scss +0 -15
  291. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_keyframe.scss +0 -136
  292. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_selector.scss +0 -23
  293. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_series.scss +0 -54
  294. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_transition.scss +0 -45
  295. data/generators/foundation/public/stylesheets/foundation6/motion-ui/util/_unit.scss +0 -7
  296. data/generators/foundation/public/stylesheets/foundation6/prototype/_arrow.scss +0 -36
  297. data/generators/foundation/public/stylesheets/foundation6/prototype/_border-box.scss +0 -35
  298. data/generators/foundation/public/stylesheets/foundation6/prototype/_border-none.scss +0 -35
  299. data/generators/foundation/public/stylesheets/foundation6/prototype/_bordered.scss +0 -54
  300. data/generators/foundation/public/stylesheets/foundation6/prototype/_box.scss +0 -23
  301. data/generators/foundation/public/stylesheets/foundation6/prototype/_display.scss +0 -50
  302. data/generators/foundation/public/stylesheets/foundation6/prototype/_font-styling.scss +0 -95
  303. data/generators/foundation/public/stylesheets/foundation6/prototype/_list-style-type.scss +0 -95
  304. data/generators/foundation/public/stylesheets/foundation6/prototype/_overflow.scss +0 -72
  305. data/generators/foundation/public/stylesheets/foundation6/prototype/_position.scss +0 -114
  306. data/generators/foundation/public/stylesheets/foundation6/prototype/_prototype.scss +0 -87
  307. data/generators/foundation/public/stylesheets/foundation6/prototype/_relation.scss +0 -157
  308. data/generators/foundation/public/stylesheets/foundation6/prototype/_rotate.scss +0 -31
  309. data/generators/foundation/public/stylesheets/foundation6/prototype/_rounded.scss +0 -54
  310. data/generators/foundation/public/stylesheets/foundation6/prototype/_separator.scss +0 -96
  311. data/generators/foundation/public/stylesheets/foundation6/prototype/_shadow.scss +0 -43
  312. data/generators/foundation/public/stylesheets/foundation6/prototype/_sizing.scss +0 -73
  313. data/generators/foundation/public/stylesheets/foundation6/prototype/_spacing.scss +0 -204
  314. data/generators/foundation/public/stylesheets/foundation6/prototype/_text-decoration.scss +0 -48
  315. data/generators/foundation/public/stylesheets/foundation6/prototype/_text-transformation.scss +0 -48
  316. data/generators/foundation/public/stylesheets/foundation6/prototype/_text-utilities.scss +0 -88
  317. data/generators/foundation/public/stylesheets/foundation6/settings/_settings.scss +0 -869
  318. data/generators/foundation/public/stylesheets/foundation6/typography/_alignment.scss +0 -22
  319. data/generators/foundation/public/stylesheets/foundation6/typography/_base.scss +0 -509
  320. data/generators/foundation/public/stylesheets/foundation6/typography/_helpers.scss +0 -80
  321. data/generators/foundation/public/stylesheets/foundation6/typography/_print.scss +0 -86
  322. data/generators/foundation/public/stylesheets/foundation6/typography/_typography.scss +0 -26
  323. data/generators/foundation/public/stylesheets/foundation6/util/_breakpoint.scss +0 -348
  324. data/generators/foundation/public/stylesheets/foundation6/util/_color.scss +0 -129
  325. data/generators/foundation/public/stylesheets/foundation6/util/_direction.scss +0 -31
  326. data/generators/foundation/public/stylesheets/foundation6/util/_flex.scss +0 -85
  327. data/generators/foundation/public/stylesheets/foundation6/util/_math.scss +0 -72
  328. data/generators/foundation/public/stylesheets/foundation6/util/_mixins.scss +0 -313
  329. data/generators/foundation/public/stylesheets/foundation6/util/_selector.scss +0 -41
  330. data/generators/foundation/public/stylesheets/foundation6/util/_typography.scss +0 -26
  331. data/generators/foundation/public/stylesheets/foundation6/util/_unit.scss +0 -152
  332. data/generators/foundation/public/stylesheets/foundation6/util/_util.scss +0 -14
  333. data/generators/foundation/public/stylesheets/foundation6/util/_value.scss +0 -160
  334. data/generators/foundation/public/stylesheets/foundation6/vendor/normalize-scss/sass/_normalize.scss +0 -3
  335. data/generators/foundation/public/stylesheets/foundation6/vendor/normalize-scss/sass/normalize/_import-now.scss +0 -11
  336. data/generators/foundation/public/stylesheets/foundation6/vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +0 -676
  337. data/generators/foundation/public/stylesheets/foundation6/vendor/normalize-scss/sass/normalize/_variables.scss +0 -36
  338. data/generators/foundation/public/stylesheets/foundation6/vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +0 -61
  339. data/generators/foundation/public/stylesheets/foundation6/vendor/sassy-lists/stylesheets/functions/_contain.scss +0 -31
  340. data/generators/foundation/public/stylesheets/foundation6/vendor/sassy-lists/stylesheets/functions/_purge.scss +0 -38
  341. data/generators/foundation/public/stylesheets/foundation6/vendor/sassy-lists/stylesheets/functions/_remove.scss +0 -31
  342. data/generators/foundation/public/stylesheets/foundation6/vendor/sassy-lists/stylesheets/functions/_replace.scss +0 -46
  343. data/generators/foundation/public/stylesheets/foundation6/vendor/sassy-lists/stylesheets/functions/_to-list.scss +0 -27
  344. data/generators/foundation/public/stylesheets/foundation6/vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +0 -25
  345. data/generators/foundation/public/stylesheets/foundation6/vendor/sassy-lists/stylesheets/helpers/_true.scss +0 -13
  346. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_cell.scss +0 -169
  347. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_classes.scss +0 -476
  348. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_collapse.scss +0 -74
  349. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_frame.scss +0 -85
  350. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_grid.scss +0 -35
  351. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_gutters.scss +0 -45
  352. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_layout.scss +0 -33
  353. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_position.scss +0 -28
  354. data/generators/foundation/public/stylesheets/foundation6/xy-grid/_xy-grid.scss +0 -51
  355. data/generators/page/template.liquid.haml.tt +0 -47
  356. data/generators/snippet/template.liquid.haml.tt +0 -4
  357. data/lib/locomotive/wagon/generators/site/bootstrap.rb +0 -52
  358. data/lib/locomotive/wagon/generators/site/foundation.rb +0 -44
  359. data/lib/locomotive/wagon/generators/site/line_case.rb +0 -20
@@ -1,41 +0,0 @@
1
- // Foundation for Sites by ZURB
2
- // foundation.zurb.com
3
- // Licensed under MIT Open Source
4
-
5
- ////
6
- /// @group functions
7
- ////
8
-
9
- /// Generates a selector with every text input type. You can also filter the list to only output a subset of those selectors.
10
- ///
11
- /// @param {List|Keyword} $types [()] - A list of text input types to use. Leave blank to use all of them.
12
- /// @param {Keyword} $modifier [''] - A modifier to be applied to each text input type (e.g. a class or a pseudo-class). Leave blank to ignore.
13
- @function text-inputs($types: (), $modifier: '') {
14
- $return: ();
15
-
16
- $all-types:
17
- text
18
- password
19
- date
20
- datetime
21
- datetime-local
22
- month
23
- week
24
- email
25
- number
26
- search
27
- tel
28
- time
29
- url
30
- color;
31
-
32
- @if not has-value($types) {
33
- $types: $all-types;
34
- }
35
-
36
- @each $type in $types {
37
- $return: append($return, unquote('[type=\'#{$type}\']#{$modifier}'), comma);
38
- }
39
-
40
- @return $return;
41
- }
@@ -1,26 +0,0 @@
1
- // Foundation for Sites by ZURB
2
- // foundation.zurb.com
3
- // Licensed under MIT Open Source
4
-
5
- ////
6
- /// @group functions
7
- ////
8
-
9
- $-zf-font-stack: (
10
- 'georgia': (Georgia, "URW Bookman L", serif),
11
- 'helvetica': (Helvetica, Arial, "Nimbus Sans L", sans-serif),
12
- 'lucida-grande': ("Lucida Grande", "Lucida Sans Unicode", "Bitstream Vera Sans", sans-serif),
13
- 'monospace': ("Courier New", Courier, "Nimbus Sans L", monospace),
14
- 'system': (-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Helvetica Neue", Helvetica, Arial, sans-serif),
15
- 'verdana': (Verdana, Geneva, "DejaVu Sans", sans-serif),
16
- );
17
-
18
- /// Return a font stack list from a map. Equivalent to `map-safe-get($name, $-zf-font-stack)`.
19
- ///
20
- /// @param {String} $stack - Name of the font stack.
21
- /// @param {Map} $map [$-zf-font-stack] - Map of font stacks to retrieve a list from.
22
- ///
23
- /// @returns {List} Found font stack.
24
- @function font-stack($stack, $map: $-zf-font-stack) {
25
- @return map-safe-get($map, $stack);
26
- }
@@ -1,152 +0,0 @@
1
- // Foundation for Sites by ZURB
2
- // foundation.zurb.com
3
- // Licensed under MIT Open Source
4
-
5
- ////
6
- /// @group functions
7
- ////
8
-
9
- $global-font-size: 100% !default;
10
-
11
- /// Removes the unit (e.g. px, em, rem) from a value, returning the number only.
12
- ///
13
- /// @param {Number} $num - Number to strip unit from.
14
- ///
15
- /// @returns {Number} The same number, sans unit.
16
- @function strip-unit($num) {
17
- @return $num / ($num * 0 + 1);
18
- }
19
-
20
- /// Converts one or more pixel values into matching rem values.
21
- ///
22
- /// @param {Number|List} $values - One or more values to convert. Be sure to separate them with spaces and not commas. If you need to convert a comma-separated list, wrap the list in parentheses.
23
- /// @param {Number} $base [null] - The base value to use when calculating the `rem`. If you're using Foundation out of the box, this is 16px. If this parameter is `null`, the function will reference the `$base-font-size` variable as the base.
24
- ///
25
- /// @returns {List} A list of converted values.
26
- @function rem-calc($values, $base: null) {
27
- $rem-values: ();
28
- $count: length($values);
29
-
30
- // If no base is defined, defer to the global font size
31
- @if $base == null {
32
- $base: $global-font-size;
33
- }
34
-
35
- // If the base font size is a %, then multiply it by 16px
36
- // This is because 100% font size = 16px in most all browsers
37
- @if unit($base) == '%' {
38
- $base: ($base / 100%) * 16px;
39
- }
40
-
41
- // Using rem as base allows correct scaling
42
- @if unit($base) == 'rem' {
43
- $base: strip-unit($base) * 16px;
44
- }
45
-
46
- @if $count == 1 {
47
- @return -zf-to-rem($values, $base);
48
- }
49
-
50
- @for $i from 1 through $count {
51
- $rem-values: append($rem-values, -zf-to-rem(nth($values, $i), $base));
52
- }
53
-
54
- @return $rem-values;
55
- }
56
-
57
- // Converts a unitless, pixel, or rem value to em, for use in breakpoints.
58
- @function -zf-bp-to-em($value) {
59
- // Pixel and unitless values are converted to rems
60
- @if unit($value) == 'px' or unitless($value) {
61
- $value: rem-calc($value, $base: 16px);
62
- }
63
-
64
- // Then the value is converted to ems
65
- @return strip-unit($value) * 1em;
66
- }
67
-
68
- /// Converts a pixel value to matching rem value. *Any* value passed, regardless of unit, is assumed to be a pixel value. By default, the base pixel value used to calculate the rem value is taken from the `$global-font-size` variable.
69
- /// @access private
70
- ///
71
- /// @param {Number} $value - Pixel value to convert.
72
- /// @param {Number} $base [null] - Base for pixel conversion.
73
- ///
74
- /// @returns {Number} A number in rems, calculated based on the given value and the base pixel value. rem values are passed through as is.
75
- @function -zf-to-rem($value, $base: null) {
76
- // Check if the value is a number
77
- @if type-of($value) != 'number' {
78
- @warn inspect($value) + ' was passed to rem-calc(), which is not a number.';
79
- @return $value;
80
- }
81
-
82
- // Transform em into rem if someone hands over 'em's
83
- @if unit($value) == 'em' {
84
- $value: strip-unit($value) * 1rem;
85
- }
86
-
87
- // Calculate rem if units for $value is not rem or em
88
- @if unit($value) != 'rem' {
89
- $value: strip-unit($value) / strip-unit($base) * 1rem;
90
- }
91
-
92
- // Turn 0rem into 0
93
- @if $value == 0rem {
94
- $value: 0;
95
- }
96
-
97
- @return $value;
98
- }
99
-
100
- /// Converts a pixel, percentage, rem or em value to a unitless value based on a given font size. Ideal for working out unitless line heights.
101
- ///
102
- /// @param {Number} $value - Value to convert to a unitless line height
103
- /// @param {Number} $base - The font size to use to work out the line height - defaults to $global-font-size
104
- ///
105
- /// @return {Number} - Unitless number
106
- @function unitless-calc($value, $base: null) {
107
-
108
- // If no base is defined, defer to the global font size
109
- @if $base == null {
110
- $base: $global-font-size;
111
- }
112
-
113
- // First, lets convert our $base to pixels
114
-
115
- // If the base font size is a %, then multiply it by 16px
116
- @if unit($base) == '%' {
117
- $base: ($base / 100%) * 16px;
118
- }
119
-
120
- @if unit($base) == 'rem' {
121
- $base: strip-unit($base) * 16px;
122
- }
123
-
124
- @if unit($base) == 'em' {
125
- $base: strip-unit($base) * 16px;
126
- }
127
-
128
- // Now lets convert our value to pixels too
129
- @if unit($value) == '%' {
130
- $value: ($value / 100%) * $base;
131
- }
132
-
133
- @if unit($value) == 'rem' {
134
- $value: strip-unit($value) * $base;
135
- }
136
-
137
- @if unit($value) == 'em' {
138
- $value: strip-unit($value) * $base;
139
- }
140
-
141
- // 'px'
142
- @if unit($value) == 'px' {
143
- @return strip-unit($value) / strip-unit($base);
144
- }
145
-
146
- // assume that line-heights greatern then 10 are meant to be absolute in 'px'
147
- @if unitless($value) and ($value > 10) {
148
- @return $value / strip-unit($base);
149
- }
150
-
151
- @return $value;
152
- }
@@ -1,14 +0,0 @@
1
- // Foundation for Sites by ZURB
2
- // foundation.zurb.com
3
- // Licensed under MIT Open Source
4
-
5
- @import 'math';
6
- @import 'unit';
7
- @import 'value';
8
- @import 'direction';
9
- @import 'color';
10
- @import 'selector';
11
- @import 'flex';
12
- @import 'breakpoint';
13
- @import 'mixins';
14
- @import 'typography';
@@ -1,160 +0,0 @@
1
- // Foundation for Sites by ZURB
2
- // foundation.zurb.com
3
- // Licensed under MIT Open Source
4
-
5
- ////
6
- /// @group functions
7
- ////
8
-
9
- /// Determine if a value is not falsey, in CSS terms. Falsey values are `null`, `none`, `0` with any unit, or an empty list.
10
- ///
11
- /// @param {Mixed} $val - Value to check.
12
- ///
13
- /// @returns {Boolean} `true` if `$val` is not falsey.
14
- @function has-value($val) {
15
- @if $val == null or $val == none {
16
- @return false;
17
- }
18
- @if type-of($val) == 'number' and strip-unit($val) == 0 {
19
- @return false;
20
- }
21
- @if type-of($val) == 'list' and length($val) == 0 {
22
- @return false;
23
- }
24
- @return true;
25
- }
26
-
27
- /// Determine a top/right/bottom/right value on a padding, margin, etc. property, no matter how many values were passed in. Use this function if you need to know the specific side of a value, but don't know if the value is using a shorthand format.
28
- ///
29
- /// @param {List|Number} $val - Value to analyze. Should be a shorthand sizing property, e.g. "1em 2em 1em"
30
- /// @param {Keyword} $side - Side to return. Should be `top`, `right`, `bottom`, or `left`.
31
- ///
32
- /// @returns {Number} A single value based on `$val` and `$side`.
33
- @function get-side($val, $side) {
34
- $length: length($val);
35
-
36
- @if $length == 1 {
37
- @return $val;
38
- }
39
- @if $length == 2 {
40
- @return map-get((
41
- top: nth($val, 1),
42
- bottom: nth($val, 1),
43
- left: nth($val, 2),
44
- right: nth($val, 2),
45
- ), $side);
46
- }
47
- @if $length == 3 {
48
- @return map-get((
49
- top: nth($val, 1),
50
- left: nth($val, 2),
51
- right: nth($val, 2),
52
- bottom: nth($val, 3),
53
- ), $side);
54
- }
55
- @if $length == 4 {
56
- @return map-get((
57
- top: nth($val, 1),
58
- right: nth($val, 2),
59
- bottom: nth($val, 3),
60
- left: nth($val, 4),
61
- ), $side);
62
- }
63
- }
64
-
65
- /// Given border $val, find a specific element of the border, which is $elem. The possible values for $elem are width, style, and color.
66
- ///
67
- /// @param {List} $val - Border value to find a value in.
68
- /// @param {Keyword} $elem - Border component to extract.
69
- ///
70
- /// @returns {Mixed} If the value exists, returns the value. If the value is not in the border definition, the function will return a 0px width, solid style, or black border.
71
- @function get-border-value($val, $elem) {
72
- // Find the width, style, or color and return it
73
- @each $v in $val {
74
- $type: type-of($v);
75
- @if $elem == width and $type == 'number' {
76
- @return $v;
77
- }
78
- @if $elem == style and $type == 'string' {
79
- @return $v;
80
- }
81
- @if $elem == color and $type == 'color' {
82
- @return $v;
83
- }
84
- }
85
-
86
- // Defaults
87
- $defaults: (
88
- width: 0,
89
- style: solid,
90
- color: #000,
91
- );
92
-
93
- @return map-get($defaults, $elem);
94
- }
95
-
96
- /// Finds a value in a nested map.
97
- /// @link https://css-tricks.com/snippets/sass/deep-getset-maps/ Deep Get/Set in Maps
98
- ///
99
- /// @param {Map} $map - Map to pull a value from.
100
- /// @param {String} $keys... - Keys to use when looking for a value.
101
- /// @returns {Mixed} The value found in the map.
102
- @function map-deep-get($map, $keys...) {
103
- @each $key in $keys {
104
- $map: map-get($map, $key);
105
- }
106
- @return $map;
107
- }
108
-
109
- /// Casts a map into a list.
110
- /// @link http://hugogiraudel.com/2014/04/28/casting-map-into-list/
111
- ///
112
- /// @param {Map} $map - Map to pull a value from.
113
- ///
114
- /// @returns {List} Depending on the flag, returns either $keys or $values or both.
115
- @function map-to-list($map, $keep: 'both') {
116
- $keep: if(index('keys' 'values', $keep), $keep, 'both');
117
-
118
- @if type-of($map) == 'map' {
119
- $keys: ();
120
- $values: ();
121
-
122
- @each $key, $val in $map {
123
- $keys: append($keys, $key);
124
- $values: append($values, $val);
125
- }
126
-
127
- @if $keep == 'keys' {
128
- @return $keys;
129
- }
130
- @else if $keep == 'values' {
131
- @return $values;
132
- }
133
- @else {
134
- @return zip($keys, $values);
135
- }
136
- }
137
-
138
- @return if(type-of($map) != 'list', ($value,), $map);
139
-
140
- }
141
-
142
- /// Safely return a value from a map.
143
- ///
144
- /// @param {Map} $map - Map to retrieve a value from.
145
- /// @param {String} $key - Name of the map key.
146
- ///
147
- /// @returns {List} Found value.
148
- @function map-safe-get($map, $key) {
149
- @if (type-of($map) == 'map' or (type-of($map) == 'list' and length($map) == 0)) {
150
- @if (map-has-key($map, $key)) {
151
- @return map-get($map, $key);
152
- }
153
- @else {
154
- @error 'Key: `#{$key}` is not available in `#{$map}`';
155
- }
156
- }
157
- @else {
158
- @error '`#{$map}` is not a valid map';
159
- }
160
- }
@@ -1,3 +0,0 @@
1
- @import 'normalize/variables';
2
- @import 'normalize/vertical-rhythm';
3
- @import 'normalize/normalize-mixin';
@@ -1,11 +0,0 @@
1
- // Import Now
2
- //
3
- // If you import this module directly, it will immediately output all the CSS
4
- // needed to normalize default HTML elements across all browsers.
5
- //
6
- // ```
7
- // @import "normalize/import-now";
8
- // ```
9
-
10
- @import '../normalize';
11
- @include normalize();
@@ -1,676 +0,0 @@
1
- // Helper function for the normalize() mixin.
2
- @function _normalize-include($section, $exclude: null) {
3
- // Initialize the global variables needed by this function.
4
- @if not global_variable_exists(_normalize-include) {
5
- $_normalize-include: () !global;
6
- $_normalize-exclude: () !global;
7
- }
8
- // Since we are given 2 parameters, set the global variables.
9
- @if $exclude != null {
10
- $include: $section;
11
- // Sass doesn't have static variables, so the work-around is to stuff these
12
- // values into global variables so we can access them in future calls.
13
- $_normalize-include: if(type-of($include) == 'list', $include, ($include)) !global;
14
- $_normalize-exclude: if(type-of($exclude) == 'list', $exclude, ($exclude)) !global;
15
- @return true;
16
- }
17
-
18
- // Check if $section is in the $include list.
19
- @if index($_normalize-include, $section) {
20
- @return true;
21
- }
22
- // If $include is set to (all), make sure $section is not in $exclude.
23
- @else if not index($_normalize-exclude, $section) and index($_normalize-include, all) {
24
- @return true;
25
- }
26
- @return false;
27
- }
28
-
29
- @mixin normalize($include: (all), $exclude: ()) {
30
- // Initialize the helper function by passing it this mixin's parameters.
31
- $init: _normalize-include($include, $exclude);
32
-
33
- // If we've customized any font variables, we'll need extra properties.
34
- @if $base-font-size != 16px
35
- or $base-line-height != 24px
36
- or $base-unit != 'em'
37
- or $h1-font-size != 2 * $base-font-size
38
- or $h2-font-size != 1.5 * $base-font-size
39
- or $h3-font-size != 1.17 * $base-font-size
40
- or $h4-font-size != 1 * $base-font-size
41
- or $h5-font-size != 0.83 * $base-font-size
42
- or $h6-font-size != 0.67 * $base-font-size {
43
- $normalize-vertical-rhythm: true !global;
44
- }
45
-
46
- /*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
47
-
48
- @if _normalize-include(document) {
49
- /* Document
50
- ========================================================================== */
51
-
52
- /**
53
- * 1. Change the default font family in all browsers (opinionated).
54
- * 2. Correct the line height in all browsers.
55
- * 3. Prevent adjustments of font size after orientation changes in
56
- * IE on Windows Phone and in iOS.
57
- */
58
-
59
- html {
60
- font-family: $base-font-family; /* 1 */
61
- @if $normalize-vertical-rhythm {
62
- // Correct old browser bug that prevented accessible resizing of text
63
- // when root font-size is set with px or em.
64
- font-size: ($base-font-size / 16px) * 100%;
65
- line-height: ($base-line-height / $base-font-size) * 1em; /* 2 */
66
- }
67
- @else {
68
- line-height: 1.15; /* 2 */
69
- }
70
- -ms-text-size-adjust: 100%; /* 3 */
71
- -webkit-text-size-adjust: 100%; /* 3 */
72
- }
73
- }
74
-
75
- @if _normalize-include(sections) {
76
- /* Sections
77
- ========================================================================== */
78
-
79
- /**
80
- * Remove the margin in all browsers (opinionated).
81
- */
82
-
83
- body {
84
- margin: 0;
85
- }
86
-
87
- /**
88
- * Add the correct display in IE 9-.
89
- */
90
-
91
- article,
92
- aside,
93
- footer,
94
- header,
95
- nav,
96
- section {
97
- display: block;
98
- }
99
-
100
- /**
101
- * Correct the font size and margin on `h1` elements within `section` and
102
- * `article` contexts in Chrome, Firefox, and Safari.
103
- */
104
-
105
- h1 {
106
- @include normalize-font-size($h1-font-size);
107
- @if $normalize-vertical-rhythm {
108
- @include normalize-line-height($h1-font-size);
109
- }
110
-
111
- @if $normalize-vertical-rhythm {
112
- /* Set 1 unit of vertical rhythm on the top and bottom margins. */
113
- @include normalize-margin(1 0, $h1-font-size);
114
- }
115
- @else {
116
- margin: 0.67em 0;
117
- }
118
- }
119
-
120
- @if $normalize-vertical-rhythm {
121
- h2 {
122
- @include normalize-font-size($h2-font-size);
123
- @include normalize-line-height($h2-font-size);
124
- @include normalize-margin(1 0, $h2-font-size);
125
- }
126
-
127
- h3 {
128
- @include normalize-font-size($h3-font-size);
129
- @include normalize-line-height($h3-font-size);
130
- @include normalize-margin(1 0, $h3-font-size);
131
- }
132
-
133
- h4 {
134
- @include normalize-font-size($h4-font-size);
135
- @include normalize-line-height($h4-font-size);
136
- @include normalize-margin(1 0, $h4-font-size);
137
- }
138
-
139
- h5 {
140
- @include normalize-font-size($h5-font-size);
141
- @include normalize-line-height($h5-font-size);
142
- @include normalize-margin(1 0, $h5-font-size);
143
- }
144
-
145
- h6 {
146
- @include normalize-font-size($h6-font-size);
147
- @include normalize-line-height($h6-font-size);
148
- @include normalize-margin(1 0, $h6-font-size);
149
- }
150
- }
151
- }
152
-
153
- @if _normalize-include(grouping) {
154
- /* Grouping content
155
- ========================================================================== */
156
-
157
- @if $normalize-vertical-rhythm {
158
- /**
159
- * Set 1 unit of vertical rhythm on the top and bottom margin.
160
- */
161
-
162
- blockquote {
163
- @include normalize-margin(1 $indent-amount);
164
- }
165
-
166
- dl,
167
- ol,
168
- ul {
169
- @include normalize-margin(1 0);
170
- }
171
-
172
- /**
173
- * Turn off margins on nested lists.
174
- */
175
-
176
- ol,
177
- ul {
178
- ol,
179
- ul {
180
- margin: 0;
181
- }
182
- }
183
-
184
- dd {
185
- margin: 0 0 0 $indent-amount;
186
- }
187
-
188
- ol,
189
- ul {
190
- padding: 0 0 0 $indent-amount;
191
- }
192
- }
193
-
194
- /**
195
- * Add the correct display in IE 9-.
196
- */
197
-
198
- figcaption,
199
- figure {
200
- display: block;
201
- }
202
-
203
- /**
204
- * Add the correct margin in IE 8.
205
- */
206
-
207
- figure {
208
- @if $normalize-vertical-rhythm {
209
- @include normalize-margin(1 $indent-amount);
210
- }
211
- @else {
212
- margin: 1em $indent-amount;
213
- }
214
- }
215
-
216
- /**
217
- * 1. Add the correct box sizing in Firefox.
218
- * 2. Show the overflow in Edge and IE.
219
- */
220
-
221
- hr {
222
- box-sizing: content-box; /* 1 */
223
- height: 0; /* 1 */
224
- overflow: visible; /* 2 */
225
- }
226
-
227
- /**
228
- * Add the correct display in IE.
229
- */
230
-
231
- main {
232
- display: block;
233
- }
234
-
235
- @if $normalize-vertical-rhythm {
236
- /**
237
- * Set 1 unit of vertical rhythm on the top and bottom margin.
238
- */
239
-
240
- p,
241
- pre {
242
- @include normalize-margin(1 0);
243
- }
244
- }
245
-
246
- /**
247
- * 1. Correct the inheritance and scaling of font size in all browsers.
248
- * 2. Correct the odd `em` font sizing in all browsers.
249
- */
250
-
251
- pre {
252
- font-family: monospace, monospace; /* 1 */
253
- font-size: 1em; /* 2 */
254
- }
255
- }
256
-
257
- @if _normalize-include(links) {
258
- /* Links
259
- ========================================================================== */
260
-
261
- /**
262
- * 1. Remove the gray background on active links in IE 10.
263
- * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
264
- */
265
-
266
- a {
267
- background-color: transparent; /* 1 */
268
- -webkit-text-decoration-skip: objects; /* 2 */
269
- }
270
-
271
- /**
272
- * Remove the outline on focused links when they are also active or hovered
273
- * in all browsers (opinionated).
274
- */
275
-
276
- a:active,
277
- a:hover {
278
- outline-width: 0;
279
- }
280
- }
281
-
282
- @if _normalize-include(text) {
283
- /* Text-level semantics
284
- ========================================================================== */
285
-
286
- /**
287
- * 1. Remove the bottom border in Firefox 39-.
288
- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
289
- */
290
-
291
- abbr[title] {
292
- border-bottom: none; /* 1 */
293
- text-decoration: underline; /* 2 */
294
- text-decoration: underline dotted; /* 2 */
295
- }
296
-
297
- /**
298
- * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
299
- */
300
-
301
- b,
302
- strong {
303
- font-weight: inherit;
304
- }
305
-
306
- /**
307
- * Add the correct font weight in Chrome, Edge, and Safari.
308
- */
309
-
310
- b,
311
- strong {
312
- font-weight: bolder;
313
- }
314
-
315
- /**
316
- * 1. Correct the inheritance and scaling of font size in all browsers.
317
- * 2. Correct the odd `em` font sizing in all browsers.
318
- */
319
-
320
- code,
321
- kbd,
322
- samp {
323
- font-family: monospace, monospace; /* 1 */
324
- font-size: 1em; /* 2 */
325
- }
326
-
327
- /**
328
- * Add the correct font style in Android 4.3-.
329
- */
330
-
331
- dfn {
332
- font-style: italic;
333
- }
334
-
335
- /**
336
- * Add the correct background and color in IE 9-.
337
- */
338
-
339
- mark {
340
- background-color: #ff0;
341
- color: #000;
342
- }
343
-
344
- /**
345
- * Add the correct font size in all browsers.
346
- */
347
-
348
- small {
349
- font-size: 80%;
350
- }
351
-
352
- /**
353
- * Prevent `sub` and `sup` elements from affecting the line height in
354
- * all browsers.
355
- */
356
-
357
- sub,
358
- sup {
359
- font-size: 75%;
360
- line-height: 0;
361
- position: relative;
362
- vertical-align: baseline;
363
- }
364
-
365
- sub {
366
- bottom: -0.25em;
367
- }
368
-
369
- sup {
370
- top: -0.5em;
371
- }
372
- }
373
-
374
- @if _normalize-include(embedded) {
375
- /* Embedded content
376
- ========================================================================== */
377
-
378
- /**
379
- * Add the correct display in IE 9-.
380
- */
381
-
382
- audio,
383
- video {
384
- display: inline-block;
385
- }
386
-
387
- /**
388
- * Add the correct display in iOS 4-7.
389
- */
390
-
391
- audio:not([controls]) {
392
- display: none;
393
- height: 0;
394
- }
395
-
396
- /**
397
- * Remove the border on images inside links in IE 10-.
398
- */
399
-
400
- img {
401
- border-style: none;
402
- }
403
-
404
- /**
405
- * Hide the overflow in IE.
406
- */
407
-
408
- svg:not(:root) {
409
- overflow: hidden;
410
- }
411
- }
412
-
413
- @if _normalize-include(forms) {
414
- /* Forms
415
- ========================================================================== */
416
-
417
- /**
418
- * 1. Change the font styles in all browsers (opinionated).
419
- * 2. Remove the margin in Firefox and Safari.
420
- */
421
-
422
- button,
423
- input,
424
- optgroup,
425
- select,
426
- textarea {
427
- font-family: $base-font-family; /* 1 */
428
- font-size: 100%; /* 1 */
429
- @if $normalize-vertical-rhythm {
430
- line-height: ($base-line-height / $base-font-size) * 1em; /* 1 */
431
- }
432
- @else {
433
- line-height: 1.15; /* 1 */
434
- }
435
- margin: 0; /* 2 */
436
- }
437
-
438
- /**
439
- * Show the overflow in IE.
440
- */
441
-
442
- button {
443
- overflow: visible;
444
- }
445
-
446
- /**
447
- * Remove the inheritance of text transform in Edge, Firefox, and IE.
448
- * 1. Remove the inheritance of text transform in Firefox.
449
- */
450
-
451
- button,
452
- select { /* 1 */
453
- text-transform: none;
454
- }
455
-
456
- /**
457
- * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
458
- * controls in Android 4.
459
- * 2. Correct the inability to style clickable types in iOS and Safari.
460
- */
461
-
462
- button,
463
- html [type="button"], /* 1 */
464
- [type="reset"],
465
- [type="submit"] {
466
- -webkit-appearance: button; /* 2 */
467
- }
468
-
469
- button,
470
- [type="button"],
471
- [type="reset"],
472
- [type="submit"] {
473
-
474
- /**
475
- * Remove the inner border and padding in Firefox.
476
- */
477
-
478
- &::-moz-focus-inner {
479
- border-style: none;
480
- padding: 0;
481
- }
482
-
483
- /**
484
- * Restore the focus styles unset by the previous rule.
485
- */
486
-
487
- &:-moz-focusring {
488
- outline: 1px dotted ButtonText;
489
- }
490
- }
491
-
492
- /**
493
- * Show the overflow in Edge.
494
- */
495
-
496
- input {
497
- overflow: visible;
498
- }
499
-
500
- /**
501
- * 1. Add the correct box sizing in IE 10-.
502
- * 2. Remove the padding in IE 10-.
503
- */
504
-
505
- [type="checkbox"],
506
- [type="radio"] {
507
- box-sizing: border-box; /* 1 */
508
- padding: 0; /* 2 */
509
- }
510
-
511
- /**
512
- * Correct the cursor style of increment and decrement buttons in Chrome.
513
- */
514
-
515
- [type="number"]::-webkit-inner-spin-button,
516
- [type="number"]::-webkit-outer-spin-button {
517
- height: auto;
518
- }
519
-
520
- /**
521
- * 1. Correct the odd appearance in Chrome and Safari.
522
- * 2. Correct the outline style in Safari.
523
- */
524
-
525
- [type="search"] {
526
- -webkit-appearance: textfield; /* 1 */
527
- outline-offset: -2px; /* 2 */
528
-
529
- /**
530
- * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
531
- */
532
-
533
- &::-webkit-search-cancel-button,
534
- &::-webkit-search-decoration {
535
- -webkit-appearance: none;
536
- }
537
- }
538
-
539
- /**
540
- * 1. Correct the inability to style clickable types in iOS and Safari.
541
- * 2. Change font properties to `inherit` in Safari.
542
- */
543
-
544
- ::-webkit-file-upload-button {
545
- -webkit-appearance: button; /* 1 */
546
- font: inherit; /* 2 */
547
- }
548
-
549
- /**
550
- * Change the border, margin, and padding in all browsers (opinionated).
551
- */
552
-
553
- fieldset {
554
- border: 1px solid #c0c0c0;
555
- margin: 0 2px;
556
- padding: 0.35em 0.625em 0.75em;
557
- }
558
-
559
- /**
560
- * 1. Correct the text wrapping in Edge and IE.
561
- * 2. Correct the color inheritance from `fieldset` elements in IE.
562
- * 3. Remove the padding so developers are not caught out when they zero out
563
- * `fieldset` elements in all browsers.
564
- */
565
-
566
- legend {
567
- box-sizing: border-box; /* 1 */
568
- display: table; /* 1 */
569
- max-width: 100%; /* 1 */
570
- padding: 0; /* 3 */
571
- color: inherit; /* 2 */
572
- white-space: normal; /* 1 */
573
- }
574
-
575
- /**
576
- * 1. Add the correct display in IE 9-.
577
- * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
578
- */
579
-
580
- progress {
581
- display: inline-block; /* 1 */
582
- vertical-align: baseline; /* 2 */
583
- }
584
-
585
- /**
586
- * Remove the default vertical scrollbar in IE.
587
- */
588
-
589
- textarea {
590
- overflow: auto;
591
- }
592
- }
593
-
594
- @if _normalize-include(interactive) {
595
- /* Interactive
596
- ========================================================================== */
597
-
598
- /*
599
- * Add the correct display in Edge, IE, and Firefox.
600
- */
601
-
602
- details {
603
- display: block;
604
- }
605
-
606
- /*
607
- * Add the correct display in all browsers.
608
- */
609
-
610
- summary {
611
- display: list-item;
612
- }
613
-
614
- /*
615
- * Add the correct display in IE 9-.
616
- */
617
-
618
- menu {
619
- display: block;
620
-
621
- @if $normalize-vertical-rhythm {
622
- /*
623
- * 1. Set 1 unit of vertical rhythm on the top and bottom margin.
624
- * 2. Set consistent space for the list style image.
625
- */
626
-
627
- @include normalize-margin(1 0); /* 1 */
628
- padding: 0 0 0 $indent-amount; /* 2 */
629
-
630
- /**
631
- * Turn off margins on nested lists.
632
- */
633
-
634
- menu &,
635
- ol &,
636
- ul & {
637
- margin: 0;
638
- }
639
- }
640
- }
641
- }
642
-
643
- @if _normalize-include(scripting) {
644
- /* Scripting
645
- ========================================================================== */
646
-
647
- /**
648
- * Add the correct display in IE 9-.
649
- */
650
-
651
- canvas {
652
- display: inline-block;
653
- }
654
-
655
- /**
656
- * Add the correct display in IE.
657
- */
658
-
659
- template {
660
- display: none;
661
- }
662
- }
663
-
664
- @if _normalize-include(hidden) {
665
- /* Hidden
666
- ========================================================================== */
667
-
668
- /**
669
- * Add the correct display in IE 10-.
670
- */
671
-
672
- [hidden] {
673
- display: none;
674
- }
675
- }
676
- }