easy_html_creator 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -2
  3. data/README.md +10 -0
  4. data/dev_root/demo-website/index.haml +52 -0
  5. data/dev_root/shared/helper/shared_helper.rb +8 -0
  6. data/lib/ehc_command_tasks.rb +2 -2
  7. data/lib/generator/base.rb +47 -0
  8. data/lib/generator/coffee_generator.rb +24 -17
  9. data/lib/generator/generator.rb +18 -12
  10. data/lib/generator/haml_generator.rb +36 -27
  11. data/lib/generator/helper/activesupport_override.rb +0 -4
  12. data/lib/generator/helper/asset_helper.rb +63 -0
  13. data/lib/generator/sass_generator.rb +29 -18
  14. data/lib/generator/structure_generator.rb +18 -17
  15. data/lib/server/dispatcher.rb +31 -17
  16. data/lib/server/response.rb +19 -17
  17. data/lib/server/server.rb +6 -6
  18. metadata +62 -245
  19. data/dev_root/demo-website-offline/coffee/test.coffee +0 -28
  20. data/dev_root/demo-website-offline/helper/test_helper.rb +0 -5
  21. data/dev_root/demo-website-offline/index.haml +0 -109
  22. data/dev_root/demo-website-offline/layout.haml +0 -13
  23. data/dev_root/demo-website-offline/partials/_assets.javascripts.haml +0 -7
  24. data/dev_root/demo-website-offline/partials/_assets.metadata.haml +0 -12
  25. data/dev_root/demo-website-offline/partials/_assets.stylesheets.haml +0 -4
  26. data/dev_root/demo-website-offline/partials/_footer.haml +0 -5
  27. data/dev_root/demo-website-offline/partials/_header.haml +0 -27
  28. data/dev_root/demo-website-offline/public/bower.json +0 -21
  29. data/dev_root/demo-website-offline/public/bower_components/bootstrap/Gruntfile.js +0 -509
  30. data/dev_root/demo-website-offline/public/bower_components/bootstrap/LICENSE +0 -21
  31. data/dev_root/demo-website-offline/public/bower_components/bootstrap/README.md +0 -132
  32. data/dev_root/demo-website-offline/public/bower_components/bootstrap/bower.json +0 -38
  33. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/css/bootstrap-theme.css +0 -476
  34. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/css/bootstrap-theme.css.map +0 -1
  35. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +0 -5
  36. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/css/bootstrap.css +0 -6566
  37. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/css/bootstrap.css.map +0 -1
  38. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/css/bootstrap.min.css +0 -5
  39. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  40. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +0 -288
  41. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  42. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  43. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
  44. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/js/bootstrap.js +0 -2306
  45. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/js/bootstrap.min.js +0 -7
  46. data/dev_root/demo-website-offline/public/bower_components/bootstrap/dist/js/npm.js +0 -13
  47. data/dev_root/demo-website-offline/public/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  48. data/dev_root/demo-website-offline/public/bower_components/bootstrap/fonts/glyphicons-halflings-regular.svg +0 -288
  49. data/dev_root/demo-website-offline/public/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  50. data/dev_root/demo-website-offline/public/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  51. data/dev_root/demo-website-offline/public/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
  52. data/dev_root/demo-website-offline/public/bower_components/bootstrap/grunt/bs-commonjs-generator.js +0 -23
  53. data/dev_root/demo-website-offline/public/bower_components/bootstrap/grunt/bs-glyphicons-data-generator.js +0 -41
  54. data/dev_root/demo-website-offline/public/bower_components/bootstrap/grunt/bs-lessdoc-parser.js +0 -238
  55. data/dev_root/demo-website-offline/public/bower_components/bootstrap/grunt/bs-raw-files-generator.js +0 -46
  56. data/dev_root/demo-website-offline/public/bower_components/bootstrap/grunt/configBridge.json +0 -45
  57. data/dev_root/demo-website-offline/public/bower_components/bootstrap/grunt/sauce_browsers.yml +0 -82
  58. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/affix.js +0 -162
  59. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/alert.js +0 -94
  60. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/button.js +0 -116
  61. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/carousel.js +0 -237
  62. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/collapse.js +0 -211
  63. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/dropdown.js +0 -161
  64. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/modal.js +0 -324
  65. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/popover.js +0 -113
  66. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/scrollspy.js +0 -175
  67. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/tab.js +0 -153
  68. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/tooltip.js +0 -472
  69. data/dev_root/demo-website-offline/public/bower_components/bootstrap/js/transition.js +0 -59
  70. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/alerts.less +0 -73
  71. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/badges.less +0 -65
  72. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/bootstrap.less +0 -50
  73. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/breadcrumbs.less +0 -26
  74. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/button-groups.less +0 -243
  75. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/buttons.less +0 -160
  76. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/carousel.less +0 -269
  77. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/close.less +0 -34
  78. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/code.less +0 -69
  79. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/component-animations.less +0 -34
  80. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/dropdowns.less +0 -214
  81. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/forms.less +0 -566
  82. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/glyphicons.less +0 -301
  83. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/grid.less +0 -84
  84. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/input-groups.less +0 -166
  85. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/jumbotron.less +0 -50
  86. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/labels.less +0 -64
  87. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/list-group.less +0 -124
  88. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/media.less +0 -61
  89. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins.less +0 -39
  90. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/alerts.less +0 -14
  91. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/background-variant.less +0 -8
  92. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/border-radius.less +0 -18
  93. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/buttons.less +0 -52
  94. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/center-block.less +0 -7
  95. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/clearfix.less +0 -22
  96. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/forms.less +0 -85
  97. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/gradients.less +0 -59
  98. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/grid-framework.less +0 -91
  99. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/grid.less +0 -122
  100. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/hide-text.less +0 -21
  101. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/image.less +0 -33
  102. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/labels.less +0 -12
  103. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/list-group.less +0 -29
  104. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/nav-divider.less +0 -10
  105. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/nav-vertical-align.less +0 -9
  106. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/opacity.less +0 -8
  107. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/pagination.less +0 -23
  108. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/panels.less +0 -24
  109. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/progress-bar.less +0 -10
  110. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/reset-filter.less +0 -8
  111. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/resize.less +0 -6
  112. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/responsive-visibility.less +0 -15
  113. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/size.less +0 -10
  114. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/tab-focus.less +0 -9
  115. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/table-row.less +0 -28
  116. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/text-emphasis.less +0 -8
  117. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/text-overflow.less +0 -8
  118. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/mixins/vendor-prefixes.less +0 -227
  119. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/modals.less +0 -148
  120. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/navbar.less +0 -661
  121. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/navs.less +0 -244
  122. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/normalize.less +0 -427
  123. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/pager.less +0 -54
  124. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/pagination.less +0 -88
  125. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/panels.less +0 -265
  126. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/popovers.less +0 -135
  127. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/print.less +0 -107
  128. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/progress-bars.less +0 -87
  129. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/responsive-embed.less +0 -35
  130. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/responsive-utilities.less +0 -194
  131. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/scaffolding.less +0 -150
  132. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/tables.less +0 -234
  133. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/theme.less +0 -273
  134. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/thumbnails.less +0 -36
  135. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/tooltip.less +0 -103
  136. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/type.less +0 -302
  137. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/utilities.less +0 -56
  138. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/variables.less +0 -857
  139. data/dev_root/demo-website-offline/public/bower_components/bootstrap/less/wells.less +0 -29
  140. data/dev_root/demo-website-offline/public/bower_components/bootstrap/package.json +0 -83
  141. data/dev_root/demo-website-offline/public/bower_components/html5shiv/Gruntfile.js +0 -61
  142. data/dev_root/demo-website-offline/public/bower_components/html5shiv/bower.json +0 -15
  143. data/dev_root/demo-website-offline/public/bower_components/html5shiv/dist/html5shiv-printshiv.js +0 -520
  144. data/dev_root/demo-website-offline/public/bower_components/html5shiv/dist/html5shiv-printshiv.min.js +0 -4
  145. data/dev_root/demo-website-offline/public/bower_components/html5shiv/dist/html5shiv.js +0 -322
  146. data/dev_root/demo-website-offline/public/bower_components/html5shiv/dist/html5shiv.min.js +0 -4
  147. data/dev_root/demo-website-offline/public/bower_components/html5shiv/package.json +0 -16
  148. data/dev_root/demo-website-offline/public/bower_components/html5shiv/readme.md +0 -152
  149. data/dev_root/demo-website-offline/public/bower_components/jquery/MIT-LICENSE.txt +0 -21
  150. data/dev_root/demo-website-offline/public/bower_components/jquery/bower.json +0 -27
  151. data/dev_root/demo-website-offline/public/bower_components/jquery/dist/jquery.js +0 -9205
  152. data/dev_root/demo-website-offline/public/bower_components/jquery/dist/jquery.min.js +0 -5
  153. data/dev_root/demo-website-offline/public/bower_components/jquery/dist/jquery.min.map +0 -1
  154. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax.js +0 -786
  155. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax/jsonp.js +0 -89
  156. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax/load.js +0 -75
  157. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax/parseJSON.js +0 -13
  158. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax/parseXML.js +0 -28
  159. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax/script.js +0 -64
  160. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax/var/nonce.js +0 -5
  161. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax/var/rquery.js +0 -3
  162. data/dev_root/demo-website-offline/public/bower_components/jquery/src/ajax/xhr.js +0 -136
  163. data/dev_root/demo-website-offline/public/bower_components/jquery/src/attributes.js +0 -11
  164. data/dev_root/demo-website-offline/public/bower_components/jquery/src/attributes/attr.js +0 -141
  165. data/dev_root/demo-website-offline/public/bower_components/jquery/src/attributes/classes.js +0 -158
  166. data/dev_root/demo-website-offline/public/bower_components/jquery/src/attributes/prop.js +0 -94
  167. data/dev_root/demo-website-offline/public/bower_components/jquery/src/attributes/support.js +0 -35
  168. data/dev_root/demo-website-offline/public/bower_components/jquery/src/attributes/val.js +0 -161
  169. data/dev_root/demo-website-offline/public/bower_components/jquery/src/callbacks.js +0 -205
  170. data/dev_root/demo-website-offline/public/bower_components/jquery/src/core.js +0 -497
  171. data/dev_root/demo-website-offline/public/bower_components/jquery/src/core/access.js +0 -60
  172. data/dev_root/demo-website-offline/public/bower_components/jquery/src/core/init.js +0 -123
  173. data/dev_root/demo-website-offline/public/bower_components/jquery/src/core/parseHTML.js +0 -39
  174. data/dev_root/demo-website-offline/public/bower_components/jquery/src/core/ready.js +0 -97
  175. data/dev_root/demo-website-offline/public/bower_components/jquery/src/core/var/rsingleTag.js +0 -4
  176. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css.js +0 -450
  177. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/addGetHookIf.js +0 -22
  178. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/curCSS.js +0 -57
  179. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/defaultDisplay.js +0 -70
  180. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/hiddenVisibleSelectors.js +0 -15
  181. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/support.js +0 -96
  182. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/swap.js +0 -28
  183. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/var/cssExpand.js +0 -3
  184. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/var/getStyles.js +0 -12
  185. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/var/isHidden.js +0 -13
  186. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/var/rmargin.js +0 -3
  187. data/dev_root/demo-website-offline/public/bower_components/jquery/src/css/var/rnumnonpx.js +0 -5
  188. data/dev_root/demo-website-offline/public/bower_components/jquery/src/data.js +0 -178
  189. data/dev_root/demo-website-offline/public/bower_components/jquery/src/data/Data.js +0 -181
  190. data/dev_root/demo-website-offline/public/bower_components/jquery/src/data/accepts.js +0 -20
  191. data/dev_root/demo-website-offline/public/bower_components/jquery/src/data/var/data_priv.js +0 -5
  192. data/dev_root/demo-website-offline/public/bower_components/jquery/src/data/var/data_user.js +0 -5
  193. data/dev_root/demo-website-offline/public/bower_components/jquery/src/deferred.js +0 -149
  194. data/dev_root/demo-website-offline/public/bower_components/jquery/src/deprecated.js +0 -13
  195. data/dev_root/demo-website-offline/public/bower_components/jquery/src/dimensions.js +0 -50
  196. data/dev_root/demo-website-offline/public/bower_components/jquery/src/effects.js +0 -648
  197. data/dev_root/demo-website-offline/public/bower_components/jquery/src/effects/Tween.js +0 -114
  198. data/dev_root/demo-website-offline/public/bower_components/jquery/src/effects/animatedSelector.js +0 -13
  199. data/dev_root/demo-website-offline/public/bower_components/jquery/src/event.js +0 -868
  200. data/dev_root/demo-website-offline/public/bower_components/jquery/src/event/ajax.js +0 -13
  201. data/dev_root/demo-website-offline/public/bower_components/jquery/src/event/alias.js +0 -39
  202. data/dev_root/demo-website-offline/public/bower_components/jquery/src/event/support.js +0 -9
  203. data/dev_root/demo-website-offline/public/bower_components/jquery/src/exports/amd.js +0 -24
  204. data/dev_root/demo-website-offline/public/bower_components/jquery/src/exports/global.js +0 -32
  205. data/dev_root/demo-website-offline/public/bower_components/jquery/src/intro.js +0 -44
  206. data/dev_root/demo-website-offline/public/bower_components/jquery/src/jquery.js +0 -37
  207. data/dev_root/demo-website-offline/public/bower_components/jquery/src/manipulation.js +0 -580
  208. data/dev_root/demo-website-offline/public/bower_components/jquery/src/manipulation/_evalUrl.js +0 -18
  209. data/dev_root/demo-website-offline/public/bower_components/jquery/src/manipulation/support.js +0 -32
  210. data/dev_root/demo-website-offline/public/bower_components/jquery/src/manipulation/var/rcheckableType.js +0 -3
  211. data/dev_root/demo-website-offline/public/bower_components/jquery/src/offset.js +0 -207
  212. data/dev_root/demo-website-offline/public/bower_components/jquery/src/outro.js +0 -1
  213. data/dev_root/demo-website-offline/public/bower_components/jquery/src/queue.js +0 -142
  214. data/dev_root/demo-website-offline/public/bower_components/jquery/src/queue/delay.js +0 -22
  215. data/dev_root/demo-website-offline/public/bower_components/jquery/src/selector-native.js +0 -172
  216. data/dev_root/demo-website-offline/public/bower_components/jquery/src/selector-sizzle.js +0 -14
  217. data/dev_root/demo-website-offline/public/bower_components/jquery/src/selector.js +0 -1
  218. data/dev_root/demo-website-offline/public/bower_components/jquery/src/serialize.js +0 -111
  219. data/dev_root/demo-website-offline/public/bower_components/jquery/src/sizzle/dist/sizzle.js +0 -2067
  220. data/dev_root/demo-website-offline/public/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
  221. data/dev_root/demo-website-offline/public/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
  222. data/dev_root/demo-website-offline/public/bower_components/jquery/src/traversing.js +0 -199
  223. data/dev_root/demo-website-offline/public/bower_components/jquery/src/traversing/findFilter.js +0 -100
  224. data/dev_root/demo-website-offline/public/bower_components/jquery/src/traversing/var/rneedsContext.js +0 -6
  225. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/arr.js +0 -3
  226. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/class2type.js +0 -4
  227. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/concat.js +0 -5
  228. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/hasOwn.js +0 -5
  229. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/indexOf.js +0 -5
  230. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/pnum.js +0 -3
  231. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/push.js +0 -5
  232. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/rnotwhite.js +0 -3
  233. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/slice.js +0 -5
  234. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/strundefined.js +0 -3
  235. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/support.js +0 -4
  236. data/dev_root/demo-website-offline/public/bower_components/jquery/src/var/toString.js +0 -5
  237. data/dev_root/demo-website-offline/public/bower_components/jquery/src/wrap.js +0 -79
  238. data/dev_root/demo-website-offline/public/bower_components/respond/Gruntfile.js +0 -90
  239. data/dev_root/demo-website-offline/public/bower_components/respond/LICENSE-MIT +0 -22
  240. data/dev_root/demo-website-offline/public/bower_components/respond/README.md +0 -114
  241. data/dev_root/demo-website-offline/public/bower_components/respond/bower.json +0 -10
  242. data/dev_root/demo-website-offline/public/bower_components/respond/cross-domain/example.html +0 -24
  243. data/dev_root/demo-website-offline/public/bower_components/respond/cross-domain/respond-proxy.html +0 -96
  244. data/dev_root/demo-website-offline/public/bower_components/respond/cross-domain/respond.proxy.gif +0 -0
  245. data/dev_root/demo-website-offline/public/bower_components/respond/cross-domain/respond.proxy.js +0 -127
  246. data/dev_root/demo-website-offline/public/bower_components/respond/dest/respond.matchmedia.addListener.min.js +0 -5
  247. data/dev_root/demo-website-offline/public/bower_components/respond/dest/respond.matchmedia.addListener.src.js +0 -273
  248. data/dev_root/demo-website-offline/public/bower_components/respond/dest/respond.min.js +0 -5
  249. data/dev_root/demo-website-offline/public/bower_components/respond/dest/respond.src.js +0 -224
  250. data/dev_root/demo-website-offline/public/bower_components/respond/package.json +0 -32
  251. data/dev_root/demo-website-offline/public/bower_components/respond/src/matchmedia.addListener.js +0 -76
  252. data/dev_root/demo-website-offline/public/bower_components/respond/src/matchmedia.polyfill.js +0 -36
  253. data/dev_root/demo-website-offline/public/bower_components/respond/src/respond.js +0 -341
  254. data/dev_root/demo-website-offline/public/fonts/OpenSans400.css +0 -64
  255. data/dev_root/demo-website-offline/public/fonts/OpenSans400italic.css +0 -64
  256. data/dev_root/demo-website-offline/public/fonts/OpenSans600.css +0 -64
  257. data/dev_root/demo-website-offline/public/images/easy-way.jpg +0 -0
  258. data/dev_root/demo-website-offline/public/robots.txt +0 -0
  259. data/dev_root/demo-website-offline/sass/main.sass +0 -44
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cb0f39ca2c530d5ca60b51d263442720660620d3
4
- data.tar.gz: fd4aad1e08e9331ae61c4a63999efe9fdde51d85
3
+ metadata.gz: 0ffb1a05306aef364bef3ea5ba23792013ae0bba
4
+ data.tar.gz: 8eb42ba87c612785469f215b7cb1cf673e4423c2
5
5
  SHA512:
