middleman 2.0.7 → 2.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (190) hide show
  1. data/.gitignore +1 -0
  2. data/.travis.yml +0 -1
  3. data/CHANGELOG +8 -0
  4. data/Gemfile +1 -1
  5. data/features/data.feature +6 -1
  6. data/features/markdown.feature +7 -0
  7. data/features/sprockets.feature +11 -1
  8. data/features/sprockets_gems.feature +3 -3
  9. data/fixtures/sprockets-app/source/jquery_include.js +1 -0
  10. data/fixtures/test-app/config.rb +2 -0
  11. data/fixtures/test-app/source/data2.html.liquid +1 -0
  12. data/fixtures/test-app/source/javascripts/multiple_engines.js.coffee.erb +1 -0
  13. data/fixtures/test-app/source/markdown.html.markdown +1 -0
  14. data/lib/middleman.rb +0 -6
  15. data/lib/middleman/base.rb +6 -1
  16. data/lib/middleman/builder.rb +6 -4
  17. data/lib/middleman/core_extensions/data.rb +35 -5
  18. data/lib/middleman/core_extensions/front_matter.rb +9 -2
  19. data/lib/middleman/core_extensions/sprockets.rb +25 -1
  20. data/lib/middleman/renderers/markdown.rb +25 -2
  21. data/lib/middleman/version.rb +1 -1
  22. data/middleman.gemspec +7 -6
  23. metadata +112 -251
  24. data/lib/middleman/vendor/padrino-core-0.10.0/.document +0 -5
  25. data/lib/middleman/vendor/padrino-core-0.10.0/.gitignore +0 -22
  26. data/lib/middleman/vendor/padrino-core-0.10.0/LICENSE +0 -20
  27. data/lib/middleman/vendor/padrino-core-0.10.0/README.rdoc +0 -294
  28. data/lib/middleman/vendor/padrino-core-0.10.0/Rakefile +0 -5
  29. data/lib/middleman/vendor/padrino-core-0.10.0/bin/padrino +0 -9
  30. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core.rb +0 -119
  31. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application.rb +0 -259
  32. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/rendering.rb +0 -228
  33. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/routing.rb +0 -821
  34. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/showexceptions.rb +0 -18
  35. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/caller.rb +0 -45
  36. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/adapter.rb +0 -24
  37. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/base.rb +0 -152
  38. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/console.rb +0 -20
  39. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/rake.rb +0 -24
  40. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/rake_tasks.rb +0 -59
  41. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/command.rb +0 -27
  42. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/images/404.png +0 -0
  43. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/images/500.png +0 -0
  44. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/loader.rb +0 -182
  45. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/cz.yml +0 -30
  46. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/da.yml +0 -30
  47. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/de.yml +0 -30
  48. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/en.yml +0 -30
  49. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/es.yml +0 -30
  50. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/fr.yml +0 -30
  51. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/hu.yml +0 -30
  52. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/it.yml +0 -37
  53. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/ja.yml +0 -30
  54. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/nl.yml +0 -30
  55. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/no.yml +0 -31
  56. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/pl.yml +0 -30
  57. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/pt_br.yml +0 -37
  58. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/ru.yml +0 -30
  59. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/tr.yml +0 -30
  60. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/uk.yml +0 -30
  61. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/zh_cn.yml +0 -30
  62. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/zh_tw.yml +0 -30
  63. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/logger.rb +0 -344
  64. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/mounter.rb +0 -192
  65. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/reloader.rb +0 -247
  66. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/router.rb +0 -79
  67. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/server.rb +0 -70
  68. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/support_lite.rb +0 -135
  69. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/tasks.rb +0 -23
  70. data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/version.rb +0 -15
  71. data/lib/middleman/vendor/padrino-core-0.10.0/padrino-core.gemspec +0 -38
  72. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/.components +0 -6
  73. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/.gitignore +0 -7
  74. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/complex.rb +0 -27
  75. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/simple.rb +0 -33
  76. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/a.rb +0 -9
  77. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/b.rb +0 -4
  78. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/c.rb +0 -1
  79. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/e.rb +0 -13
  80. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/f.rb +0 -2
  81. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/g.rb +0 -2
  82. data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/d.rb +0 -4
  83. data/lib/middleman/vendor/padrino-core-0.10.0/test/helper.rb +0 -101
  84. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_application.rb +0 -83
  85. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_core.rb +0 -79
  86. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_dependencies.rb +0 -44
  87. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_filters.rb +0 -266
  88. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_logger.rb +0 -91
  89. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_mounter.rb +0 -176
  90. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_reloader_complex.rb +0 -66
  91. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_reloader_simple.rb +0 -97
  92. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_rendering.rb +0 -437
  93. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_router.rb +0 -146
  94. data/lib/middleman/vendor/padrino-core-0.10.0/test/test_routing.rb +0 -1491
  95. data/lib/middleman/vendor/padrino-helpers-0.10.0/.document +0 -5
  96. data/lib/middleman/vendor/padrino-helpers-0.10.0/.gitignore +0 -21
  97. data/lib/middleman/vendor/padrino-helpers-0.10.0/LICENSE +0 -20
  98. data/lib/middleman/vendor/padrino-helpers-0.10.0/README.rdoc +0 -239
  99. data/lib/middleman/vendor/padrino-helpers-0.10.0/Rakefile +0 -5
  100. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers.rb +0 -51
  101. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/asset_tag_helpers.rb +0 -288
  102. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_builder/abstract_form_builder.rb +0 -220
  103. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_builder/standard_form_builder.rb +0 -43
  104. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_helpers.rb +0 -446
  105. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/format_helpers.rb +0 -260
  106. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/cz.yml +0 -103
  107. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/da.yml +0 -91
  108. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/de.yml +0 -78
  109. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/en.yml +0 -103
  110. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/es.yml +0 -103
  111. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/fr.yml +0 -79
  112. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/hu.yml +0 -103
  113. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/it.yml +0 -85
  114. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/ja.yml +0 -103
  115. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/nl.yml +0 -78
  116. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/no.yml +0 -91
  117. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/pl.yml +0 -95
  118. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/pt_br.yml +0 -103
  119. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/ru.yml +0 -103
  120. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/tr.yml +0 -103
  121. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/uk.yml +0 -103
  122. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/zh_cn.yml +0 -103
  123. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/zh_tw.yml +0 -103
  124. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/number_helpers.rb +0 -273
  125. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers.rb +0 -128
  126. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/abstract_handler.rb +0 -103
  127. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/erb_handler.rb +0 -79
  128. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/haml_handler.rb +0 -64
  129. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/slim_handler.rb +0 -82
  130. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/render_helpers.rb +0 -40
  131. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/tag_helpers.rb +0 -59
  132. data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/translation_helpers.rb +0 -21
  133. data/lib/middleman/vendor/padrino-helpers-0.10.0/padrino-helpers.gemspec +0 -27
  134. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/app.rb +0 -73
  135. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.erb +0 -14
  136. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.haml +0 -12
  137. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.slim +0 -13
  138. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.erb +0 -11
  139. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.haml +0 -9
  140. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.slim +0 -9
  141. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.erb +0 -11
  142. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.haml +0 -9
  143. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.slim +0 -9
  144. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.erb +0 -5
  145. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.haml +0 -5
  146. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.slim +0 -5
  147. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.erb +0 -20
  148. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.haml +0 -15
  149. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.slim +0 -15
  150. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.erb +0 -56
  151. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.haml +0 -47
  152. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.slim +0 -47
  153. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.erb +0 -56
  154. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.haml +0 -45
  155. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.slim +0 -45
  156. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.erb +0 -5
  157. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.haml +0 -4
  158. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.slim +0 -4
  159. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.erb +0 -3
  160. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.haml +0 -3
  161. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.slim +0 -3
  162. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.erb +0 -3
  163. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.haml +0 -3
  164. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.slim +0 -3
  165. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_erb.erb +0 -1
  166. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_haml.haml +0 -1
  167. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_slim.slim +0 -1
  168. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.erb +0 -1
  169. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.haml +0 -1
  170. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.slim +0 -1
  171. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/app.rb +0 -45
  172. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engine.haml +0 -5
  173. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_erb.erb +0 -1
  174. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_haml.haml +0 -1
  175. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_slim.slim +0 -1
  176. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/erb/test.erb +0 -1
  177. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/explicit_engine.haml +0 -5
  178. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/haml/test.haml +0 -1
  179. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/_user.haml +0 -7
  180. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/haml_template.haml +0 -1
  181. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/some_template.haml +0 -2
  182. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/helper.rb +0 -78
  183. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_asset_tag_helpers.rb +0 -320
  184. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_form_builder.rb +0 -998
  185. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_form_helpers.rb +0 -645
  186. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_format_helpers.rb +0 -227
  187. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_number_helpers.rb +0 -136
  188. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_output_helpers.rb +0 -133
  189. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_render_helpers.rb +0 -69
  190. data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_tag_helpers.rb +0 -100
