luca 0.9.8 → 0.9.9

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 (310) hide show
  1. data/CHANGELOG +49 -0
  2. data/Gemfile +8 -1
  3. data/Gemfile.lock +97 -53
  4. data/Guardfile +3 -25
  5. data/README.md +5 -16
  6. data/ROADMAP +15 -9
  7. data/Rakefile +24 -75
  8. data/app.rb +10 -42
  9. data/app/assets/javascripts/luca/basic.coffee +1 -1
  10. data/app/assets/javascripts/luca/components/application.coffee +187 -104
  11. data/app/assets/javascripts/luca/components/collection_view.coffee +115 -51
  12. data/app/assets/javascripts/luca/components/controller.coffee +87 -10
  13. data/app/assets/javascripts/luca/components/fields/base.coffee +74 -13
  14. data/app/assets/javascripts/luca/components/fields/button_field.coffee +60 -13
  15. data/app/assets/javascripts/luca/components/fields/checkbox_array.coffee +12 -7
  16. data/app/assets/javascripts/luca/components/fields/select_field.coffee +82 -23
  17. data/app/assets/javascripts/luca/components/fields/text_area_field.coffee +25 -10
  18. data/app/assets/javascripts/luca/components/fields/text_field.coffee +9 -3
  19. data/app/assets/javascripts/luca/components/form_view.coffee +105 -33
  20. data/app/assets/javascripts/luca/components/grid_layout_view.coffee +42 -0
  21. data/app/assets/javascripts/luca/components/index.coffee +6 -0
  22. data/app/assets/javascripts/luca/components/nav_bar.coffee +60 -6
  23. data/app/assets/javascripts/luca/components/page.coffee +70 -0
  24. data/app/assets/javascripts/luca/components/simple_collection_view.coffee +10 -0
  25. data/app/assets/javascripts/luca/components/table_view.coffee +7 -3
  26. data/app/assets/javascripts/luca/components/table_view_scrollable.coffee +23 -0
  27. data/app/assets/javascripts/luca/concerns/collection_event_bindings.coffee +4 -1
  28. data/app/assets/javascripts/luca/concerns/development_tool_helpers.coffee +23 -14
  29. data/app/assets/javascripts/luca/concerns/dom_helpers.coffee +2 -2
  30. data/app/assets/javascripts/luca/concerns/filterable.coffee +8 -11
  31. data/app/assets/javascripts/luca/concerns/form_model_bindings.coffee +20 -0
  32. data/app/assets/javascripts/luca/concerns/modal_view.coffee +40 -15
  33. data/app/assets/javascripts/luca/concerns/query_collection_bindings.coffee +7 -1
  34. data/app/assets/javascripts/luca/concerns/state_model.coffee +40 -26
  35. data/app/assets/javascripts/luca/concerns/templating.coffee +3 -1
  36. data/app/assets/javascripts/luca/config.coffee +5 -0
  37. data/app/assets/javascripts/luca/containers/card_view.coffee +87 -52
  38. data/app/assets/javascripts/luca/containers/container.coffee +305 -108
  39. data/app/assets/javascripts/luca/containers/modal_view.coffee +9 -9
  40. data/app/assets/javascripts/luca/containers/page_controller.coffee +25 -0
  41. data/app/assets/javascripts/luca/containers/panel_toolbar.coffee +5 -6
  42. data/app/assets/javascripts/luca/containers/tab_view.coffee +19 -10
  43. data/app/assets/javascripts/luca/containers/viewport.coffee +12 -16
  44. data/app/assets/javascripts/luca/core/collection.coffee +19 -5
  45. data/app/assets/javascripts/luca/core/events.coffee +5 -5
  46. data/app/assets/javascripts/luca/core/model.coffee +1 -1
  47. data/app/assets/javascripts/luca/core/panel.coffee +18 -6
  48. data/app/assets/javascripts/luca/core/registry/component_definition.coffee +2 -1
  49. data/app/assets/javascripts/luca/core/registry/meta_data.coffee +2 -0
  50. data/app/assets/javascripts/luca/core/registry/registry.coffee +14 -11
  51. data/app/assets/javascripts/luca/core/templates.coffee +5 -1
  52. data/app/assets/javascripts/luca/core/view.coffee +200 -47
  53. data/app/assets/javascripts/luca/dependencies.coffee +2 -0
  54. data/app/assets/javascripts/luca/development/code_sync_manager.coffee +173 -0
  55. data/app/assets/javascripts/luca/development/component.coffee +76 -0
  56. data/app/assets/javascripts/luca/development/components.coffee +57 -0
  57. data/app/assets/javascripts/luca/development/console.coffee +1 -1
  58. data/app/assets/javascripts/luca/development/index.coffee +4 -1
  59. data/app/assets/javascripts/luca/framework.coffee +7 -3
  60. data/app/assets/javascripts/luca/index.coffee +2 -1
  61. data/app/assets/javascripts/luca/managers/collection_manager.coffee +2 -3
  62. data/app/assets/javascripts/luca/managers/index.coffee +1 -1
  63. data/app/assets/javascripts/luca/managers/socket_manager.coffee +31 -8
  64. data/app/assets/javascripts/luca/templates/components/nav_bar.jst.ejs +16 -1
  65. data/app/assets/javascripts/luca/templates/containers/tab_view.jst.ejs +1 -1
  66. data/app/assets/javascripts/luca/util/index.coffee +1 -0
  67. data/app/assets/javascripts/luca/util/keybindings.coffee +24 -0
  68. data/app/assets/javascripts/luca/util/logging.coffee +15 -0
  69. data/app/assets/javascripts/luca/util/luca.coffee +9 -1
  70. data/app/assets/stylesheets/luca/components/table_view.scss +85 -0
  71. data/app/assets/stylesheets/luca/components/viewport.scss +0 -4
  72. data/app/assets/stylesheets/luca/containers/container.scss +8 -0
  73. data/app/assets/stylesheets/luca/index.css +2 -2
  74. data/bin/luca +14 -0
  75. data/config.ru +1 -2
  76. data/docs/framework.json +1 -0
  77. data/docs/luca-framework-documentation.js +1 -0
  78. data/docs/{application.md → old/application.md} +0 -0
  79. data/docs/{collection.md → old/collection.md} +0 -0
  80. data/docs/{collection_manager.md → old/collection_manager.md} +0 -0
  81. data/docs/{container_philosophy.md → old/container_philosophy.md} +0 -0
  82. data/docs/{event_binding_helpers.md → old/event_binding_helpers.md} +0 -0
  83. data/docs/{method_caching_and_computed_properties.md → old/method_caching_and_computed_properties.md} +0 -0
  84. data/docs/{view.md → old/view.md} +0 -0
  85. data/lib/generators/luca/application/templates/javascripts/dependencies.coffee +2 -5
  86. data/lib/guard/luca.rb +84 -0
  87. data/lib/luca.rb +25 -1
  88. data/lib/luca/asset_compiler.rb +117 -0
  89. data/lib/luca/cli.rb +68 -0
  90. data/lib/luca/cli/generate.rb +37 -0
  91. data/lib/luca/cli/server.rb +20 -0
  92. data/lib/luca/cli/sync.rb +40 -0
  93. data/lib/luca/cli/watch.rb +16 -0
  94. data/lib/luca/collection.rb +64 -0
  95. data/lib/luca/collection/endpoint.rb +38 -0
  96. data/lib/luca/collection/file_backend.rb +121 -0
  97. data/lib/luca/collection/redis_backend.rb +153 -0
  98. data/lib/luca/compiled_asset.rb +61 -0
  99. data/lib/luca/component_definition.rb +356 -0
  100. data/lib/luca/luca_application.rb +258 -0
  101. data/lib/luca/project.rb +73 -0
  102. data/lib/luca/project_harness.rb +96 -0
  103. data/lib/luca/rails.rb +5 -3
  104. data/lib/luca/rails/engine.rb +8 -0
  105. data/lib/luca/rails/version.rb +1 -2
  106. data/lib/luca/server.rb +7 -0
  107. data/lib/luca/stylesheet.rb +35 -0
  108. data/lib/luca/template.rb +2 -0
  109. data/lib/luca/template_asset.rb +64 -0
  110. data/lib/luca/version.rb +3 -0
  111. data/lib/luca/watcher.rb +72 -0
  112. data/lib/railties/luca/tasks.rake +7 -0
  113. data/site/.bundle/config +2 -0
  114. data/site/.gitignore +5 -0
  115. data/site/.rvmrc +1 -0
  116. data/site/CHANGELOG.md +41 -0
  117. data/site/DOCS.md +41 -0
  118. data/site/Gemfile +8 -0
  119. data/site/Gemfile.lock +134 -0
  120. data/site/LICENSE.md +19 -0
  121. data/site/config.rb +84 -0
  122. data/site/helpers/site_helpers.rb +20 -0
  123. data/site/html5bp-docs/README.md +38 -0
  124. data/site/html5bp-docs/contribute.md +104 -0
  125. data/site/html5bp-docs/crossdomain.md +21 -0
  126. data/site/html5bp-docs/css.md +135 -0
  127. data/site/html5bp-docs/extend.md +507 -0
  128. data/site/html5bp-docs/faq.md +77 -0
  129. data/site/html5bp-docs/htaccess.md +323 -0
  130. data/site/html5bp-docs/html.md +170 -0
  131. data/site/html5bp-docs/js.md +31 -0
  132. data/site/html5bp-docs/misc.md +25 -0
  133. data/site/html5bp-docs/usage.md +109 -0
  134. data/site/readme.md +47 -0
  135. data/site/source/.htaccess +540 -0
  136. data/site/source/404.html +157 -0
  137. data/site/source/app/assets/javascripts/dependencies.js.coffee +6 -0
  138. data/site/source/app/assets/javascripts/docs-docs.js +1 -0
  139. data/site/source/app/assets/javascripts/docs/application.coffee +64 -0
  140. data/site/source/app/assets/javascripts/docs/collections/docs_documentation.coffee +17 -0
  141. data/site/source/app/assets/javascripts/docs/collections/github_repositories.coffee +7 -0
  142. data/site/source/app/assets/javascripts/docs/collections/index.coffee +1 -0
  143. data/site/source/app/assets/javascripts/docs/collections/luca_documentation.coffee +17 -0
  144. data/site/source/app/assets/javascripts/docs/collections/public_gists.coffee +4 -0
  145. data/site/source/app/assets/javascripts/docs/config.coffee +5 -0
  146. data/site/source/app/assets/javascripts/docs/index.coffee +12 -0
  147. data/site/source/app/assets/javascripts/docs/lib/router.coffee +3 -0
  148. data/{spec/components/application_spec.coffee → site/source/app/assets/javascripts/docs/lib/util.coffee} +0 -0
  149. data/site/source/app/assets/javascripts/docs/models/component.coffee +99 -0
  150. data/site/source/app/assets/javascripts/docs/models/github_repository.coffee +3 -0
  151. data/site/source/app/assets/javascripts/docs/models/index.coffee +1 -0
  152. data/site/source/app/assets/javascripts/docs/templates/component_documentation.jst.ejs +55 -0
  153. data/site/source/app/assets/javascripts/docs/templates/examples_browser/overview.jst.ejs +4 -0
  154. data/site/source/app/assets/javascripts/docs/templates/examples_browser/selector.jst.ejs +11 -0
  155. data/site/source/app/assets/javascripts/docs/templates/github_repository.jst.ejs +4 -0
  156. data/site/source/app/assets/javascripts/docs/templates/layouts/main.jst.ejs +4 -0
  157. data/site/source/app/assets/javascripts/docs/templates/left_navigation.jst.ejs +5 -0
  158. data/site/source/app/assets/javascripts/docs/templates/pages/getting_started.jst.ejs +78 -0
  159. data/site/source/app/assets/javascripts/docs/templates/pages/home.jst.ejs +57 -0
  160. data/site/source/app/assets/javascripts/docs/views/components/code_editor.coffee +45 -0
  161. data/{spec/components/collection_loader_view_spec.coffee → site/source/app/assets/javascripts/docs/views/components/code_editor/index.coffee} +0 -0
  162. data/site/source/app/assets/javascripts/docs/views/components/component_documentation.coffee +72 -0
  163. data/site/source/app/assets/javascripts/docs/views/index.coffee +3 -0
  164. data/site/source/app/assets/javascripts/docs/views/pages/browse_source.coffee +46 -0
  165. data/site/source/app/assets/javascripts/docs/views/pages/browse_source/details.coffee +37 -0
  166. data/site/source/app/assets/javascripts/docs/views/pages/browse_source/list.coffee +31 -0
  167. data/site/source/app/assets/javascripts/docs/views/pages/component_editor.coffee +10 -0
  168. data/site/source/app/assets/javascripts/docs/views/pages/examples_browser.coffee +102 -0
  169. data/site/source/app/assets/javascripts/docs/views/pages/examples_browser/docs.coffee +12 -0
  170. data/site/source/app/assets/javascripts/docs/views/pages/examples_browser/source.coffee +13 -0
  171. data/site/source/app/assets/javascripts/docs/views/pages/home.coffee +10 -0
  172. data/site/source/app/assets/javascripts/docs/views/views/api_browser/index.coffee +43 -0
  173. data/site/source/app/assets/javascripts/docs/views/views/collection_view_examples/grid_layout_view_example.coffee +14 -0
  174. data/site/source/app/assets/javascripts/docs/views/views/collection_view_examples/table_view_example.coffee +39 -0
  175. data/site/source/app/assets/javascripts/docs/views/views/form_view_examples/basic_example.coffee +38 -0
  176. data/site/source/app/assets/javascripts/docs/views/views/form_view_examples/complex_layout.coffee +110 -0
  177. data/site/source/app/assets/javascripts/docs/views/views/top_navigation.coffee +6 -0
  178. data/site/source/app/assets/javascripts/luca-docs.js +1 -0
  179. data/site/source/app/assets/javascripts/luca-framework-documentation.js +1 -0
  180. data/site/source/app/assets/javascripts/site.js.coffee +4 -0
  181. data/site/source/app/assets/javascripts/vendor/codemirror.js +4786 -0
  182. data/site/source/app/assets/javascripts/vendor/coffeescript.js +346 -0
  183. data/site/source/app/assets/javascripts/vendor/css.js +465 -0
  184. data/site/source/app/assets/javascripts/vendor/htmlmixed.js +84 -0
  185. data/site/source/app/assets/javascripts/vendor/javascript.js +422 -0
  186. data/site/source/app/assets/javascripts/vendor/js-beautify.js +1353 -0
  187. data/site/source/app/assets/javascripts/vendor/modernizr-2.6.1.min.js +4 -0
  188. data/site/source/app/assets/javascripts/vendor/vim.js +2511 -0
  189. data/site/source/app/assets/stylesheets/docs/api-browser.css.scss +5 -0
  190. data/site/source/app/assets/stylesheets/docs/application.css.scss +35 -0
  191. data/site/source/app/assets/stylesheets/docs/browse-source.css.scss +5 -0
  192. data/site/source/app/assets/stylesheets/docs/scrollable-table.css.scss +5 -0
  193. data/site/source/app/assets/stylesheets/site.css.scss +2 -0
  194. data/site/source/app/assets/stylesheets/vendor/codemirror.css +240 -0
  195. data/site/source/app/assets/stylesheets/vendor/prettify-tomorrow-night-bright.css +160 -0
  196. data/site/source/app/assets/stylesheets/vendor/twilight.css +26 -0
  197. data/site/source/crossdomain.xml +15 -0
  198. data/site/source/documentation.html.haml +1 -0
  199. data/site/source/favicon_base.png +0 -0
  200. data/site/source/humans.txt +15 -0
  201. data/site/source/images/background.png +0 -0
  202. data/site/source/images/middleman.png +0 -0
  203. data/site/source/index.html.haml +1 -0
  204. data/site/source/layouts/layout.haml +55 -0
  205. data/site/source/readme.md +63 -0
  206. data/site/source/robots.txt +3 -0
  207. data/spec/{components/grid_view_spec.coffee → javascripts/components/application_spec.coffee} +0 -0
  208. data/spec/{components/pagination_control_spec.coffee → javascripts/components/collection_loader_view_spec.coffee} +0 -0
  209. data/spec/{components → javascripts/components}/collection_view_spec.coffee +1 -1
  210. data/spec/{components → javascripts/components}/controller_spec.coffee +0 -0
  211. data/spec/{components → javascripts/components}/fields/checkbox_array_spec.coffee +0 -0
  212. data/spec/javascripts/components/form_view_spec.coffee +162 -0
  213. data/spec/{components/record_manager_spec.coffee → javascripts/components/grid_view_spec.coffee} +0 -0
  214. data/spec/{components → javascripts/components}/multi_collection_view_spec.coffee +0 -0
  215. data/spec/{components/template_spec.coffee → javascripts/components/pagination_control_spec.coffee} +0 -0
  216. data/spec/{concerns/paginatable_spec.coffee → javascripts/components/record_manager_spec.coffee} +0 -0
  217. data/spec/{components → javascripts/components}/table_view_spec.coffee +0 -0
  218. data/spec/{containers/modal_view_spec.coffee → javascripts/components/template_spec.coffee} +0 -0
  219. data/spec/{concerns → javascripts/concerns}/collection_event_bindings_spec.coffee +0 -0
  220. data/spec/{concerns → javascripts/concerns}/dom_helpers_spec.coffee +0 -0
  221. data/spec/{concerns → javascripts/concerns}/filterable_spec.coffee +0 -0
  222. data/spec/{concerns → javascripts/concerns}/model_presenter_spec.coffee +0 -0
  223. data/spec/{containers/panel_view_spec.coffee → javascripts/concerns/paginatable_spec.coffee} +0 -0
  224. data/spec/{concerns → javascripts/concerns}/state_model_spec.coffee +5 -0
  225. data/spec/javascripts/containers/card_view_spec.coffee +108 -0
  226. data/spec/{containers/tab_view_spec.coffee → javascripts/containers/modal_view_spec.coffee} +0 -0
  227. data/spec/{containers/viewport_spec.coffee → javascripts/containers/panel_view_spec.coffee} +0 -0
  228. data/spec/{core/observer_spec.coffee → javascripts/containers/tab_view_spec.coffee} +0 -0
  229. data/spec/{managers/socket_manager_spec.coffee → javascripts/containers/viewport_spec.coffee} +0 -0
  230. data/spec/{core → javascripts/core}/collection_spec.coffee +1 -1
  231. data/spec/{core → javascripts/core}/concerns_spec.coffee +0 -0
  232. data/spec/{core → javascripts/core}/container_spec.coffee +0 -0
  233. data/spec/{core → javascripts/core}/define_spec.coffee +0 -0
  234. data/spec/{core → javascripts/core}/events_spec.coffee +0 -0
  235. data/spec/{core → javascripts/core}/field_spec.coffee +0 -0
  236. data/spec/{core → javascripts/core}/framework_spec.coffee +0 -0
  237. data/spec/{core → javascripts/core}/model_spec.coffee +0 -0
  238. data/spec/javascripts/core/observer_spec.coffee +0 -0
  239. data/spec/{core → javascripts/core}/util_spec.coffee +0 -0
  240. data/spec/{core → javascripts/core}/view_spec.coffee +51 -39
  241. data/spec/{dependencies → javascripts/dependencies}/index.coffee +0 -0
  242. data/spec/{dependencies → javascripts/dependencies}/jasmine-html.js +0 -0
  243. data/spec/{dependencies → javascripts/dependencies}/jasmine.js +0 -0
  244. data/spec/{dependencies → javascripts/dependencies}/sinon.js +0 -0
  245. data/spec/{helper.coffee → javascripts/helper.coffee} +0 -0
  246. data/spec/{managers → javascripts/managers}/collection_manager_spec.coffee +0 -0
  247. data/spec/javascripts/managers/socket_manager_spec.coffee +0 -0
  248. data/spec/lib/component_definition_spec.rb +63 -0
  249. data/spec/lib/input_compiler_spec.rb +9 -0
  250. data/spec/lib/luca_application_spec.rb +30 -0
  251. data/spec/support/fixtures/application.coffee +45 -0
  252. data/spec/support/fixtures/component.coffee +34 -0
  253. data/tutorials/component-definitions.md +0 -0
  254. data/tutorials/component-definitions/01_intro.md +0 -0
  255. data/tutorials/component-driven-design.md +140 -0
  256. data/tutorials/structure-of-a-project.md +63 -0
  257. data/vendor/assets/javascripts/backbone-min.js +37 -33
  258. data/vendor/assets/javascripts/backbone-query.min.js +1 -1
  259. data/vendor/assets/javascripts/hogan.js +707 -0
  260. data/vendor/assets/javascripts/jquery.js +5 -4
  261. data/vendor/assets/javascripts/keymaster.min.js +4 -0
  262. data/vendor/assets/javascripts/luca-dependencies.min.js +8 -0
  263. data/vendor/assets/javascripts/luca-development.min.js +1 -0
  264. data/vendor/assets/javascripts/luca-spec.js +6 -6
  265. data/vendor/assets/javascripts/luca-ui.js +7386 -0
  266. data/vendor/assets/javascripts/luca-ui.min.js +5 -0
  267. data/vendor/assets/javascripts/luca.full.min.js +12 -0
  268. data/vendor/assets/javascripts/luca.min.js +5 -0
  269. data/vendor/assets/javascripts/underscore-min.js +1 -5
  270. data/vendor/assets/javascripts/underscore-string.min.js +1 -1
  271. data/vendor/assets/stylesheets/luca-components.css +202 -0
  272. data/vendor/assets/stylesheets/luca-development.css +23 -0
  273. data/vendor/assets/stylesheets/luca-ui.css +198 -0
  274. metadata +324 -94
  275. data/app/assets/javascripts/luca/components/base_toolbar.coffee +0 -17
  276. data/app/assets/javascripts/luca/components/form_button_toolbar.coffee +0 -28
  277. data/app/assets/javascripts/luca/components/grid_view.coffee +0 -269
  278. data/app/assets/javascripts/luca/components/page_controller.coffee +0 -7
  279. data/app/assets/javascripts/luca/components/template.coffee +0 -5
  280. data/app/assets/javascripts/luca/components/toolbar_dialog.coffee +0 -25
  281. data/lib/luca/code_browser.rb +0 -55
  282. data/lib/luca/command_line.rb +0 -69
  283. data/lib/luca/component_documentation.rb +0 -72
  284. data/site/assets/bootstrap.min.js +0 -7
  285. data/site/assets/dependencies.js +0 -94
  286. data/site/assets/glyphicons-halflings-white.png +0 -0
  287. data/site/assets/glyphicons-halflings.png +0 -0
  288. data/site/assets/luca-ui-bootstrap.css +0 -1331
  289. data/site/assets/luca-ui-bootstrap.js +0 -9
  290. data/site/assets/luca-ui-development-tools.css +0 -234
  291. data/site/assets/luca-ui-development-tools.js +0 -18561
  292. data/site/assets/luca-ui-development-tools.min.js +0 -15
  293. data/site/assets/luca-ui-full.min.js +0 -8
  294. data/site/assets/luca-ui.min.js +0 -4
  295. data/site/assets/sandbox.css +0 -62
  296. data/site/assets/sandbox.js +0 -469
  297. data/site/docs/application.html +0 -41
  298. data/site/docs/caching.html +0 -43
  299. data/site/docs/collection.html +0 -75
  300. data/site/docs/collection_manager.html +0 -71
  301. data/site/docs/containers.html +0 -118
  302. data/site/docs/events.html +0 -153
  303. data/site/docs/view.html +0 -128
  304. data/site/img/glyphicons-halflings-white.png +0 -0
  305. data/site/img/glyphicons-halflings.png +0 -0
  306. data/site/index.html +0 -20
  307. data/site/source-map.js +0 -1
  308. data/spec/components/form_view_spec.coffee +0 -84
  309. data/spec/containers/card_view_spec.coffee +0 -50
  310. data/spec/luca-spec.coffee +0 -9
