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