@@ -1,103 +0,0 @@
1
- module Padrino
2
- module Helpers
3
- module OutputHelpers
4
- ##
5
- # Returns the list of all available template handlers
6
- #
7
- # ==== Examples
8
- #
9
- # OutputHelpers.handlers => [<OutputHelpers::HamlHandler>, <OutputHelpers::ErbHandler>]
10
- #
11
- def self.handlers
12
- @_template_handlers ||= []
13
- end
14
-
15
- ##
16
- # Registers a new handler as available to the output helpers
17
- #
18
- # ==== Examples
19
- #
20
- # OutputHelpers.register(OutputHelpers::HamlHandler)
21
- #
22
- def self.register(handler)
23
- handlers << handler
24
- end
25
-
26
- class AbstractHandler
27
- attr_reader :template
28
-
29
- def initialize(template)
30
- @template = template
31
- end
32
-
33
- ##
34
- # Returns extension of the template
35
- #
36
- # ==== Examples
37
- #
38
- # @handler.template_extension => "erb"
39
- #
40
- def template_extension
41
- caller.find { |c| c =~ /\/views\// }[/\.([\w]*?)\:/, 1] rescue nil
42
- # "/some/path/app/views/posts/foo.html.erb:3:in `evaluate_source'"
43
- # => "erb"
44
- end
45
-
46
- ##
47
- # Returns an array of engines used for the template
48
- #
49
- # ==== Examples
50
- #
51
- # @handler.engines => [:erb, :erubis]
52
- #
53
- def engines
54
- # Implemented in subclass
55
- end
56
-
57
- ##
58
- # Returns true if the current template type is same as this handlers; false otherwise.
59
- #
60
- # ==== Examples
61
- #
62
- # @handler.is_type? => true
63
- #
64
- def is_type?
65
- # Implemented in subclass
66
- end
67
-
68
- ##
69
- # Returns true if the block given is of the handler's template type; false otherwise.
70
- #
71
- # ==== Examples
72
- #
73
- # @handler.block_is_type?(block) => true
74
- #
75
- def block_is_type?(block)
76
- # Implemented in subclass
77
- end
78
-
79
- ##
80
- # Captures the html from a block of template code for this handler
81
- #
82
- # ==== Examples
83
- #
84
- # @handler.capture_from_template(&block) => "...html..."
85
- #
86
- def capture_from_template(*args, &block)
87
- # Implemented in subclass
88
- end
89
-
90
- ##
91
- # Outputs the given text to the templates buffer directly
92
- #
93
- # ==== Examples
94
- #
95
- # @handler.concat_to_template("This will be output to the template buffer")
96
- #
97
- def concat_to_template(text="")
98
- # Implemented in subclass
99
- end
100
- end # AbstractHandler
101
- end # OutputHelpers
102
- end # Helpers
103
- end # Padrino
@@ -1,79 +0,0 @@
1
- module Padrino
2
- module Helpers
3
- module OutputHelpers
4
- class ErbHandler < AbstractHandler
5
- attr_reader :output_buffer
6
-
7
- def initialize(template)
8
- super
9
- @output_buffer = template.instance_variable_get(:@_out_buf)
10
- end
11
-
12
- ##
13
- # Returns true if the current template type is same as this handlers; false otherwise.
14
- #
15
- # ==== Examples
16
- #
17
- # @handler.is_type? => true
18
- #
19
- def is_type?
20
- !self.output_buffer.nil?
21
- end
22
-
23
- # Captures the html from a block of template code for this handler
24
- #
25
- # ==== Examples
26
- #
27
- # @handler.capture_from_template(&block) => "...html..."
28
- #
29
- def capture_from_template(*args, &block)
30
- self.output_buffer, _buf_was = "", self.output_buffer
31
- block.call(*args)
32
- ret = eval("@_out_buf", block.binding)
33
- self.output_buffer = _buf_was
34
- ret
35
- end
36
-
37
- ##
38
- # Outputs the given text to the templates buffer directly
39
- #
40
- # ==== Examples
41
- #
42
- # @handler.concat_to_template("This will be output to the template buffer")
43
- #
44
- def concat_to_template(text="")
45
- self.output_buffer << text if is_type? && text
46
- nil
47
- end
48
-
49
- ##
50
- # Returns true if the block given is of the handler's template type; false otherwise.
51
- #
52
- # ==== Examples
53
- #
54
- # @handler.block_is_type?(block) => true
55
- #
56
- def block_is_type?(block)
57
- is_type? || (block && eval('defined?(__in_erb_template)', block.binding))
58
- end
59
-
60
- ##
61
- # Returns an array of engines used for the template
62
- #
63
- # ==== Examples
64
- #
65
- # @handler.engines => [:erb, :erubis]
66
- #
67
- def engines
68
- @_engines ||= [:erb, :erubis]
69
- end
70
-
71
- protected
72
- def output_buffer=(val)
73
- template.instance_variable_set(:@_out_buf, val)
74
- end
75
- end # ErbHandler
76
- OutputHelpers.register(ErbHandler)
77
- end # OutputHelpers
78
- end # Helpers
79
- end # Padrino
@@ -1,64 +0,0 @@
1
- module Padrino
2
- module Helpers
3
- module OutputHelpers
4
- class HamlHandler < AbstractHandler
5
- ##
6
- # Returns true if the current template type is same as this handlers; false otherwise.
7
- #
8
- # ==== Examples
9
- #
10
- # @handler.is_type? => true
11
- #
12
- def is_type?
13
- template.respond_to?(:is_haml?) && template.is_haml?
14
- end
15
-
16
- ##
17
- # Returns true if the block given is of the handler's template type; false otherwise.
18
- #
19
- # ==== Examples
20
- #
21
- # @handler.block_is_type?(block) => true
22
- #
23
- def block_is_type?(block)
24
- template.block_is_haml?(block)
25
- end
26
-
27
- # Captures the html from a block of template code for this handler
28
- #
29
- # ==== Examples
30
- #
31
- # @handler.capture_from_template(&block) => "...html..."
32
- #
33
- def capture_from_template(*args, &block)
34
- eval("_hamlout ||= @haml_buffer", block.binding) # this is for rbx
35
- template.capture_haml(*args, &block)
36
- end
37
-
38
- ##
39
- # Outputs the given text to the templates buffer directly
40
- #
41
- # ==== Examples
42
- #
43
- # @handler.concat_to_template("This will be output to the template buffer")
44
- #
45
- def concat_to_template(text="")
46
- template.haml_concat(text)
47
- nil
48
- end
49
-
50
- ##
51
- # Returns an array of engines used for the template
52
- #
53
- # ==== Examples
54
- #
55
- # @handler.engines => [:erb, :erubis]
56
- #
57
- def engines
58
- @_engines ||= [:haml]
59
- end
60
- end # HamlHandler
61
- OutputHelpers.register(HamlHandler)
62
- end # OutputHelpers
63
- end # Helpers
64
- end # Padrino
@@ -1,82 +0,0 @@
1
- # Make slim works with sinatra/padrino
2
- Slim::Engine.set_default_options(:buffer => '@_out_buf', :generator => Temple::Generators::StringBuffer) if defined?(Slim)
3
-
4
- module Padrino
5
- module Helpers
6
- module OutputHelpers
7
- class SlimHandler < AbstractHandler
8
- attr_reader :output_buffer
9
-
10
- def initialize(template)
11
- super
12
- @output_buffer = template.instance_variable_get(:@_out_buf)
13
- end
14
-
15
- ##
16
- # Returns true if the current template type is same as this handlers; false otherwise.
17
- #
18
- # ==== Examples
19
- #
20
- # @handler.is_type? => true
21
- #
22
- def is_type?
23
- !self.output_buffer.nil?
24
- end
25
-
26
- # Captures the html from a block of template code for this handler
27
- #
28
- # ==== Examples
29
- #
30
- # @handler.capture_from_template(&block) => "...html..."
31
- #
32
- def capture_from_template(*args, &block)
33
- self.output_buffer, _buf_was = "", self.output_buffer
34
- block.call(*args)
35
- ret = eval("@_out_buf", block.binding)
36
- self.output_buffer = _buf_was
37
- ret
38
- end
39
-
40
- ##
41
- # Outputs the given text to the templates buffer directly
42
- #
43
- # ==== Examples
44
- #
45
- # @handler.concat_to_template("This will be output to the template buffer")
46
- #
47
- def concat_to_template(text="")
48
- self.output_buffer << text if is_type? && text
49
- nil
50
- end
51
-
52
- ##
53
- # Returns true if the block given is of the handler's template type; false otherwise.
54
- #
55
- # ==== Examples
56
- #
57
- # @handler.block_is_type?(block) => true
58
- #
59
- def block_is_type?(block)
60
- is_type? || (block && eval('defined? __in_erb_template', block.binding))
61
- end
62
-
63
- ##
64
- # Returns an array of engines used for the template
65
- #
66
- # ==== Examples
67
- #
68
- # @handler.engines => [:erb, :erubis]
69
- #
70
- def engines
71
- @_engines ||= [:slim]
72
- end
73
-
74
- protected
75
- def output_buffer=(val)
76
- template.instance_variable_set(:@_out_buf, val)
77
- end
78
- end # ErbHandler
79
- OutputHelpers.register(SlimHandler)
80
- end # OutputHelpers
81
- end # Helpers
82
- end # Padrino
@@ -1,40 +0,0 @@
1
- module Padrino
2
- module Helpers
3
- module RenderHelpers
4
- ##
5
- # Partials implementation which includes collections support
6
- #
7
- # ==== Examples
8
- #
9
- # partial 'photo/item', :object => @photo
10
- # partial 'photo/item', :collection => @photos
11
- # partial 'photo/item', :locals => { :foo => :bar }
12
- # partial 'photo/item', :engine => :erb
13
- #
14
- def partial(template, options={})
15
- options.reverse_merge!(:locals => {}, :layout => false)
16
- path = template.to_s.split(File::SEPARATOR)
17
- object_name = path[-1].to_sym
18
- path[-1] = "_#{path[-1]}"
19
- explicit_engine = options.delete(:engine)
20
- template_path = File.join(path).to_sym
21
- raise 'Partial collection specified but is nil' if options.has_key?(:collection) && options[:collection].nil?
22
- if collection = options.delete(:collection)
23
- options.delete(:object)
24
- counter = 0
25
- collection.map { |member|
26
- counter += 1
27
- options[:locals].merge!(object_name => member, "#{object_name}_counter".to_sym => counter)
28
- render(explicit_engine, template_path, options.dup)
29
- }.join("\n")
30
- else
31
- if member = options.delete(:object)
32
- options[:locals].merge!(object_name => member)
33
- end
34
- render(explicit_engine, template_path, options.dup)
35
- end
36
- end
37
- alias :render_partial :partial
38
- end # RenderHelpers
39
- end # Helpers
40
- end # Padrino
@@ -1,59 +0,0 @@
1
- module Padrino
2
- module Helpers
3
- module TagHelpers
4
- ##
5
- # Creates an html input field with given type and options
6
- #
7
- # ==== Examples
8
- #
9
- # input_tag :text, :class => "test"
10
- #
11
- def input_tag(type, options = {})
12
- options.reverse_merge!(:type => type)
13
- tag(:input, options)
14
- end
15
-
16
- ##
17
- # Creates an html tag with given name, content and options
18
- #
19
- # ==== Examples
20
- #
21
- # content_tag(:p, "hello", :class => 'light')
22
- # content_tag(:p, :class => 'dark') do ... end
23
- # content_tag(name, content=nil, options={}, &block)
24
- #
25
- def content_tag(*args, &block)
26
- name = args.first
27
- options = args.extract_options!
28
- tag_html = block_given? ? capture_html(&block) : args[1]
29
- tag_result = tag(name, options.merge(:content => tag_html))
30
- block_is_template?(block) ? concat_content(tag_result) : tag_result
31
- end
32
-
33
- ##
34
- # Creates an html tag with the given name and options
35
- #
36
- # ==== Examples
37
- #
38
- # tag(:br, :style => 'clear:both')
39
- # tag(:p, :content => "hello", :class => 'large')
40
- #
41
- def tag(name, options={})
42
- content, open_tag = options.delete(:content), options.delete(:open)
43
- content = content.join("\n") if content.respond_to?(:join)
44
- identity_tag_attributes.each { |attr| options[attr] = attr.to_s if options[attr] }
45
- html_attrs = options.map { |a, v| v.nil? || v == false ? nil : "#{a}=\"#{v}\"" }.compact.join(" ")
46
- base_tag = (html_attrs.present? ? "<#{name} #{html_attrs}" : "<#{name}")
47
- base_tag << (open_tag ? ">" : (content ? ">#{content}</#{name}>" : " />"))
48
- end
49
-
50
- private
51
- ##
52
- # Returns a list of attributes which can only contain an identity value (i.e selected)
53
- #
54
- def identity_tag_attributes
55
- [:checked, :disabled, :selected, :multiple]
56
- end
57
- end # TagHelpers
58
- end # Helpers
59
- end # Padrino
@@ -1,21 +0,0 @@
1
- module Padrino
2
- module Helpers
3
- module TranslationHelpers
4
- ##
5
- # Delegates to I18n.translate with no additional functionality.
6
- #
7
- def translate(*args)
8
- I18n.translate(*args)
9
- end
10
- alias :t :translate
11
-
12
- ##
13
- # Delegates to I18n.localize with no additional functionality.
14
- #
15
- def localize(*args)
16
- I18n.localize(*args)
17
- end
18
- alias :l :localize
19
- end # TranslationHelpers
20
- end # Helpers
21
- end # Padrino