6
- metadata.gz: b6322b39c6a0c2aac2840c969a9948423cca1a7efc39c330de44964cbc2f9d986a7bd204252ebde03ec882bbe87f47cb2c54892bfb9d49b7325b53f37619ee11
7
- data.tar.gz: 5aa3f89f474e2fa21c3a65032b994b3cdffe0e6334f80149a6c95524a40a90e69237fcb426e1cc78c077603b61b42d6ea4b9871f5ad3e3eae1dc7c1498c164f0
6
+ metadata.gz: c1b253ff31110de712f4bc30c6aac8b9558c773bfc6a9540d628990f6aa91b4f155e631ee40e63cd351a6ccee97a1bcb41e40fe01ced873be581c8493a92daeb
7
+ data.tar.gz: 131cb830d231b9ca8c8e60e084a49eca42292cbb7c3da79a0aff5160aae2442a235024fc7b0d898e9eaa24138c6e85af3569582b47ad26faf55d47ed5dbedf7b
@@ -1,12 +1,22 @@
1
+ 1.3.0
2
+ =================
3
+ - refactor generators
4
+ - increase performance
5
+ - regenerate file only if file hash changed
6
+ - coffee inline available via = with_coffe do
7
+ - sass inline available via = with_sass do
8
+ - only generate requested project, to generate all projects use "ehc generate"
9
+ - add integration tests
10
+
1
11
  1.2.0
