middleman 2.0.7 → 2.0.8

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 (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