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.
- data/.gitignore +1 -0
- data/.travis.yml +0 -1
- data/CHANGELOG +8 -0
- data/Gemfile +1 -1
- data/features/data.feature +6 -1
- data/features/markdown.feature +7 -0
- data/features/sprockets.feature +11 -1
- data/features/sprockets_gems.feature +3 -3
- data/fixtures/sprockets-app/source/jquery_include.js +1 -0
- data/fixtures/test-app/config.rb +2 -0
- data/fixtures/test-app/source/data2.html.liquid +1 -0
- data/fixtures/test-app/source/javascripts/multiple_engines.js.coffee.erb +1 -0
- data/fixtures/test-app/source/markdown.html.markdown +1 -0
- data/lib/middleman.rb +0 -6
- data/lib/middleman/base.rb +6 -1
- data/lib/middleman/builder.rb +6 -4
- data/lib/middleman/core_extensions/data.rb +35 -5
- data/lib/middleman/core_extensions/front_matter.rb +9 -2
- data/lib/middleman/core_extensions/sprockets.rb +25 -1
- data/lib/middleman/renderers/markdown.rb +25 -2
- data/lib/middleman/version.rb +1 -1
- data/middleman.gemspec +7 -6
- metadata +112 -251
- data/lib/middleman/vendor/padrino-core-0.10.0/.document +0 -5
- data/lib/middleman/vendor/padrino-core-0.10.0/.gitignore +0 -22
- data/lib/middleman/vendor/padrino-core-0.10.0/LICENSE +0 -20
- data/lib/middleman/vendor/padrino-core-0.10.0/README.rdoc +0 -294
- data/lib/middleman/vendor/padrino-core-0.10.0/Rakefile +0 -5
- data/lib/middleman/vendor/padrino-core-0.10.0/bin/padrino +0 -9
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core.rb +0 -119
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application.rb +0 -259
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/rendering.rb +0 -228
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/routing.rb +0 -821
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/application/showexceptions.rb +0 -18
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/caller.rb +0 -45
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/adapter.rb +0 -24
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/base.rb +0 -152
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/console.rb +0 -20
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/rake.rb +0 -24
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/cli/rake_tasks.rb +0 -59
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/command.rb +0 -27
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/images/404.png +0 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/images/500.png +0 -0
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/loader.rb +0 -182
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/cz.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/da.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/de.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/en.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/es.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/fr.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/hu.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/it.yml +0 -37
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/ja.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/nl.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/no.yml +0 -31
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/pl.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/pt_br.yml +0 -37
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/ru.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/tr.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/uk.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/zh_cn.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/locale/zh_tw.yml +0 -30
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/logger.rb +0 -344
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/mounter.rb +0 -192
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/reloader.rb +0 -247
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/router.rb +0 -79
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/server.rb +0 -70
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/support_lite.rb +0 -135
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/tasks.rb +0 -23
- data/lib/middleman/vendor/padrino-core-0.10.0/lib/padrino-core/version.rb +0 -15
- data/lib/middleman/vendor/padrino-core-0.10.0/padrino-core.gemspec +0 -38
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/.components +0 -6
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/.gitignore +0 -7
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/complex.rb +0 -27
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/apps/simple.rb +0 -33
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/a.rb +0 -9
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/b.rb +0 -4
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/c.rb +0 -1
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/e.rb +0 -13
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/f.rb +0 -2
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/circular/g.rb +0 -2
- data/lib/middleman/vendor/padrino-core-0.10.0/test/fixtures/dependencies/d.rb +0 -4
- data/lib/middleman/vendor/padrino-core-0.10.0/test/helper.rb +0 -101
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_application.rb +0 -83
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_core.rb +0 -79
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_dependencies.rb +0 -44
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_filters.rb +0 -266
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_logger.rb +0 -91
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_mounter.rb +0 -176
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_reloader_complex.rb +0 -66
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_reloader_simple.rb +0 -97
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_rendering.rb +0 -437
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_router.rb +0 -146
- data/lib/middleman/vendor/padrino-core-0.10.0/test/test_routing.rb +0 -1491
- data/lib/middleman/vendor/padrino-helpers-0.10.0/.document +0 -5
- data/lib/middleman/vendor/padrino-helpers-0.10.0/.gitignore +0 -21
- data/lib/middleman/vendor/padrino-helpers-0.10.0/LICENSE +0 -20
- data/lib/middleman/vendor/padrino-helpers-0.10.0/README.rdoc +0 -239
- data/lib/middleman/vendor/padrino-helpers-0.10.0/Rakefile +0 -5
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers.rb +0 -51
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/asset_tag_helpers.rb +0 -288
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_builder/abstract_form_builder.rb +0 -220
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_builder/standard_form_builder.rb +0 -43
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/form_helpers.rb +0 -446
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/format_helpers.rb +0 -260
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/cz.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/da.yml +0 -91
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/de.yml +0 -78
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/en.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/es.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/fr.yml +0 -79
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/hu.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/it.yml +0 -85
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/ja.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/nl.yml +0 -78
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/no.yml +0 -91
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/pl.yml +0 -95
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/pt_br.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/ru.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/tr.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/uk.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/zh_cn.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/locale/zh_tw.yml +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/number_helpers.rb +0 -273
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers.rb +0 -128
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/abstract_handler.rb +0 -103
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/erb_handler.rb +0 -79
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/haml_handler.rb +0 -64
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/output_helpers/slim_handler.rb +0 -82
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/render_helpers.rb +0 -40
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/tag_helpers.rb +0 -59
- data/lib/middleman/vendor/padrino-helpers-0.10.0/lib/padrino-helpers/translation_helpers.rb +0 -21
- data/lib/middleman/vendor/padrino-helpers-0.10.0/padrino-helpers.gemspec +0 -27
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/app.rb +0 -73
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.erb +0 -14
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.haml +0 -12
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/capture_concat.slim +0 -13
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.erb +0 -11
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.haml +0 -9
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_for.slim +0 -9
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.erb +0 -11
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.haml +0 -9
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/content_tag.slim +0 -9
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.erb +0 -5
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.haml +0 -5
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/current_engine.slim +0 -5
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.erb +0 -20
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.haml +0 -15
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/fields_for.slim +0 -15
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.erb +0 -56
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.haml +0 -47
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_for.slim +0 -47
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.erb +0 -56
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.haml +0 -45
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/form_tag.slim +0 -45
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.erb +0 -5
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.haml +0 -4
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/link_to.slim +0 -4
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.erb +0 -3
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.haml +0 -3
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/mail_to.slim +0 -3
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.erb +0 -3
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.haml +0 -3
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/meta_tag.slim +0 -3
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_erb.erb +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_haml.haml +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/partials/_slim.slim +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.erb +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.haml +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/markup_app/views/simple_partial.slim +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/app.rb +0 -45
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engine.haml +0 -5
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_erb.erb +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_haml.haml +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/current_engines/_slim.slim +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/erb/test.erb +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/explicit_engine.haml +0 -5
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/haml/test.haml +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/_user.haml +0 -7
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/haml_template.haml +0 -1
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/fixtures/render_app/views/template/some_template.haml +0 -2
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/helper.rb +0 -78
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_asset_tag_helpers.rb +0 -320
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_form_builder.rb +0 -998
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_form_helpers.rb +0 -645
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_format_helpers.rb +0 -227
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_number_helpers.rb +0 -136
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_output_helpers.rb +0 -133
- data/lib/middleman/vendor/padrino-helpers-0.10.0/test/test_render_helpers.rb +0 -69
- 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
|