templator_chabz 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (193) hide show
  1. checksums.yaml +15 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +32 -0
  5. data/lib/generators/templator_chabz/install_generator.rb +81 -0
  6. data/lib/generators/templator_chabz/template_generator.rb +31 -0
  7. data/lib/generators/templator_chabz/templates/foundation/erb/banded.html.erb +116 -0
  8. data/lib/generators/templator_chabz/templates/foundation/erb/banner-home.html.erb +125 -0
  9. data/lib/generators/templator_chabz/templates/foundation/erb/blog.html.erb +154 -0
  10. data/lib/generators/templator_chabz/templates/foundation/erb/feed.html.erb +165 -0
  11. data/lib/generators/templator_chabz/templates/foundation/erb/grid.html.erb +258 -0
  12. data/lib/generators/templator_chabz/templates/foundation/erb/orbit.html.erb +121 -0
  13. data/lib/generators/templator_chabz/templates/foundation/erb/sidebar.html.erb +111 -0
  14. data/lib/generators/templator_chabz/templates/foundation/haml/banded.html.haml +88 -0
  15. data/lib/generators/templator_chabz/templates/foundation/haml/banner-home.html.haml +114 -0
  16. data/lib/generators/templator_chabz/templates/foundation/haml/blog.html.haml +107 -0
  17. data/lib/generators/templator_chabz/templates/foundation/haml/feed.html.haml +155 -0
  18. data/lib/generators/templator_chabz/templates/foundation/haml/grid.html.haml +216 -0
  19. data/lib/generators/templator_chabz/templates/foundation/haml/orbit.html.haml +90 -0
  20. data/lib/generators/templator_chabz/templates/foundation/haml/sidebar.html.haml +92 -0
  21. data/lib/tasks/templator_chabz_tasks.rake +4 -0
  22. data/lib/templator_chabz.rb +3 -0
  23. data/lib/templator_chabz/engine.rb +6 -0
  24. data/lib/templator_chabz/version.rb +3 -0
  25. data/test/dummy/Gemfile +18 -0
  26. data/test/dummy/Gemfile.lock +127 -0
  27. data/test/dummy/README.rdoc +28 -0
  28. data/test/dummy/Rakefile +6 -0
  29. data/test/dummy/app/assets/javascripts/application.js +13 -0
  30. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  31. data/test/dummy/app/controllers/application_controller.rb +5 -0
  32. data/test/dummy/app/helpers/application_helper.rb +2 -0
  33. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  34. data/test/dummy/app/views/posts/_form.html.haml +16 -0
  35. data/test/dummy/app/views/posts/edit.html.haml +7 -0
  36. data/test/dummy/app/views/posts/index.html.haml +21 -0
  37. data/test/dummy/app/views/posts/index.json.jbuilder +4 -0
  38. data/test/dummy/app/views/posts/new.html.haml +5 -0
  39. data/test/dummy/app/views/posts/show.html.haml +12 -0
  40. data/test/dummy/app/views/posts/show.json.jbuilder +1 -0
  41. data/test/dummy/bin/bundle +3 -0
  42. data/test/dummy/bin/rails +4 -0
  43. data/test/dummy/bin/rake +4 -0
  44. data/test/dummy/config.ru +4 -0
  45. data/test/dummy/config/application.rb +23 -0
  46. data/test/dummy/config/boot.rb +5 -0
  47. data/test/dummy/config/database.yml +25 -0
  48. data/test/dummy/config/environment.rb +5 -0
  49. data/test/dummy/config/environments/development.rb +29 -0
  50. data/test/dummy/config/environments/production.rb +80 -0
  51. data/test/dummy/config/environments/test.rb +36 -0
  52. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  53. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  54. data/test/dummy/config/initializers/inflections.rb +16 -0
  55. data/test/dummy/config/initializers/mime_types.rb +5 -0
  56. data/test/dummy/config/initializers/secret_token.rb +12 -0
  57. data/test/dummy/config/initializers/session_store.rb +3 -0
  58. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  59. data/test/dummy/config/locales/en.yml +23 -0
  60. data/test/dummy/config/routes.rb +56 -0
  61. data/test/dummy/db/development.sqlite3 +0 -0
  62. data/test/dummy/db/migrate/20131006054133_create_tests.rb +8 -0
  63. data/test/dummy/db/migrate/20131006115208_create_posts.rb +10 -0
  64. data/test/dummy/db/schema.rb +28 -0
  65. data/test/dummy/log/development.log +2299 -0
  66. data/test/dummy/public/404.html +58 -0
  67. data/test/dummy/public/422.html +58 -0
  68. data/test/dummy/public/500.html +57 -0
  69. data/test/dummy/public/favicon.ico +0 -0
  70. data/test/dummy/test/controllers/posts_controller_test.rb +49 -0
  71. data/test/dummy/test/fixtures/posts.yml +9 -0
  72. data/test/dummy/test/fixtures/tests.yml +11 -0
  73. data/test/dummy/test/helpers/posts_helper_test.rb +4 -0
  74. data/test/dummy/test/models/post_test.rb +7 -0
  75. data/test/dummy/test/models/test_test.rb +7 -0
  76. data/test/dummy/tmp/cache/assets/development/sass/5e65457e8790b21bb66467547fe443e595671eb3/foundation.scssc +0 -0
  77. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_alert-boxes.scssc +0 -0
  78. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_block-grid.scssc +0 -0
  79. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_breadcrumbs.scssc +0 -0
  80. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_button-groups.scssc +0 -0
  81. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_buttons.scssc +0 -0
  82. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_clearing.scssc +0 -0
  83. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_custom-forms.scssc +0 -0
  84. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_dropdown-buttons.scssc +0 -0
  85. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_dropdown.scssc +0 -0
  86. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_flex-video.scssc +0 -0
  87. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_forms.scssc +0 -0
  88. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_global.scssc +0 -0
  89. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_grid.scssc +0 -0
  90. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_inline-lists.scssc +0 -0
  91. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_joyride.scssc +0 -0
  92. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_keystrokes.scssc +0 -0
  93. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_labels.scssc +0 -0
  94. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_magellan.scssc +0 -0
  95. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_orbit.scssc +0 -0
  96. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_pagination.scssc +0 -0
  97. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_panels.scssc +0 -0
  98. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_pricing-tables.scssc +0 -0
  99. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_progress-bars.scssc +0 -0
  100. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_reveal.scssc +0 -0
  101. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_section.scssc +0 -0
  102. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_side-nav.scssc +0 -0
  103. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_split-buttons.scssc +0 -0
  104. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_sub-nav.scssc +0 -0
  105. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_switch.scssc +0 -0
  106. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_tables.scssc +0 -0
  107. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_thumbs.scssc +0 -0
  108. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_tooltips.scssc +0 -0
  109. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_top-bar.scssc +0 -0
  110. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_type.scssc +0 -0
  111. data/test/dummy/tmp/cache/assets/development/sass/942db8b2be953c9bac7f632a6f4ac941579d2216/_visibility.scssc +0 -0
  112. data/test/dummy/tmp/cache/assets/development/sass/be6f7d6cf81a3a6db6a6427662e44ee1833019b8/_variables.scssc +0 -0
  113. data/test/dummy/tmp/cache/assets/development/sass/ea369932e64bc5225aea5605bf0ed7dad0149c7c/foundation_and_overrides.scssc +0 -0
  114. data/test/dummy/tmp/cache/assets/development/sass/ea369932e64bc5225aea5605bf0ed7dad0149c7c/posts.css.scssc +0 -0
  115. data/test/dummy/tmp/cache/assets/development/sass/ea369932e64bc5225aea5605bf0ed7dad0149c7c/scaffolds.css.scssc +0 -0
  116. data/test/dummy/tmp/cache/assets/development/sprockets/08662e474ce1579b97884ab50e2e2643 +0 -0
  117. data/test/dummy/tmp/cache/assets/development/sprockets/0a99b6b60d901e7347ae702a774c460d +0 -0
  118. data/test/dummy/tmp/cache/assets/development/sprockets/109364ff23b8c3f298666d5b3ed59f8f +0 -0
  119. data/test/dummy/tmp/cache/assets/development/sprockets/10fcfbe6ebae11a40c8eac41939a1b9a +0 -0
  120. data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  121. data/test/dummy/tmp/cache/assets/development/sprockets/1a821c95f916421780abe99813b3c91b +0 -0
  122. data/test/dummy/tmp/cache/assets/development/sprockets/1f186ab17df208d8f9291c4ec5793626 +0 -0
  123. data/test/dummy/tmp/cache/assets/development/sprockets/204247b3a9d449797de892002beb9ff0 +0 -0
  124. data/test/dummy/tmp/cache/assets/development/sprockets/210743f18402df668a8eac0f97fe9792 +0 -0
  125. data/test/dummy/tmp/cache/assets/development/sprockets/21510ea8264eaa94d48104f903b60f39 +0 -0
  126. data/test/dummy/tmp/cache/assets/development/sprockets/21b774bcf777796eb33a2f79ef74e215 +0 -0
  127. data/test/dummy/tmp/cache/assets/development/sprockets/22f08f9bfd17b861b64760e60468d81b +0 -0
  128. data/test/dummy/tmp/cache/assets/development/sprockets/2b2fc669f5a079c5eb55160b13687322 +0 -0
  129. data/test/dummy/tmp/cache/assets/development/sprockets/2d64858078c6c6e2fe621b48bb2f44a9 +0 -0
  130. data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  131. data/test/dummy/tmp/cache/assets/development/sprockets/302401b849544f478d71b360f959de1b +0 -0
  132. data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  133. data/test/dummy/tmp/cache/assets/development/sprockets/35c4ebb0728d94f58835f5a834ee410b +0 -0
  134. data/test/dummy/tmp/cache/assets/development/sprockets/3794b356552fe398efb67a9f13603852 +0 -0
  135. data/test/dummy/tmp/cache/assets/development/sprockets/40e4dc27315c8bb23ab744a9b4109d6d +0 -0
  136. data/test/dummy/tmp/cache/assets/development/sprockets/45608fceae9d088671ac5d2ee16d87da +0 -0
  137. data/test/dummy/tmp/cache/assets/development/sprockets/4582dca43473c600d2a889c0ceacb6e9 +0 -0
  138. data/test/dummy/tmp/cache/assets/development/sprockets/4a31b996e5ba29ae4ae8296e024d72e2 +0 -0
  139. data/test/dummy/tmp/cache/assets/development/sprockets/4b0af6b796cc38d45f669c27eb80317c +0 -0
  140. data/test/dummy/tmp/cache/assets/development/sprockets/5322bf09526bb349f4db53733d00708d +0 -0
  141. data/test/dummy/tmp/cache/assets/development/sprockets/554fbf86fb6ebbfba471462aece61b71 +0 -0
  142. data/test/dummy/tmp/cache/assets/development/sprockets/59ee4111f5f3ae4c0e2611fe56f27d41 +0 -0
  143. data/test/dummy/tmp/cache/assets/development/sprockets/5a2122189d95df7e073f20347a1f4d1d +0 -0
  144. data/test/dummy/tmp/cache/assets/development/sprockets/5a6dc5b720e91c7d5b96f8978e8c099c +0 -0
  145. data/test/dummy/tmp/cache/assets/development/sprockets/5a903d903ff1031711d0cb82b0e4c473 +0 -0
  146. data/test/dummy/tmp/cache/assets/development/sprockets/5f0c911bac0bdade86492175727353a0 +0 -0
  147. data/test/dummy/tmp/cache/assets/development/sprockets/6f9f5b80c345a75b6ed3c682bb12b4a2 +0 -0
  148. data/test/dummy/tmp/cache/assets/development/sprockets/71ed84561ff87a5b5e970969ee1071d1 +0 -0
  149. data/test/dummy/tmp/cache/assets/development/sprockets/76ede84da6cefda9c2aa52569d397ab6 +0 -0
  150. data/test/dummy/tmp/cache/assets/development/sprockets/7b17de2aa94f5206252e277afe1df40c +0 -0
  151. data/test/dummy/tmp/cache/assets/development/sprockets/7b50d5f08a3a319773b0c52f4483ee4f +0 -0
  152. data/test/dummy/tmp/cache/assets/development/sprockets/7e4be92eadae28f8b72b8c1f6ee3d80d +0 -0
  153. data/test/dummy/tmp/cache/assets/development/sprockets/8b590831eed712236b632c539da643e9 +0 -0
  154. data/test/dummy/tmp/cache/assets/development/sprockets/8e99ae8c4ddf076611fbae06243721d8 +0 -0
  155. data/test/dummy/tmp/cache/assets/development/sprockets/90c20156d1c9a5163e51c8c056ff5777 +0 -0
  156. data/test/dummy/tmp/cache/assets/development/sprockets/92088122fa40322c86cc0083551a4528 +0 -0
  157. data/test/dummy/tmp/cache/assets/development/sprockets/9227d7172d559066f794a189c599e1fc +0 -0
  158. data/test/dummy/tmp/cache/assets/development/sprockets/9ef8b3034506be9061b9df2e00698d80 +0 -0
  159. data/test/dummy/tmp/cache/assets/development/sprockets/9f93e00a58310561d1989b82ab7b83a7 +0 -0
  160. data/test/dummy/tmp/cache/assets/development/sprockets/9fdd00562d6dea819db33bdf1f5cab5b +0 -0
  161. data/test/dummy/tmp/cache/assets/development/sprockets/a2559a19bfb0a6b5f9651b4e9dbe559c +0 -0
  162. data/test/dummy/tmp/cache/assets/development/sprockets/a531964bec6d6cb36895a13f8bdab7e0 +0 -0
  163. data/test/dummy/tmp/cache/assets/development/sprockets/aac4628c5d4049f6abe72c1b0e42097b +0 -0
  164. data/test/dummy/tmp/cache/assets/development/sprockets/aada318492cd92ae01885ef3911e2717 +0 -0
  165. data/test/dummy/tmp/cache/assets/development/sprockets/abb46c9cfc4b1dca83447d9672fb9b8d +0 -0
  166. data/test/dummy/tmp/cache/assets/development/sprockets/b0acf2933cfdb22eaeb8c9d80a87ccd1 +0 -0
  167. data/test/dummy/tmp/cache/assets/development/sprockets/b0e2c03464284b32461db11132ceaa42 +0 -0
  168. data/test/dummy/tmp/cache/assets/development/sprockets/b0f8eeb3d384a02c7915be1d63860345 +0 -0
  169. data/test/dummy/tmp/cache/assets/development/sprockets/b184b27f67d8e8736980a0b8984fd9ff +0 -0
  170. data/test/dummy/tmp/cache/assets/development/sprockets/b4c7391482ed7db125856b4a5611c8e0 +0 -0
  171. data/test/dummy/tmp/cache/assets/development/sprockets/b4d05ba000729f99077402d6f3ebc6a5 +0 -0
  172. data/test/dummy/tmp/cache/assets/development/sprockets/b64602f02c6f0bd3701cdcc16fe1cdb1 +0 -0
  173. data/test/dummy/tmp/cache/assets/development/sprockets/b7edc309227cdee7658c29674a5eb30f +0 -0
  174. data/test/dummy/tmp/cache/assets/development/sprockets/bd3936370d0f952ada5774e2230046ed +0 -0
  175. data/test/dummy/tmp/cache/assets/development/sprockets/bfca04565e745a9dcb660191f63c2dd0 +0 -0
  176. data/test/dummy/tmp/cache/assets/development/sprockets/c0541f37a48c06469f284192ae351f9c +0 -0
  177. data/test/dummy/tmp/cache/assets/development/sprockets/c32dd6e27182c620c704715b6f312863 +0 -0
  178. data/test/dummy/tmp/cache/assets/development/sprockets/c3bc360cff83ffddb8e0f46b918957d2 +0 -0
  179. data/test/dummy/tmp/cache/assets/development/sprockets/c4a4cc465b11c1d68b8c960371d85011 +0 -0
  180. data/test/dummy/tmp/cache/assets/development/sprockets/c8ef7534699ea82b3fb3658b8c10cf91 +0 -0
  181. data/test/dummy/tmp/cache/assets/development/sprockets/cc3949ebb617002ef1f538cfd4caa5df +0 -0
  182. data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  183. data/test/dummy/tmp/cache/assets/development/sprockets/d3404752cf23ba5902ef142cb4f1d72d +0 -0
  184. data/test/dummy/tmp/cache/assets/development/sprockets/d70fca14dd961df1ddacfb404e68f641 +0 -0
  185. data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  186. data/test/dummy/tmp/cache/assets/development/sprockets/e35e5cf8df356b11ca306cb025aec9ff +0 -0
  187. data/test/dummy/tmp/cache/assets/development/sprockets/e459168835a5f27b832ace20874f7c10 +0 -0
  188. data/test/dummy/tmp/cache/assets/development/sprockets/f4db7f07159837dd9f31e436c623d99e +0 -0
  189. data/test/dummy/tmp/cache/assets/development/sprockets/f767bf7733f9d255bda5d7ad033ab87f +0 -0
  190. data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  191. data/test/templator_chabz_test.rb +7 -0
  192. data/test/test_helper.rb +15 -0
  193. metadata +432 -0
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ Mjg5MTljODE4ODY2MTQzMDU0YTM2Y2U5YWM0MGU4MDg0MzBmMmFiYQ==
5
+ data.tar.gz: !binary |-
6
+ MTFhOWFiZDA2YTFmOGI2YTIxZDM0OTRmYzVhOTU3YTI3MjFjMDVmYQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ MTE4NzA5NWNmOWRlODIyNmNiM2Y1N2M5NmE1NTEzNmU4YzVjOTFhNTg0ODc0
10
+ YTE0ODFhMjU3MzNlNTQxNTVlYThhNjg1N2NjZjhkMjQ0NTQ0ZDliOTQ5NGMw
11
+ NzhlMGY4YjA3OTZmNzNjN2Y0YmRhYzQzNDdmYTgzYzIxNTk0ZGU=
12
+ data.tar.gz: !binary |-
13
+ NWJmYzA0MWE1YTczYmY5YjEzNDhkODQ1N2Y0N2NkNTgzYWUxMTQ4ODEwNjNh
14
+ YWNmOTZhYzNkOTYzMTBiYmYwYmFjZWFiZmM1NjU2NWZiZjdlYjU5OTYwMzg0
15
+ YzgyYzZjODRiZDkzYjVkNGViN2I0MWYzNTlmZTFlODRkODY3OTE=
@@ -0,0 +1,20 @@
1
+ Copyright 2013 YOURNAME
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,3 @@
1
+ = TemplatorChabz
2
+
3
+ This project rocks and uses MIT-LICENSE.
@@ -0,0 +1,32 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'TemplatorChabz'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.rdoc')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+
18
+
19
+
20
+ Bundler::GemHelper.install_tasks
21
+
22
+ require 'rake/testtask'
23
+
24
+ Rake::TestTask.new(:test) do |t|
25
+ t.libs << 'lib'
26
+ t.libs << 'test'
27
+ t.pattern = 'test/**/*_test.rb'
28
+ t.verbose = false
29
+ end
30
+
31
+
32
+ task default: :test
@@ -0,0 +1,81 @@
1
+ #lib/generators/gemname/install_generator.rb
2
+ require 'rails/generators'
3
+ require File.expand_path('../template_generator', __FILE__)
4
+
5
+ module TemplatorChabz
6
+ module Generators
7
+ class InstallGenerator < Rails::Generators::Base
8
+ desc "Install TemplatorChabz"
9
+ class_option :framework, :type => :string, :default => "foundation",
10
+ :desc => "Specify Front-End framework"
11
+ class_option :haml, :type => :boolean
12
+ class_option :fluid, :type => :boolean
13
+ class_option :fixed, :type => :boolean
14
+
15
+ def self.source_root
16
+ @source_root ||= File.join(File.dirname(__FILE__), 'templates')
17
+ end
18
+
19
+ def install
20
+ say "Hello, Templator Chabz will help you set up your template"
21
+ installed_gems = Gem::Specification.map { |g| g.name }
22
+ if options[:framework] == "bootstrap"
23
+ unless installed_gems.include?("twitter-bootstrap-rails")
24
+ say "Adding bootstrap-rails gem to your Gemfile:"
25
+ append_file "Gemfile", "\n", :force => true
26
+ gem 'therubyracer' unless installed_gems.include?("therubyracer")
27
+ gem 'less-rails' unless installed_gems.include?("less-rails")
28
+ gem 'twitter-bootstrap-rails', git: 'git://github.com/seyhunak/twitter-bootstrap-rails.git'
29
+ begin
30
+ Bundler.with_clean_env do
31
+ run "bundle install"
32
+ run "rails g bootstrap:install"
33
+ end
34
+ rescue RuntimeError => e
35
+ raise "There was an error occurred", e.message
36
+ end
37
+ end
38
+ say "Installing Bootstrap..."
39
+ elsif options[:framework] == "foundation"
40
+ unless installed_gems.include?("zurb-foundation")
41
+ say "Adding foundation-rails gem to your Gemfile:"
42
+ append_file "Gemfile", "\n", :force => true
43
+ gem 'zurb-foundation'
44
+ say "Installing Foundation..."
45
+ begin
46
+ Bundler.with_clean_env do
47
+ run "bundle install"
48
+ run "rails g foundation:install"
49
+ end
50
+ rescue RuntimeError => e
51
+ raise "There was an error occurred", e.message
52
+ end
53
+ end
54
+ else
55
+ say "Framework not found. Please choose froom either 'foundation' or 'bootstrap'"
56
+ end
57
+ create_layout
58
+ end
59
+
60
+ private
61
+ def create_layout
62
+ if options.framework == "foundation"
63
+ Bundler.with_clean_env do
64
+ if options.haml?
65
+ run "rails g foundation:install --haml"
66
+ else
67
+ run "rails g foundation:install"
68
+ end
69
+ end
70
+ elsif options.framework == "bootstrap"
71
+ option_bs = ("fluid" if options.fluid) || ( "fixed" if options.fixed) || ""
72
+ Bundler.with_clean_env do
73
+ run "rails g bootstrap:layout application #{option_bs}"
74
+ end
75
+ else
76
+ say "Framework not found. Please choose froom either 'foundation' or 'bootstrap'"
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,31 @@
1
+ require 'rails/generators'
2
+
3
+ module TemplatorChabz
4
+ module Generators
5
+ class TemplateGenerator < Rails::Generators::Base
6
+ ZB_TEMPLATES = ['banded','blog', 'feed', 'grid', 'orbit', 'banner-home', 'sidebar']
7
+
8
+ class_option :haml, type: :boolean, desc: "Generate HAML layout"
9
+ class_option :framework, type: :string, default: "foundation"
10
+ class_option :template, type: :string, default: "blog"
11
+
12
+ def self.source_root
13
+ @source_root ||= File.join(File.dirname(__FILE__), 'templates')
14
+ end
15
+
16
+ def create_template
17
+ if ZB_TEMPLATES.include?(options.template) && options.framework == "foundation"
18
+ if options.haml?
19
+ remove_file "app/views/layouts/application.html.erb"
20
+ template "foundation/haml/#{options.template}.html.haml", "app/views/layouts/application.html.haml"
21
+ else
22
+ remove_file "app/views/layouts/application.html.haml"
23
+ template "foundation/erb/#{options.template}.html.erb", "app/views/layouts/application.html.erb"
24
+ end
25
+ else
26
+ raise "template not found."
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,116 @@
1
+ <!DOCTYPE html>
2
+ <!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
3
+ <!--[if lt IE 7 ]> <html class="ie6" lang="en"> <![endif]-->
4
+ <!--[if IE 7 ]> <html class="ie7" lang="en"> <![endif]-->
5
+ <!--[if IE 8 ]> <html class="ie8" lang="en"> <![endif]-->
6
+ <!--[if IE 9 ]> <html class="ie9" lang="en"> <![endif]-->
7
+ <!--[if (gt IE 9)|!(IE)]><!--> <html lang="en"> <!--<![endif]-->
8
+ <head>
9
+ <meta charset="utf-8" />
10
+
11
+ <!-- Uncomment to make IE8 render like IE7 -->
12
+ <!-- <meta http-equiv="X-UA-Compatible" content="IE=7" /> -->
13
+
14
+ <!-- Set the viewport width to device width for mobile -->
15
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
16
+ <title><%%= content_for?(:title) ? yield(:title) : "Untitled" %></title>
17
+
18
+ <!-- Included CSS Files -->
19
+ <%%= stylesheet_link_tag "application" %>
20
+
21
+ <!-- Included JS Files -->
22
+ <%%= javascript_include_tag "application" %>
23
+
24
+ <%%= csrf_meta_tags %>
25
+
26
+ </head>
27
+
28
+ <body>
29
+ <!-- Header and Nav -->
30
+ <div class="row">
31
+ <div class="large-3 columns">
32
+ <h1><img src="http://placehold.it/400x100&text=Logo"></h1>
33
+ </div>
34
+ <div class="large-9 columns">
35
+ <ul class="button-group right">
36
+ <li><a href="#" class="button">Link 1</a></li>
37
+ <li><a href="#" class="button">Link 2</a></li>
38
+ <li><a href="#" class="button">Link 3</a></li>
39
+ <li><a href="#" class="button">Link 4</a></li>
40
+ </ul>
41
+ </div>
42
+ </div>
43
+
44
+ <!-- End Header and Nav -->
45
+
46
+
47
+ <!-- First Band (Image) -->
48
+
49
+ <div class="row">
50
+ <div class="large-12 columns">
51
+ <img src="http://placehold.it/1000x400&text=[img]">
52
+
53
+ <hr>
54
+ </div>
55
+ </div>
56
+ <!-- Second Band (Image Left with Text) -->
57
+
58
+ <div class="row">
59
+ <div class="large-4 columns">
60
+ <img src="http://placehold.it/400x300&text=[img]">
61
+ </div>
62
+ <div class="large-8 columns">
63
+ <h4>This is a content section.</h4>
64
+ <div class="row">
65
+ <div class="large-6 columns">
66
+ <p>Bacon ipsum dolor sit amet nulla ham qui sint exercitation eiusmod commodo, chuck duis velit. Aute in reprehenderit, dolore aliqua non est magna in labore pig pork biltong. Eiusmod swine spare ribs reprehenderit culpa. Boudin aliqua adipisicing rump corned beef.</p>
67
+ </div>
68
+ <div class="large-6 columns">
69
+ <p>Pork drumstick turkey fugiat. Tri-tip elit turducken pork chop in. Swine short ribs meatball irure bacon nulla pork belly cupidatat meatloaf cow. Nulla corned beef sunt ball tip, qui bresaola enim jowl. Capicola short ribs minim salami nulla nostrud pastrami.</p>
70
+ </div>
71
+ </div>
72
+ <!-- It's up to you to place yield wherever you like. Feel free to edit this template -->
73
+ <%%= yield %>
74
+ </div>
75
+ </div>
76
+
77
+
78
+ <!-- Third Band (Image Right with Text) -->
79
+
80
+ <div class="row">
81
+ <div class="large-8 columns">
82
+ <h4>This is a content section.</h4>
83
+
84
+ <p>Bacon ipsum dolor sit amet nulla ham qui sint exercitation eiusmod commodo, chuck duis velit. Aute in reprehenderit, dolore aliqua non est magna in labore pig pork biltong. Eiusmod swine spare ribs reprehenderit culpa. Boudin aliqua adipisicing rump corned beef.</p>
85
+
86
+ <p>Pork drumstick turkey fugiat. Tri-tip elit turducken pork chop in. Swine short ribs meatball irure bacon nulla pork belly cupidatat meatloaf cow. Nulla corned beef sunt ball tip, qui bresaola enim jowl. Capicola short ribs minim salami nulla nostrud pastrami.</p>
87
+
88
+ </div>
89
+ <div class="large-4 columns">
90
+ <img src="http://placehold.it/400x300&text=[img]">
91
+ </div>
92
+ </div>
93
+
94
+
95
+ <!-- Footer -->
96
+
97
+ <footer class="row">
98
+ <div class="large-12 columns">
99
+ <hr />
100
+ <div class="row">
101
+ <div class="large-6 columns">
102
+ <p>&copy; Copyright no one at all. Go to town.</p>
103
+ </div>
104
+ <div class="large-6 columns">
105
+ <ul class="inline-list right">
106
+ <li><a href="#">Link 1</a></li>
107
+ <li><a href="#">Link 2</a></li>
108
+ <li><a href="#">Link 3</a></li>
109
+ <li><a href="#">Link 4</a></li>
110
+ </ul>
111
+ </div>
112
+ </div>
113
+ </div>
114
+ </footer>
115
+ </body>
116
+ </html>
@@ -0,0 +1,125 @@
1
+ <!DOCTYPE html>
2
+ <!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
3
+ <!--[if lt IE 7 ]> <html class="ie6" lang="en"> <![endif]-->
4
+ <!--[if IE 7 ]> <html class="ie7" lang="en"> <![endif]-->
5
+ <!--[if IE 8 ]> <html class="ie8" lang="en"> <![endif]-->
6
+ <!--[if IE 9 ]> <html class="ie9" lang="en"> <![endif]-->
7
+ <!--[if (gt IE 9)|!(IE)]><!--> <html lang="en"> <!--<![endif]-->
8
+ <head>
9
+ <meta charset="utf-8" />
10
+
11
+ <!-- Uncomment to make IE8 render like IE7 -->
12
+ <!-- <meta http-equiv="X-UA-Compatible" content="IE=7" /> -->
13
+
14
+ <!-- Set the viewport width to device width for mobile -->
15
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
16
+ <title><%%= content_for?(:title) ? yield(:title) : "Untitled" %></title>
17
+
18
+ <!-- Included CSS Files -->
19
+ <%%= stylesheet_link_tag "application" %>
20
+
21
+ <!-- Included JS Files -->
22
+ <%%= javascript_include_tag "application" %>
23
+
24
+ <%%= csrf_meta_tags %>
25
+
26
+ </head>
27
+
28
+ <body>
29
+ <!-- Nav and Banner -->
30
+ <div class="row">
31
+ <div class="large-12 columns">
32
+ <ul class="button-group">
33
+ <li><a href="#" class="button">Link 1</a></li>
34
+ <li><a href="#" class="button">Link 2</a></li>
35
+ <li><a href="#" class="button">Link 3</a></li>
36
+ <li><a href="#" class="button">Link 4</a></li>
37
+ <li><a href="#" class="button">Link 5</a></li>
38
+ <li><a href="#" class="button">Link 6</a></li>
39
+ <li><a href="#" class="button">Link 7</a></li>
40
+ </ul>
41
+
42
+ <!-- Main Banner Image - place in a paragraph to enforce the modular scale spacing -->
43
+ <p><img src="http://placehold.it/1000x400&text=[banner img]" /></p>
44
+ </div>
45
+ </div>
46
+
47
+ <!-- End Nav and Banner -->
48
+
49
+
50
+ <!-- Main Content Section -->
51
+
52
+ <div class="row">
53
+
54
+ <div class="large-8 columns">
55
+ <h4>This is a content section.</h4>
56
+ <p>Bacon ipsum dolor sit amet nulla ham qui sint exercitation eiusmod commodo, chuck duis velit. Aute in reprehenderit, dolore aliqua non est magna in labore pig pork biltong. Eiusmod swine spare ribs reprehenderit culpa. Boudin aliqua adipisicing rump corned beef.</p>
57
+ <p>Bacon ipsum dolor sit amet nulla ham qui sint exercitation eiusmod commodo, chuck duis velit. Aute in reprehenderit, dolore aliqua non est magna in labore pig pork biltong. Eiusmod swine spare ribs reprehenderit culpa. Boudin aliqua adipisicing rump corned beef.</p>
58
+ <p><a href="#" class="secondary small button">Next Page &rarr;</a></p>
59
+ <!-- It's up to you to place yield wherever you like. Feel free to edit this template -->
60
+ <%%= yield %>
61
+ </div>
62
+
63
+ <div class="large-4 columns">
64
+
65
+ <!-- Gallery sidebar with a block grid. Note: block grid items should be the same size for optimal results -->
66
+
67
+ <ul class="small-block-grid-3">
68
+ <li><a href="#"><img src="http://placehold.it/120x120" /></a></li>
69
+ <li><a href="#"><img src="http://placehold.it/120x120" /></a></li>
70
+ <li><a href="#"><img src="http://placehold.it/120x120" /></a></li>
71
+ <li><a href="#"><img src="http://placehold.it/120x120" /></a></li>
72
+ <li><a href="#"><img src="http://placehold.it/120x120" /></a></li>
73
+ <li><a href="#"><img src="http://placehold.it/120x120" /></a></li>
74
+ </ul>
75
+ </div>
76
+
77
+ </div>
78
+
79
+
80
+ <!-- Call to Action Panel -->
81
+ <div class="row">
82
+ <div class="large-12 columns">
83
+
84
+ <div class="panel">
85
+ <h4>Get in touch!</h4>
86
+
87
+ <div class="row">
88
+ <div class="large-9 columns">
89
+ <p>We'd love to hear from you, you attractive person you.</p>
90
+ </div>
91
+ <div class="large-3 columns">
92
+ <a href="#" class="radius button right">Contact Us</a>
93
+ </div>
94
+ </div>
95
+ </div>
96
+
97
+ </div>
98
+ </div>
99
+
100
+
101
+ <!-- Footer -->
102
+
103
+ <footer class="row">
104
+ <div class="large-12 columns">
105
+ <hr />
106
+ <div class="row">
107
+ <div class="large-6 columns">
108
+ <p>&copy; Copyright no one at all. Go to town.</p>
109
+ </div>
110
+ <div class="large-6 columns">
111
+ <ul class="inline-list right">
112
+ <li><a href="#">Link 1</a></li>
113
+ <li><a href="#">Link 2</a></li>
114
+ <li><a href="#">Link 3</a></li>
115
+ <li><a href="#">Link 4</a></li>
116
+ <li><a href="#">Link 5</a></li>
117
+ <li><a href="#">Link 6</a></li>
118
+ <li><a href="#">Link 7</a></li>
119
+ </ul>
120
+ </div>
121
+ </div>
122
+ </div>
123
+ </footer>
124
+ </body>
125
+ </html>
@@ -0,0 +1,154 @@
1
+ <!DOCTYPE html>
2
+ <!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
3
+ <!--[if lt IE 7 ]> <html class="ie6" lang="en"> <![endif]-->
4
+ <!--[if IE 7 ]> <html class="ie7" lang="en"> <![endif]-->
5
+ <!--[if IE 8 ]> <html class="ie8" lang="en"> <![endif]-->
6
+ <!--[if IE 9 ]> <html class="ie9" lang="en"> <![endif]-->
7
+ <!--[if (gt IE 9)|!(IE)]><!--> <html lang="en"> <!--<![endif]-->
8
+ <head>
9
+ <meta charset="utf-8" />
10
+
11
+ <!-- Uncomment to make IE8 render like IE7 -->
12
+ <!-- <meta http-equiv="X-UA-Compatible" content="IE=7" /> -->
13
+
14
+ <!-- Set the viewport width to device width for mobile -->
15
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
16
+ <title><%%= content_for?(:title) ? yield(:title) : "Untitled" %></title>
17
+
18
+ <!-- Included CSS Files -->
19
+ <%%= stylesheet_link_tag "application" %>
20
+
21
+ <!-- Included JS Files -->
22
+ <%%= javascript_include_tag "application" %>
23
+
24
+ <%%= csrf_meta_tags %>
25
+
26
+ </head>
27
+
28
+ <body>
29
+ <!-- Nav Bar -->
30
+ <div class="row">
31
+ <div class="large-12 columns">
32
+ <div class="nav-bar right">
33
+ <ul class="button-group">
34
+ <li><a href="#" class="button">Link 1</a></li>
35
+ <li><a href="#" class="button">Link 2</a></li>
36
+ <li><a href="#" class="button">Link 3</a></li>
37
+ <li><a href="#" class="button">Link 4</a></li>
38
+ </ul>
39
+ </div>
40
+ <h1>Blog <small>This is my blog. It's awesome.</small></h1>
41
+ <hr />
42
+ </div>
43
+ </div>
44
+
45
+ <!-- End Nav -->
46
+
47
+
48
+ <!-- Main Page Content and Sidebar -->
49
+
50
+ <div class="row">
51
+
52
+ <!-- Main Blog Content -->
53
+ <div class="large-9 columns" role="content">
54
+
55
+ <article>
56
+
57
+ <h3><a href="#">Blog Post Title</a></h3>
58
+ <h6>Written by <a href="#">John Smith</a> on August 12, 2012.</h6>
59
+
60
+ <div class="row">
61
+ <div class="large-6 columns">
62
+ <p>Bacon ipsum dolor sit amet nulla ham qui sint exercitation eiusmod commodo, chuck duis velit. Aute in reprehenderit, dolore aliqua non est magna in labore pig pork biltong. Eiusmod swine spare ribs reprehenderit culpa.</p>
63
+ <p>Boudin aliqua adipisicing rump corned beef. Nulla corned beef sunt ball tip, qui bresaola enim jowl. Capicola short ribs minim salami nulla nostrud pastrami.</p>
64
+ </div>
65
+ <div class="large-6 columns">
66
+ <img src="http://placehold.it/400x240&text=[img]" />
67
+ </div>
68
+ </div>
69
+
70
+ <p>Pork drumstick turkey fugiat. Tri-tip elit turducken pork chop in. Swine short ribs meatball irure bacon nulla pork belly cupidatat meatloaf cow. Nulla corned beef sunt ball tip, qui bresaola enim jowl. Capicola short ribs minim salami nulla nostrud pastrami. Nulla corned beef sunt ball tip, qui bresaola enim jowl. Capicola short ribs minim salami nulla nostrud pastrami.</p>
71
+
72
+ <p>Pork drumstick turkey fugiat. Tri-tip elit turducken pork chop in. Swine short ribs meatball irure bacon nulla pork belly cupidatat meatloaf cow. Nulla corned beef sunt ball tip, qui bresaola enim jowl. Capicola short ribs minim salami nulla nostrud pastrami.</p>
73
+
74
+ </article>
75
+ <!-- It's up to you to place yield wherever you like. Feel free to edit this template -->
76
+ <%%= yield %>
77
+
78
+ <hr />
79
+
80
+ <article>
81
+
82
+ <h3><a href="#">Blog Post Title</a></h3>
83
+ <h6>Written by <a href="#">John Smith</a> on August 12, 2012.</h6>
84
+
85
+ <div class="row">
86
+ <div class="large-6 columns">
87
+ <p>Bacon ipsum dolor sit amet nulla ham qui sint exercitation eiusmod commodo, chuck duis velit. Aute in reprehenderit, dolore aliqua non est magna in labore pig pork biltong. Eiusmod swine spare ribs reprehenderit culpa.</p>
88
+ <p>Boudin aliqua adipisicing rump corned beef. Nulla corned beef sunt ball tip, qui bresaola enim jowl. Capicola short ribs minim salami nulla nostrud pastrami.</p>
89
+ </div>
90
+ <div class="large-6 columns">
91
+ <img src="http://placehold.it/400x240&text=[img]" />
92
+ </div>
93
+ </div>
94
+
95
+ <p>Pork drumstick turkey fugiat. Tri-tip elit turducken pork chop in. Swine short ribs meatball irure bacon nulla pork belly cupidatat meatloaf cow. Nulla corned beef sunt ball tip, qui bresaola enim jowl. Capicola short ribs minim salami nulla nostrud pastrami. Nulla corned beef sunt ball tip, qui bresaola enim jowl. Capicola short ribs minim salami nulla nostrud pastrami.</p>
96
+
97
+ <p>Pork drumstick turkey fugiat. Tri-tip elit turducken pork chop in. Swine short ribs meatball irure bacon nulla pork belly cupidatat meatloaf cow. Nulla corned beef sunt ball tip, qui bresaola enim jowl. Capicola short ribs minim salami nulla nostrud pastrami.</p>
98
+
99
+ </article>
100
+
101
+ </div>
102
+
103
+ <!-- End Main Content -->
104
+
105
+
106
+ <!-- Sidebar -->
107
+
108
+ <aside class="large-3 columns">
109
+
110
+ <h5>Categories</h5>
111
+ <ul class="side-nav">
112
+ <li><a href="#">News</a></li>
113
+ <li><a href="#">Code</a></li>
114
+ <li><a href="#">Design</a></li>
115
+ <li><a href="#">Fun</a></li>
116
+ <li><a href="#">Weasels</a></li>
117
+ </ul>
118
+
119
+ <div class="panel">
120
+ <h5>Featured</h5>
121
+ <p>Pork drumstick turkey fugiat. Tri-tip elit turducken pork chop in. Swine short ribs meatball irure bacon nulla pork belly cupidatat meatloaf cow.</p>
122
+ <a href="#">Read More &rarr;</a>
123
+ </div>
124
+
125
+ </aside>
126
+
127
+ <!-- End Sidebar -->
128
+ </div>
129
+
130
+ <!-- End Main Content and Sidebar -->
131
+
132
+
133
+ <!-- Footer -->
134
+
135
+ <footer class="row">
136
+ <div class="large-12 columns">
137
+ <hr />
138
+ <div class="row">
139
+ <div class="large-6 columns">
140
+ <p>&copy; Copyright no one at all. Go to town.</p>
141
+ </div>
142
+ <div class="large-6 columns">
143
+ <ul class="inline-list right">
144
+ <li><a href="#">Link 1</a></li>
145
+ <li><a href="#">Link 2</a></li>
146
+ <li><a href="#">Link 3</a></li>
147
+ <li><a href="#">Link 4</a></li>
148
+ </ul>
149
+ </div>
150
+ </div>
151
+ </div>
152
+ </footer>
153
+ </body>
154
+ </html>