2
12
  =================
3
13
  - Add mixins for reset, resize, buttons, arrows and extend existing helper mixins
4
14
  - Add bower.json resolving in public folder
5
15
  - Add offline demo website with bower dependencies
6
16
  - Add file_exists to helper methods
7
- - reload ruby helpers on each request, so you dont need to restart the server
17
+ - reload ruby helpers on each request, so you don't need to restart the server
8
18
  - better exceptions for partials
9
- - sass inlcude path for shared sass files now starts from dev_root/shared/sass
19
+ - sass include path for shared sass files now starts from dev_root/shared/sass
10
20
  - list directory contents if there is no index.html
11
21
 
12
22
  1.1.1
data/README.md CHANGED
@@ -42,6 +42,7 @@ TODO
42
42
  ========
43
43
  - clean/refactor code
44
44
  - Add tests
45
+ - Add Travis intigration (https://travis-ci.org)
45
46
 
46
47
  Stats
47
48
  ========
@@ -53,3 +54,12 @@ Credits
53
54
  *Files are located in the first commit and/or version 0.0.1*
54
55
  - ./ruby_files/generate.rb is based on: https://github.com/scarpenter/command_line_haml/blob/master/generate.rb
55
56
  - ./ruby_files/server.rb is based on: https://practicingruby.com/articles/implementing-an-http-file-server
57
+
58
+ Contributing
59
+ ============
60
+ 1. Fork it ( https://github.com/dennisvandehoef/easy_gravatar/fork )
61
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
62
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
63
+ 4. Push to the branch (`git push origin my-new-feature`)
64
+ 5. Make sure the test walk trough (`rake test`)
65
+ 6. Create a new Pull Request
@@ -107,3 +107,55 @@
107
107
  .arrow-up
108
108
  +arrow-up(60px, 20px, #62bc19)
109
109
  +inline-block
110
+
111
+
112
+ %h2.semibold
113
+ inline coffee and sass
114
+
115
+ .content-left
116
+ %h3
117
+ inline sass
118
+
119
+ %p.inline-sass
120
+ text styled from inline sass
121
+
122
+ = with_sass do
123
+ :plain
124
+ p.inline-sass
125
+ color: green
126
+
127
+ %pre.code
128
+ = preserve do
129
+ :escaped
130
+ = with_sass do
131
+ :plain
132
+ p.inline-sass
133
+ color: green
134
+
135
+ .content-right
136
+ %h3
137
+ inline coffee
138
+
139
+ %p
140
+ %button.inline-coffee
141
+ click me
142
+
143
+ = with_coffee do
144
+ :plain
145
+ $('.inline-coffee').click ->
146
+ alert 'button clicked'
147
+
148
+ %pre.code
149
+ = preserve do
150
+ :escaped
151
+ = with_coffee do
152
+ :plain
153
+ $('.inline-coffee').click ->
154
+ alert 'button clicked'
155
+
156
+ %h2.semibold
157
+ use bower in your projects
158
+
159
+ %p
160
+ just put a bower.json into your public folder and it will be resolved at generation time. don't forget to install bower 'npm install -g bower\'
161
+ = link_to 'http://bower.io/', 'http://bower.io/', target: 'blank'
@@ -2,4 +2,12 @@ module SharedHelper
2
2
  def copyright(who)
3
3
  "© #{Time.new.year} by #{who}"
4
4
  end
5
+
6
+ def select_partials(dir='*', &block)
7
+ folder = "#{@input_folder}/partials/#{dir}"
8
+ Dir.glob("#{folder}").each do |partial|
9
+ partial = partial.sub("#{@input_folder}/partials/", '').sub('.haml', '')
10
+ block.call(partial) if block_given?
11
+ end
12
+ end
5
13
  end
@@ -51,12 +51,12 @@ class EhcCommandTasks
51
51
  end
52
52
 
53
53
  def init
54
- puts "Creating dev_root and web_root with sample website"
54
+ puts "Creating dev_root and web_root with sample websites"
55
55
 
56
56
  init_dev_root
57
57
  init_web_root
58
58
 
59
- puts "All done, use 'ehc server' to start the development server."
59
+ puts "All done, use \e[32m'ehc server'\e[0m to start the development server."
60
60
  end
61
61
 
62
62
  def generate
@@ -0,0 +1,47 @@
1
+ require 'digest/md5'
2
+
3
+ module Generator
4
+ class Base
5
+ @@FILE_CHECKSUMS={}
6
+
7
+ def generate(input_folder, output_folder)
8
+
9
+ end
10
+
11
+ def compile_file(input_file, *args)
12
+ return unless self.class.changed? (input_file)
13
+
14
+ #if args[0] isset, it is a file, the output file
15
+ if args.length > 0
16
+ write(args[0], compile(File.read(input_file), *args))
17
+ else
18
+ compile(input_file, *args)
19
+ end
20
+
21
+ self.class.cache(input_file)
22
+ end
23
+
24
+ def compile(input)
25
+ input
26
+ end
27
+
28
+ def write(file, content)
29
+ File.open(file, "w") do |f|
30
+ f.write content
31
+ end
32
+ end
33
+
34
+ def self.checksum(file)
35
+ Digest::MD5.hexdigest(File.read(file))
36
+ end
37
+
38
+ def self.changed?(file)
39
+ return true unless @@FILE_CHECKSUMS.has_key? file
40
+ @@FILE_CHECKSUMS[file] != self.checksum(file)
41
+ end
42
+
43
+ def self.cache(file)
44
+ @@FILE_CHECKSUMS[file] = self.checksum(file)
45
+ end
46
+ end
47
+ end
@@ -1,26 +1,33 @@
1
- require 'fileutils'
2
- require 'coffee-script'
1
+ require 'coffee_script'
2
+ require 'uglifier'
3
+
4
+ require_relative 'base.rb'
3
5
 
4
6
  module Generator
5
- class CoffeeGenerator
6
- def generate input_folder, output_folder
7
- Dir.glob("#{input_folder}/*.coffee").select do |file|
8
- next unless File.file? file
7
+ class CoffeeGenerator < Generator::Base
8
+ def generate(input_folder, output_folder)
9
+ input_folder = "#{input_folder}/coffee"
10
+ output_folder = "#{output_folder}/js"
9
11
 
10
- result = compile(file)
11
- file_name = file.split('/')[-1].gsub('.coffee', '.js')
12
- write File.join(output_folder, file_name), result
13
- end
14
- end
12
+ Dir.glob("#{input_folder}/*.coffee").select do |input_file|
13
+ next unless File.file? input_file
15
14
 
16
- def compile file
17
- CoffeeScript.compile(File.read(file))
18
- end
15
+ output_file_name = input_file.split('/')[-1].gsub('.coffee', '.js')
16
+ outpu_file = File.join(output_folder, output_file_name)
19
17
 
20
- def write file, content
21
- File.open(file, "w") do |f|
22
- f.write content
18
+ compile_file(input_file, outpu_file)
19
+
20
+ min_file_name = outpu_file.sub '.js', '.min.js'
21
+ File.write(min_file_name,
22
+ Uglifier.compile(
23
+ File.read(outpu_file)))
23
24
  end
24
25
  end
26
+
27
+ def compile(input, *args)
28
+ CoffeeScript.compile(input)
29
+ rescue Exception => e
30
+ raise $!, "#{$!} TEMPLATE::#{args.to_s} ", $!.backtrace
31
+ end
25
32
  end
26
33
  end
@@ -3,13 +3,16 @@ require_relative 'coffee_generator.rb'
3
3
  require_relative 'haml_generator.rb'
4
4
  require_relative 'structure_generator.rb'
5
5
 
6
+
6
7
  module Generator
8
+ SassGenerator::add_load_path('./dev_root/shared/sass')
9
+
7
10
  class Generator
8
11
  def initialize
9
- @haml = HamlGenerator.new
10
- @sass = SassGenerator.new
11
- @coffee = CoffeeGenerator.new
12
- @structure = StructureGenerator.new
12
+ @generators = [ StructureGenerator.new,
13
+ CoffeeGenerator.new,
14
+ SassGenerator.new,
15
+ HamlGenerator.new ]
13
16
  end
14
17
 
15
18
  def web_root
@@ -32,21 +35,24 @@ module Generator
32
35
  "#{web_root}/#{project}"
33
36
  end
34
37
 
35
- def generate
36
- FileUtils.rm_rf(Dir.glob("web_root/*"))
38
+ def generate(path=nil)
39
+ if path
40
+ files = [File.dirname(path)]
41
+ else
42
+ files = projects_folder
43
+ end
37
44
 
38
- projects_folder.each do |project_folder|
45
+ files.each do |project_folder|
39
46
  next unless File.directory? project_folder
40
47
  next if project_folder.include? 'shared'
41
48
 
42
49
  project_name = project_folder.split('/')[-1]
43
50
  project_output_folder = project_web_folder(project_name)
44
51
 
45
- @structure.generate project_folder, project_output_folder
46
- @coffee.generate "#{project_folder}/coffee", "#{project_output_folder}/js"
47
- @sass.generate "#{project_folder}/sass" , "#{project_output_folder}/css"
48
-
49
- @haml.generate project_folder, project_output_folder
52
+ puts "generating: \e[32m#{project_output_folder}\e[0m"
53
+ @generators.each do |generator|
54
+ generator.generate(project_folder, project_output_folder)
55
+ end
50
56
  end
51
57
  end
52
58
  end
@@ -1,48 +1,54 @@
1
1
  require 'fileutils'
2
2
  require 'haml'
3
3
  require 'action_view'
4
+ require 'htmlcompressor'
4
5
 
5
6
  require_relative 'helper/activesupport_override.rb'
7
+ require_relative 'helper/asset_helper.rb'
8
+ require_relative 'base.rb'
6
9
 
7
10
  module Generator
8
- class HamlGenerator
11
+ class HamlGenerator < Generator::Base
9
12
  def initialize()
10
13
  @example_boolean = false
11
14
  @haml_options = { attr_wrapper: '"', format: :html5 }
15
+ @compressor = HtmlCompressor::Compressor.new
12
16
  end
13
17
 
14
- def generate input_folder, output_folder
15
- layout = "#{input_folder}/layout.haml"
18
+ def generate(input_folder, output_folder)
19
+ layout_path = "#{input_folder}/layout.haml"
20
+ return unless File.file? layout_path
21
+ layout = Haml::Engine.new(File.read(layout_path), @haml_options)
16
22
 
17
- Dir.glob("#{input_folder}/*.haml").select do |file|
18
- next unless File.file? file and !file.include? 'layout.haml'
23
+ Dir.glob("#{input_folder}/*.haml").select do |input_file|
24
+ next unless File.file? input_file and !input_file.include? 'layout.haml'
19
25
 
20
- result = compile(file, layout, input_folder, output_folder)
21
- file_name = file.split('/')[-1].gsub('.haml', '.html')
22
- write File.join(output_folder, file_name), result
26
+ output_file_name = input_file.split('/')[-1].gsub('.haml', '.html')
27
+ output_file = File.join(output_folder, output_file_name)
28
+ scope = output_file_name.split('.').first
29
+ context = Context.new(@example_boolean, scope, @haml_options,
30
+ input_folder, output_folder)
31
+
32
+ compile_file(input_file, output_file, layout, context, scope)
23
33
  end
24
34
  end
25
35
 
26
- def compile file, layout, input_folder, output_folder
27
- scope = file.split('/')[-1].split('.').first
28
- layout = Haml::Engine.new(File.read(layout), @haml_options)
29
- c = Context.new(@example_boolean, scope, @haml_options, input_folder, output_folder)
30
-
36
+ def compile(input, output_file, layout, context, scope)
31
37
  # If the file being processed by Haml contains a yield statement, the block passed to
32
38
  # "render" will be called when it's hit.
33
- layout.render c, body_class: scope do
39
+ result = layout.render(context, body_class: scope) do
34
40
  # Render the actual page contents in place of the call to "yield".
35
- body = Haml::Engine.new(File.read(file), @haml_options)
36
- body.render(c)
41
+ body = Haml::Engine.new(input, @haml_options)
42
+ body.render(context)
37
43
  end
44
+
45
+ @compressor.compress result
38
46
  rescue Exception => e
39
- raise $!, "#{$!} TEMPLATE::#{file} ", $!.backtrace
47
+ raise $!, "#{$!} TEMPLATE::#{output_file} ", $!.backtrace
40
48
  end
41
49
 
42
- def write file, content
43
- File.open(file, "w") do |f|
44
- f.write content
45
- end
50
+ def self.changed?(path)
51
+ true #allways recompile haml because of partials etc.
46
52
  end
47
53
  end
48
54
 
@@ -53,13 +59,14 @@ module Generator
53
59
 
54
60
  include ActionView::Helpers
55
61
  include ActivesupportOverride
62
+ include AssetHelper
56
63
 
57
64
  def initialize(example_boolean, scope, options, input_folder, output_folder)
58
65
  @example_boolean = example_boolean
59
- @scope = scope
60
- @options = options
61
- @input_folder = input_folder
62
- @output_folder = output_folder
66
+ @scope = scope
67
+ @options = options
68
+ @input_folder = input_folder
69
+ @output_folder = output_folder
63
70
 
64
71
  load_helper('./dev_root/shared/helper/*.rb')
65
72
  load_helper("./#{input_folder}/helper/*.rb")
@@ -67,11 +74,13 @@ module Generator
67
74
 
68
75
  def load_helper(folder)
69
76
  Dir.glob(folder).each do |path|
77
+ next unless Base.changed? path
70
78
  load path
71
79
  file_without_ext = path.split('/')[-1].split('.').first
72
80
  module_name = file_without_ext.classify
73
- STDERR.puts 'loading project helper -> '+module_name
81
+ STDERR.puts "->loading project helper: \e[32m#{module_name}\e[0m"
74
82
  self.class.send(:include, module_name.constantize)
83
+ Base.cache path
75
84
  end
76
85
  end
77
86
 
@@ -95,7 +104,7 @@ module Generator
95
104
  nil
96
105
  end
97
106
  rescue Exception => e
98
- raise $!, "#{$!} PARTIAL::#{file} ", $!.backtrace
107
+ raise $!, "#{$!} PARTIAL::#{file_name} ", $!.backtrace
99
108
  end
100
109
  end
101
110
  end
@@ -45,8 +45,4 @@ module ActivesupportOverride
45
45
  def url_for(options = '')
46
46
  return options
47
47
  end
48
-
49
- def file_exists?(relative_path)
50
- File.exists?("#{@output_folder}/#{relative_path}")
51
- end
52
48
  end
@@ -0,0 +1,63 @@
1
+ require 'coffee-script'
2
+ require 'uglifier'
3
+
4
+ module AssetHelper
5
+ include ActionView::Context
6
+
7
+ def file_exists?(relative_path)
8
+ File.exists?("#{@output_folder}/#{relative_path}")
9
+ end
10
+
11
+ def with_coffee(&block)
12
+ input = capture_haml(&block)
13
+ content_tag :script do
14
+ raw Uglifier.compile(Generator::CoffeeGenerator.new.compile(input))
15
+ end
16
+ end
17
+
18
+ def with_sass(&block)
19
+ input = capture_haml(&block)
20
+ content_tag :style do
21
+ raw Generator::SassGenerator.new.compile(input)
22
+ end
23
+ end
24
+
25
+ def glyph_icon_classes(icon)
26
+ "glyphicon glyphicon-#{icon}"
27
+ end
28
+
29
+ def glyph_icon(icon, content='')
30
+ content_tag(:span, content, class: glyph_icon_classes(icon))
31
+ end
32
+
33
+ def select_partials(dir='*', &block)
34
+ folder = "#{@input_folder}/partials/#{dir}"
35
+ Dir.glob("#{folder}").each do |partial|
36
+ partial = partial.sub("#{@input_folder}/partials/", '').sub('.haml', '')
37
+ block.call(partial) if block_given?
38
+ end
39
+ end
40
+
41
+ def javascript_include_bower_tag(path)
42
+ '<script src="'+path_to_bower(path)+'"></script>'
43
+ end
44
+
45
+ def path_to_bower(path)
46
+ return "bower_components/#{path}"
47
+ path
48
+ end
49
+
50
+ def headjs_javascript_include_tag(tag, path)
51
+ content_tag :script do
52
+ raw "head.load({'#{tag}': '#{path_to_js(path)}'});"
53
+ end
54
+ end
55
+
56
+ def headjs_javascript_include_bower_tag(tag, path)
57
+ headjs_javascript_include_tag(tag, path_to_bower(path))
58
+ end
59
+
60
+ def headjs_stylesheet_link_tag(tag, path)
61
+ headjs_javascript_include_tag(tag, path_to_css(path))
62
+ end
63
+ end