middleman-core 3.0.0.beta.1 → 3.0.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (358) hide show
  1. data/Rakefile +2 -44
  2. data/bin/middleman +12 -8
  3. data/features/3rd_party_cli.feature +12 -2
  4. data/features/builder.feature +1 -1
  5. data/features/clean_build.feature +24 -14
  6. data/features/cli.feature +9 -30
  7. data/features/custom_layouts.feature +6 -0
  8. data/features/directory_index.feature +2 -0
  9. data/features/dynamic_pages.feature +37 -0
  10. data/features/extensionless_text_files.feature +58 -0
  11. data/features/former_padrino_helpers.feature +5 -3
  12. data/features/frontmatter_page_settings.feature +27 -0
  13. data/features/helpers_external.feature +7 -1
  14. data/features/i18n_builder.feature +121 -0
  15. data/features/i18n_preview.feature +113 -0
  16. data/features/ignore.feature +198 -0
  17. data/features/implied_extensions.feature +52 -0
  18. data/features/instance_vars.feature +0 -2
  19. data/features/partials.feature +5 -0
  20. data/features/request_params.feature +6 -0
  21. data/features/{sitemap_traversal.features → sitemap_traversal.feature} +24 -24
  22. data/features/wildcard_page_helper.feature +1 -1
  23. data/fixtures/clean-dir-app/config.rb +2 -1
  24. data/fixtures/clean-nested-app/config.rb +3 -0
  25. data/fixtures/clean-nested-app/source/about.html +1 -0
  26. data/fixtures/dynamic-pages-app/config.rb +25 -5
  27. data/fixtures/dynamic-pages-app/source/real/index.html.erb +5 -1
  28. data/{lib/middleman-core/vendor/darwin/spec/fixtures/custom 'path/.gitignore → fixtures/extensionless-text-files-app/config.rb} +0 -0
  29. data/fixtures/extensionless-text-files-app/source/CNAME +1 -0
  30. data/fixtures/extensionless-text-files-app/source/LICENSE +1 -0
  31. data/fixtures/extensionless-text-files-app/source/README +1 -0
  32. data/fixtures/extensionless-text-files-app/source/index.html +1 -0
  33. data/fixtures/external-helpers/helpers/four_helper.rb +3 -0
  34. data/fixtures/external-helpers/helpers/one_helper.rb +3 -0
  35. data/fixtures/external-helpers/helpers/three_helper.rb +3 -0
  36. data/fixtures/external-helpers/helpers/two_helper.rb +3 -0
  37. data/fixtures/external-helpers/source/automatic.html.erb +1 -0
  38. data/fixtures/frontmatter-settings-app/config.rb +4 -0
  39. data/fixtures/frontmatter-settings-app/source/alternate_layout.html.erb +5 -0
  40. data/fixtures/frontmatter-settings-app/source/ignored.html.erb +5 -0
  41. data/fixtures/frontmatter-settings-app/source/layouts/alternate.erb +3 -0
  42. data/fixtures/frontmatter-settings-app/source/no_index.html.erb +5 -0
  43. data/fixtures/i18n-alt-root-app/locales/en.yml +4 -0
  44. data/fixtures/i18n-alt-root-app/locales/es.yml +7 -0
  45. data/fixtures/i18n-alt-root-app/source/lang_data/hello.html.erb +1 -0
  46. data/fixtures/i18n-alt-root-app/source/lang_data/index.html.erb +1 -0
  47. data/fixtures/i18n-alt-root-app/source/layout.erb +1 -0
  48. data/fixtures/i18n-test-app/locales/en.yml +4 -0
  49. data/fixtures/i18n-test-app/locales/es.yml +7 -0
  50. data/fixtures/i18n-test-app/source/layout.erb +1 -0
  51. data/fixtures/i18n-test-app/source/localizable/hello.html.erb +1 -0
  52. data/fixtures/i18n-test-app/source/localizable/index.html.erb +1 -0
  53. data/fixtures/ignore-app/source/about.html.erb +1 -0
  54. data/{lib/middleman-core/vendor/darwin/spec/fixtures/folder1/file1.txt → fixtures/ignore-app/source/images/icon/messages.png} +0 -0
  55. data/{lib/middleman-core/vendor/darwin/spec/fixtures/folder1/folder2/file2.txt → fixtures/ignore-app/source/images/pic.png} +0 -0
  56. data/fixtures/ignore-app/source/images/portrait.jpg +0 -0
  57. data/fixtures/ignore-app/source/index.html.erb +0 -0
  58. data/fixtures/ignore-app/source/plain.html +1 -0
  59. data/fixtures/ignore-app/source/reports/another.html +0 -0
  60. data/fixtures/ignore-app/source/reports/index.html +0 -0
  61. data/fixtures/implied-extensions-app/config.rb +0 -0
  62. data/fixtures/implied-extensions-app/source/index.erb +1 -0
  63. data/fixtures/indexable-app/config.rb +3 -1
  64. data/fixtures/indexable-app/source/wildcard_leave_me_alone.html +1 -0
  65. data/fixtures/large-build-app/source/feed.xml.builder +4 -0
  66. data/fixtures/lorem-app/config.rb +1 -0
  67. data/fixtures/padrino-helpers-app/source/former_padrino_test.html.erb +2 -1
  68. data/fixtures/partials-app/source/shared/_footer.erb +1 -1
  69. data/fixtures/partials-app/source/shared/snippet.erb +1 -0
  70. data/fixtures/partials-app/source/using_snippet.html.erb +1 -0
  71. data/fixtures/request-app/config.rb +0 -0
  72. data/fixtures/request-app/source/index.html.erb +3 -0
  73. data/fixtures/traversal-app/source/layout.erb +2 -0
  74. data/lib/middleman-core/application.rb +558 -0
  75. data/lib/middleman-core/cli/build.rb +67 -64
  76. data/lib/middleman-core/cli/init.rb +10 -4
  77. data/lib/middleman-core/cli/server.rb +7 -1
  78. data/lib/middleman-core/cli.rb +22 -2
  79. data/lib/middleman-core/core_extensions/assets.rb +12 -3
  80. data/lib/middleman-core/core_extensions/builder.rb +0 -37
  81. data/lib/middleman-core/core_extensions/data.rb +3 -3
  82. data/lib/middleman-core/core_extensions/default_helpers.rb +17 -26
  83. data/lib/middleman-core/core_extensions/extensions.rb +13 -10
  84. data/lib/middleman-core/core_extensions/external_helpers.rb +35 -0
  85. data/lib/middleman-core/core_extensions/file_watcher.rb +9 -5
  86. data/lib/middleman-core/core_extensions/front_matter.rb +85 -15
  87. data/lib/middleman-core/core_extensions/i18n.rb +137 -0
  88. data/lib/middleman-core/core_extensions/rendering.rb +134 -21
  89. data/lib/middleman-core/core_extensions/routing.rb +42 -23
  90. data/lib/middleman-core/core_extensions/show_exceptions.rb +13 -3
  91. data/lib/middleman-core/extensions/asset_host.rb +21 -3
  92. data/lib/middleman-core/extensions/automatic_image_sizes.rb +20 -1
  93. data/lib/middleman-core/extensions/directory_indexes.rb +42 -47
  94. data/lib/middleman-core/extensions/lorem.rb +54 -6
  95. data/lib/middleman-core/extensions.rb +179 -0
  96. data/lib/middleman-core/renderers/erb.rb +28 -21
  97. data/lib/middleman-core/sitemap/extensions/ignores.rb +86 -0
  98. data/lib/middleman-core/sitemap/extensions/on_disk.rb +77 -0
  99. data/lib/middleman-core/sitemap/extensions/proxies.rb +97 -0
  100. data/lib/middleman-core/sitemap/extensions/traversal.rb +77 -0
  101. data/lib/middleman-core/sitemap/resource.rb +126 -0
  102. data/lib/middleman-core/sitemap/store.rb +148 -97
  103. data/lib/middleman-core/sitemap.rb +78 -0
  104. data/lib/middleman-core/step_definitions/builder_steps.rb +15 -1
  105. data/lib/middleman-core/step_definitions/server_steps.rb +11 -4
  106. data/lib/middleman-core/templates/default.rb +10 -0
  107. data/lib/middleman-core/templates/html5/source/404.html +32 -27
  108. data/lib/middleman-core/templates/html5/source/README.md +34 -367
  109. data/lib/middleman-core/templates/html5/source/apple-touch-icon-114x114-precomposed.png +0 -0
  110. data/lib/middleman-core/templates/html5/source/apple-touch-icon-57x57-precomposed.png +0 -0
  111. data/lib/middleman-core/templates/html5/source/apple-touch-icon-72x72-precomposed.png +0 -0
  112. data/lib/middleman-core/templates/html5/source/apple-touch-icon-precomposed.png +0 -0
  113. data/lib/middleman-core/templates/html5/source/apple-touch-icon.png +0 -0
  114. data/lib/middleman-core/templates/html5/source/crossdomain.xml +0 -0
  115. data/lib/middleman-core/templates/html5/source/css/style.css +37 -37
  116. data/lib/middleman-core/templates/html5/source/favicon.ico +0 -0
  117. data/lib/middleman-core/templates/html5/source/humans.txt +0 -0
  118. data/lib/middleman-core/templates/html5/source/img/.gitignore +0 -2
  119. data/lib/middleman-core/templates/html5/source/index.html +31 -43
  120. data/lib/middleman-core/templates/html5/source/js/libs/{jquery-1.6.2.js → jquery-1.7.1.js} +1922 -1637
  121. data/lib/middleman-core/templates/html5/source/js/libs/jquery-1.7.1.min.js +4 -0
  122. data/lib/middleman-core/templates/html5/source/js/libs/modernizr-2.5.3.min.js +4 -0
  123. data/lib/middleman-core/templates/html5/source/js/plugins.js +3 -12
  124. data/lib/middleman-core/templates/html5/source/js/script.js +0 -0
  125. data/lib/middleman-core/templates/html5/source/robots.txt +1 -2
  126. data/lib/middleman-core/templates/html5.rb +10 -5
  127. data/lib/middleman-core/templates/local.rb +8 -1
  128. data/lib/middleman-core/templates/shared/config.tt +6 -6
  129. data/lib/middleman-core/templates.rb +10 -13
  130. data/lib/middleman-core/util.rb +90 -0
  131. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/.document +0 -0
  132. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/.gitignore +0 -0
  133. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/.yardopts +0 -0
  134. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/LICENSE.txt +0 -0
  135. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/README.rdoc +0 -0
  136. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/Rakefile +0 -0
  137. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/bin/padrino +0 -0
  138. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/application/rendering.rb +0 -0
  139. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/application/routing.rb +38 -29
  140. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/application/showexceptions.rb +0 -0
  141. data/lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/application.rb +269 -0
  142. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/caller.rb +0 -0
  143. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/cli/adapter.rb +0 -0
  144. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/cli/base.rb +4 -5
  145. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/cli/console.rb +0 -0
  146. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/cli/rake.rb +0 -0
  147. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/cli/rake_tasks.rb +0 -0
  148. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/command.rb +0 -0
  149. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/images/404.png +0 -0
  150. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/images/500.png +0 -0
  151. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/loader.rb +1 -0
  152. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/cs.yml +0 -0
  153. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/da.yml +0 -0
  154. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/de.yml +0 -0
  155. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/en.yml +0 -0
  156. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/es.yml +0 -0
  157. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/fr.yml +0 -0
  158. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/hu.yml +0 -0
  159. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/it.yml +1 -1
  160. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/ja.yml +0 -0
  161. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/lv.yml +2 -2
  162. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/nl.yml +0 -0
  163. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/no.yml +0 -0
  164. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/pl.yml +0 -0
  165. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/pt_br.yml +0 -0
  166. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/ru.yml +0 -0
  167. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/tr.yml +0 -0
  168. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/uk.yml +0 -0
  169. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/zh_cn.yml +0 -0
  170. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/locale/zh_tw.yml +0 -0
  171. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/logger.rb +192 -109
  172. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/mounter.rb +0 -0
  173. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/reloader.rb +39 -39
  174. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/router.rb +0 -0
  175. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/server.rb +2 -2
  176. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/support_lite.rb +4 -5
  177. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/tasks.rb +0 -0
  178. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core/version.rb +1 -1
  179. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/lib/padrino-core.rb +0 -15
  180. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/padrino-core.gemspec +1 -1
  181. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/apps/.components +0 -0
  182. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/apps/.gitignore +0 -0
  183. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/apps/complex.rb +0 -0
  184. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/apps/simple.rb +0 -0
  185. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/a.rb +0 -0
  186. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/b.rb +0 -0
  187. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/c.rb +0 -0
  188. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/circular/e.rb +0 -0
  189. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/circular/f.rb +0 -0
  190. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/circular/g.rb +0 -0
  191. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/fixtures/dependencies/d.rb +0 -0
  192. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/helper.rb +2 -0
  193. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/mini_shoulda.rb +0 -0
  194. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_application.rb +0 -0
  195. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_core.rb +0 -2
  196. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_dependencies.rb +0 -0
  197. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_filters.rb +0 -0
  198. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_locale.rb +0 -0
  199. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_logger.rb +54 -0
  200. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_mounter.rb +0 -0
  201. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_reloader_complex.rb +0 -0
  202. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_reloader_simple.rb +0 -0
  203. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_rendering.rb +0 -0
  204. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_restful_routing.rb +0 -0
  205. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_router.rb +0 -0
  206. data/lib/middleman-core/vendor/{padrino-core-0.10.5 → padrino-core-0.10.6}/test/test_routing.rb +7 -0
  207. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/.document +0 -0
  208. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/.gitignore +0 -0
  209. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/.yardopts +0 -0
  210. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/LICENSE.txt +0 -0
  211. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/README.rdoc +0 -0
  212. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/Rakefile +0 -0
  213. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/asset_tag_helpers.rb +76 -79
  214. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/form_builder/abstract_form_builder.rb +31 -0
  215. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/form_builder/standard_form_builder.rb +0 -0
  216. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/form_helpers.rb +211 -26
  217. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/format_helpers.rb +2 -2
  218. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/cs.yml +0 -0
  219. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/da.yml +0 -0
  220. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/de.yml +0 -0
  221. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/en.yml +0 -0
  222. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/es.yml +0 -0
  223. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/fr.yml +0 -0
  224. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/hu.yml +0 -0
  225. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/it.yml +0 -0
  226. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/ja.yml +0 -0
  227. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/lv.yml +0 -0
  228. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/nl.yml +0 -0
  229. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/no.yml +0 -0
  230. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/pl.yml +0 -0
  231. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/pt_br.yml +0 -0
  232. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/ru.yml +0 -0
  233. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/tr.yml +0 -0
  234. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/uk.yml +0 -0
  235. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/zh_cn.yml +0 -0
  236. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/locale/zh_tw.yml +0 -0
  237. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/number_helpers.rb +0 -0
  238. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/output_helpers/abstract_handler.rb +0 -0
  239. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/output_helpers/erb_handler.rb +0 -0
  240. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/output_helpers/haml_handler.rb +0 -0
  241. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/output_helpers/slim_handler.rb +0 -0
  242. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/output_helpers.rb +0 -0
  243. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/render_helpers.rb +0 -0
  244. data/lib/middleman-core/vendor/padrino-helpers-0.10.6/lib/padrino-helpers/tag_helpers.rb +260 -0
  245. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers/translation_helpers.rb +0 -0
  246. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/lib/padrino-helpers.rb +4 -3
  247. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/padrino-helpers.gemspec +0 -0
  248. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/app.rb +0 -0
  249. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/capture_concat.erb +0 -0
  250. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/capture_concat.haml +0 -0
  251. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/capture_concat.slim +0 -0
  252. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_for.erb +0 -0
  253. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_for.haml +0 -0
  254. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_for.slim +0 -0
  255. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_tag.erb +0 -0
  256. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_tag.haml +0 -0
  257. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/content_tag.slim +0 -0
  258. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/current_engine.erb +0 -0
  259. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/current_engine.haml +0 -0
  260. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/current_engine.slim +0 -0
  261. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/fields_for.erb +0 -0
  262. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/fields_for.haml +0 -0
  263. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/fields_for.slim +0 -0
  264. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_for.erb +20 -4
  265. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_for.haml +15 -3
  266. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_for.slim +15 -3
  267. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_tag.erb +30 -0
  268. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_tag.haml +25 -0
  269. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/form_tag.slim +25 -0
  270. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/link_to.erb +0 -0
  271. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/link_to.haml +0 -0
  272. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/link_to.slim +0 -0
  273. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/mail_to.erb +0 -0
  274. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/mail_to.haml +0 -0
  275. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/mail_to.slim +0 -0
  276. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/meta_tag.erb +0 -0
  277. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/meta_tag.haml +0 -0
  278. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/meta_tag.slim +0 -0
  279. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/partials/_erb.erb +0 -0
  280. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/partials/_haml.haml +0 -0
  281. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/partials/_slim.slim +0 -0
  282. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/simple_partial.erb +0 -0
  283. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/simple_partial.haml +0 -0
  284. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/markup_app/views/simple_partial.slim +0 -0
  285. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/app.rb +0 -0
  286. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/current_engine.haml +0 -0
  287. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/current_engines/_erb.erb +0 -0
  288. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/current_engines/_haml.haml +0 -0
  289. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/current_engines/_slim.slim +0 -0
  290. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/erb/test.erb +0 -0
  291. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/explicit_engine.haml +0 -0
  292. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/haml/test.haml +0 -0
  293. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/template/_user.haml +0 -0
  294. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/template/haml_template.haml +0 -0
  295. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/fixtures/render_app/views/template/some_template.haml +0 -0
  296. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/helper.rb +0 -0
  297. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_asset_tag_helpers.rb +14 -6
  298. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_form_builder.rb +116 -6
  299. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_form_helpers.rb +134 -9
  300. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_format_helpers.rb +0 -0
  301. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_locale.rb +0 -0
  302. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_number_helpers.rb +3 -0
  303. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_output_helpers.rb +0 -0
  304. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_render_helpers.rb +0 -0
  305. data/lib/middleman-core/vendor/{padrino-helpers-0.10.5 → padrino-helpers-0.10.6}/test/test_tag_helpers.rb +7 -6
  306. data/lib/middleman-core/version.rb +2 -2
  307. data/lib/middleman-core/watcher.rb +75 -36
  308. data/lib/middleman-core.rb +7 -252
  309. data/middleman-core.gemspec +14 -11
  310. metadata +396 -348
  311. data/bin/fsevent_watch_guard +0 -0
  312. data/ext/extconf.rb +0 -61
  313. data/ext/fsevent/fsevent_watch.c +0 -226
  314. data/fixtures/3rd-party-command/config.rb +0 -10
  315. data/fixtures/ignore-app/config.rb +0 -2
  316. data/fixtures/ignore-app/source/articles/template.html.erb +0 -1
  317. data/fixtures/ignore-app/source/template.html.erb +0 -1
  318. data/lib/middleman-core/base.rb +0 -494
  319. data/lib/middleman-core/cache.rb +0 -57
  320. data/lib/middleman-core/core_extensions/sitemap.rb +0 -72
  321. data/lib/middleman-core/sitemap/page.rb +0 -186
  322. data/lib/middleman-core/sitemap/template.rb +0 -82
  323. data/lib/middleman-core/templates/html5/source/js/libs/jquery-1.6.2.min.js +0 -18
  324. data/lib/middleman-core/templates/html5/source/js/libs/modernizr-2.0.6.min.js +0 -4
  325. data/lib/middleman-core/templates/html5/source/js/mylibs/.gitignore +0 -2
  326. data/lib/middleman-core/templates/html5/source/test/index.html +0 -31
  327. data/lib/middleman-core/templates/html5/source/test/qunit/qunit.css +0 -148
  328. data/lib/middleman-core/templates/html5/source/test/qunit/qunit.js +0 -1265
  329. data/lib/middleman-core/templates/html5/source/test/tests.js +0 -24
  330. data/lib/middleman-core/vendor/darwin/.gitignore +0 -18
  331. data/lib/middleman-core/vendor/darwin/Gemfile +0 -6
  332. data/lib/middleman-core/vendor/darwin/Guardfile +0 -8
  333. data/lib/middleman-core/vendor/darwin/LICENSE +0 -20
  334. data/lib/middleman-core/vendor/darwin/README.rdoc +0 -254
  335. data/lib/middleman-core/vendor/darwin/Rakefile +0 -21
  336. data/lib/middleman-core/vendor/darwin/ext/extconf.rb +0 -61
  337. data/lib/middleman-core/vendor/darwin/ext/fsevent/fsevent_watch.c +0 -226
  338. data/lib/middleman-core/vendor/darwin/lib/rb-fsevent/fsevent.rb +0 -105
  339. data/lib/middleman-core/vendor/darwin/lib/rb-fsevent/version.rb +0 -3
  340. data/lib/middleman-core/vendor/darwin/lib/rb-fsevent.rb +0 -2
  341. data/lib/middleman-core/vendor/darwin/rb-fsevent.gemspec +0 -24
  342. data/lib/middleman-core/vendor/darwin/spec/rb-fsevent/fsevent_spec.rb +0 -75
  343. data/lib/middleman-core/vendor/darwin/spec/spec_helper.rb +0 -24
  344. data/lib/middleman-core/vendor/linux/.gitignore +0 -3
  345. data/lib/middleman-core/vendor/linux/.yardopts +0 -4
  346. data/lib/middleman-core/vendor/linux/MIT-LICENSE +0 -20
  347. data/lib/middleman-core/vendor/linux/README.md +0 -66
  348. data/lib/middleman-core/vendor/linux/Rakefile +0 -54
  349. data/lib/middleman-core/vendor/linux/VERSION +0 -1
  350. data/lib/middleman-core/vendor/linux/lib/rb-inotify/event.rb +0 -139
  351. data/lib/middleman-core/vendor/linux/lib/rb-inotify/native/flags.rb +0 -89
  352. data/lib/middleman-core/vendor/linux/lib/rb-inotify/native.rb +0 -31
  353. data/lib/middleman-core/vendor/linux/lib/rb-inotify/notifier.rb +0 -308
  354. data/lib/middleman-core/vendor/linux/lib/rb-inotify/watcher.rb +0 -83
  355. data/lib/middleman-core/vendor/linux/lib/rb-inotify.rb +0 -17
  356. data/lib/middleman-core/vendor/linux/rb-inotify.gemspec +0 -53
  357. data/lib/middleman-core/vendor/padrino-core-0.10.5/lib/padrino-core/application.rb +0 -270
  358. data/lib/middleman-core/vendor/padrino-helpers-0.10.5/lib/padrino-helpers/tag_helpers.rb +0 -103
@@ -28,7 +28,7 @@ describe "FormHelpers" do
28
28
 
29
29
  should "display correct form with remote and method is put" do
30
30
  actual_html = form_tag('/update', :"accept-charset" => "UTF-8", :method => 'put', :remote => true) { "Demo" }
31
- assert_has_tag(:form, "data-remote" => 'true', :"accept-charset" => "UTF-8", :"data-method" => 'put') { actual_html }
31
+ assert_has_tag(:form, "data-remote" => 'true', :"accept-charset" => "UTF-8") { actual_html }
32
32
  assert_has_tag('form input', :type => 'hidden', :name => "_method", :value => 'put') { actual_html }
33
33
  end
34
34
 
@@ -193,14 +193,14 @@ describe "FormHelpers" do
193
193
 
194
194
  should "display label tag in erb for simple form" do
195
195
  visit '/erb/form_tag'
196
- assert_have_selector 'form.simple-form label', :count => 4
196
+ assert_have_selector 'form.simple-form label', :count => 9
197
197
  assert_have_selector 'form.simple-form label', :content => "Username", :for => 'username'
198
198
  assert_have_selector 'form.simple-form label', :content => "Password", :for => 'password'
199
199
  assert_have_selector 'form.simple-form label', :content => "Gender", :for => 'gender'
200
200
  end
201
201
  should "display label tag in erb for advanced form" do
202
202
  visit '/erb/form_tag'
203
- assert_have_selector 'form.advanced-form label', :count => 6
203
+ assert_have_selector 'form.advanced-form label', :count => 11
204
204
  assert_have_selector 'form.advanced-form label.first', :content => "Nickname", :for => 'username'
205
205
  assert_have_selector 'form.advanced-form label.first', :content => "Password", :for => 'password'
206
206
  assert_have_selector 'form.advanced-form label.about', :content => "About Me", :for => 'about'
@@ -210,7 +210,7 @@ describe "FormHelpers" do
210
210
 
211
211
  should "display label tag in haml for simple form" do
212
212
  visit '/haml/form_tag'
213
- assert_have_selector 'form.simple-form label', :count => 4
213
+ assert_have_selector 'form.simple-form label', :count => 9
214
214
  assert_have_selector 'form.simple-form label', :content => "Username", :for => 'username'
215
215
  assert_have_selector 'form.simple-form label', :content => "Password", :for => 'password'
216
216
  assert_have_selector 'form.simple-form label', :content => "Gender", :for => 'gender'
@@ -218,7 +218,7 @@ describe "FormHelpers" do
218
218
 
219
219
  should "display label tag in haml for advanced form" do
220
220
  visit '/haml/form_tag'
221
- assert_have_selector 'form.advanced-form label', :count => 6
221
+ assert_have_selector 'form.advanced-form label', :count => 11
222
222
  assert_have_selector 'form.advanced-form label.first', :content => "Nickname", :for => 'username'
223
223
  assert_have_selector 'form.advanced-form label.first', :content => "Password", :for => 'password'
224
224
  assert_have_selector 'form.advanced-form label.about', :content => "About Me", :for => 'about'
@@ -228,7 +228,7 @@ describe "FormHelpers" do
228
228
 
229
229
  should "display label tag in slim for simple form" do
230
230
  visit '/slim/form_tag'
231
- assert_have_selector 'form.simple-form label', :count => 4
231
+ assert_have_selector 'form.simple-form label', :count => 9
232
232
  assert_have_selector 'form.simple-form label', :content => "Username", :for => 'username'
233
233
  assert_have_selector 'form.simple-form label', :content => "Password", :for => 'password'
234
234
  assert_have_selector 'form.simple-form label', :content => "Gender", :for => 'gender'
@@ -236,7 +236,7 @@ describe "FormHelpers" do
236
236
 
237
237
  should "display label tag in slim for advanced form" do
238
238
  visit '/slim/form_tag'
239
- assert_have_selector 'form.advanced-form label', :count => 6
239
+ assert_have_selector 'form.advanced-form label', :count => 11
240
240
  assert_have_selector 'form.advanced-form label.first', :content => "Nickname", :for => 'username'
241
241
  assert_have_selector 'form.advanced-form label.first', :content => "Password", :for => 'password'
242
242
  assert_have_selector 'form.advanced-form label.about', :content => "About Me", :for => 'about'
@@ -295,10 +295,135 @@ describe "FormHelpers" do
295
295
  end
296
296
  end
297
297
 
298
+ context 'for #number_field_tag method' do
299
+ should "display number field in ruby" do
300
+ actual_html = number_field_tag(:age, :class => 'numeric')
301
+ assert_has_tag(:input, :type => 'number', :class => 'numeric', :name => 'age') { actual_html }
302
+ end
303
+
304
+ should "display number field in erb" do
305
+ visit '/erb/form_tag'
306
+ assert_have_selector 'form.simple-form input[type=number]', :count => 1, :name => 'age'
307
+ assert_have_selector 'form.advanced-form fieldset input[type=number]', :count => 1, :name => 'age', :class => 'numeric'
308
+ end
309
+
310
+ should "display number field in haml" do
311
+ visit '/haml/form_tag'
312
+ assert_have_selector 'form.simple-form input[type=number]', :count => 1, :name => 'age'
313
+ assert_have_selector 'form.advanced-form fieldset input[type=number]', :count => 1, :name => 'age', :class => 'numeric'
314
+ end
315
+
316
+ should "display number field in slim" do
317
+ visit '/slim/form_tag'
318
+ assert_have_selector 'form.simple-form input[type=number]', :count => 1, :name => 'age'
319
+ assert_have_selector 'form.advanced-form fieldset input[type=number]', :count => 1, :name => 'age', :class => 'numeric'
320
+ end
321
+ end
322
+
323
+ context 'for #telephone_field_tag method' do
324
+ should "display number field in ruby" do
325
+ actual_html = telephone_field_tag(:telephone, :class => 'numeric')
326
+ assert_has_tag(:input, :type => 'tel', :class => 'numeric', :name => 'telephone') { actual_html }
327
+ end
328
+
329
+ should "display telephone field in erb" do
330
+ visit '/erb/form_tag'
331
+ assert_have_selector 'form.simple-form input[type=tel]', :count => 1, :name => 'telephone'
332
+ assert_have_selector 'form.advanced-form fieldset input[type=tel]', :count => 1, :name => 'telephone', :class => 'numeric'
333
+ end
334
+
335
+ should "display telephone field in haml" do
336
+ visit '/haml/form_tag'
337
+ assert_have_selector 'form.simple-form input[type=tel]', :count => 1, :name => 'telephone'
338
+ assert_have_selector 'form.advanced-form fieldset input[type=tel]', :count => 1, :name => 'telephone', :class => 'numeric'
339
+ end
340
+
341
+ should "display telephone field in slim" do
342
+ visit '/slim/form_tag'
343
+ assert_have_selector 'form.simple-form input[type=tel]', :count => 1, :name => 'telephone'
344
+ assert_have_selector 'form.advanced-form fieldset input[type=tel]', :count => 1, :name => 'telephone', :class => 'numeric'
345
+ end
346
+ end
347
+
348
+ context 'for #search_field_tag method' do
349
+ should "display search field in ruby" do
350
+ actual_html = search_field_tag(:search, :class => 'string')
351
+ assert_has_tag(:input, :type => 'search', :class => 'string', :name => 'search') { actual_html }
352
+ end
353
+
354
+ should "display search field in erb" do
355
+ visit '/erb/form_tag'
356
+ assert_have_selector 'form.simple-form input[type=search]', :count => 1, :name => 'search'
357
+ assert_have_selector 'form.advanced-form fieldset input[type=search]', :count => 1, :name => 'search', :class => 'string'
358
+ end
359
+
360
+ should "display search field in haml" do
361
+ visit '/haml/form_tag'
362
+ assert_have_selector 'form.simple-form input[type=search]', :count => 1, :name => 'search'
363
+ assert_have_selector 'form.advanced-form fieldset input[type=search]', :count => 1, :name => 'search', :class => 'string'
364
+ end
365
+
366
+ should "display search field in slim" do
367
+ visit '/slim/form_tag'
368
+ assert_have_selector 'form.simple-form input[type=search]', :count => 1, :name => 'search'
369
+ assert_have_selector 'form.advanced-form fieldset input[type=search]', :count => 1, :name => 'search', :class => 'string'
370
+ end
371
+ end
372
+
373
+ context 'for #email_field_tag method' do
374
+ should "display email field in ruby" do
375
+ actual_html = email_field_tag(:email, :class => 'string')
376
+ assert_has_tag(:input, :type => 'email', :class => 'string', :name => 'email') { actual_html }
377
+ end
378
+
379
+ should "display email field in erb" do
380
+ visit '/erb/form_tag'
381
+ assert_have_selector 'form.simple-form input[type=email]', :count => 1, :name => 'email'
382
+ assert_have_selector 'form.advanced-form fieldset input[type=email]', :count => 1, :name => 'email', :class => 'string'
383
+ end
384
+
385
+ should "display email field in haml" do
386
+ visit '/haml/form_tag'
387
+ assert_have_selector 'form.simple-form input[type=email]', :count => 1, :name => 'email'
388
+ assert_have_selector 'form.advanced-form fieldset input[type=email]', :count => 1, :name => 'email', :class => 'string'
389
+ end
390
+
391
+ should "display email field in slim" do
392
+ visit '/slim/form_tag'
393
+ assert_have_selector 'form.simple-form input[type=email]', :count => 1, :name => 'email'
394
+ assert_have_selector 'form.advanced-form fieldset input[type=email]', :count => 1, :name => 'email', :class => 'string'
395
+ end
396
+ end
397
+
398
+ context 'for #url_field_tag method' do
399
+ should "display url field in ruby" do
400
+ actual_html = url_field_tag(:webpage, :class => 'string')
401
+ assert_has_tag(:input, :type => 'url', :class => 'string', :name => 'webpage') { actual_html }
402
+ end
403
+
404
+ should "display url field in erb" do
405
+ visit '/erb/form_tag'
406
+ assert_have_selector 'form.simple-form input[type=url]', :count => 1, :name => 'webpage'
407
+ assert_have_selector 'form.advanced-form fieldset input[type=url]', :count => 1, :name => 'webpage', :class => 'string'
408
+ end
409
+
410
+ should "display url field in haml" do
411
+ visit '/haml/form_tag'
412
+ assert_have_selector 'form.simple-form input[type=url]', :count => 1, :name => 'webpage'
413
+ assert_have_selector 'form.advanced-form fieldset input[type=url]', :count => 1, :name => 'webpage', :class => 'string'
414
+ end
415
+
416
+ should "display url field in slim" do
417
+ visit '/slim/form_tag'
418
+ assert_have_selector 'form.simple-form input[type=url]', :count => 1, :name => 'webpage'
419
+ assert_have_selector 'form.advanced-form fieldset input[type=url]', :count => 1, :name => 'webpage', :class => 'string'
420
+ end
421
+ end
422
+
298
423
  context 'for #text_area_tag method' do
299
424
  should "display text area in ruby" do
300
425
  actual_html = text_area_tag(:about, :class => 'long')
301
- assert_has_tag(:textarea, :class => "long", :name => 'about', :rows => '', :cols => '') { actual_html }
426
+ assert_has_tag(:textarea, :class => "long", :name => 'about') { actual_html }
302
427
  end
303
428
 
304
429
  should "display text area in ruby with specified content" do
@@ -624,7 +749,7 @@ describe "FormHelpers" do
624
749
 
625
750
  should "display image submit tag in ruby with absolute path" do
626
751
  actual_html = image_submit_tag('/system/ok.png', :class => 'success')
627
- assert_has_tag(:input, :type => 'image', :class => "success", :src => "/system/ok.png?#{@stamp}") { actual_html }
752
+ assert_has_tag(:input, :type => 'image', :class => "success", :src => "/system/ok.png") { actual_html }
628
753
  end
629
754
 
630
755
  should "display image submit tag in erb" do
@@ -1,3 +1,6 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/helper')
2
+ require File.expand_path(File.dirname(__FILE__) + '/fixtures/markup_app/app')
3
+
1
4
  describe "NumberHelpers" do
2
5
  include Padrino::Helpers::NumberHelpers
3
6
 
@@ -21,17 +21,18 @@ describe "TagHelpers" do
21
21
  assert_has_tag('option', :selected => 'selected') { actual_html }
22
22
  end
23
23
 
24
- should "support tags with content no attributes" do
25
- assert_has_tag(:p, :content => "Demo String") { tag(:p, :content => "Demo String") }
24
+ should "support data attributes" do
25
+ actual_html = tag(:a, :data => { :remote => true, :method => 'post'})
26
+ assert_has_tag(:a, 'data-remote' => 'true', 'data-method' => 'post') { actual_html }
26
27
  end
27
28
 
28
- should "support tags with content and attributes" do
29
- actual_html = tag(:p, :content => "Demo", :class => 'large', :id => 'intro')
30
- assert_has_tag('p#intro.large', :content => "Demo") { actual_html }
29
+ should "support nested attributes" do
30
+ actual_html = tag(:div, :data => {:dojo => {:type => 'dijit.form.TextBox', :props => 'readOnly: true'}})
31
+ assert_has_tag(:div, 'data-dojo-type' => 'dijit.form.TextBox', 'data-dojo-props' => 'readOnly: true') { actual_html }
31
32
  end
32
33
 
33
34
  should "support open tags" do
34
- actual_html = tag(:p, :class => 'demo', :open => true)
35
+ actual_html = tag(:p, { :class => 'demo' }, true)
35
36
  assert_equal "<p class=\"demo\">", actual_html
36
37
  end
37
38
 
@@ -4,10 +4,10 @@ require "rubygems"
4
4
  module Middleman
5
5
  # Current Version
6
6
  # @return [String]
7
- VERSION = '3.0.0.beta.1' unless const_defined?(:VERSION)
7
+ VERSION = '3.0.0.beta.2' unless const_defined?(:VERSION)
8
8
 
9
9
  # Parsed version for RubyGems
10
10
  # @private
11
11
  # @return [String]
12
12
  GEM_VERSION = ::Gem::Version.create(VERSION) unless const_defined?(:GEM_VERSION)
13
- end
13
+ end
@@ -1,9 +1,14 @@
1
- # Inspect Ruby env
2
- require "rbconfig"
3
-
4
1
  # File changes are forwarded to the currently running app via HTTP
5
2
  require "net/http"
6
3
 
4
+ module Middleman
5
+ WINDOWS = !!(RUBY_PLATFORM =~ /(mingw|bccwin|wince|mswin32)/i) unless const_defined?(:WINDOWS)
6
+ end
7
+
8
+ require "win32/process" if ::Middleman::WINDOWS
9
+
10
+ require "fileutils"
11
+
7
12
  module Middleman
8
13
  class Watcher
9
14
  class << self
@@ -14,43 +19,67 @@ module Middleman
14
19
  self.singleton.watch! unless options[:"disable-watcher"]
15
20
  end
16
21
 
17
- # What command is sent to kill instances
18
- # @return [Symbol, Fixnum]
19
- def kill_command
20
- ::Middleman::WINDOWS ? 1 : :INT
21
- end
22
-
23
22
  def ignore_list
24
23
  [
25
- /\.sass-cache/,
24
+ /\.sass-cache\//,
26
25
  /\.git/,
27
- /\.DS_Store/
26
+ /\.DS_Store$/,
27
+ /build\//,
28
+ /\.rbenv-version$/,
29
+ /Gemfile$/,
30
+ /Gemfile\.lock$/,
31
+ /\.mm-pid/
28
32
  ]
29
33
  end
30
34
  end
31
35
 
32
36
  def initialize(options)
33
37
  @options = options
34
-
35
- if RbConfig::CONFIG['target_os'] =~ /darwin/i
36
- $LOAD_PATH << File.expand_path('../../middleman-core/vendor/darwin/lib', __FILE__)
37
- elsif RbConfig::CONFIG['target_os'] =~ /linux/i
38
- $LOAD_PATH << File.expand_path('../../middleman-core/vendor/linux/lib', __FILE__)
39
- end
40
38
 
39
+ register_signal_handlers
41
40
  start
42
41
  end
43
42
 
43
+ # What command is sent to kill instances
44
+ # @return [Symbol, Fixnum]
45
+ def kill_command
46
+ ::Middleman::WINDOWS ? 1 : "TERM"
47
+ end
48
+
44
49
  def watch!
45
50
  local = self
46
51
 
47
52
  # Watcher Library
48
- require "fssm"
53
+ require "listen"
49
54
 
50
- FSSM.monitor(Dir.pwd) do
51
- create { |base, relative| local.run_on_change([relative]) }
52
- update { |base, relative| local.run_on_change([relative]) }
53
- delete { |base, relative| local.run_on_deletion([relative]) }
55
+ Listen.to(Dir.pwd) do |modified, added, removed|
56
+ added_and_modified = modified + added
57
+
58
+ if added_and_modified.length > 0
59
+ added_and_modified.map! { |p| p.sub(Dir.pwd, "").sub(/^\//, "") }
60
+ local.run_on_change(added_and_modified)
61
+ end
62
+
63
+ if removed.length > 0
64
+ removed_relative = removed.map! { |p| p.sub(Dir.pwd, "").sub(/^\//, "") }
65
+ local.run_on_deletion(removed_relative)
66
+ end
67
+ end
68
+ end
69
+
70
+ def pid_name
71
+ ".mm-pid-#{@options[:port]||4567}"
72
+ end
73
+
74
+ def kill_pid!
75
+ if File.exists?(pid_name)
76
+ current_pid = File.open(pid_name, 'rb') { |f| f.read }
77
+ begin
78
+ Process.kill(kill_command, current_pid.to_i)
79
+ rescue
80
+ ensure
81
+ FileUtils.rm(pid_name) if File.exists?(pid_name)
82
+ end
54
83
  end
55
84
  end
56
85
 
@@ -60,18 +89,25 @@ module Middleman
60
89
  if @options[:"disable-watcher"]
61
90
  bootup
62
91
  else
92
+ kill_pid!
93
+
63
94
  @server_job = fork {
64
- Signal.trap(::Middleman::WINDOWS ? :KILL : :TERM) { exit! }
95
+ # trap("INT") { exit(0) }
96
+ # trap("TERM") { exit(0) }
97
+ # trap("QUIT") { exit(0) }
65
98
  bootup
66
99
  }
100
+
101
+ File.open(pid_name, "w+") { |f| f.write(@server_job) }
67
102
  end
68
103
  end
69
104
 
70
- # Start an instance of Middleman::Base
105
+ # Start an instance of Middleman::Application
71
106
  # @return [void]
72
107
  def bootup
73
108
  env = (@options[:environment] || "development").to_sym
74
- is_logging = @options.has_key?(:debug) && (@options[:debug] == "true")
109
+ is_logging = @options.has_key?(:debug) && @options[:debug]
110
+
75
111
  app = ::Middleman.server.inst do
76
112
  set :environment, env
77
113
  set :logging, is_logging
@@ -91,9 +127,10 @@ module Middleman
91
127
  def stop
92
128
  puts "== The Middleman is shutting down"
93
129
  if !@options[:"disable-watcher"]
94
- Process.kill(::Middleman::WINDOWS ? :KILL : :TERM, @server_job)
95
- Process.wait @server_job
96
- @server_job = nil
130
+ kill_pid!
131
+ # Process.kill(::Middleman::WINDOWS ? :KILL : :TERM, @server_job)
132
+ # Process.wait @server_job
133
+ # @server_job = nil
97
134
  end
98
135
  end
99
136
 
@@ -131,12 +168,20 @@ module Middleman
131
168
  end
132
169
 
133
170
  private
134
- # Whether the passed files are config.rb or lib/*.rb
171
+ # Trap the interupt signal and shut down FSSM (and thus the server) smoothly
172
+ def register_signal_handlers
173
+ trap("INT") { stop; exit(0) }
174
+ trap("TERM") { stop }
175
+ trap("QUIT") { stop; exit(0) }
176
+ end
177
+
178
+ # Whether the passed files are config.rb, lib/*.rb or helpers
135
179
  # @param [Array<String>] paths Array of paths to check
136
180
  # @return [Boolean] Whether the server needs to reload
137
181
  def needs_to_reload?(paths)
182
+ return false # disable reloading for now
138
183
  paths.any? do |path|
139
- path.match(%{^config\.rb}) || path.match(%r{^lib/^[^\.](.*)\.rb$})
184
+ path.match(%{^config\.rb}) || path.match(%r{^lib/^[^\.](.*)\.rb$}) || path.match(%r{^helpers/^[^\.](.*)_helper\.rb$})
140
185
  end
141
186
  end
142
187
 
@@ -148,10 +193,4 @@ module Middleman
148
193
  Net::HTTP.post_form(uri, {}.merge(params))
149
194
  end
150
195
  end
151
- end
152
-
153
- # Trap the interupt signal and shut down FSSM (and thus the server) smoothly
154
- trap(::Middleman::Watcher.kill_command) do
155
- ::Middleman::Watcher.singleton.stop
156
- exit(0)
157
196
  end