easy_html_creator 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
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