data/site/DOCS.md ADDED
@@ -0,0 +1,41 @@
1
+ # Middleman / HTML5 Boilerplate Notes
2
+
3
+ Please note that this port of the HTML5 Boilerplate has been converted to use HAML and Sprockets, while using a Middleman 3.x workflow.
4
+
5
+ [The original HTML5 Boilerplate documentation](https://github.com/dannyprose/Middleman-HTML5BP-HAML/tree/master/html5bp-docs) is included at /html5bp-docs/ for your reference, but certain things (e.g. ways of including, specific javascript and CSS paths) may be different in our implementation.
6
+
7
+ ## Recommendations
8
+
9
+ * Update `.rvmrc` to the [gemset](https://rvm.io/gemsets/basics/) of your choosing (or remove it if you do not use [RVM](https://rvm.io/))
10
+ * Double check `.gitignore` and make sure it is what you want.
11
+ * eg: `build/` is ignored by default.
12
+ * If you don't use `middleman init` to load the template, make sure to [use and run Bundler](http://gembundler.com/).
13
+
14
+ ## Site and Individual Page Titles and Descriptions
15
+
16
+ One change we have made from the Boilerplate is some smarter ways of handling site/page titles and descriptions.
17
+
18
+ Titles and descriptions are handled 2 ways:
19
+
20
+ For the site at large, the title & description is handled through `/helpers/site_helpers.rb`. You can set them there, and the default layout file will include them on every page.
21
+
22
+ For individual pages, just add some YAML data to the top of any given page (see our default index for an example):
23
+
24
+ ```yaml
25
+ ---
26
+ title:
27
+ description:
28
+ ---
29
+ ```
30
+
31
+ ### Changing the Site Title and Description
32
+
33
+ To the change site's title and description, edit the values in `/helpers/site_helpers.rb`. You can also edit the formatting for individual page title and descriptions here.
34
+
35
+ To change, individual page's titles and descriptions, see the YAML method above.
36
+
37
+ ### But I Don't Want This
38
+
39
+ No problem - we only included it because we just thought this was a good, DRY use case for Middelman, and it is what the Middleman Docs site uses.
40
+
41
+ If you want to develop a method of your own, just remove the `page_title` and `page_description` methods in `/helpers/site_helpers.rb`, remove their references in `/layouts/layout.haml` (all within `<head>`), and restart Middleman. Then do whatever you want to include titles and headers.
data/site/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "middleman", "~>3.0.5"
4
+ gem "middleman-favicon-maker"
5
+ gem "middleman-livereload"
6
+ gem "susy", "~>1.0.5"
7
+ gem "redcarpet"
8
+ gem 'ejs'
data/site/Gemfile.lock ADDED
@@ -0,0 +1,134 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ activesupport (3.2.12)
5
+ i18n (~> 0.6)
6
+ multi_json (~> 1.0)
7
+ chunky_png (1.2.7)
8
+ coffee-script (2.2.0)
9
+ coffee-script-source
10
+ execjs
11
+ coffee-script-source (1.3.3)
12
+ compass (0.12.2)
13
+ chunky_png (~> 1.2)
14
+ fssm (>= 0.2.7)
15
+ sass (~> 3.1)
16
+ ejs (1.1.1)
17
+ em-websocket (0.4.0)
18
+ eventmachine (>= 0.12.9)
19
+ http_parser.rb (~> 0.5.3)
20
+ eventmachine (1.0.0)
21
+ execjs (1.4.0)
22
+ multi_json (~> 1.0)
23
+ favicon_maker (0.0.9)
24
+ mini_magick (~> 3.0)
25
+ ffi (1.4.0)
26
+ fssm (0.2.10)
27
+ haml (4.0.0)
28
+ tilt
29
+ hike (1.2.1)
30
+ http_parser.rb (0.5.3)
31
+ http_router (0.10.2)
32
+ rack (>= 1.0.0)
33
+ url_mount (~> 0.2.1)
34
+ i18n (0.6.1)
35
+ listen (0.5.3)
36
+ maruku (0.6.1)
37
+ syntax (>= 1.0.0)
38
+ middleman (3.0.11)
39
+ middleman-core (= 3.0.11)
40
+ middleman-more (= 3.0.11)
41
+ middleman-sprockets (~> 3.0.6)
42
+ middleman-core (3.0.11)
43
+ activesupport (~> 3.2.6)
44
+ bundler (~> 1.1)
45
+ listen (~> 0.5.2)
46
+ rack (~> 1.4.1)
47
+ rack-test (~> 0.6.1)
48
+ rb-fsevent (~> 0.9.1)
49
+ rb-inotify (~> 0.8.8)
50
+ thor (~> 0.15.4)
51
+ tilt (~> 1.3.1)
52
+ middleman-favicon-maker (3.0.3)
53
+ favicon_maker (~> 0.0.9)
54
+ middleman-core (>= 3.0.0)
55
+ middleman-livereload (3.0.1)
56
+ em-websocket (>= 0.2.0)
57
+ middleman-core (~> 3.0.2)
58
+ multi_json (~> 1.0)
59
+ rack-livereload
60
+ middleman-more (3.0.11)
61
+ coffee-script (~> 2.2.0)
62
+ coffee-script-source (~> 1.3.3)
63
+ compass (>= 0.12.2)
64
+ execjs (~> 1.4.0)
65
+ haml (>= 3.1.6)
66
+ i18n (~> 0.6.0)
67
+ maruku (~> 0.6.0)
68
+ middleman-core (= 3.0.11)
69
+ padrino-helpers (= 0.10.7)
70
+ sass (>= 3.1.20)
71
+ uglifier (~> 1.2.6)
72
+ middleman-sprockets (3.0.6)
73
+ middleman-more (>= 3.0.1)
74
+ sprockets (~> 2.1, < 2.5)
75
+ sprockets-sass (~> 0.9.0)
76
+ mini_magick (3.5.0)
77
+ subexec (~> 0.2.1)
78
+ multi_json (1.6.1)
79
+ padrino-core (0.10.7)
80
+ activesupport (~> 3.2.0)
81
+ http_router (~> 0.10.2)
82
+ sinatra (~> 1.3.1)
83
+ thor (~> 0.15.2)
84
+ tilt (~> 1.3.0)
85
+ padrino-helpers (0.10.7)
86
+ i18n (~> 0.6)
87
+ padrino-core (= 0.10.7)
88
+ rack (1.4.5)
89
+ rack-livereload (0.3.11)
90
+ rack
91
+ rack-protection (1.3.2)
92
+ rack
93
+ rack-test (0.6.2)
94
+ rack (>= 1.0)
95
+ rb-fsevent (0.9.3)
96
+ rb-inotify (0.8.8)
97
+ ffi (>= 0.5.0)
98
+ redcarpet (2.2.2)
99
+ sass (3.2.5)
100
+ sinatra (1.3.4)
101
+ rack (~> 1.4)
102
+ rack-protection (~> 1.3)
103
+ tilt (~> 1.3, >= 1.3.3)
104
+ sprockets (2.4.5)
105
+ hike (~> 1.2)
106
+ multi_json (~> 1.0)
107
+ rack (~> 1.0)
108
+ tilt (~> 1.1, != 1.3.0)
109
+ sprockets-sass (0.9.1)
110
+ sprockets (~> 2.0)
111
+ tilt (~> 1.1)
112
+ subexec (0.2.2)
113
+ susy (1.0.5)
114
+ compass (>= 0.12.2)
115
+ sass (>= 3.2.0)
116
+ syntax (1.0.0)
117
+ thor (0.15.4)
118
+ tilt (1.3.3)
119
+ uglifier (1.2.7)
120
+ execjs (>= 0.3.0)
121
+ multi_json (~> 1.3)
122
+ url_mount (0.2.1)
123
+ rack
124
+
125
+ PLATFORMS
126
+ ruby
127
+
128
+ DEPENDENCIES
129
+ ejs
130
+ middleman (~> 3.0.5)
131
+ middleman-favicon-maker
132
+ middleman-livereload
133
+ redcarpet
134
+ susy (~> 1.0.5)
data/site/LICENSE.md ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) Danny Palmer
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ this software and associated documentation files (the "Software"), to deal in
5
+ the Software without restriction, including without limitation the rights to
6
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7
+ of the Software, and to permit persons to whom the Software is furnished to do
8
+ so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
data/site/config.rb ADDED
@@ -0,0 +1,84 @@
1
+ #Markdown
2
+ set :markdown_engine, :redcarpet
3
+
4
+ ###
5
+ # Compass
6
+ ###
7
+
8
+ # Susy grids in Compass
9
+ # First: gem install compass-susy-plugin
10
+ # require 'susy'
11
+
12
+ # Change Compass configuration
13
+ # compass_config do |config|
14
+ # config.output_style = :compact
15
+ # end
16
+
17
+ ###
18
+ # Page options, layouts, aliases and proxies
19
+ ###
20
+
21
+ page "documentation.html", :layout => false
22
+ # Per-page layout changes:
23
+ #
24
+ # With no layout
25
+ # page "/path/to/file.html", :layout => false
26
+ #
27
+ # With alternative layout
28
+ # page "/path/to/file.html", :layout => :otherlayout
29
+ #
30
+ # A path which all have the same layout
31
+ # with_layout :admin do
32
+ # page "/admin/*"
33
+ # end
34
+
35
+ # Proxy (fake) files
36
+ # page "/this-page-has-no-template.html", :proxy => "/template-file.html" do
37
+ # @which_fake_page = "Rendering a fake page with a variable"
38
+ # end
39
+
40
+ ###
41
+ # Helpers
42
+ ###
43
+
44
+ # Automatic image dimensions on image_tag helper
45
+ # activate :automatic_image_sizes
46
+
47
+ # Methods defined in the helpers block are available in templates
48
+ # helpers do
49
+ # def some_helper
50
+ # "Helping"
51
+ # end
52
+ # end
53
+
54
+ set :css_dir, 'app/assets/stylesheets'
55
+
56
+ set :js_dir, 'app/assets/javascripts'
57
+
58
+ set :images_dir, 'app/assets/images'
59
+
60
+ # Build-specific configuration
61
+ configure :build do
62
+ # For example, change the Compass output style for deployment
63
+ activate :minify_css
64
+
65
+ # Minify Javascript on build
66
+ activate :minify_javascript
67
+
68
+ # Create favicon/touch icon set from source/favicon_base.png
69
+ # activate :favicon_maker
70
+
71
+ # Enable cache buster
72
+ # activate :cache_buster
73
+
74
+ # Use relative URLs
75
+ activate :relative_assets
76
+
77
+ # Compress PNGs after build
78
+ # First: gem install middleman-smusher
79
+ # require "middleman-smusher"
80
+ # activate :smusher
81
+
82
+ # Or use a different image path
83
+ # set :http_path, "/Content/images/"
84
+ end
@@ -0,0 +1,20 @@
1
+ module SiteHelpers
2
+
3
+ def page_title
4
+ title = "Set your site title in /helpers/site_helpers.rb"
5
+ if data.page.title
6
+ title << " | " + data.page.title
7
+ end
8
+ title
9
+ end
10
+
11
+ def page_description
12
+ if data.page.description
13
+ description = data.page.description
14
+ else
15
+ description = "Set your site description in /helpers/site_helpers.rb"
16
+ end
17
+ description
18
+ end
19
+
20
+ end
@@ -0,0 +1,38 @@
1
+ [HTML5 Boilerplate homepage](http://html5boilerplate.com)
2
+
3
+ # HTML5 Boilerplate documentation:
4
+
5
+ ## Getting started
6
+
7
+ * [Usage](usage.md) — Overview of the project contents.
8
+ * [FAQ](faq.md) — Frequently asked questions, along with their answers.
9
+
10
+ ## The core of HTML5 Boilerplate
11
+
12
+ * [HTML](html.md) — A guide to the default HTML.
13
+ * [CSS](css.md) — A guide to the default CSS.
14
+ * [JavaScript](js.md) — A guide to the default JavaScript.
15
+ * [.htaccess](htaccess.md) — All about the Apache web server config (also see
16
+ our [alternative server configs](https://github.com/h5bp/server-configs)).
17
+ * [crossdomain.xml](crossdomain.md) — An introduction to making use of
18
+ crossdomain requests.
19
+ * [Everything else](misc.md).
20
+
21
+ ## Development
22
+
23
+ * [Contributing to HTML5 Boilerplate](contribute.md) — Guidelines on how to
24
+ contribute effectively.
25
+ * [Extending and customizing HTML5 Boilerplate](extend.md) — Going further with
26
+ the boilerplate.
27
+
28
+ ## Related projects
29
+
30
+ HTML5 Boilerplate has several related projects to help improve the performance
31
+ of your site/app in various production environments.
32
+
33
+ * [Server configs](https://github.com/h5bp/server-configs) — Configs for
34
+ non-Apache servers.
35
+ * [Node build script](https://github.com/h5bp/node-build-script) — A
36
+ feature-rich [grunt](https://github.com/cowboy/grunt) plugin.
37
+ * [Ant build script](https://github.com/h5bp/ant-build-script) — The original
38
+ HTML5 Boilerplate build script.
@@ -0,0 +1,104 @@
1
+ [HTML5 Boilerplate homepage](http://html5boilerplate.com) | [Documentation
2
+ table of contents](README.md)
3
+
4
+ # Contributing to HTML5 Boilerplate
5
+
6
+ ♥ HTML5 Boilerplate and want to get involved? Thanks! There are plenty of ways
7
+ you can help!
8
+
9
+
10
+ ## Reporting issues
11
+
12
+ A bug is a _demonstrable problem_ that is caused by the code in the
13
+ repository.
14
+
15
+ Please read the following guidelines before you [report an issue](https://github.com/h5bp/html5-boilerplate/issues/):
16
+
17
+ 1. **Use the GitHub issue search** &mdash; check if the issue has already been
18
+ reported. If it has been, please comment on the existing issue.
19
+
20
+ 2. **Check if the issue has been fixed** &mdash; the latest `master` or
21
+ development branch may already contain a fix.
22
+
23
+ 3. **Isolate the demonstrable problem** &mdash; make sure that the code in the
24
+ project's repository is _definitely_ responsible for the issue. Create a
25
+ [reduced test case](http://css-tricks.com/6263-reduced-test-cases/) - an
26
+ extremely simple and immediately viewable example of the issue.
27
+
28
+ 4. **Include a live example** &mdash; provide a link to your reduced test case
29
+ when appropriate (e.g. if the issue is related to (front-end technologies).
30
+ Please use [jsFiddle](http://jsfiddle.net) to host examples.
31
+
32
+ Please try to be as detailed as possible in your report too. What is your
33
+ environment? What steps will reproduce the issue? What browser(s) and OS
34
+ experience the problem? What would you expect to be the outcome? All these
35
+ details will help people to assess and fix any potential bugs.
36
+
37
+ ### Example of a good bug report:
38
+
39
+ > Short and descriptive title
40
+ >
41
+ > A summary of the issue and the browser/OS environment in which it occurs. If
42
+ > suitable, include the steps required to reproduce the bug.
43
+ >
44
+ > 1. This is the first step
45
+ > 2. This is the second step
46
+ > 3. Further steps, etc.
47
+ >
48
+ > `<url>` (a link to the reduced test case)
49
+ >
50
+ > Any other information you want to share that is relevant to the issue being
51
+ > reported. This might include the lines of code that you have identified as
52
+ > causing the bug, and potential solutions (and your opinions on their
53
+ > merits).
54
+
55
+ A good bug report shouldn't leave people needing to chase you up to get further
56
+ information that is required to assess or fix the bug.
57
+
58
+ **[File a bug report](https://github.com/h5bp/html5-boilerplate/issues/)**
59
+
60
+
61
+ ## Pull requests
62
+
63
+ Good pull requests — patches, improvements, new features — are a fantastic
64
+ help. They should remain focused in scope and avoid containing unrelated
65
+ commits.
66
+
67
+ If your contribution involves a significant amount of work or substantial
68
+ changes to any part of the project, please open an issue to discuss it first.
69
+
70
+ Please follow this process; it's the best way to get your work included in the
71
+ project:
72
+
73
+ 1. [Fork](http://help.github.com/fork-a-repo/) the project.
74
+
75
+ 2. Clone your fork (`git clone
76
+ https://github.com/<your-username>/html5-boilerplate.git`).
77
+
78
+ 3. Add an `upstream` remote (`git remote add upstream
79
+ https://github.com/h5bp/html5-boilerplate.git`).
80
+
81
+ 4. Get the latest changes from upstream (e.g. `git pull upstream
82
+ <dev-branch>`).
83
+
84
+ 5. Create a new topic branch to contain your feature, change, or fix (`git
85
+ checkout -b <topic-branch-name>`).
86
+
87
+ 6. Make sure that your changes adhere to the current coding conventions used
88
+ throughout the project - indentation, accurate comments, etc. Please update
89
+ any documentation that is relevant to the change you are making.
90
+
91
+ 7. Commit your changes in logical chunks; use git's [interactive
92
+ rebase](https://help.github.com/articles/interactive-rebase) feature to tidy
93
+ up your commits before making them public. Please adhere to these [git commit
94
+ message
95
+ guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
96
+ or your pull request is unlikely be merged into the main project.
97
+
98
+ 8. Locally merge (or rebase) the upstream branch into your topic branch.
99
+
100
+ 9. Push your topic branch up to your fork (`git push origin
101
+ <topic-branch-name>`).
102
+
103
+ 10. [Open a Pull Request](http://help.github.com/send-pull-requests/) with a
104
+ clear title and description. Please mention which browsers you tested in.