haml 3.2.0.alpha.10 → 3.2.0.alpha.13
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of haml might be problematic. Click here for more details.
- data/.yardopts +19 -7
- data/CHANGELOG.md +1224 -0
- data/FAQ.md +157 -0
- data/README.md +99 -62
- data/REFERENCE.md +1404 -0
- data/Rakefile +52 -341
- data/init.rb +1 -18
- data/lib/haml.rb +6 -30
- data/lib/haml/buffer.rb +37 -16
- data/lib/haml/compiler.rb +52 -13
- data/lib/haml/engine.rb +61 -44
- data/lib/haml/exec.rb +21 -4
- data/lib/haml/filters.rb +136 -166
- data/lib/haml/helpers.rb +37 -10
- data/lib/haml/helpers/action_view_extensions.rb +2 -1
- data/lib/haml/helpers/action_view_mods.rb +67 -181
- data/lib/haml/helpers/rails_323_textarea_fix.rb +39 -0
- data/lib/haml/helpers/xss_mods.rb +9 -11
- data/lib/haml/html.rb +22 -9
- data/lib/haml/html/erb.rb +1 -1
- data/lib/haml/parser.rb +22 -15
- data/lib/haml/railtie.rb +2 -13
- data/lib/haml/template.rb +18 -85
- data/lib/haml/template/options.rb +1 -1
- data/lib/haml/template/plugin.rb +15 -101
- data/lib/haml/util.rb +120 -603
- data/lib/haml/version.rb +1 -107
- data/test/{haml/engine_test.rb → engine_test.rb} +137 -143
- data/test/{haml/erb → erb}/_av_partial_1.erb +1 -1
- data/test/{haml/erb → erb}/_av_partial_2.erb +1 -1
- data/test/{haml/erb → erb}/action_view.erb +1 -1
- data/test/{haml/erb → erb}/standard.erb +0 -0
- data/test/filters_test.rb +141 -0
- data/test/gemfiles/Gemfile.rails-3.0.x +4 -6
- data/test/gemfiles/Gemfile.rails-3.1.x +5 -6
- data/test/gemfiles/Gemfile.rails-3.2.x +6 -0
- data/test/haml-spec/LICENSE +14 -0
- data/test/{haml/spec → haml-spec}/README.md +26 -17
- data/test/haml-spec/lua_haml_spec.lua +38 -0
- data/test/haml-spec/perl_haml_test.pl +81 -0
- data/test/haml-spec/ruby_haml_test.rb +23 -0
- data/test/{haml/spec → haml-spec}/tests.json +132 -54
- data/test/{haml/helper_test.rb → helper_test.rb} +50 -36
- data/test/{haml/html2haml → html2haml}/erb_tests.rb +0 -0
- data/test/{haml/html2haml_test.rb → html2haml_test.rb} +11 -5
- data/test/{haml/markaby → markaby}/standard.mab +0 -0
- data/test/{haml/mocks → mocks}/article.rb +0 -0
- data/test/{haml/results → results}/content_for_layout.xhtml +0 -0
- data/test/{haml/results → results}/eval_suppressed.xhtml +0 -0
- data/test/{haml/results → results}/helpers.xhtml +0 -0
- data/test/{haml/results → results}/helpful.xhtml +0 -0
- data/test/{haml/results → results}/just_stuff.xhtml +0 -0
- data/test/{haml/results → results}/list.xhtml +0 -0
- data/test/{haml/results → results}/nuke_inner_whitespace.xhtml +0 -0
- data/test/{haml/results → results}/nuke_outer_whitespace.xhtml +0 -0
- data/test/{haml/results → results}/original_engine.xhtml +0 -0
- data/test/{haml/results → results}/partial_layout.xhtml +0 -0
- data/test/{haml/results → results}/partials.xhtml +0 -0
- data/test/{haml/results → results}/render_layout.xhtml +0 -0
- data/test/{haml/results → results}/silent_script.xhtml +1 -1
- data/test/{haml/results → results}/standard.xhtml +0 -0
- data/test/{haml/results → results}/tag_parsing.xhtml +0 -0
- data/test/{haml/results → results}/very_basic.xhtml +0 -0
- data/test/{haml/results → results}/whitespace_handling.xhtml +46 -50
- data/test/{haml/template_test.rb → template_test.rb} +20 -81
- data/test/{haml/templates → templates}/_av_partial_1.haml +1 -1
- data/test/{haml/templates → templates}/_av_partial_1_ugly.haml +1 -1
- data/test/{haml/templates → templates}/_av_partial_2.haml +1 -1
- data/test/{haml/templates → templates}/_av_partial_2_ugly.haml +1 -1
- data/test/{haml/templates → templates}/_layout.erb +0 -0
- data/test/{haml/templates → templates}/_layout_for_partial.haml +0 -0
- data/test/{haml/templates → templates}/_partial.haml +0 -0
- data/test/{haml/templates → templates}/_text_area.haml +0 -0
- data/test/{haml/templates → templates}/action_view.haml +1 -1
- data/test/{haml/templates → templates}/action_view_ugly.haml +1 -1
- data/test/{haml/templates → templates}/breakage.haml +0 -0
- data/test/{haml/templates → templates}/content_for_layout.haml +0 -0
- data/test/{haml/templates → templates}/eval_suppressed.haml +0 -0
- data/test/{haml/templates → templates}/helpers.haml +0 -0
- data/test/{haml/templates → templates}/helpful.haml +0 -0
- data/test/{haml/templates → templates}/just_stuff.haml +0 -0
- data/test/{haml/templates → templates}/list.haml +0 -0
- data/test/{haml/templates → templates}/nuke_inner_whitespace.haml +0 -0
- data/test/{haml/templates → templates}/nuke_outer_whitespace.haml +0 -0
- data/test/{haml/templates → templates}/original_engine.haml +0 -0
- data/test/templates/partial_layout.haml +3 -0
- data/test/{haml/templates → templates}/partialize.haml +0 -0
- data/test/{haml/templates → templates}/partials.haml +0 -0
- data/test/{haml/templates → templates}/render_layout.haml +0 -0
- data/test/{haml/templates → templates}/silent_script.haml +2 -2
- data/test/{haml/templates → templates}/standard.haml +0 -0
- data/test/{haml/templates → templates}/standard_ugly.haml +0 -0
- data/test/{haml/templates → templates}/tag_parsing.haml +0 -0
- data/test/{haml/templates → templates}/very_basic.haml +0 -0
- data/test/{haml/templates → templates}/whitespace_handling.haml +0 -0
- data/test/test_helper.rb +42 -34
- data/test/util_test.rb +80 -0
- metadata +259 -427
- data/CONTRIBUTING +0 -3
- data/REVISION +0 -1
- data/VERSION +0 -1
- data/VERSION_NAME +0 -1
- data/extra/update_watch.rb +0 -13
- data/lib/haml/root.rb +0 -7
- data/lib/haml/shared.rb +0 -78
- data/lib/haml/template/patch.rb +0 -58
- data/lib/sass.rb +0 -8
- data/lib/sass/plugin.rb +0 -10
- data/lib/sass/rails2_shim.rb +0 -9
- data/lib/sass/rails3_shim.rb +0 -16
- data/test/benchmark.rb +0 -91
- data/test/gemfiles/Gemfile.rails-2.0.x +0 -8
- data/test/gemfiles/Gemfile.rails-2.0.x.lock +0 -38
- data/test/gemfiles/Gemfile.rails-2.1.x +0 -8
- data/test/gemfiles/Gemfile.rails-2.1.x.lock +0 -38
- data/test/gemfiles/Gemfile.rails-2.2.x +0 -8
- data/test/gemfiles/Gemfile.rails-2.2.x.lock +0 -38
- data/test/gemfiles/Gemfile.rails-2.3.x +0 -8
- data/test/gemfiles/Gemfile.rails-2.3.x.lock +0 -40
- data/test/gemfiles/Gemfile.rails-3.0.x.lock +0 -85
- data/test/gemfiles/Gemfile.rails-3.1.x.lock +0 -98
- data/test/gemfiles/Gemfile.rails-xss-2.3.x +0 -9
- data/test/gemfiles/Gemfile.rails-xss-2.3.x.lock +0 -42
- data/test/haml/results/filters.xhtml +0 -62
- data/test/haml/spec/lua_haml_spec.lua +0 -30
- data/test/haml/spec/ruby_haml_test.rb +0 -19
- data/test/haml/spec_test.rb +0 -44
- data/test/haml/templates/filters.haml +0 -66
- data/test/haml/templates/partial_layout.haml +0 -10
- data/test/haml/util_test.rb +0 -300
- data/test/linked_rails.rb +0 -42
- data/vendor/sass/CONTRIBUTING +0 -3
- data/vendor/sass/MIT-LICENSE +0 -20
- data/vendor/sass/README.md +0 -201
- data/vendor/sass/Rakefile +0 -339
- data/vendor/sass/TODO +0 -39
- data/vendor/sass/VERSION +0 -1
- data/vendor/sass/VERSION_NAME +0 -1
- data/vendor/sass/bin/sass +0 -8
- data/vendor/sass/bin/sass-convert +0 -7
- data/vendor/sass/bin/scss +0 -8
- data/vendor/sass/doc-src/FAQ.md +0 -35
- data/vendor/sass/doc-src/INDENTED_SYNTAX.md +0 -210
- data/vendor/sass/doc-src/SASS_CHANGELOG.md +0 -2327
- data/vendor/sass/doc-src/SASS_REFERENCE.md +0 -1965
- data/vendor/sass/doc-src/SCSS_FOR_SASS_USERS.md +0 -155
- data/vendor/sass/ext/extconf.rb +0 -10
- data/vendor/sass/extra/update_watch.rb +0 -13
- data/vendor/sass/init.rb +0 -18
- data/vendor/sass/lib/sass.rb +0 -73
- data/vendor/sass/lib/sass/cache_stores.rb +0 -15
- data/vendor/sass/lib/sass/cache_stores/base.rb +0 -86
- data/vendor/sass/lib/sass/cache_stores/chain.rb +0 -33
- data/vendor/sass/lib/sass/cache_stores/filesystem.rb +0 -60
- data/vendor/sass/lib/sass/cache_stores/memory.rb +0 -47
- data/vendor/sass/lib/sass/cache_stores/null.rb +0 -25
- data/vendor/sass/lib/sass/callbacks.rb +0 -66
- data/vendor/sass/lib/sass/css.rb +0 -295
- data/vendor/sass/lib/sass/engine.rb +0 -878
- data/vendor/sass/lib/sass/environment.rb +0 -166
- data/vendor/sass/lib/sass/error.rb +0 -201
- data/vendor/sass/lib/sass/exec.rb +0 -672
- data/vendor/sass/lib/sass/importers.rb +0 -22
- data/vendor/sass/lib/sass/importers/base.rb +0 -139
- data/vendor/sass/lib/sass/importers/filesystem.rb +0 -149
- data/vendor/sass/lib/sass/less.rb +0 -382
- data/vendor/sass/lib/sass/logger.rb +0 -15
- data/vendor/sass/lib/sass/logger/base.rb +0 -32
- data/vendor/sass/lib/sass/logger/log_level.rb +0 -49
- data/vendor/sass/lib/sass/plugin.rb +0 -132
- data/vendor/sass/lib/sass/plugin/compiler.rb +0 -383
- data/vendor/sass/lib/sass/plugin/configuration.rb +0 -123
- data/vendor/sass/lib/sass/plugin/generic.rb +0 -15
- data/vendor/sass/lib/sass/plugin/merb.rb +0 -48
- data/vendor/sass/lib/sass/plugin/rack.rb +0 -60
- data/vendor/sass/lib/sass/plugin/rails.rb +0 -47
- data/vendor/sass/lib/sass/plugin/staleness_checker.rb +0 -173
- data/vendor/sass/lib/sass/railtie.rb +0 -9
- data/vendor/sass/lib/sass/repl.rb +0 -58
- data/vendor/sass/lib/sass/root.rb +0 -7
- data/vendor/sass/lib/sass/script.rb +0 -40
- data/vendor/sass/lib/sass/script/bool.rb +0 -18
- data/vendor/sass/lib/sass/script/color.rb +0 -480
- data/vendor/sass/lib/sass/script/css_lexer.rb +0 -29
- data/vendor/sass/lib/sass/script/css_parser.rb +0 -31
- data/vendor/sass/lib/sass/script/funcall.rb +0 -175
- data/vendor/sass/lib/sass/script/functions.rb +0 -1386
- data/vendor/sass/lib/sass/script/interpolation.rb +0 -79
- data/vendor/sass/lib/sass/script/lexer.rb +0 -339
- data/vendor/sass/lib/sass/script/list.rb +0 -83
- data/vendor/sass/lib/sass/script/literal.rb +0 -250
- data/vendor/sass/lib/sass/script/node.rb +0 -99
- data/vendor/sass/lib/sass/script/number.rb +0 -452
- data/vendor/sass/lib/sass/script/operation.rb +0 -99
- data/vendor/sass/lib/sass/script/parser.rb +0 -474
- data/vendor/sass/lib/sass/script/string.rb +0 -51
- data/vendor/sass/lib/sass/script/string_interpolation.rb +0 -103
- data/vendor/sass/lib/sass/script/unary_operation.rb +0 -64
- data/vendor/sass/lib/sass/script/variable.rb +0 -59
- data/vendor/sass/lib/sass/scss.rb +0 -17
- data/vendor/sass/lib/sass/scss/css_parser.rb +0 -46
- data/vendor/sass/lib/sass/scss/parser.rb +0 -960
- data/vendor/sass/lib/sass/scss/rx.rb +0 -128
- data/vendor/sass/lib/sass/scss/sass_parser.rb +0 -11
- data/vendor/sass/lib/sass/scss/script_lexer.rb +0 -15
- data/vendor/sass/lib/sass/scss/script_parser.rb +0 -25
- data/vendor/sass/lib/sass/scss/static_parser.rb +0 -40
- data/vendor/sass/lib/sass/selector.rb +0 -361
- data/vendor/sass/lib/sass/selector/abstract_sequence.rb +0 -62
- data/vendor/sass/lib/sass/selector/comma_sequence.rb +0 -81
- data/vendor/sass/lib/sass/selector/sequence.rb +0 -233
- data/vendor/sass/lib/sass/selector/simple.rb +0 -113
- data/vendor/sass/lib/sass/selector/simple_sequence.rb +0 -134
- data/vendor/sass/lib/sass/shared.rb +0 -78
- data/vendor/sass/lib/sass/tree/charset_node.rb +0 -22
- data/vendor/sass/lib/sass/tree/comment_node.rb +0 -90
- data/vendor/sass/lib/sass/tree/debug_node.rb +0 -18
- data/vendor/sass/lib/sass/tree/directive_node.rb +0 -23
- data/vendor/sass/lib/sass/tree/each_node.rb +0 -24
- data/vendor/sass/lib/sass/tree/extend_node.rb +0 -29
- data/vendor/sass/lib/sass/tree/for_node.rb +0 -36
- data/vendor/sass/lib/sass/tree/function_node.rb +0 -27
- data/vendor/sass/lib/sass/tree/if_node.rb +0 -52
- data/vendor/sass/lib/sass/tree/import_node.rb +0 -68
- data/vendor/sass/lib/sass/tree/media_node.rb +0 -32
- data/vendor/sass/lib/sass/tree/mixin_def_node.rb +0 -27
- data/vendor/sass/lib/sass/tree/mixin_node.rb +0 -32
- data/vendor/sass/lib/sass/tree/node.rb +0 -201
- data/vendor/sass/lib/sass/tree/prop_node.rb +0 -148
- data/vendor/sass/lib/sass/tree/return_node.rb +0 -18
- data/vendor/sass/lib/sass/tree/root_node.rb +0 -28
- data/vendor/sass/lib/sass/tree/rule_node.rb +0 -136
- data/vendor/sass/lib/sass/tree/variable_node.rb +0 -30
- data/vendor/sass/lib/sass/tree/visitors/base.rb +0 -75
- data/vendor/sass/lib/sass/tree/visitors/check_nesting.rb +0 -133
- data/vendor/sass/lib/sass/tree/visitors/convert.rb +0 -260
- data/vendor/sass/lib/sass/tree/visitors/cssize.rb +0 -175
- data/vendor/sass/lib/sass/tree/visitors/deep_copy.rb +0 -87
- data/vendor/sass/lib/sass/tree/visitors/perform.rb +0 -332
- data/vendor/sass/lib/sass/tree/visitors/set_options.rb +0 -97
- data/vendor/sass/lib/sass/tree/visitors/to_css.rb +0 -210
- data/vendor/sass/lib/sass/tree/warn_node.rb +0 -18
- data/vendor/sass/lib/sass/tree/while_node.rb +0 -18
- data/vendor/sass/lib/sass/util.rb +0 -721
- data/vendor/sass/lib/sass/util/subset_map.rb +0 -101
- data/vendor/sass/lib/sass/version.rb +0 -112
- data/vendor/sass/rails/init.rb +0 -1
- data/vendor/sass/sass.gemspec +0 -33
- data/vendor/sass/test/Gemfile +0 -4
- data/vendor/sass/test/Gemfile.lock +0 -19
- data/vendor/sass/test/sass/cache_test.rb +0 -89
- data/vendor/sass/test/sass/callbacks_test.rb +0 -61
- data/vendor/sass/test/sass/conversion_test.rb +0 -1199
- data/vendor/sass/test/sass/css2sass_test.rb +0 -373
- data/vendor/sass/test/sass/data/hsl-rgb.txt +0 -319
- data/vendor/sass/test/sass/engine_test.rb +0 -2567
- data/vendor/sass/test/sass/extend_test.rb +0 -1348
- data/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.css +0 -1
- data/vendor/sass/test/sass/fixtures/test_staleness_check_across_importers.scss +0 -1
- data/vendor/sass/test/sass/functions_test.rb +0 -1038
- data/vendor/sass/test/sass/importer_test.rb +0 -192
- data/vendor/sass/test/sass/less_conversion_test.rb +0 -653
- data/vendor/sass/test/sass/logger_test.rb +0 -58
- data/vendor/sass/test/sass/mock_importer.rb +0 -49
- data/vendor/sass/test/sass/more_results/more1.css +0 -9
- data/vendor/sass/test/sass/more_results/more1_with_line_comments.css +0 -26
- data/vendor/sass/test/sass/more_results/more_import.css +0 -29
- data/vendor/sass/test/sass/more_templates/_more_partial.sass +0 -2
- data/vendor/sass/test/sass/more_templates/more1.sass +0 -23
- data/vendor/sass/test/sass/more_templates/more_import.sass +0 -11
- data/vendor/sass/test/sass/plugin_test.rb +0 -472
- data/vendor/sass/test/sass/results/alt.css +0 -4
- data/vendor/sass/test/sass/results/basic.css +0 -9
- data/vendor/sass/test/sass/results/compact.css +0 -5
- data/vendor/sass/test/sass/results/complex.css +0 -86
- data/vendor/sass/test/sass/results/compressed.css +0 -1
- data/vendor/sass/test/sass/results/expanded.css +0 -19
- data/vendor/sass/test/sass/results/if.css +0 -3
- data/vendor/sass/test/sass/results/import.css +0 -31
- data/vendor/sass/test/sass/results/import_charset.css +0 -4
- data/vendor/sass/test/sass/results/import_charset_1_8.css +0 -4
- data/vendor/sass/test/sass/results/import_charset_ibm866.css +0 -4
- data/vendor/sass/test/sass/results/line_numbers.css +0 -49
- data/vendor/sass/test/sass/results/mixins.css +0 -95
- data/vendor/sass/test/sass/results/multiline.css +0 -24
- data/vendor/sass/test/sass/results/nested.css +0 -22
- data/vendor/sass/test/sass/results/options.css +0 -1
- data/vendor/sass/test/sass/results/parent_ref.css +0 -13
- data/vendor/sass/test/sass/results/script.css +0 -16
- data/vendor/sass/test/sass/results/scss_import.css +0 -31
- data/vendor/sass/test/sass/results/scss_importee.css +0 -2
- data/vendor/sass/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
- data/vendor/sass/test/sass/results/subdir/subdir.css +0 -3
- data/vendor/sass/test/sass/results/units.css +0 -11
- data/vendor/sass/test/sass/results/warn.css +0 -0
- data/vendor/sass/test/sass/results/warn_imported.css +0 -0
- data/vendor/sass/test/sass/script_conversion_test.rb +0 -285
- data/vendor/sass/test/sass/script_test.rb +0 -514
- data/vendor/sass/test/sass/scss/css_test.rb +0 -922
- data/vendor/sass/test/sass/scss/rx_test.rb +0 -156
- data/vendor/sass/test/sass/scss/scss_test.rb +0 -1273
- data/vendor/sass/test/sass/scss/test_helper.rb +0 -37
- data/vendor/sass/test/sass/templates/_imported_charset_ibm866.sass +0 -4
- data/vendor/sass/test/sass/templates/_imported_charset_utf8.sass +0 -4
- data/vendor/sass/test/sass/templates/_partial.sass +0 -2
- data/vendor/sass/test/sass/templates/alt.sass +0 -16
- data/vendor/sass/test/sass/templates/basic.sass +0 -23
- data/vendor/sass/test/sass/templates/bork1.sass +0 -2
- data/vendor/sass/test/sass/templates/bork2.sass +0 -2
- data/vendor/sass/test/sass/templates/bork3.sass +0 -2
- data/vendor/sass/test/sass/templates/bork4.sass +0 -2
- data/vendor/sass/test/sass/templates/bork5.sass +0 -3
- data/vendor/sass/test/sass/templates/compact.sass +0 -17
- data/vendor/sass/test/sass/templates/complex.sass +0 -305
- data/vendor/sass/test/sass/templates/compressed.sass +0 -15
- data/vendor/sass/test/sass/templates/expanded.sass +0 -17
- data/vendor/sass/test/sass/templates/if.sass +0 -11
- data/vendor/sass/test/sass/templates/import.sass +0 -12
- data/vendor/sass/test/sass/templates/import_charset.sass +0 -7
- data/vendor/sass/test/sass/templates/import_charset_1_8.sass +0 -4
- data/vendor/sass/test/sass/templates/import_charset_ibm866.sass +0 -9
- data/vendor/sass/test/sass/templates/importee.less +0 -2
- data/vendor/sass/test/sass/templates/importee.sass +0 -19
- data/vendor/sass/test/sass/templates/line_numbers.sass +0 -13
- data/vendor/sass/test/sass/templates/mixin_bork.sass +0 -5
- data/vendor/sass/test/sass/templates/mixins.sass +0 -76
- data/vendor/sass/test/sass/templates/multiline.sass +0 -20
- data/vendor/sass/test/sass/templates/nested.sass +0 -25
- data/vendor/sass/test/sass/templates/nested_bork1.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_bork2.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_bork3.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_bork4.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_bork5.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_import.sass +0 -2
- data/vendor/sass/test/sass/templates/nested_mixin_bork.sass +0 -6
- data/vendor/sass/test/sass/templates/options.sass +0 -2
- data/vendor/sass/test/sass/templates/parent_ref.sass +0 -25
- data/vendor/sass/test/sass/templates/script.sass +0 -101
- data/vendor/sass/test/sass/templates/scss_import.scss +0 -11
- data/vendor/sass/test/sass/templates/scss_importee.scss +0 -1
- data/vendor/sass/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
- data/vendor/sass/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
- data/vendor/sass/test/sass/templates/subdir/subdir.sass +0 -6
- data/vendor/sass/test/sass/templates/units.sass +0 -11
- data/vendor/sass/test/sass/templates/warn.sass +0 -3
- data/vendor/sass/test/sass/templates/warn_imported.sass +0 -4
- data/vendor/sass/test/sass/test_helper.rb +0 -8
- data/vendor/sass/test/sass/util/subset_map_test.rb +0 -91
- data/vendor/sass/test/sass/util_test.rb +0 -266
- data/vendor/sass/test/test_helper.rb +0 -69
- data/vendor/sass/vendor/fssm/Gemfile +0 -3
- data/vendor/sass/vendor/fssm/LICENSE +0 -20
- data/vendor/sass/vendor/fssm/README.markdown +0 -83
- data/vendor/sass/vendor/fssm/Rakefile +0 -11
- data/vendor/sass/vendor/fssm/example.rb +0 -12
- data/vendor/sass/vendor/fssm/fssm.gemspec +0 -24
- data/vendor/sass/vendor/fssm/lib/fssm.rb +0 -37
- data/vendor/sass/vendor/fssm/lib/fssm/backends/fsevents.rb +0 -36
- data/vendor/sass/vendor/fssm/lib/fssm/backends/inotify.rb +0 -26
- data/vendor/sass/vendor/fssm/lib/fssm/backends/polling.rb +0 -25
- data/vendor/sass/vendor/fssm/lib/fssm/backends/rbfsevent.rb +0 -42
- data/vendor/sass/vendor/fssm/lib/fssm/backends/rubycocoa/fsevents.rb +0 -131
- data/vendor/sass/vendor/fssm/lib/fssm/monitor.rb +0 -36
- data/vendor/sass/vendor/fssm/lib/fssm/path.rb +0 -94
- data/vendor/sass/vendor/fssm/lib/fssm/pathname.rb +0 -36
- data/vendor/sass/vendor/fssm/lib/fssm/state/directory.rb +0 -75
- data/vendor/sass/vendor/fssm/lib/fssm/state/file.rb +0 -24
- data/vendor/sass/vendor/fssm/lib/fssm/support.rb +0 -92
- data/vendor/sass/vendor/fssm/lib/fssm/tree.rb +0 -176
- data/vendor/sass/vendor/fssm/lib/fssm/version.rb +0 -3
- data/vendor/sass/vendor/fssm/profile/prof-cache.rb +0 -40
- data/vendor/sass/vendor/fssm/profile/prof-fssm-pathname.html +0 -1231
- data/vendor/sass/vendor/fssm/profile/prof-pathname-rubinius.rb +0 -35
- data/vendor/sass/vendor/fssm/profile/prof-pathname.rb +0 -68
- data/vendor/sass/vendor/fssm/profile/prof-plain-pathname.html +0 -988
- data/vendor/sass/vendor/fssm/profile/prof.html +0 -2379
- data/vendor/sass/vendor/fssm/spec/count_down_latch.rb +0 -151
- data/vendor/sass/vendor/fssm/spec/monitor_spec.rb +0 -202
- data/vendor/sass/vendor/fssm/spec/path_spec.rb +0 -96
- data/vendor/sass/vendor/fssm/spec/root/duck/quack.txt +0 -0
- data/vendor/sass/vendor/fssm/spec/root/file.css +0 -0
- data/vendor/sass/vendor/fssm/spec/root/file.rb +0 -0
- data/vendor/sass/vendor/fssm/spec/root/file.yml +0 -0
- data/vendor/sass/vendor/fssm/spec/root/moo/cow.txt +0 -0
- data/vendor/sass/vendor/fssm/spec/spec_helper.rb +0 -14
- data/vendor/sass/yard/callbacks.rb +0 -29
- data/vendor/sass/yard/default/fulldoc/html/css/common.sass +0 -26
- data/vendor/sass/yard/default/layout/html/footer.erb +0 -12
- data/vendor/sass/yard/inherited_hash.rb +0 -41
data/init.rb
CHANGED
@@ -1,18 +1 @@
|
|
1
|
-
|
2
|
-
require File.join(File.dirname(__FILE__), 'lib', 'haml') # From here
|
3
|
-
rescue LoadError
|
4
|
-
begin
|
5
|
-
require 'haml' # From gem
|
6
|
-
rescue LoadError => e
|
7
|
-
# gems:install may be run to install Haml with the skeleton plugin
|
8
|
-
# but not the gem itself installed.
|
9
|
-
# Don't die if this is the case.
|
10
|
-
raise e unless defined?(Rake) &&
|
11
|
-
(Rake.application.top_level_tasks.include?('gems') ||
|
12
|
-
Rake.application.top_level_tasks.include?('gems:install'))
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
# Load Haml.
|
17
|
-
# Haml may be undefined if we're running gems:install.
|
18
|
-
Haml.init_rails(binding) if defined?(Haml)
|
1
|
+
require "haml"
|
data/lib/haml.rb
CHANGED
@@ -1,6 +1,3 @@
|
|
1
|
-
dir = File.dirname(__FILE__)
|
2
|
-
$LOAD_PATH.unshift dir unless $LOAD_PATH.include?(dir)
|
3
|
-
|
4
1
|
require 'haml/version'
|
5
2
|
|
6
3
|
# The module that contains everything Haml-related:
|
@@ -11,37 +8,16 @@ require 'haml/version'
|
|
11
8
|
# * {Haml::Error} is raised when Haml encounters an error.
|
12
9
|
# * {Haml::HTML} handles conversion of HTML to Haml.
|
13
10
|
#
|
14
|
-
# Also see the {file:
|
11
|
+
# Also see the {file:REFERENCE.md full Haml reference}.
|
15
12
|
module Haml
|
16
|
-
# Initializes Haml for Rails.
|
17
|
-
#
|
18
|
-
# This method is called by `init.rb`,
|
19
|
-
# which is run by Rails on startup.
|
20
|
-
# We use it rather than putting stuff straight into `init.rb`
|
21
|
-
# so we can change the initialization behavior
|
22
|
-
# without modifying the file itself.
|
23
|
-
#
|
24
|
-
# @param binding [Binding] The context of the `init.rb` file.
|
25
|
-
# This isn't actually used;
|
26
|
-
# it's just passed in in case it needs to be used in the future
|
27
|
-
def self.init_rails(binding)
|
28
|
-
# 2.2 <= Rails < 3
|
29
|
-
if defined?(Rails) && Rails.respond_to?(:configuration) &&
|
30
|
-
Rails.configuration.respond_to?(:after_initialize) &&
|
31
|
-
!Haml::Util.ap_geq_3?
|
32
|
-
Rails.configuration.after_initialize do
|
33
|
-
next if defined?(Sass)
|
34
|
-
autoload(:Sass, 'sass/rails2_shim')
|
35
|
-
# resolve autoload if it looks like they're using Sass without options
|
36
|
-
Sass if File.exist?(File.join(RAILS_ROOT, 'public/stylesheets/sass'))
|
37
|
-
end
|
38
|
-
end
|
39
13
|
|
40
|
-
|
41
|
-
|
14
|
+
def self.init_rails(*args)
|
15
|
+
# Maintain this as a no-op for any libraries that may be depending on the
|
16
|
+
# previous definition here.
|
42
17
|
end
|
18
|
+
|
43
19
|
end
|
44
20
|
|
45
21
|
require 'haml/util'
|
46
22
|
require 'haml/engine'
|
47
|
-
require 'haml/railtie'
|
23
|
+
require 'haml/railtie' if defined?(Rails)
|
data/lib/haml/buffer.rb
CHANGED
@@ -88,15 +88,17 @@ module Haml
|
|
88
88
|
# @param options [{Symbol => Object}] An options hash.
|
89
89
|
# See {Haml::Engine#options\_for\_buffer}
|
90
90
|
def initialize(upper = nil, options = {})
|
91
|
-
@active
|
92
|
-
@upper
|
93
|
-
@options
|
94
|
-
@buffer
|
91
|
+
@active = true
|
92
|
+
@upper = upper
|
93
|
+
@options = options
|
94
|
+
@buffer = new_encoded_string
|
95
95
|
@tabulation = 0
|
96
96
|
|
97
97
|
# The number of tabs that Engine thinks we should have
|
98
98
|
# @real_tabs + @tabulation is the number of tabs actually output
|
99
99
|
@real_tabs = 0
|
100
|
+
|
101
|
+
@preserve_pattern = /<[\s]*#{@options[:preserve].join("|")}/i
|
100
102
|
end
|
101
103
|
|
102
104
|
# Appends text to the buffer, properly tabulated.
|
@@ -141,7 +143,9 @@ module Haml
|
|
141
143
|
@tabulation = 0
|
142
144
|
<% end %>
|
143
145
|
|
146
|
+
<% if !(in_tag && preserve_tag && !nuke_inner_whitespace) %>
|
144
147
|
tabulation = @real_tabs
|
148
|
+
<% end %>
|
145
149
|
result = <%= result_name %>.<% if nuke_inner_whitespace %>strip<% else %>rstrip<% end %>
|
146
150
|
<% else %>
|
147
151
|
result = <%= result_name %><% if nuke_inner_whitespace %>.strip<% end %>
|
@@ -157,7 +161,12 @@ module Haml
|
|
157
161
|
return result
|
158
162
|
<% else %>
|
159
163
|
|
160
|
-
|
164
|
+
return result if self.instance_variable_get(:@preserve_pattern).match(result)
|
165
|
+
|
166
|
+
<% if !(in_tag && preserve_tag && !nuke_inner_whitespace) %>
|
167
|
+
has_newline = result.include?("\\n")
|
168
|
+
<% end %>
|
169
|
+
|
161
170
|
<% if in_tag && !nuke_inner_whitespace %>
|
162
171
|
<% unless preserve_tag %> if !has_newline <% end %>
|
163
172
|
@real_tabs -= 1
|
@@ -166,6 +175,7 @@ module Haml
|
|
166
175
|
<% unless preserve_tag %> end <% end %>
|
167
176
|
<% end %>
|
168
177
|
|
178
|
+
<% if !(in_tag && preserve_tag && !nuke_inner_whitespace) %>
|
169
179
|
# Precompiled tabulation may be wrong
|
170
180
|
<% if !interpolated && !in_tag %>
|
171
181
|
result = tabs + result if @tabulation > 0
|
@@ -184,17 +194,18 @@ module Haml
|
|
184
194
|
<% end %>
|
185
195
|
<% if interpolated %> @tabulation = old_tabulation <% end %>
|
186
196
|
result
|
197
|
+
<% end %>
|
187
198
|
<% end %>
|
188
199
|
RUBY
|
189
200
|
|
190
201
|
def attributes(class_id, obj_ref, *attributes_hashes)
|
191
202
|
attributes = class_id
|
192
203
|
attributes_hashes.each do |old|
|
193
|
-
self.class.merge_attrs(attributes,
|
204
|
+
self.class.merge_attrs(attributes, Hash[old.map {|k, v| [k.to_s, v]}])
|
194
205
|
end
|
195
206
|
self.class.merge_attrs(attributes, parse_object_ref(obj_ref)) if obj_ref
|
196
207
|
Compiler.build_attributes(
|
197
|
-
html?, @options[:attr_wrapper], @options[:escape_attrs], attributes)
|
208
|
+
html?, @options[:attr_wrapper], @options[:escape_attrs], @options[:hyphenate_data_attrs], attributes)
|
198
209
|
end
|
199
210
|
|
200
211
|
# Remove the whitespace from the right side of the buffer string.
|
@@ -237,21 +248,31 @@ RUBY
|
|
237
248
|
from['class'] ||= to['class']
|
238
249
|
end
|
239
250
|
|
240
|
-
from_data = from
|
241
|
-
to_data = to
|
242
|
-
if from_data && to_data
|
243
|
-
to['data'] = to['data'].merge(from['data'])
|
244
|
-
elsif to_data
|
245
|
-
to = Haml::Util.map_keys(to.delete('data')) {|name| "data-#{name}"}.merge(to)
|
246
|
-
elsif from_data
|
247
|
-
from = Haml::Util.map_keys(from.delete('data')) {|name| "data-#{name}"}.merge(from)
|
248
|
-
end
|
251
|
+
from_data = from.delete('data') || {}
|
252
|
+
to_data = to.delete('data') || {}
|
249
253
|
|
254
|
+
# forces to_data & from_data into a hash
|
255
|
+
from_data = { nil => from_data } unless from_data.is_a?(Hash)
|
256
|
+
to_data = { nil => to_data } unless to_data.is_a?(Hash)
|
257
|
+
|
258
|
+
merged_data = to_data.merge(from_data)
|
259
|
+
|
260
|
+
to['data'] = merged_data unless merged_data.empty?
|
250
261
|
to.merge!(from)
|
251
262
|
end
|
252
263
|
|
253
264
|
private
|
254
265
|
|
266
|
+
if RUBY_VERSION < "1.9"
|
267
|
+
def new_encoded_string
|
268
|
+
""
|
269
|
+
end
|
270
|
+
else
|
271
|
+
def new_encoded_string
|
272
|
+
"".encode(Encoding.find(options[:encoding]))
|
273
|
+
end
|
274
|
+
end
|
275
|
+
|
255
276
|
@@tab_cache = {}
|
256
277
|
# Gets `count` tabs. Mostly for internal use.
|
257
278
|
def tabs(count = 0)
|
data/lib/haml/compiler.rb
CHANGED
@@ -11,9 +11,8 @@ module Haml
|
|
11
11
|
preamble = <<END.gsub("\n", ";")
|
12
12
|
begin
|
13
13
|
extend Haml::Helpers
|
14
|
-
_hamlout = @haml_buffer = Haml::Buffer.new(
|
14
|
+
_hamlout = @haml_buffer = Haml::Buffer.new(haml_buffer, #{options_for_buffer.inspect})
|
15
15
|
_erbout = _hamlout.buffer
|
16
|
-
__in_erb_template = true
|
17
16
|
END
|
18
17
|
postamble = <<END.gsub("\n", ";")
|
19
18
|
#{precompiled_method_return_value}
|
@@ -53,17 +52,28 @@ END
|
|
53
52
|
push_text @node.value[:text]
|
54
53
|
end
|
55
54
|
|
55
|
+
def nuke_inner_whitespace?(node)
|
56
|
+
if node.value && node.value[:nuke_inner_whitespace]
|
57
|
+
true
|
58
|
+
elsif node.parent
|
59
|
+
nuke_inner_whitespace?(node.parent)
|
60
|
+
else
|
61
|
+
false
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
56
65
|
def compile_script(&block)
|
57
66
|
push_script(@node.value[:text],
|
58
|
-
|
59
|
-
|
67
|
+
:preserve_script => @node.value[:preserve],
|
68
|
+
:escape_html => @node.value[:escape_html],
|
69
|
+
:nuke_inner_whitespace => nuke_inner_whitespace?(@node),
|
70
|
+
&block)
|
60
71
|
end
|
61
72
|
|
62
73
|
def compile_silent_script
|
63
74
|
return if @options[:suppress_eval]
|
64
75
|
push_silent(@node.value[:text])
|
65
76
|
keyword = @node.value[:keyword]
|
66
|
-
ruby_block = block_given? && !keyword
|
67
77
|
|
68
78
|
if block_given?
|
69
79
|
# Store these values because for conditional statements,
|
@@ -345,14 +355,18 @@ END
|
|
345
355
|
end
|
346
356
|
|
347
357
|
# This is a class method so it can be accessed from Buffer.
|
348
|
-
def self.build_attributes(is_html, attr_wrapper, escape_attrs, attributes = {})
|
349
|
-
|
358
|
+
def self.build_attributes(is_html, attr_wrapper, escape_attrs, hyphenate_data_attrs, attributes = {})
|
359
|
+
# @TODO this is an absolutely ridiculous amount of arguments. At least
|
360
|
+
# some of this needs to be moved into an instance method.
|
361
|
+
quote_escape = attr_wrapper == '"' ? """ : "'"
|
350
362
|
other_quote_char = attr_wrapper == '"' ? "'" : '"'
|
363
|
+
join_char = hyphenate_data_attrs ? '-' : '_'
|
351
364
|
|
352
365
|
if attributes['data'].is_a?(Hash)
|
353
|
-
|
354
|
-
|
355
|
-
|
366
|
+
data_attributes = attributes.delete('data')
|
367
|
+
data_attributes = flatten_data_attributes(data_attributes, '', join_char)
|
368
|
+
data_attributes = build_data_keys(data_attributes, hyphenate_data_attrs)
|
369
|
+
attributes = data_attributes.merge(attributes)
|
356
370
|
end
|
357
371
|
|
358
372
|
result = attributes.collect do |attr, value|
|
@@ -379,7 +393,7 @@ END
|
|
379
393
|
value = Haml::Helpers.preserve(escaped)
|
380
394
|
if escape_attrs
|
381
395
|
# We want to decide whether or not to escape quotes
|
382
|
-
value = value.gsub('"', '"')
|
396
|
+
value = value.gsub('"', '"').gsub('"', '"')
|
383
397
|
this_attr_wrapper = attr_wrapper
|
384
398
|
if value.include? attr_wrapper
|
385
399
|
if value.include? other_quote_char
|
@@ -403,9 +417,33 @@ END
|
|
403
417
|
return !value.empty? && value
|
404
418
|
end
|
405
419
|
|
420
|
+
def self.build_data_keys(data_hash, hyphenate)
|
421
|
+
Hash[data_hash.map do |name, value|
|
422
|
+
if name == nil
|
423
|
+
["data", value]
|
424
|
+
elsif hyphenate
|
425
|
+
["data-#{name.to_s.gsub(/_/, '-')}", value]
|
426
|
+
else
|
427
|
+
["data-#{name}", value]
|
428
|
+
end
|
429
|
+
end]
|
430
|
+
end
|
431
|
+
|
432
|
+
def self.flatten_data_attributes(data, key, join_char, seen = [])
|
433
|
+
return {key => nil} if seen.include? data.object_id
|
434
|
+
seen << data.object_id
|
435
|
+
|
436
|
+
return {key => data} unless data.is_a?(Hash)
|
437
|
+
data.sort {|x, y| x[0].to_s <=> y[0].to_s}.inject({}) do |hash, array|
|
438
|
+
k, v = array
|
439
|
+
joined = key == '' ? k : [key, k].join(join_char)
|
440
|
+
hash.merge! flatten_data_attributes(v, joined, join_char, seen)
|
441
|
+
end
|
442
|
+
end
|
443
|
+
|
406
444
|
def prerender_tag(name, self_close, attributes)
|
407
445
|
attributes_string = Compiler.build_attributes(
|
408
|
-
html?, @options[:attr_wrapper], @options[:escape_attrs], attributes)
|
446
|
+
html?, @options[:attr_wrapper], @options[:escape_attrs], @options[:hyphenate_data_attrs], attributes)
|
409
447
|
"<#{name}#{attributes_string}#{self_close && xhtml? ? ' /' : ''}>"
|
410
448
|
end
|
411
449
|
|
@@ -442,7 +480,8 @@ END
|
|
442
480
|
end
|
443
481
|
|
444
482
|
def compile(node)
|
445
|
-
parent
|
483
|
+
parent = instance_variable_defined?('@node') ? @node : nil
|
484
|
+
@node = node
|
446
485
|
if node.children.empty?
|
447
486
|
send(:"compile_#{node.type}")
|
448
487
|
else
|
data/lib/haml/engine.rb
CHANGED
@@ -20,7 +20,7 @@ module Haml
|
|
20
20
|
include Compiler
|
21
21
|
|
22
22
|
# The options hash.
|
23
|
-
# See {file:
|
23
|
+
# See {file:REFERENCE.md#options the Haml options documentation}.
|
24
24
|
#
|
25
25
|
# @return [{Symbol => Object}]
|
26
26
|
attr_accessor :options
|
@@ -52,63 +52,64 @@ module Haml
|
|
52
52
|
@options[:format] == :html5
|
53
53
|
end
|
54
54
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
55
|
+
if RUBY_VERSION < "1.9"
|
56
|
+
# The source code that is evaluated to produce the Haml document.
|
57
|
+
#
|
58
|
+
# In Ruby 1.9, this is automatically converted to the correct encoding
|
59
|
+
# (see {file:REFERENCE.md#encodings the `:encoding` option}).
|
60
|
+
#
|
61
|
+
# @return [String]
|
62
|
+
def precompiled
|
63
|
+
@precompiled
|
64
|
+
end
|
65
|
+
else
|
66
|
+
def precompiled
|
67
|
+
encoding = Encoding.find(@options[:encoding])
|
68
|
+
return @precompiled.force_encoding(encoding) if encoding == Encoding::BINARY
|
69
|
+
return @precompiled.encode(encoding)
|
70
|
+
end
|
66
71
|
end
|
67
72
|
|
68
73
|
# Precompiles the Haml template.
|
69
74
|
#
|
70
75
|
# @param template [String] The Haml template
|
71
76
|
# @param options [{Symbol => Object}] An options hash;
|
72
|
-
# see {file:
|
77
|
+
# see {file:REFERENCE.md#options the Haml options documentation}
|
73
78
|
# @raise [Haml::Error] if there's a Haml syntax error in the template
|
74
79
|
def initialize(template, options = {})
|
75
80
|
@options = {
|
76
|
-
:suppress_eval
|
77
|
-
:attr_wrapper
|
78
|
-
|
79
|
-
# Don't forget to update the docs in doc-src/HAML_REFERENCE.md
|
81
|
+
:suppress_eval => false,
|
82
|
+
:attr_wrapper => "'",
|
83
|
+
# Don't forget to update the docs in doc-src/REFERENCE.md
|
80
84
|
# if you update these
|
81
|
-
:autoclose
|
82
|
-
:preserve
|
83
|
-
|
84
|
-
:
|
85
|
-
:
|
86
|
-
:
|
87
|
-
:
|
88
|
-
:
|
89
|
-
:
|
85
|
+
:autoclose => %w[meta img link br hr input area param col base],
|
86
|
+
:preserve => %w[textarea pre code],
|
87
|
+
:filename => '(haml)',
|
88
|
+
:line => 1,
|
89
|
+
:ugly => false,
|
90
|
+
:format => :xhtml,
|
91
|
+
:escape_html => false,
|
92
|
+
:escape_attrs => true,
|
93
|
+
:hyphenate_data_attrs => true,
|
90
94
|
}
|
91
95
|
|
96
|
+
@index = nil # explicitily initialize to avoid warnings
|
92
97
|
|
93
98
|
template = check_haml_encoding(template) do |msg, line|
|
94
99
|
raise Haml::Error.new(msg, line)
|
95
100
|
end
|
96
101
|
|
97
|
-
|
98
|
-
|
99
|
-
@options[:encoding] = "utf-8" if @options[:encoding].name == "US-ASCII"
|
100
|
-
end
|
102
|
+
set_up_encoding(options, template)
|
103
|
+
|
101
104
|
@options.merge! options.reject {|k, v| v.nil?}
|
102
105
|
@index = 0
|
103
106
|
|
107
|
+
@options[:format] = :xhtml if @options[:mime_type] == 'text/xml'
|
108
|
+
|
104
109
|
unless [:xhtml, :html4, :html5].include?(@options[:format])
|
105
110
|
raise Haml::Error, "Invalid output format #{@options[:format].inspect}"
|
106
111
|
end
|
107
112
|
|
108
|
-
if @options[:encoding] && @options[:encoding].is_a?(Encoding)
|
109
|
-
@options[:encoding] = @options[:encoding].name
|
110
|
-
end
|
111
|
-
|
112
113
|
# :eod is a special end-of-document marker
|
113
114
|
@template = (template.rstrip).split(/\r\n|\r|\n/) + [:eod, :eod]
|
114
115
|
@template_index = 0
|
@@ -171,7 +172,8 @@ module Haml
|
|
171
172
|
# @param block [#to_proc] A block that can be yielded to within the template
|
172
173
|
# @return [String] The rendered template
|
173
174
|
def render(scope = Object.new, locals = {}, &block)
|
174
|
-
|
175
|
+
parent = scope.instance_variable_defined?('@haml_buffer') ? scope.instance_variable_get('@haml_buffer') : nil
|
176
|
+
buffer = Haml::Buffer.new(parent, options_for_buffer)
|
175
177
|
|
176
178
|
if scope.is_a?(Binding) || scope.is_a?(Proc)
|
177
179
|
scope_object = eval("self", scope)
|
@@ -285,24 +287,39 @@ module Haml
|
|
285
287
|
# All of the values here are such that when `#inspect` is called on the hash,
|
286
288
|
# it can be `Kernel#eval`ed to get the same result back.
|
287
289
|
#
|
288
|
-
# See {file:
|
290
|
+
# See {file:REFERENCE.md#options the Haml options documentation}.
|
289
291
|
#
|
290
292
|
# @return [{Symbol => Object}] The options hash
|
291
293
|
def options_for_buffer
|
292
294
|
{
|
293
|
-
:autoclose
|
294
|
-
:preserve
|
295
|
-
:attr_wrapper
|
296
|
-
:ugly
|
297
|
-
:format
|
298
|
-
:encoding
|
299
|
-
:escape_html
|
300
|
-
:escape_attrs
|
295
|
+
:autoclose => @options[:autoclose],
|
296
|
+
:preserve => @options[:preserve],
|
297
|
+
:attr_wrapper => @options[:attr_wrapper],
|
298
|
+
:ugly => @options[:ugly],
|
299
|
+
:format => @options[:format],
|
300
|
+
:encoding => @options[:encoding],
|
301
|
+
:escape_html => @options[:escape_html],
|
302
|
+
:escape_attrs => @options[:escape_attrs],
|
303
|
+
:hyphenate_data_attrs => @options[:hyphenate_data_attrs],
|
301
304
|
}
|
302
305
|
end
|
303
306
|
|
304
307
|
private
|
305
308
|
|
309
|
+
if RUBY_VERSION < "1.9"
|
310
|
+
def set_up_encoding(options, template)
|
311
|
+
options
|
312
|
+
end
|
313
|
+
else
|
314
|
+
def set_up_encoding(options, template)
|
315
|
+
@options.tap do |ops|
|
316
|
+
ops[:encoding] = Encoding.default_internal || template.encoding
|
317
|
+
ops[:encoding] = "utf-8" if ops[:encoding].name == "US-ASCII"
|
318
|
+
ops[:encoding] = ops[:encoding].name if ops[:encoding].is_a?(Encoding)
|
319
|
+
end
|
320
|
+
end
|
321
|
+
end
|
322
|
+
|
306
323
|
def set_locals(locals, scope, scope_object)
|
307
324
|
scope_object.send(:instance_variable_set, '@_haml_locals', locals)
|
308
325
|
set_locals = locals.keys.map { |k| "#{k} = @_haml_locals[#{k.inspect}]" }.join("\n")
|