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
- zh_tw:
2
- number:
3
- # Used in number_with_delimiter()
4
- # These are also the defaults for 'currency', 'percentage', 'precision', and 'human'
5
- format:
6
- # Sets the separator between the units, for more precision (e.g. 1.0 / 2.0 == 0.5)
7
- separator: "."
8
- # Delimets thousands (e.g. 1,000,000 is a million) (always in groups of three)
9
- delimiter: ","
10
- # Number of decimals, behind the separator (the number 1 with a precision of 2 gives: 1.00)
11
- precision: 3
12
-
13
- # Used in number_to_currency()
14
- currency:
15
- format:
16
- # Where is the currency sign? %u is the currency unit, %n the number (default: $5.00)
17
- format: "%u %n"
18
- unit: "NT$"
19
- # These three are to override number.format and are optional
20
- separator: "."
21
- delimiter: ","
22
- precision: 2
23
-
24
- # Used in number_to_percentage()
25
- percentage:
26
- format:
27
- # These three are to override number.format and are optional
28
- # separator:
29
- delimiter: ""
30
- # precision:
31
-
32
- # Used in number_to_precision()
33
- precision:
34
- format:
35
- # These three are to override number.format and are optional
36
- # separator:
37
- delimiter: ""
38
- # precision:
39
-
40
- # Used in number_to_human_size()
41
- human:
42
- format:
43
- # These three are to override number.format and are optional
44
- # separator:
45
- delimiter: ""
46
- precision: 1
47
- storage_units:
48
- # Storage units output formatting.
49
- # %u is the storage unit, %n is the number (default: 2 MB)
50
- format: "%n %u"
51
- units:
52
- byte:
53
- one: "Byte"
54
- other: "Bytes"
55
- kb: "KB"
56
- mb: "MB"
57
- gb: "GB"
58
- tb: "TB"
59
-
60
- # Used in distance_of_time_in_words(), distance_of_time_in_words_to_now(), time_ago_in_words()
61
- datetime:
62
- distance_in_words:
63
- half_a_minute: "半分鐘"
64
- less_than_x_seconds:
65
- one: "不到一秒"
66
- other: "不到 %{count} 秒"
67
- x_seconds:
68
- one: "一秒"
69
- other: "%{count} 秒"
70
- less_than_x_minutes:
71
- one: "不到一分鐘"
72
- other: "不到 %{count} 分鐘"
73
- x_minutes:
74
- one: "一分鐘"
75
- other: "%{count} 分鐘"
76
- about_x_hours:
77
- one: "大約一小時"
78
- other: "大約 %{count} 小時"
79
- x_days:
80
- one: "一天"
81
- other: "%{count} 天"
82
- about_x_months:
83
- one: "大約一個月"
84
- other: "大約 %{count} 個月"
85
- x_months:
86
- one: "一個月"
87
- other: "%{count} 個月"
88
- about_x_years:
89
- one: "大約一年"
90
- other: "大約 %{count} 年"
91
- over_x_years:
92
- one: "一年多"
93
- other: "%{count} 年多"
94
- almost_x_years:
95
- one: "接近一年"
96
- other: "接近 %{count} 年"
97
- models:
98
- errors:
99
- template:
100
- header:
101
- one: "有 1 個錯誤發生使得「%{model}」無法被儲存。"
102
- other: "有 %{count} 個錯誤發生使得「%{model}」無法被儲存。"
103
- body: "以下欄位發生問題:"
@@ -1,273 +0,0 @@
1
- module Padrino
2
- module Helpers
3
- ##
4
- # Provides methods for converting numbers into formatted strings.
5
- # Methods are provided for phone numbers, currency, percentage,
6
- # precision, positional notation, and file size.
7
- #
8
- # Verbatim copy of Rails Number Helpers
9
- #
10
- module NumberHelpers
11
- ##
12
- # Formats a +number+ into a currency string (e.g., $13.65). You can customize the format
13
- # in the +options+ hash.
14
- #
15
- # ==== Options
16
- #
17
- # :precision:: Sets the level of precision (defaults to 2).
18
- # :unit:: Sets the denomination of the currency (defaults to "$").
19
- # :separator:: Sets the separator between the units (defaults to ".").
20
- # :delimiter:: Sets the thousands delimiter (defaults to ",").
21
- # :format:: Sets the format of the output string (defaults to "%u%n"). The field types are:
22
- #
23
- # %u The currency unit
24
- # %n The number
25
- #
26
- # ==== Examples
27
- #
28
- # number_to_currency(1234567890.50) # => $1,234,567,890.50
29
- # number_to_currency(1234567890.506) # => $1,234,567,890.51
30
- # number_to_currency(1234567890.506, :precision => 3) # => $1,234,567,890.506
31
- #
32
- # number_to_currency(1234567890.50, :unit => "£", :separator => ",", :delimiter => "")
33
- # # => £1234567890,50
34
- # number_to_currency(1234567890.50, :unit => "£", :separator => ",", :delimiter => "", :format => "%n %u")
35
- # # => 1234567890,50 £
36
- #
37
- def number_to_currency(number, options = {})
38
- options.symbolize_keys!
39
-
40
- defaults = I18n.translate(:'number.format', :locale => options[:locale], :raise => true) rescue {}
41
- currency = I18n.translate(:'number.currency.format', :locale => options[:locale], :raise => true) rescue {}
42
- defaults = defaults.merge(currency)
43
-
44
- precision = options[:precision] || defaults[:precision]
45
- unit = options[:unit] || defaults[:unit]
46
- separator = options[:separator] || defaults[:separator]
47
- delimiter = options[:delimiter] || defaults[:delimiter]
48
- format = options[:format] || defaults[:format]
49
- separator = '' if precision == 0
50
-
51
- begin
52
- format.gsub(/%n/, number_with_precision(number,
53
- :precision => precision,
54
- :delimiter => delimiter,
55
- :separator => separator)
56
- ).gsub(/%u/, unit)
57
- rescue
58
- number
59
- end
60
- end
61
-
62
- ##
63
- # Formats a +number+ as a percentage string (e.g., 65%). You can customize the
64
- # format in the +options+ hash.
65
- #
66
- # ==== Options
67
- #
68
- # :precision:: Sets the level of precision (defaults to 3).
69
- # :separator:: Sets the separator between the units (defaults to ".").
70
- # :delimiter:: Sets the thousands delimiter (defaults to "").
71
- #
72
- # ==== Examples
73
- #
74
- # number_to_percentage(100) # => 100.000%
75
- # number_to_percentage(100, :precision => 0) # => 100%
76
- # number_to_percentage(1000, :delimiter => '.', :separator => ',') # => 1.000,000%
77
- # number_to_percentage(302.24398923423, :precision => 5) # => 302.24399%
78
- #
79
- def number_to_percentage(number, options = {})
80
- options.symbolize_keys!
81
-
82
- defaults = I18n.translate(:'number.format', :locale => options[:locale], :raise => true) rescue {}
83
- percentage = I18n.translate(:'number.percentage.format', :locale => options[:locale], :raise => true) rescue {}
84
- defaults = defaults.merge(percentage)
85
-
86
- precision = options[:precision] || defaults[:precision]
87
- separator = options[:separator] || defaults[:separator]
88
- delimiter = options[:delimiter] || defaults[:delimiter]
89
-
90
- begin
91
- number_with_precision(number,
92
- :precision => precision,
93
- :separator => separator,
94
- :delimiter => delimiter) + "%"
95
- rescue
96
- number
97
- end
98
- end
99
-
100
- ##
101
- # Formats a +number+ with grouped thousands using +delimiter+ (e.g., 12,324). You can
102
- # customize the format in the +options+ hash.
103
- #
104
- # ==== Options
105
- #
106
- # :delimiter:: Sets the thousands delimiter (defaults to ",").
107
- # :separator:: Sets the separator between the units (defaults to ".").
108
- #
109
- # ==== Examples
110
- #
111
- # number_with_delimiter(12345678) # => 12,345,678
112
- # number_with_delimiter(12345678.05) # => 12,345,678.05
113
- # number_with_delimiter(12345678, :delimiter => ".") # => 12.345.678
114
- # number_with_delimiter(12345678, :separator => ",") # => 12,345,678
115
- # number_with_delimiter(98765432.98, :delimiter => " ", :separator => ",")
116
- # # => 98 765 432,98
117
- #
118
- # You can still use <tt>number_with_delimiter</tt> with the old API that accepts the
119
- # +delimiter+ as its optional second and the +separator+ as its
120
- # optional third parameter:
121
- #
122
- # number_with_delimiter(12345678, " ") # => 12 345.678
123
- # number_with_delimiter(12345678.05, ".", ",") # => 12.345.678,05
124
- #
125
- def number_with_delimiter(number, *args)
126
- options = args.extract_options!
127
- options.symbolize_keys!
128
-
129
- defaults = I18n.translate(:'number.format', :locale => options[:locale], :raise => true) rescue {}
130
-
131
- delimiter ||= (options[:delimiter] || defaults[:delimiter])
132
- separator ||= (options[:separator] || defaults[:separator])
133
-
134
- begin
135
- parts = number.to_s.split('.')
136
- parts[0].gsub!(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1#{delimiter}")
137
- parts.join(separator)
138
- rescue
139
- number
140
- end
141
- end
142
-
143
- ##
144
- # Formats a +number+ with the specified level of <tt>:precision</tt> (e.g., 112.32 has a precision of 2).
145
- # You can customize the format in the +options+ hash.
146
- #
147
- # ==== Options
148
- #
149
- # :precision:: Sets the level of precision (defaults to 3).
150
- # :separator:: Sets the separator between the units (defaults to ".").
151
- # :delimiter:: Sets the thousands delimiter (defaults to "").
152
- #
153
- # ==== Examples
154
- #
155
- # number_with_precision(111.2345) # => 111.235
156
- # number_with_precision(111.2345, :precision => 2) # => 111.23
157
- # number_with_precision(13, :precision => 5) # => 13.00000
158
- # number_with_precision(389.32314, :precision => 0) # => 389
159
- # number_with_precision(1111.2345, :precision => 2, :separator => ',', :delimiter => '.')
160
- # # => 1.111,23
161
- #
162
- # You can still use <tt>number_with_precision</tt> with the old API that accepts the
163
- # +precision+ as its optional second parameter:
164
- #
165
- # number_with_precision(number_with_precision(111.2345, 2) # => 111.23
166
- #
167
- def number_with_precision(number, *args)
168
- options = args.extract_options!
169
- options.symbolize_keys!
170
-
171
- defaults = I18n.translate(:'number.format', :locale => options[:locale], :raise => true) rescue {}
172
- precision_defaults = I18n.translate(:'number.precision.format', :locale => options[:locale],
173
- :raise => true) rescue {}
174
- defaults = defaults.merge(precision_defaults)
175
-
176
- precision ||= (options[:precision] || defaults[:precision])
177
- separator ||= (options[:separator] || defaults[:separator])
178
- delimiter ||= (options[:delimiter] || defaults[:delimiter])
179
-
180
- begin
181
- rounded_number = (Float(number) * (10 ** precision)).round.to_f / 10 ** precision
182
- number_with_delimiter("%01.#{precision}f" % rounded_number,
183
- :separator => separator,
184
- :delimiter => delimiter)
185
- rescue
186
- number
187
- end
188
- end
189
-
190
- STORAGE_UNITS = [:byte, :kb, :mb, :gb, :tb].freeze
191
-
192
- ##
193
- # Formats the bytes in +size+ into a more understandable representation
194
- # (e.g., giving it 1500 yields 1.5 KB). This method is useful for
195
- # reporting file sizes to users. This method returns nil if
196
- # +size+ cannot be converted into a number. You can customize the
197
- # format in the +options+ hash.
198
- #
199
- # ==== Options
200
- #
201
- # :precision:: Sets the level of precision (defaults to 1).
202
- # :separator:: Sets the separator between the units (defaults to ".").
203
- # :delimiter:: Sets the thousands delimiter (defaults to "").
204
- #
205
- # ==== Examples
206
- #
207
- # number_to_human_size(123) # => 123 Bytes
208
- # number_to_human_size(1234) # => 1.2 KB
209
- # number_to_human_size(12345) # => 12.1 KB
210
- # number_to_human_size(1234567) # => 1.2 MB
211
- # number_to_human_size(1234567890) # => 1.1 GB
212
- # number_to_human_size(1234567890123) # => 1.1 TB
213
- # number_to_human_size(1234567, :precision => 2) # => 1.18 MB
214
- # number_to_human_size(483989, :precision => 0) # => 473 KB
215
- # number_to_human_size(1234567, :precision => 2, :separator => ',') # => 1,18 MB
216
- #
217
- # Zeros after the decimal point are always stripped out, regardless of the
218
- # specified precision:
219
- #
220
- # helper.number_to_human_size(1234567890123, :precision => 5) # => "1.12283 TB"
221
- # helper.number_to_human_size(524288000, :precision=>5) # => "500 MB"
222
- #
223
- # You can still use <tt>number_to_human_size</tt> with the old API that accepts the
224
- # +precision+ as its optional second parameter:
225
- #
226
- # number_to_human_size(1234567, 2) # => 1.18 MB
227
- # number_to_human_size(483989, 0) # => 473 KB
228
- #
229
- def number_to_human_size(number, *args)
230
- return nil if number.nil?
231
-
232
- options = args.extract_options!
233
- options.symbolize_keys!
234
-
235
- defaults = I18n.translate(:'number.format', :locale => options[:locale], :raise => true) rescue {}
236
- human = I18n.translate(:'number.human.format', :locale => options[:locale], :raise => true) rescue {}
237
- defaults = defaults.merge(human)
238
-
239
- precision ||= (options[:precision] || defaults[:precision])
240
- separator ||= (options[:separator] || defaults[:separator])
241
- delimiter ||= (options[:delimiter] || defaults[:delimiter])
242
-
243
- storage_units_format = I18n.translate(:'number.human.storage_units.format', :locale => options[:locale], :raise => true)
244
-
245
- if number.to_i < 1024
246
- unit = I18n.translate(:'number.human.storage_units.units.byte', :locale => options[:locale], :count => number.to_i, :raise => true)
247
- storage_units_format.gsub(/%n/, number.to_i.to_s).gsub(/%u/, unit)
248
- else
249
- max_exp = STORAGE_UNITS.size - 1
250
- number = Float(number)
251
- exponent = (Math.log(number) / Math.log(1024)).to_i # Convert to base 1024
252
- exponent = max_exp if exponent > max_exp # we need this to avoid overflow for the highest unit
253
- number /= 1024 ** exponent
254
-
255
- unit_key = STORAGE_UNITS[exponent]
256
- unit = I18n.translate(:"number.human.storage_units.units.#{unit_key}", :locale => options[:locale], :count => number, :raise => true)
257
-
258
- begin
259
- escaped_separator = Regexp.escape(separator)
260
- formatted_number = number_with_precision(number,
261
- :precision => precision,
262
- :separator => separator,
263
- :delimiter => delimiter
264
- ).sub(/(#{escaped_separator})(\d*[1-9])?0+\z/, '\1\2').sub(/#{escaped_separator}\z/, '')
265
- storage_units_format.gsub(/%n/, formatted_number).gsub(/%u/, unit)
266
- rescue
267
- number
268
- end
269
- end
270
- end
271
- end # NumberHelpers
272
- end # Helpers
273
- end # Padrino
@@ -1,128 +0,0 @@
1
- module Padrino
2
- module Helpers
3
- module OutputHelpers
4
-
5
- def self.included(base) #:nodoc:
6
- base.send(:include, SinatraCurrentEngine) unless base.method_defined?(:current_engine)
7
- end
8
-
9
- ##
10
- # Module used to detect in vanilla sinatra apps the current engine
11
- #
12
- module SinatraCurrentEngine
13
- attr_reader :current_engine
14
-
15
- def render(engine, *) #:nodoc:
16
- @current_engine, engine_was = engine, @current_engine
17
- output = super
18
- @current_engine = engine_was
19
- output
20
- end
21
- end
22
-
23
- ##
24
- # Captures the html from a block of template code for any available handler
25
- #
26
- # ==== Examples
27
- #
28
- # capture_html(&block) => "...html..."
29
- #
30
- def capture_html(*args, &block)
31
- handler = find_proper_handler
32
- captured_html = ""
33
- if handler && handler.is_type? && handler.block_is_type?(block)
34
- captured_html = handler.capture_from_template(*args, &block)
35
- end
36
- # invoking the block directly if there was no template
37
- captured_html = block_given? && block.call(*args) if captured_html.blank?
38
- captured_html
39
- end
40
- alias :capture :capture_html
41
-
42
- ##
43
- # Outputs the given text to the templates buffer directly
44
- #
45
- # ==== Examples
46
- #
47
- # concat_content("This will be output to the template buffer")
48
- #
49
- def concat_content(text="")
50
- handler = find_proper_handler
51
- if handler && handler.is_type?
52
- handler.concat_to_template(text)
53
- else # theres no template to concat, return the text directly
54
- text
55
- end
56
- end
57
- alias :concat :concat_content
58
-
59
- ##
60
- # Returns true if the block is from a supported template type; false otherwise.
61
- # Used to determine if html should be returned or concatenated to the view
62
- #
63
- # ==== Examples
64
- #
65
- # block_is_template?(block)
66
- #
67
- def block_is_template?(block)
68
- handler = find_proper_handler
69
- block && handler && handler.block_is_type?(block)
70
- end
71
-
72
- ##
73
- # Capture a block or text of content to be rendered at a later time.
74
- # Your blocks can also receive values, which are passed to them by <tt>yield_content</tt>
75
- #
76
- # ==== Examples
77
- #
78
- # content_for(:name) { ...content... }
79
- # content_for(:name) { |name| ...content... }
80
- # content_for(:name, "I'm Jeff")
81
- #
82
- def content_for(key, content = nil, &block)
83
- content_blocks[key.to_sym] << (block_given? ? block : Proc.new { content })
84
- end
85
-
86
- ##
87
- # Render the captured content blocks for a given key.
88
- # You can also pass values to the content blocks by passing them
89
- # as arguments after the key.
90
- #
91
- # ==== Examples
92
- #
93
- # yield_content :include
94
- # yield_content :head, "param1", "param2"
95
- # yield_content(:title) || "My page title"
96
- #
97
- def yield_content(key, *args)
98
- blocks = content_blocks[key.to_sym]
99
- return nil if blocks.empty?
100
- blocks.map { |content| capture_html(*args, &content) }.join
101
- end
102
-
103
- protected
104
- ##
105
- # Retrieves content_blocks stored by content_for or within yield_content
106
- #
107
- # ==== Examples
108
- #
109
- # content_blocks[:name] => ['...', '...']
110
- #
111
- def content_blocks
112
- @content_blocks ||= Hash.new { |h,k| h[k] = [] }
113
- end
114
-
115
- ##
116
- # Retrieves the template handler for the given output context.
117
- # Can handle any output related to capturing or concating in a given template.
118
- #
119
- # ==== Examples
120
- #
121
- # find_proper_handler => <OutputHelpers::HamlHandler>
122
- #
123
- def find_proper_handler
124
- OutputHelpers.handlers.map { |h| h.new(self) }.find { |h| h.engines.include?(current_engine) && h.is_type? }
125
- end
126
- end # OutputHelpers
127
- end # Helpers
128
- end # Padrino