easy_html_creator 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (268) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -2
  3. data/dev_root/demo-website-offline/coffee/test.coffee +28 -0
  4. data/dev_root/demo-website-offline/helper/test_helper.rb +5 -0
  5. data/dev_root/demo-website-offline/index.haml +109 -0
  6. data/dev_root/demo-website-offline/layout.haml +13 -0
  7. data/dev_root/demo-website-offline/partials/_assets.javascripts.haml +7 -0
  8. data/dev_root/{demo-website/partials/_metadata.haml → demo-website-offline/partials/_assets.metadata.haml} +3 -0
  9. data/dev_root/demo-website-offline/partials/_assets.stylesheets.haml +4 -0
  10. data/dev_root/demo-website-offline/partials/_footer.haml +5 -0
  11. data/dev_root/demo-website-offline/partials/_header.haml +27 -0
  12. data/dev_root/demo-website-offline/public/bower.json +21 -0
  13. data/dev_root/demo-website-offline/public/bower_components/bootstrap/Gruntfile.js +509 -0
  14. data/dev_root/demo-website-offline/public/bower_components/bootstrap/LICENSE +21 -0
  15. data/dev_root/demo-website-offline/public/bower_components/bootstrap/README.md +132 -0
  16. data/dev_root/demo-website-offline/public/bower_components/bootstrap/bower.json +38 -0
  17. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/css/bootstrap-theme.css +476 -0
  18. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/css/bootstrap-theme.css.map +1 -0
  19. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +5 -0
  20. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/css/bootstrap.css +6566 -0
  21. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/css/bootstrap.css.map +1 -0
  22. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/css/bootstrap.min.css +5 -0
  23. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  24. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +288 -0
  25. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  26. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  27. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
  28. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/js/bootstrap.js +2306 -0
  29. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/js/bootstrap.min.js +7 -0
  30. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/js/npm.js +13 -0
  31. data/dev_root/demo-website-offline/public/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  32. data/dev_root/demo-website-offline/public/bower_components/bootstrap/fonts/glyphicons-halflings-regular.svg +288 -0
  33. data/dev_root/demo-website-offline/public/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  34. data/dev_root/demo-website-offline/public/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  35. data/dev_root/demo-website-offline/public/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
  36. data/dev_root/demo-website-offline/public/bower_components/bootstrap/grunt/bs-commonjs-generator.js +23 -0
  37. data/dev_root/demo-website-offline/public/bower_components/bootstrap/grunt/bs-glyphicons-data-generator.js +41 -0
  38. data/dev_root/demo-website-offline/public/bower_components/bootstrap/grunt/bs-lessdoc-parser.js +238 -0
  39. data/dev_root/demo-website-offline/public/bower_components/bootstrap/grunt/bs-raw-files-generator.js +46 -0
  40. data/dev_root/demo-website-offline/public/bower_components/bootstrap/grunt/configBridge.json +45 -0
  41. data/dev_root/demo-website-offline/public/bower_components/bootstrap/grunt/sauce_browsers.yml +82 -0
  42. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/affix.js +162 -0
  43. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/alert.js +94 -0
  44. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/button.js +116 -0
  45. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/carousel.js +237 -0
  46. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/collapse.js +211 -0
  47. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/dropdown.js +161 -0
  48. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/modal.js +324 -0
  49. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/popover.js +113 -0
  50. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/scrollspy.js +175 -0
  51. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/tab.js +153 -0
  52. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/tooltip.js +472 -0
  53. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/transition.js +59 -0
  54. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/alerts.less +73 -0
  55. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/badges.less +65 -0
  56. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/bootstrap.less +50 -0
  57. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/breadcrumbs.less +26 -0
  58. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/button-groups.less +243 -0
  59. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/buttons.less +160 -0
  60. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/carousel.less +269 -0
  61. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/close.less +34 -0
  62. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/code.less +69 -0
  63. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/component-animations.less +34 -0
  64. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/dropdowns.less +214 -0
  65. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/forms.less +566 -0
  66. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/glyphicons.less +301 -0
  67. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/grid.less +84 -0
  68. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/input-groups.less +166 -0
  69. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/jumbotron.less +50 -0
  70. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/labels.less +64 -0
  71. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/list-group.less +124 -0
  72. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/media.less +61 -0
  73. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins.less +39 -0
  74. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/alerts.less +14 -0
  75. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/background-variant.less +8 -0
  76. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/border-radius.less +18 -0
  77. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/buttons.less +52 -0
  78. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/center-block.less +7 -0
  79. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/clearfix.less +22 -0
  80. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/forms.less +85 -0
  81. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/gradients.less +59 -0
  82. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/grid-framework.less +91 -0
  83. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/grid.less +122 -0
  84. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/hide-text.less +21 -0
  85. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/image.less +33 -0
  86. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/labels.less +12 -0
  87. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/list-group.less +29 -0
  88. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/nav-divider.less +10 -0
  89. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/nav-vertical-align.less +9 -0
  90. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/opacity.less +8 -0
  91. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/pagination.less +23 -0
  92. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/panels.less +24 -0
  93. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/progress-bar.less +10 -0
  94. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/reset-filter.less +8 -0
  95. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/resize.less +6 -0
  96. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/responsive-visibility.less +15 -0
  97. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/size.less +10 -0
  98. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/tab-focus.less +9 -0
  99. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/table-row.less +28 -0
  100. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/text-emphasis.less +8 -0
  101. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/text-overflow.less +8 -0
  102. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/vendor-prefixes.less +227 -0
  103. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/modals.less +148 -0
  104. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/navbar.less +661 -0
  105. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/navs.less +244 -0
  106. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/normalize.less +427 -0
  107. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/pager.less +54 -0
  108. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/pagination.less +88 -0
  109. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/panels.less +265 -0
  110. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/popovers.less +135 -0
  111. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/print.less +107 -0
  112. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/progress-bars.less +87 -0
  113. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/responsive-embed.less +35 -0
  114. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/responsive-utilities.less +194 -0
  115. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/scaffolding.less +150 -0
  116. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/tables.less +234 -0
  117. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/theme.less +273 -0
  118. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/thumbnails.less +36 -0
  119. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/tooltip.less +103 -0
  120. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/type.less +302 -0
  121. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/utilities.less +56 -0
  122. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/variables.less +857 -0
  123. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/wells.less +29 -0
  124. data/dev_root/demo-website-offline/public/bower_components/bootstrap/package.json +83 -0
  125. data/dev_root/demo-website-offline/public/bower_components/html5shiv/Gruntfile.js +61 -0
  126. data/dev_root/demo-website-offline/public/bower_components/html5shiv/bower.json +15 -0
  127. data/dev_root/demo-website-offline/public/bower_components/html5shiv/dist/html5shiv-printshiv.js +520 -0
  128. data/dev_root/demo-website-offline/public/bower_components/html5shiv/dist/html5shiv-printshiv.min.js +4 -0
  129. data/dev_root/demo-website-offline/public/bower_components/html5shiv/dist/html5shiv.js +322 -0
  130. data/dev_root/demo-website-offline/public/bower_components/html5shiv/dist/html5shiv.min.js +4 -0
  131. data/dev_root/demo-website-offline/public/bower_components/html5shiv/package.json +16 -0
  132. data/dev_root/demo-website-offline/public/bower_components/html5shiv/readme.md +152 -0
  133. data/dev_root/demo-website-offline/public/bower_components/jquery/MIT-LICENSE.txt +21 -0
  134. data/dev_root/demo-website-offline/public/bower_components/jquery/bower.json +27 -0
  135. data/dev_root/demo-website-offline/public/bower_components/jquery/dist/jquery.js +9205 -0
  136. data/dev_root/demo-website-offline/public/bower_components/jquery/dist/jquery.min.js +5 -0
  137. data/dev_root/demo-website-offline/public/bower_components/jquery/dist/jquery.min.map +1 -0
  138. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax.js +786 -0
  139. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax/jsonp.js +89 -0
  140. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax/load.js +75 -0
  141. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax/parseJSON.js +13 -0
  142. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax/parseXML.js +28 -0
  143. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax/script.js +64 -0
  144. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax/var/nonce.js +5 -0
  145. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax/var/rquery.js +3 -0
  146. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax/xhr.js +136 -0
  147. data/dev_root/demo-website-offline/public/bower_components/jquery/src/attributes.js +11 -0
  148. data/dev_root/demo-website-offline/public/bower_components/jquery/src/attributes/attr.js +141 -0
  149. data/dev_root/demo-website-offline/public/bower_components/jquery/src/attributes/classes.js +158 -0
  150. data/dev_root/demo-website-offline/public/bower_components/jquery/src/attributes/prop.js +94 -0
  151. data/dev_root/demo-website-offline/public/bower_components/jquery/src/attributes/support.js +35 -0
  152. data/dev_root/demo-website-offline/public/bower_components/jquery/src/attributes/val.js +161 -0
  153. data/dev_root/demo-website-offline/public/bower_components/jquery/src/callbacks.js +205 -0
  154. data/dev_root/demo-website-offline/public/bower_components/jquery/src/core.js +497 -0
  155. data/dev_root/demo-website-offline/public/bower_components/jquery/src/core/access.js +60 -0
  156. data/dev_root/demo-website-offline/public/bower_components/jquery/src/core/init.js +123 -0
  157. data/dev_root/demo-website-offline/public/bower_components/jquery/src/core/parseHTML.js +39 -0
  158. data/dev_root/demo-website-offline/public/bower_components/jquery/src/core/ready.js +97 -0
  159. data/dev_root/demo-website-offline/public/bower_components/jquery/src/core/var/rsingleTag.js +4 -0
  160. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css.js +450 -0
  161. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/addGetHookIf.js +22 -0
  162. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/curCSS.js +57 -0
  163. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/defaultDisplay.js +70 -0
  164. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  165. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/support.js +96 -0
  166. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/swap.js +28 -0
  167. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/var/cssExpand.js +3 -0
  168. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/var/getStyles.js +12 -0
  169. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/var/isHidden.js +13 -0
  170. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/var/rmargin.js +3 -0
  171. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
  172. data/dev_root/demo-website-offline/public/bower_components/jquery/src/data.js +178 -0
  173. data/dev_root/demo-website-offline/public/bower_components/jquery/src/data/Data.js +181 -0
  174. data/dev_root/demo-website-offline/public/bower_components/jquery/src/data/accepts.js +20 -0
  175. data/dev_root/demo-website-offline/public/bower_components/jquery/src/data/var/data_priv.js +5 -0
  176. data/dev_root/demo-website-offline/public/bower_components/jquery/src/data/var/data_user.js +5 -0
  177. data/dev_root/demo-website-offline/public/bower_components/jquery/src/deferred.js +149 -0
  178. data/dev_root/demo-website-offline/public/bower_components/jquery/src/deprecated.js +13 -0
  179. data/dev_root/demo-website-offline/public/bower_components/jquery/src/dimensions.js +50 -0
  180. data/dev_root/demo-website-offline/public/bower_components/jquery/src/effects.js +648 -0
  181. data/dev_root/demo-website-offline/public/bower_components/jquery/src/effects/Tween.js +114 -0
  182. data/dev_root/demo-website-offline/public/bower_components/jquery/src/effects/animatedSelector.js +13 -0
  183. data/dev_root/demo-website-offline/public/bower_components/jquery/src/event.js +868 -0
  184. data/dev_root/demo-website-offline/public/bower_components/jquery/src/event/ajax.js +13 -0
  185. data/dev_root/demo-website-offline/public/bower_components/jquery/src/event/alias.js +39 -0
  186. data/dev_root/demo-website-offline/public/bower_components/jquery/src/event/support.js +9 -0
  187. data/dev_root/demo-website-offline/public/bower_components/jquery/src/exports/amd.js +24 -0
  188. data/dev_root/demo-website-offline/public/bower_components/jquery/src/exports/global.js +32 -0
  189. data/dev_root/demo-website-offline/public/bower_components/jquery/src/intro.js +44 -0
  190. data/dev_root/demo-website-offline/public/bower_components/jquery/src/jquery.js +37 -0
  191. data/dev_root/demo-website-offline/public/bower_components/jquery/src/manipulation.js +580 -0
  192. data/dev_root/demo-website-offline/public/bower_components/jquery/src/manipulation/_evalUrl.js +18 -0
  193. data/dev_root/demo-website-offline/public/bower_components/jquery/src/manipulation/support.js +32 -0
  194. data/dev_root/demo-website-offline/public/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  195. data/dev_root/demo-website-offline/public/bower_components/jquery/src/offset.js +207 -0
  196. data/dev_root/demo-website-offline/public/bower_components/jquery/src/outro.js +1 -0
  197. data/dev_root/demo-website-offline/public/bower_components/jquery/src/queue.js +142 -0
  198. data/dev_root/demo-website-offline/public/bower_components/jquery/src/queue/delay.js +22 -0
  199. data/dev_root/demo-website-offline/public/bower_components/jquery/src/selector-native.js +172 -0
  200. data/dev_root/demo-website-offline/public/bower_components/jquery/src/selector-sizzle.js +14 -0
  201. data/dev_root/demo-website-offline/public/bower_components/jquery/src/selector.js +1 -0
  202. data/dev_root/demo-website-offline/public/bower_components/jquery/src/serialize.js +111 -0
  203. data/dev_root/demo-website-offline/public/bower_components/jquery/src/sizzle/dist/sizzle.js +2067 -0
  204. data/dev_root/demo-website-offline/public/bower_components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  205. data/dev_root/demo-website-offline/public/bower_components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  206. data/dev_root/demo-website-offline/public/bower_components/jquery/src/traversing.js +199 -0
  207. data/dev_root/demo-website-offline/public/bower_components/jquery/src/traversing/findFilter.js +100 -0
  208. data/dev_root/demo-website-offline/public/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
  209. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/arr.js +3 -0
  210. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/class2type.js +4 -0
  211. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/concat.js +5 -0
  212. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/hasOwn.js +5 -0
  213. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/indexOf.js +5 -0
  214. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/pnum.js +3 -0
  215. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/push.js +5 -0
  216. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/rnotwhite.js +3 -0
  217. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/slice.js +5 -0
  218. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/strundefined.js +3 -0
  219. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/support.js +4 -0
  220. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/toString.js +5 -0
  221. data/dev_root/demo-website-offline/public/bower_components/jquery/src/wrap.js +79 -0
  222. data/dev_root/demo-website-offline/public/bower_components/respond/Gruntfile.js +90 -0
  223. data/dev_root/demo-website-offline/public/bower_components/respond/LICENSE-MIT +22 -0
  224. data/dev_root/demo-website-offline/public/bower_components/respond/README.md +114 -0
  225. data/dev_root/demo-website-offline/public/bower_components/respond/bower.json +10 -0
  226. data/dev_root/demo-website-offline/public/bower_components/respond/cross-domain/example.html +24 -0
  227. data/dev_root/demo-website-offline/public/bower_components/respond/cross-domain/respond-proxy.html +96 -0
  228. data/dev_root/demo-website-offline/public/bower_components/respond/cross-domain/respond.proxy.gif +0 -0
  229. data/dev_root/demo-website-offline/public/bower_components/respond/cross-domain/respond.proxy.js +127 -0
  230. data/dev_root/demo-website-offline/public/bower_components/respond/dest/respond.matchmedia.addListener.min.js +5 -0
  231. data/dev_root/demo-website-offline/public/bower_components/respond/dest/respond.matchmedia.addListener.src.js +273 -0
  232. data/dev_root/demo-website-offline/public/bower_components/respond/dest/respond.min.js +5 -0
  233. data/dev_root/demo-website-offline/public/bower_components/respond/dest/respond.src.js +224 -0
  234. data/dev_root/demo-website-offline/public/bower_components/respond/package.json +32 -0
  235. data/dev_root/demo-website-offline/public/bower_components/respond/src/matchmedia.addListener.js +76 -0
  236. data/dev_root/demo-website-offline/public/bower_components/respond/src/matchmedia.polyfill.js +36 -0
  237. data/dev_root/demo-website-offline/public/bower_components/respond/src/respond.js +341 -0
  238. data/dev_root/demo-website-offline/public/fonts/OpenSans400.css +64 -0
  239. data/dev_root/demo-website-offline/public/fonts/OpenSans400italic.css +64 -0
  240. data/dev_root/demo-website-offline/public/fonts/OpenSans600.css +64 -0
  241. data/dev_root/demo-website-offline/public/images/easy-way.jpg +0 -0
  242. data/dev_root/demo-website-offline/public/robots.txt +0 -0
  243. data/dev_root/demo-website-offline/sass/main.sass +44 -0
  244. data/dev_root/demo-website/helper/test_helper.rb +2 -2
  245. data/dev_root/demo-website/index.haml +102 -12
  246. data/dev_root/demo-website/layout.haml +6 -3
  247. data/dev_root/demo-website/partials/{_assets.haml → _assets.javascripts.haml} +0 -4
  248. data/dev_root/demo-website/partials/_assets.metadata.haml +12 -0
  249. data/dev_root/demo-website/partials/_assets.stylesheets.haml +9 -0
  250. data/dev_root/demo-website/partials/_footer.haml +5 -1
  251. data/dev_root/demo-website/partials/_header.haml +27 -1
  252. data/dev_root/demo-website/sass/main.sass +43 -2
  253. data/dev_root/shared/helper/shared_helper.rb +2 -2
  254. data/dev_root/shared/sass/mixins/_arrows.sass +32 -0
  255. data/dev_root/shared/sass/mixins/_buttons.sass +32 -0
  256. data/dev_root/shared/sass/{_css3.sass → mixins/_css3.sass} +0 -0
  257. data/dev_root/shared/sass/mixins/_helper.sass +70 -0
  258. data/dev_root/shared/sass/mixins/_normalize.sass +340 -0
  259. data/dev_root/shared/sass/mixins/_reset.sass +46 -0
  260. data/lib/generator/generator.rb +2 -1
  261. data/lib/generator/haml_generator.rb +13 -14
  262. data/lib/generator/helper/activesupport_override.rb +13 -5
  263. data/lib/generator/sass_generator.rb +2 -0
  264. data/lib/generator/structure_generator.rb +12 -2
  265. data/lib/server/dispatcher.rb +43 -30
  266. data/lib/server/response.rb +4 -4
  267. data/lib/server/server.rb +3 -2
  268. metadata +253 -7
@@ -0,0 +1,5 @@
1
+ /*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl
2
+ * Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT
3
+ * */
4
+
5
+ !function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='&shy;<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";if(a.matchMedia&&a.matchMedia("all").addListener)return!1;var b=a.matchMedia,c=b("only all").matches,d=!1,e=0,f=[],g=function(){a.clearTimeout(e),e=a.setTimeout(function(){for(var c=0,d=f.length;d>c;c++){var e=f[c].mql,g=f[c].listeners||[],h=b(e.media).matches;if(h!==e.matches){e.matches=h;for(var i=0,j=g.length;j>i;i++)g[i].call(a,e)}}},30)};a.matchMedia=function(e){var h=b(e),i=[],j=0;return h.addListener=function(b){c&&(d||(d=!0,a.addEventListener("resize",g,!0)),0===j&&(j=f.push({mql:h,listeners:i})),i.push(b))},h.removeListener=function(a){for(var b=0,c=i.length;c>b;b++)i[b]===a&&i.splice(b,1)},h}}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b<s.length;b++){var c=s[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!o[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(v(c.styleSheet.rawCssText,e,f),o[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!r||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}w()};x(),c.update=x,c.getEmValue=t,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this);
@@ -0,0 +1,273 @@
1
+ /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
2
+ /*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */
3
+ (function(w) {
4
+ "use strict";
5
+ w.matchMedia = w.matchMedia || function(doc, undefined) {
6
+ var bool, docElem = doc.documentElement, refNode = docElem.firstElementChild || docElem.firstChild, fakeBody = doc.createElement("body"), div = doc.createElement("div");
7
+ div.id = "mq-test-1";
8
+ div.style.cssText = "position:absolute;top:-100em";
9
+ fakeBody.style.background = "none";
10
+ fakeBody.appendChild(div);
11
+ return function(q) {
12
+ div.innerHTML = '&shy;<style media="' + q + '"> #mq-test-1 { width: 42px; }</style>';
13
+ docElem.insertBefore(fakeBody, refNode);
14
+ bool = div.offsetWidth === 42;
15
+ docElem.removeChild(fakeBody);
16
+ return {
17
+ matches: bool,
18
+ media: q
19
+ };
20
+ };
21
+ }(w.document);
22
+ })(this);
23
+
24
+ /*! matchMedia() polyfill addListener/removeListener extension. Author & copyright (c) 2012: Scott Jehl. Dual MIT/BSD license */
25
+ (function(w) {
26
+ "use strict";
27
+ if (w.matchMedia && w.matchMedia("all").addListener) {
28
+ return false;
29
+ }
30
+ var localMatchMedia = w.matchMedia, hasMediaQueries = localMatchMedia("only all").matches, isListening = false, timeoutID = 0, queries = [], handleChange = function(evt) {
31
+ w.clearTimeout(timeoutID);
32
+ timeoutID = w.setTimeout(function() {
33
+ for (var i = 0, il = queries.length; i < il; i++) {
34
+ var mql = queries[i].mql, listeners = queries[i].listeners || [], matches = localMatchMedia(mql.media).matches;
35
+ if (matches !== mql.matches) {
36
+ mql.matches = matches;
37
+ for (var j = 0, jl = listeners.length; j < jl; j++) {
38
+ listeners[j].call(w, mql);
39
+ }
40
+ }
41
+ }
42
+ }, 30);
43
+ };
44
+ w.matchMedia = function(media) {
45
+ var mql = localMatchMedia(media), listeners = [], index = 0;
46
+ mql.addListener = function(listener) {
47
+ if (!hasMediaQueries) {
48
+ return;
49
+ }
50
+ if (!isListening) {
51
+ isListening = true;
52
+ w.addEventListener("resize", handleChange, true);
53
+ }
54
+ if (index === 0) {
55
+ index = queries.push({
56
+ mql: mql,
57
+ listeners: listeners
58
+ });
59
+ }
60
+ listeners.push(listener);
61
+ };
62
+ mql.removeListener = function(listener) {
63
+ for (var i = 0, il = listeners.length; i < il; i++) {
64
+ if (listeners[i] === listener) {
65
+ listeners.splice(i, 1);
66
+ }
67
+ }
68
+ };
69
+ return mql;
70
+ };
71
+ })(this);
72
+
73
+ /*! Respond.js v1.4.0: min/max-width media query polyfill. (c) Scott Jehl. MIT Lic. j.mp/respondjs */
74
+ (function(w) {
75
+ "use strict";
76
+ var respond = {};
77
+ w.respond = respond;
78
+ respond.update = function() {};
79
+ var requestQueue = [], xmlHttp = function() {
80
+ var xmlhttpmethod = false;
81
+ try {
82
+ xmlhttpmethod = new w.XMLHttpRequest();
83
+ } catch (e) {
84
+ xmlhttpmethod = new w.ActiveXObject("Microsoft.XMLHTTP");
85
+ }
86
+ return function() {
87
+ return xmlhttpmethod;
88
+ };
89
+ }(), ajax = function(url, callback) {
90
+ var req = xmlHttp();
91
+ if (!req) {
92
+ return;
93
+ }
94
+ req.open("GET", url, true);
95
+ req.onreadystatechange = function() {
96
+ if (req.readyState !== 4 || req.status !== 200 && req.status !== 304) {
97
+ return;
98
+ }
99
+ callback(req.responseText);
100
+ };
101
+ if (req.readyState === 4) {
102
+ return;
103
+ }
104
+ req.send(null);
105
+ };
106
+ respond.ajax = ajax;
107
+ respond.queue = requestQueue;
108
+ respond.regex = {
109
+ media: /@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,
110
+ keyframes: /@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,
111
+ urls: /(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,
112
+ findStyles: /@media *([^\{]+)\{([\S\s]+?)$/,
113
+ only: /(only\s+)?([a-zA-Z]+)\s?/,
114
+ minw: /\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,
115
+ maxw: /\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/
116
+ };
117
+ respond.mediaQueriesSupported = w.matchMedia && w.matchMedia("only all") !== null && w.matchMedia("only all").matches;
118
+ if (respond.mediaQueriesSupported) {
119
+ return;
120
+ }
121
+ var doc = w.document, docElem = doc.documentElement, mediastyles = [], rules = [], appendedEls = [], parsedSheets = {}, resizeThrottle = 30, head = doc.getElementsByTagName("head")[0] || docElem, base = doc.getElementsByTagName("base")[0], links = head.getElementsByTagName("link"), lastCall, resizeDefer, eminpx, getEmValue = function() {
122
+ var ret, div = doc.createElement("div"), body = doc.body, originalHTMLFontSize = docElem.style.fontSize, originalBodyFontSize = body && body.style.fontSize, fakeUsed = false;
123
+ div.style.cssText = "position:absolute;font-size:1em;width:1em";
124
+ if (!body) {
125
+ body = fakeUsed = doc.createElement("body");
126
+ body.style.background = "none";
127
+ }
128
+ docElem.style.fontSize = "100%";
129
+ body.style.fontSize = "100%";
130
+ body.appendChild(div);
131
+ if (fakeUsed) {
132
+ docElem.insertBefore(body, docElem.firstChild);
133
+ }
134
+ ret = div.offsetWidth;
135
+ if (fakeUsed) {
136
+ docElem.removeChild(body);
137
+ } else {
138
+ body.removeChild(div);
139
+ }
140
+ docElem.style.fontSize = originalHTMLFontSize;
141
+ if (originalBodyFontSize) {
142
+ body.style.fontSize = originalBodyFontSize;
143
+ }
144
+ ret = eminpx = parseFloat(ret);
145
+ return ret;
146
+ }, applyMedia = function(fromResize) {
147
+ var name = "clientWidth", docElemProp = docElem[name], currWidth = doc.compatMode === "CSS1Compat" && docElemProp || doc.body[name] || docElemProp, styleBlocks = {}, lastLink = links[links.length - 1], now = new Date().getTime();
148
+ if (fromResize && lastCall && now - lastCall < resizeThrottle) {
149
+ w.clearTimeout(resizeDefer);
150
+ resizeDefer = w.setTimeout(applyMedia, resizeThrottle);
151
+ return;
152
+ } else {
153
+ lastCall = now;
154
+ }
155
+ for (var i in mediastyles) {
156
+ if (mediastyles.hasOwnProperty(i)) {
157
+ var thisstyle = mediastyles[i], min = thisstyle.minw, max = thisstyle.maxw, minnull = min === null, maxnull = max === null, em = "em";
158
+ if (!!min) {
159
+ min = parseFloat(min) * (min.indexOf(em) > -1 ? eminpx || getEmValue() : 1);
160
+ }
161
+ if (!!max) {
162
+ max = parseFloat(max) * (max.indexOf(em) > -1 ? eminpx || getEmValue() : 1);
163
+ }
164
+ if (!thisstyle.hasquery || (!minnull || !maxnull) && (minnull || currWidth >= min) && (maxnull || currWidth <= max)) {
165
+ if (!styleBlocks[thisstyle.media]) {
166
+ styleBlocks[thisstyle.media] = [];
167
+ }
168
+ styleBlocks[thisstyle.media].push(rules[thisstyle.rules]);
169
+ }
170
+ }
171
+ }
172
+ for (var j in appendedEls) {
173
+ if (appendedEls.hasOwnProperty(j)) {
174
+ if (appendedEls[j] && appendedEls[j].parentNode === head) {
175
+ head.removeChild(appendedEls[j]);
176
+ }
177
+ }
178
+ }
179
+ appendedEls.length = 0;
180
+ for (var k in styleBlocks) {
181
+ if (styleBlocks.hasOwnProperty(k)) {
182
+ var ss = doc.createElement("style"), css = styleBlocks[k].join("\n");
183
+ ss.type = "text/css";
184
+ ss.media = k;
185
+ head.insertBefore(ss, lastLink.nextSibling);
186
+ if (ss.styleSheet) {
187
+ ss.styleSheet.cssText = css;
188
+ } else {
189
+ ss.appendChild(doc.createTextNode(css));
190
+ }
191
+ appendedEls.push(ss);
192
+ }
193
+ }
194
+ }, translate = function(styles, href, media) {
195
+ var qs = styles.replace(respond.regex.keyframes, "").match(respond.regex.media), ql = qs && qs.length || 0;
196
+ href = href.substring(0, href.lastIndexOf("/"));
197
+ var repUrls = function(css) {
198
+ return css.replace(respond.regex.urls, "$1" + href + "$2$3");
199
+ }, useMedia = !ql && media;
200
+ if (href.length) {
201
+ href += "/";
202
+ }
203
+ if (useMedia) {
204
+ ql = 1;
205
+ }
206
+ for (var i = 0; i < ql; i++) {
207
+ var fullq, thisq, eachq, eql;
208
+ if (useMedia) {
209
+ fullq = media;
210
+ rules.push(repUrls(styles));
211
+ } else {
212
+ fullq = qs[i].match(respond.regex.findStyles) && RegExp.$1;
213
+ rules.push(RegExp.$2 && repUrls(RegExp.$2));
214
+ }
215
+ eachq = fullq.split(",");
216
+ eql = eachq.length;
217
+ for (var j = 0; j < eql; j++) {
218
+ thisq = eachq[j];
219
+ mediastyles.push({
220
+ media: thisq.split("(")[0].match(respond.regex.only) && RegExp.$2 || "all",
221
+ rules: rules.length - 1,
222
+ hasquery: thisq.indexOf("(") > -1,
223
+ minw: thisq.match(respond.regex.minw) && parseFloat(RegExp.$1) + (RegExp.$2 || ""),
224
+ maxw: thisq.match(respond.regex.maxw) && parseFloat(RegExp.$1) + (RegExp.$2 || "")
225
+ });
226
+ }
227
+ }
228
+ applyMedia();
229
+ }, makeRequests = function() {
230
+ if (requestQueue.length) {
231
+ var thisRequest = requestQueue.shift();
232
+ ajax(thisRequest.href, function(styles) {
233
+ translate(styles, thisRequest.href, thisRequest.media);
234
+ parsedSheets[thisRequest.href] = true;
235
+ w.setTimeout(function() {
236
+ makeRequests();
237
+ }, 0);
238
+ });
239
+ }
240
+ }, ripCSS = function() {
241
+ for (var i = 0; i < links.length; i++) {
242
+ var sheet = links[i], href = sheet.href, media = sheet.media, isCSS = sheet.rel && sheet.rel.toLowerCase() === "stylesheet";
243
+ if (!!href && isCSS && !parsedSheets[href]) {
244
+ if (sheet.styleSheet && sheet.styleSheet.rawCssText) {
245
+ translate(sheet.styleSheet.rawCssText, href, media);
246
+ parsedSheets[href] = true;
247
+ } else {
248
+ if (!/^([a-zA-Z:]*\/\/)/.test(href) && !base || href.replace(RegExp.$1, "").split("/")[0] === w.location.host) {
249
+ if (href.substring(0, 2) === "//") {
250
+ href = w.location.protocol + href;
251
+ }
252
+ requestQueue.push({
253
+ href: href,
254
+ media: media
255
+ });
256
+ }
257
+ }
258
+ }
259
+ }
260
+ makeRequests();
261
+ };
262
+ ripCSS();
263
+ respond.update = ripCSS;
264
+ respond.getEmValue = getEmValue;
265
+ function callMedia() {
266
+ applyMedia(true);
267
+ }
268
+ if (w.addEventListener) {
269
+ w.addEventListener("resize", callMedia, false);
270
+ } else if (w.attachEvent) {
271
+ w.attachEvent("onresize", callMedia);
272
+ }
273
+ })(this);
@@ -0,0 +1,5 @@
1
+ /*! Respond.js v1.4.2: min/max-width media query polyfill * Copyright 2013 Scott Jehl
2
+ * Licensed under https://github.com/scottjehl/Respond/blob/master/LICENSE-MIT
3
+ * */
4
+
5
+ !function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='&shy;<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){u(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))};if(c.ajax=f,c.queue=d,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var g,h,i,j=a.document,k=j.documentElement,l=[],m=[],n=[],o={},p=30,q=j.getElementsByTagName("head")[0]||k,r=j.getElementsByTagName("base")[0],s=q.getElementsByTagName("link"),t=function(){var a,b=j.createElement("div"),c=j.body,d=k.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=j.createElement("body"),c.style.background="none"),k.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&k.insertBefore(c,k.firstChild),a=b.offsetWidth,f?k.removeChild(c):c.removeChild(b),k.style.fontSize=d,e&&(c.style.fontSize=e),a=i=parseFloat(a)},u=function(b){var c="clientWidth",d=k[c],e="CSS1Compat"===j.compatMode&&d||j.body[c]||d,f={},o=s[s.length-1],r=(new Date).getTime();if(b&&g&&p>r-g)return a.clearTimeout(h),h=a.setTimeout(u,p),void 0;g=r;for(var v in l)if(l.hasOwnProperty(v)){var w=l[v],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?i||t():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?i||t():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(m[w.rules]))}for(var C in n)n.hasOwnProperty(C)&&n[C]&&n[C].parentNode===q&&q.removeChild(n[C]);n.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=j.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,q.insertBefore(E,o.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(j.createTextNode(F)),n.push(E)}},v=function(a,b,d){var e=a.replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var g=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},h=!f&&d;b.length&&(b+="/"),h&&(f=1);for(var i=0;f>i;i++){var j,k,n,o;h?(j=d,m.push(g(a))):(j=e[i].match(c.regex.findStyles)&&RegExp.$1,m.push(RegExp.$2&&g(RegExp.$2))),n=j.split(","),o=n.length;for(var p=0;o>p;p++)k=n[p],l.push({media:k.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:m.length-1,hasquery:k.indexOf("(")>-1,minw:k.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:k.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}u()},w=function(){if(d.length){var b=d.shift();f(b.href,function(c){v(c,b.href,b.media),o[b.href]=!0,a.setTimeout(function(){w()},0)})}},x=function(){for(var b=0;b<s.length;b++){var c=s[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!o[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(v(c.styleSheet.rawCssText,e,f),o[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!r||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}w()};x(),c.update=x,c.getEmValue=t,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this);
@@ -0,0 +1,224 @@
1
+ /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
2
+ /*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */
3
+ (function(w) {
4
+ "use strict";
5
+ w.matchMedia = w.matchMedia || function(doc, undefined) {
6
+ var bool, docElem = doc.documentElement, refNode = docElem.firstElementChild || docElem.firstChild, fakeBody = doc.createElement("body"), div = doc.createElement("div");
7
+ div.id = "mq-test-1";
8
+ div.style.cssText = "position:absolute;top:-100em";
9
+ fakeBody.style.background = "none";
10
+ fakeBody.appendChild(div);
11
+ return function(q) {
12
+ div.innerHTML = '&shy;<style media="' + q + '"> #mq-test-1 { width: 42px; }</style>';
13
+ docElem.insertBefore(fakeBody, refNode);
14
+ bool = div.offsetWidth === 42;
15
+ docElem.removeChild(fakeBody);
16
+ return {
17
+ matches: bool,
18
+ media: q
19
+ };
20
+ };
21
+ }(w.document);
22
+ })(this);
23
+
24
+ /*! Respond.js v1.4.0: min/max-width media query polyfill. (c) Scott Jehl. MIT Lic. j.mp/respondjs */
25
+ (function(w) {
26
+ "use strict";
27
+ var respond = {};
28
+ w.respond = respond;
29
+ respond.update = function() {};
30
+ var requestQueue = [], xmlHttp = function() {
31
+ var xmlhttpmethod = false;
32
+ try {
33
+ xmlhttpmethod = new w.XMLHttpRequest();
34
+ } catch (e) {
35
+ xmlhttpmethod = new w.ActiveXObject("Microsoft.XMLHTTP");
36
+ }
37
+ return function() {
38
+ return xmlhttpmethod;
39
+ };
40
+ }(), ajax = function(url, callback) {
41
+ var req = xmlHttp();
42
+ if (!req) {
43
+ return;
44
+ }
45
+ req.open("GET", url, true);
46
+ req.onreadystatechange = function() {
47
+ if (req.readyState !== 4 || req.status !== 200 && req.status !== 304) {
48
+ return;
49
+ }
50
+ callback(req.responseText);
51
+ };
52
+ if (req.readyState === 4) {
53
+ return;
54
+ }
55
+ req.send(null);
56
+ };
57
+ respond.ajax = ajax;
58
+ respond.queue = requestQueue;
59
+ respond.regex = {
60
+ media: /@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,
61
+ keyframes: /@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,
62
+ urls: /(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,
63
+ findStyles: /@media *([^\{]+)\{([\S\s]+?)$/,
64
+ only: /(only\s+)?([a-zA-Z]+)\s?/,
65
+ minw: /\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,
66
+ maxw: /\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/
67
+ };
68
+ respond.mediaQueriesSupported = w.matchMedia && w.matchMedia("only all") !== null && w.matchMedia("only all").matches;
69
+ if (respond.mediaQueriesSupported) {
70
+ return;
71
+ }
72
+ var doc = w.document, docElem = doc.documentElement, mediastyles = [], rules = [], appendedEls = [], parsedSheets = {}, resizeThrottle = 30, head = doc.getElementsByTagName("head")[0] || docElem, base = doc.getElementsByTagName("base")[0], links = head.getElementsByTagName("link"), lastCall, resizeDefer, eminpx, getEmValue = function() {
73
+ var ret, div = doc.createElement("div"), body = doc.body, originalHTMLFontSize = docElem.style.fontSize, originalBodyFontSize = body && body.style.fontSize, fakeUsed = false;
74
+ div.style.cssText = "position:absolute;font-size:1em;width:1em";
75
+ if (!body) {
76
+ body = fakeUsed = doc.createElement("body");
77
+ body.style.background = "none";
78
+ }
79
+ docElem.style.fontSize = "100%";
80
+ body.style.fontSize = "100%";
81
+ body.appendChild(div);
82
+ if (fakeUsed) {
83
+ docElem.insertBefore(body, docElem.firstChild);
84
+ }
85
+ ret = div.offsetWidth;
86
+ if (fakeUsed) {
87
+ docElem.removeChild(body);
88
+ } else {
89
+ body.removeChild(div);
90
+ }
91
+ docElem.style.fontSize = originalHTMLFontSize;
92
+ if (originalBodyFontSize) {
93
+ body.style.fontSize = originalBodyFontSize;
94
+ }
95
+ ret = eminpx = parseFloat(ret);
96
+ return ret;
97
+ }, applyMedia = function(fromResize) {
98
+ var name = "clientWidth", docElemProp = docElem[name], currWidth = doc.compatMode === "CSS1Compat" && docElemProp || doc.body[name] || docElemProp, styleBlocks = {}, lastLink = links[links.length - 1], now = new Date().getTime();
99
+ if (fromResize && lastCall && now - lastCall < resizeThrottle) {
100
+ w.clearTimeout(resizeDefer);
101
+ resizeDefer = w.setTimeout(applyMedia, resizeThrottle);
102
+ return;
103
+ } else {
104
+ lastCall = now;
105
+ }
106
+ for (var i in mediastyles) {
107
+ if (mediastyles.hasOwnProperty(i)) {
108
+ var thisstyle = mediastyles[i], min = thisstyle.minw, max = thisstyle.maxw, minnull = min === null, maxnull = max === null, em = "em";
109
+ if (!!min) {
110
+ min = parseFloat(min) * (min.indexOf(em) > -1 ? eminpx || getEmValue() : 1);
111
+ }
112
+ if (!!max) {
113
+ max = parseFloat(max) * (max.indexOf(em) > -1 ? eminpx || getEmValue() : 1);
114
+ }
115
+ if (!thisstyle.hasquery || (!minnull || !maxnull) && (minnull || currWidth >= min) && (maxnull || currWidth <= max)) {
116
+ if (!styleBlocks[thisstyle.media]) {
117
+ styleBlocks[thisstyle.media] = [];
118
+ }
119
+ styleBlocks[thisstyle.media].push(rules[thisstyle.rules]);
120
+ }
121
+ }
122
+ }
123
+ for (var j in appendedEls) {
124
+ if (appendedEls.hasOwnProperty(j)) {
125
+ if (appendedEls[j] && appendedEls[j].parentNode === head) {
126
+ head.removeChild(appendedEls[j]);
127
+ }
128
+ }
129
+ }
130
+ appendedEls.length = 0;
131
+ for (var k in styleBlocks) {
132
+ if (styleBlocks.hasOwnProperty(k)) {
133
+ var ss = doc.createElement("style"), css = styleBlocks[k].join("\n");
134
+ ss.type = "text/css";
135
+ ss.media = k;
136
+ head.insertBefore(ss, lastLink.nextSibling);
137
+ if (ss.styleSheet) {
138
+ ss.styleSheet.cssText = css;
139
+ } else {
140
+ ss.appendChild(doc.createTextNode(css));
141
+ }
142
+ appendedEls.push(ss);
143
+ }
144
+ }
145
+ }, translate = function(styles, href, media) {
146
+ var qs = styles.replace(respond.regex.keyframes, "").match(respond.regex.media), ql = qs && qs.length || 0;
147
+ href = href.substring(0, href.lastIndexOf("/"));
148
+ var repUrls = function(css) {
149
+ return css.replace(respond.regex.urls, "$1" + href + "$2$3");
150
+ }, useMedia = !ql && media;
151
+ if (href.length) {
152
+ href += "/";
153
+ }
154
+ if (useMedia) {
155
+ ql = 1;
156
+ }
157
+ for (var i = 0; i < ql; i++) {
158
+ var fullq, thisq, eachq, eql;
159
+ if (useMedia) {
160
+ fullq = media;
161
+ rules.push(repUrls(styles));
162
+ } else {
163
+ fullq = qs[i].match(respond.regex.findStyles) && RegExp.$1;
164
+ rules.push(RegExp.$2 && repUrls(RegExp.$2));
165
+ }
166
+ eachq = fullq.split(",");
167
+ eql = eachq.length;
168
+ for (var j = 0; j < eql; j++) {
169
+ thisq = eachq[j];
170
+ mediastyles.push({
171
+ media: thisq.split("(")[0].match(respond.regex.only) && RegExp.$2 || "all",
172
+ rules: rules.length - 1,
173
+ hasquery: thisq.indexOf("(") > -1,
174
+ minw: thisq.match(respond.regex.minw) && parseFloat(RegExp.$1) + (RegExp.$2 || ""),
175
+ maxw: thisq.match(respond.regex.maxw) && parseFloat(RegExp.$1) + (RegExp.$2 || "")
176
+ });
177
+ }
178
+ }
179
+ applyMedia();
180
+ }, makeRequests = function() {
181
+ if (requestQueue.length) {
182
+ var thisRequest = requestQueue.shift();
183
+ ajax(thisRequest.href, function(styles) {
184
+ translate(styles, thisRequest.href, thisRequest.media);
185
+ parsedSheets[thisRequest.href] = true;
186
+ w.setTimeout(function() {
187
+ makeRequests();
188
+ }, 0);
189
+ });
190
+ }
191
+ }, ripCSS = function() {
192
+ for (var i = 0; i < links.length; i++) {
193
+ var sheet = links[i], href = sheet.href, media = sheet.media, isCSS = sheet.rel && sheet.rel.toLowerCase() === "stylesheet";
194
+ if (!!href && isCSS && !parsedSheets[href]) {
195
+ if (sheet.styleSheet && sheet.styleSheet.rawCssText) {
196
+ translate(sheet.styleSheet.rawCssText, href, media);
197
+ parsedSheets[href] = true;
198
+ } else {
199
+ if (!/^([a-zA-Z:]*\/\/)/.test(href) && !base || href.replace(RegExp.$1, "").split("/")[0] === w.location.host) {
200
+ if (href.substring(0, 2) === "//") {
201
+ href = w.location.protocol + href;
202
+ }
203
+ requestQueue.push({
204
+ href: href,
205
+ media: media
206
+ });
207
+ }
208
+ }
209
+ }
210
+ }
211
+ makeRequests();
212
+ };
213
+ ripCSS();
214
+ respond.update = ripCSS;
215
+ respond.getEmValue = getEmValue;
216
+ function callMedia() {
217
+ applyMedia(true);
218
+ }
219
+ if (w.addEventListener) {
220
+ w.addEventListener("resize", callMedia, false);
221
+ } else if (w.attachEvent) {
222
+ w.attachEvent("onresize", callMedia);
223
+ }
224
+ })(this);