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/lib/haml/exec.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'optparse'
|
2
2
|
require 'fileutils'
|
3
|
+
require 'rbconfig'
|
3
4
|
|
4
5
|
module Haml
|
5
6
|
# This module handles the various Haml executables (`haml` and `haml-convert`).
|
@@ -80,7 +81,11 @@ module Haml
|
|
80
81
|
end
|
81
82
|
|
82
83
|
opts.on('--unix-newlines', 'Use Unix-style newlines in written files.') do
|
83
|
-
|
84
|
+
# Note that this is the preferred way to check for Windows, since
|
85
|
+
# JRuby and Rubinius also run there.
|
86
|
+
if RbConfig::CONFIG['host_os'] =~ /mswin|windows|mingw/i
|
87
|
+
@options[:unix_newlines] = true
|
88
|
+
end
|
84
89
|
end
|
85
90
|
|
86
91
|
opts.on_tail("-?", "-h", "--help", "Show this message") do
|
@@ -128,9 +133,9 @@ module Haml
|
|
128
133
|
printf color(color, "%11s %s\n"), name, arg
|
129
134
|
end
|
130
135
|
|
131
|
-
# Same as
|
136
|
+
# Same as `Kernel.puts`, but doesn't print anything if the `--quiet` option is set.
|
132
137
|
#
|
133
|
-
# @param args [Array] Passed on to
|
138
|
+
# @param args [Array] Passed on to `Kernel.puts`
|
134
139
|
def puts(*args)
|
135
140
|
return if @options[:for_engine][:quiet]
|
136
141
|
Kernel.puts(*args)
|
@@ -239,7 +244,7 @@ END
|
|
239
244
|
@options[:load_paths] << path
|
240
245
|
end
|
241
246
|
|
242
|
-
unless
|
247
|
+
unless RUBY_VERSION < "1.9"
|
243
248
|
opts.on('-E ex[:in]', 'Specify the default external and internal character encodings.') do |encoding|
|
244
249
|
external, internal = encoding.split(':')
|
245
250
|
Encoding.default_external = external if external && !external.empty?
|
@@ -334,6 +339,18 @@ END
|
|
334
339
|
@module_opts[:xhtml] = true
|
335
340
|
end
|
336
341
|
|
342
|
+
opts.on("--html-attributes", "Use HTML style attributes instead of Ruby hash style.") do
|
343
|
+
@module_opts[:html_style_attributes] = true
|
344
|
+
end
|
345
|
+
|
346
|
+
unless RUBY_VERSION < "1.9"
|
347
|
+
opts.on('-E ex[:in]', 'Specify the default external and internal character encodings.') do |encoding|
|
348
|
+
external, internal = encoding.split(':')
|
349
|
+
Encoding.default_external = external if external && !external.empty?
|
350
|
+
Encoding.default_internal = internal if internal && !internal.empty?
|
351
|
+
end
|
352
|
+
end
|
353
|
+
|
337
354
|
super
|
338
355
|
end
|
339
356
|
|
data/lib/haml/filters.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require "tilt"
|
1
2
|
|
2
3
|
module Haml
|
3
4
|
# The module containing the default Haml filters,
|
@@ -5,9 +6,53 @@ module Haml
|
|
5
6
|
#
|
6
7
|
# @see Haml::Filters::Base
|
7
8
|
module Filters
|
8
|
-
|
9
|
-
|
10
|
-
|
9
|
+
|
10
|
+
extend self
|
11
|
+
|
12
|
+
# @return [{String => Haml::Filters::Base}] a hash mapping filter names to
|
13
|
+
# classes.
|
14
|
+
attr_reader :defined
|
15
|
+
@defined = {}
|
16
|
+
|
17
|
+
# Loads an external template engine from
|
18
|
+
# [Tilt](https://github.com/rtomayko/tilt) as a filter. This method is used
|
19
|
+
# internally by Haml to set up filters for Sass, SCSS, Less, Coffeescript,
|
20
|
+
# and others. It's left public to make it easy for developers to add their
|
21
|
+
# own Tilt-based filters if they choose.
|
22
|
+
#
|
23
|
+
# @return [Module] The generated filter.
|
24
|
+
# @param [Hash] options Options for generating the filter module.
|
25
|
+
# @option options [Boolean] :precompiled Whether the filter should be
|
26
|
+
# precompiled. Erb, Nokogiri and Builder use this, for example.
|
27
|
+
# @option options [Class] :template_class The Tilt template class to use,
|
28
|
+
# in the event it can't be inferred from an extension.
|
29
|
+
# @option options [String] :extension The extension associated with the
|
30
|
+
# content, for example "markdown". This lets Tilt choose the preferred
|
31
|
+
# engine when there are more than one.
|
32
|
+
# @option options [String,Array<String>] :alias Any aliases for the filter.
|
33
|
+
# For example, :coffee is also available as :coffeescript.
|
34
|
+
# @since 3.2.0
|
35
|
+
def register_tilt_filter(name, options = {})
|
36
|
+
if constants.map(&:to_s).include?(name.to_s)
|
37
|
+
raise "#{name} filter already defined"
|
38
|
+
end
|
39
|
+
|
40
|
+
filter = const_set(name, Module.new)
|
41
|
+
filter.extend TiltFilter
|
42
|
+
|
43
|
+
filter.extend PrecompiledTiltFilter if options.has_key? :precompiled
|
44
|
+
|
45
|
+
if options.has_key? :template_class
|
46
|
+
filter.template_class = options[:template_class]
|
47
|
+
else
|
48
|
+
filter.tilt_extension = options.fetch(:extension) { name.downcase }
|
49
|
+
end
|
50
|
+
|
51
|
+
# All ":coffeescript" as alias for ":coffee", etc.
|
52
|
+
if options.has_key?(:alias)
|
53
|
+
[options[:alias]].flatten.each {|x| Filters.defined[x.to_s] = filter}
|
54
|
+
end
|
55
|
+
filter
|
11
56
|
end
|
12
57
|
|
13
58
|
# The base module for Haml filters.
|
@@ -77,25 +122,26 @@ module Haml
|
|
77
122
|
#
|
78
123
|
# @see #compile
|
79
124
|
def internal_compile(*args)
|
80
|
-
resolve_lazy_requires
|
81
125
|
compile(*args)
|
82
126
|
end
|
83
127
|
|
84
|
-
# This should be overridden when a filter needs to have access to the Haml
|
85
|
-
# Rather than applying a filter to a string at
|
86
|
-
# \{#compile} uses the {Haml::Compiler} instance to compile
|
87
|
-
# that will be executed in the context of the
|
128
|
+
# This should be overridden when a filter needs to have access to the Haml
|
129
|
+
# evaluation context. Rather than applying a filter to a string at
|
130
|
+
# compile-time, \{#compile} uses the {Haml::Compiler} instance to compile
|
131
|
+
# the string to Ruby code that will be executed in the context of the
|
132
|
+
# active Haml template.
|
88
133
|
#
|
89
134
|
# Warning: the {Haml::Compiler} interface is neither well-documented
|
90
135
|
# nor guaranteed to be stable.
|
91
|
-
# If you want to make use of it, you'll probably need to look at the
|
92
|
-
# and should test your filter when upgrading to new Haml
|
136
|
+
# If you want to make use of it, you'll probably need to look at the
|
137
|
+
# source code and should test your filter when upgrading to new Haml
|
138
|
+
# versions.
|
93
139
|
#
|
94
140
|
# @param compiler [Haml::Compiler] The compiler instance
|
95
141
|
# @param text [String] The text of the filter
|
96
|
-
# @raise [Haml::Error] if none of \{#compile}, \{#render}, and
|
142
|
+
# @raise [Haml::Error] if none of \{#compile}, \{#render}, and
|
143
|
+
# \{#render_with_options} are overridden
|
97
144
|
def compile(compiler, text)
|
98
|
-
resolve_lazy_requires
|
99
145
|
filter = self
|
100
146
|
compiler.instance_eval do
|
101
147
|
if contains_interpolation?(text)
|
@@ -121,74 +167,18 @@ RUBY
|
|
121
167
|
|
122
168
|
rendered = Haml::Helpers::find_and_preserve(filter.render_with_options(text, compiler.options), compiler.options[:preserve])
|
123
169
|
|
124
|
-
if
|
125
|
-
push_text(rendered.rstrip.gsub("\n", "\n#{' ' * @output_tabs}"))
|
126
|
-
else
|
170
|
+
if options[:ugly]
|
127
171
|
push_text(rendered.rstrip)
|
128
|
-
end
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
# This becomes a class method of modules that include {Base}.
|
133
|
-
# It allows the module to specify one or more Ruby files
|
134
|
-
# that Haml should try to require when compiling the filter.
|
135
|
-
#
|
136
|
-
# The first file specified is tried first, then the second, etc.
|
137
|
-
# If none are found, the compilation throws an exception.
|
138
|
-
#
|
139
|
-
# For example:
|
140
|
-
#
|
141
|
-
# module Haml::Filters::Markdown
|
142
|
-
# lazy_require 'rdiscount', 'peg_markdown', 'maruku', 'bluecloth', 'kramdown'
|
143
|
-
#
|
144
|
-
# ...
|
145
|
-
# end
|
146
|
-
#
|
147
|
-
# @param reqs [Array<String>] The requires to run
|
148
|
-
def lazy_require(*reqs)
|
149
|
-
@lazy_requires = reqs
|
150
|
-
end
|
151
|
-
|
152
|
-
private
|
153
|
-
|
154
|
-
def resolve_lazy_requires
|
155
|
-
return unless @lazy_requires
|
156
|
-
|
157
|
-
@lazy_requires[0...-1].each do |req|
|
158
|
-
begin
|
159
|
-
@required = req
|
160
|
-
require @required
|
161
|
-
return
|
162
|
-
rescue LoadError; end # RCov doesn't see this, but it is run
|
163
|
-
end
|
164
|
-
|
165
|
-
begin
|
166
|
-
@required = @lazy_requires[-1]
|
167
|
-
require @required
|
168
|
-
rescue LoadError => e
|
169
|
-
classname = self.name.match(/\w+$/)[0]
|
170
|
-
|
171
|
-
if @lazy_requires.size == 1
|
172
|
-
raise Error.new("Can't run #{classname} filter; required file '#{@lazy_requires.first}' not found")
|
173
172
|
else
|
174
|
-
|
173
|
+
push_text(rendered.rstrip.gsub("\n", "\n#{' ' * @output_tabs}"))
|
175
174
|
end
|
176
175
|
end
|
177
176
|
end
|
178
177
|
end
|
179
|
-
end
|
180
|
-
end
|
181
178
|
|
182
|
-
begin
|
183
|
-
require 'rubygems'
|
184
|
-
rescue LoadError; end
|
185
|
-
|
186
|
-
module Haml
|
187
|
-
module Filters
|
188
179
|
# Does not parse the filtered text.
|
189
|
-
# This is useful for large blocks of text without HTML tags,
|
190
|
-
#
|
191
|
-
# to be parsed.
|
180
|
+
# This is useful for large blocks of text without HTML tags, when you don't
|
181
|
+
# want lines starting with `.` or `-` to be parsed.
|
192
182
|
module Plain
|
193
183
|
include Base
|
194
184
|
|
@@ -196,8 +186,8 @@ module Haml
|
|
196
186
|
def render(text); text; end
|
197
187
|
end
|
198
188
|
|
199
|
-
# Surrounds the filtered text with `<script>` and CDATA tags.
|
200
|
-
#
|
189
|
+
# Surrounds the filtered text with `<script>` and CDATA tags. Useful for
|
190
|
+
# including inline Javascript.
|
201
191
|
module Javascript
|
202
192
|
include Base
|
203
193
|
|
@@ -219,8 +209,8 @@ END
|
|
219
209
|
end
|
220
210
|
end
|
221
211
|
|
222
|
-
# Surrounds the filtered text with `<style>` and CDATA tags.
|
223
|
-
#
|
212
|
+
# Surrounds the filtered text with `<style>` and CDATA tags. Useful for
|
213
|
+
# including inline CSS.
|
224
214
|
module Css
|
225
215
|
include Base
|
226
216
|
|
@@ -252,8 +242,8 @@ END
|
|
252
242
|
end
|
253
243
|
end
|
254
244
|
|
255
|
-
# Works the same as {Plain}, but HTML-escapes the text
|
256
|
-
#
|
245
|
+
# Works the same as {Plain}, but HTML-escapes the text before placing it in
|
246
|
+
# the document.
|
257
247
|
module Escaped
|
258
248
|
include Base
|
259
249
|
|
@@ -263,14 +253,14 @@ END
|
|
263
253
|
end
|
264
254
|
end
|
265
255
|
|
266
|
-
# Parses the filtered text with the normal Ruby interpreter.
|
267
|
-
#
|
268
|
-
#
|
269
|
-
#
|
270
|
-
#
|
256
|
+
# Parses the filtered text with the normal Ruby interpreter. All output sent
|
257
|
+
# to `$stdout`, such as with `puts`, is output into the Haml document. Not
|
258
|
+
# available if the {file:REFERENCE.md#suppress_eval-option `:suppress_eval`}
|
259
|
+
# option is set to true. The Ruby code is evaluated in the same context as
|
260
|
+
# the Haml template.
|
271
261
|
module Ruby
|
272
262
|
include Base
|
273
|
-
|
263
|
+
require 'stringio'
|
274
264
|
|
275
265
|
# @see Base#compile
|
276
266
|
def compile(compiler, text)
|
@@ -288,9 +278,8 @@ END
|
|
288
278
|
end
|
289
279
|
|
290
280
|
# Inserts the filtered text into the template with whitespace preserved.
|
291
|
-
# `preserve`d blocks of text aren't indented,
|
292
|
-
#
|
293
|
-
# to preserve nice-looking output.
|
281
|
+
# `preserve`d blocks of text aren't indented, and newlines are replaced with
|
282
|
+
# the HTML escape code for newlines, to preserve nice-looking output.
|
294
283
|
#
|
295
284
|
# @see Haml::Helpers#preserve
|
296
285
|
module Preserve
|
@@ -302,102 +291,83 @@ END
|
|
302
291
|
end
|
303
292
|
end
|
304
293
|
|
305
|
-
#
|
306
|
-
module
|
307
|
-
|
308
|
-
|
294
|
+
# @private
|
295
|
+
module TiltFilter
|
296
|
+
extend self
|
297
|
+
attr_accessor :tilt_extension, :options
|
298
|
+
attr_writer :template_class
|
299
|
+
|
300
|
+
def template_class
|
301
|
+
(@template_class if defined? @template_class) or begin
|
302
|
+
@template_class = Tilt["t.#{tilt_extension}"] or
|
303
|
+
raise "Can't run #{self} filter; you must require its dependencies first"
|
304
|
+
rescue LoadError
|
305
|
+
raise Error.new("Can't run #{self} filter; required dependencies not available")
|
306
|
+
end
|
307
|
+
end
|
309
308
|
|
310
|
-
|
311
|
-
|
312
|
-
|
309
|
+
def self.extended(base)
|
310
|
+
base.options = {}
|
311
|
+
base.instance_eval do
|
312
|
+
include Base
|
313
|
+
def render(text)
|
314
|
+
Haml::Util.silence_warnings do
|
315
|
+
template_class.new(nil, 1, options) {text}.render
|
316
|
+
end
|
317
|
+
end
|
318
|
+
end
|
313
319
|
end
|
314
320
|
end
|
315
321
|
|
316
|
-
#
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
lazy_require 'erb'
|
322
|
+
# @private
|
323
|
+
module PrecompiledTiltFilter
|
324
|
+
def precompiled(text)
|
325
|
+
template_class.new(nil, 1, options) { text }.send(:precompiled, {}).first
|
326
|
+
end
|
322
327
|
|
323
|
-
# @see Base#compile
|
324
328
|
def compile(compiler, text)
|
325
329
|
return if compiler.options[:suppress_eval]
|
326
|
-
|
327
|
-
sub(/^_erbout = '';/, "")
|
328
|
-
compiler.send(:push_silent, src)
|
330
|
+
compiler.send(:push_script, precompiled(text))
|
329
331
|
end
|
330
332
|
end
|
331
333
|
|
332
|
-
#
|
333
|
-
|
334
|
-
module Textile
|
335
|
-
include Base
|
336
|
-
lazy_require 'redcloth'
|
334
|
+
# @!parse module Sass; end
|
335
|
+
register_tilt_filter "Sass"
|
337
336
|
|
338
|
-
|
339
|
-
|
340
|
-
::RedCloth.new(text).to_html(:textile)
|
341
|
-
end
|
342
|
-
end
|
343
|
-
# An alias for the Textile filter,
|
344
|
-
# since the only available Textile parser is RedCloth.
|
345
|
-
# @api public
|
346
|
-
RedCloth = Textile
|
347
|
-
Filters.defined['redcloth'] = RedCloth
|
348
|
-
|
349
|
-
# Parses the filtered text with [Markdown](http://daringfireball.net/projects/markdown).
|
350
|
-
# Only works if [RDiscount](https://github.com/rtomayko/rdiscount),
|
351
|
-
# [RPeg-Markdown](https://github.com/rtomayko/rpeg-markdown),
|
352
|
-
# [Maruku](http://maruku.rubyforge.org),
|
353
|
-
# [Redcarpet](https://github.com/tanoku/redcarpet),
|
354
|
-
# or [Kramdown](https://github.com/gettalong/kramdown) are installed.
|
355
|
-
module Markdown
|
356
|
-
include Base
|
357
|
-
lazy_require 'rdiscount', 'peg_markdown', 'maruku', 'bluecloth', 'redcarpet', 'kramdown'
|
337
|
+
# @!parse module Scss; end
|
338
|
+
register_tilt_filter "Scss"
|
358
339
|
|
359
|
-
|
360
|
-
|
361
|
-
engine = case @required
|
362
|
-
when 'rdiscount'
|
363
|
-
::RDiscount
|
364
|
-
when 'peg_markdown'
|
365
|
-
::PEGMarkdown
|
366
|
-
when 'maruku'
|
367
|
-
::Maruku
|
368
|
-
when 'bluecloth'
|
369
|
-
::BlueCloth
|
370
|
-
when 'redcarpet'
|
371
|
-
::Redcarpet
|
372
|
-
when 'kramdown'
|
373
|
-
::Kramdown::Document
|
374
|
-
end
|
375
|
-
engine.new(text).to_html
|
376
|
-
end
|
377
|
-
end
|
340
|
+
# @!parse module Less; end
|
341
|
+
register_tilt_filter "Less"
|
378
342
|
|
379
|
-
#
|
380
|
-
|
381
|
-
module Maruku
|
382
|
-
include Base
|
383
|
-
lazy_require 'maruku'
|
343
|
+
# @!parse module Markdown; end
|
344
|
+
register_tilt_filter "Markdown"
|
384
345
|
|
385
|
-
|
386
|
-
|
387
|
-
::Maruku.new(text).to_html
|
388
|
-
end
|
389
|
-
end
|
346
|
+
# @!parse module Erb; end
|
347
|
+
register_tilt_filter "Erb", :precompiled => true
|
390
348
|
|
391
|
-
#
|
392
|
-
|
393
|
-
include Base
|
394
|
-
lazy_require 'redcarpet'
|
349
|
+
# @!parse module Coffee; end
|
350
|
+
register_tilt_filter "Coffee", :alias => "coffeescript"
|
395
351
|
|
396
|
-
|
397
|
-
|
398
|
-
|
352
|
+
# Parses the filtered text with ERB.
|
353
|
+
# Not available if the {file:REFERENCE.md#suppress_eval-option
|
354
|
+
# `:suppress_eval`} option is set to true. Embedded Ruby code is evaluated
|
355
|
+
# in the same context as the Haml template.
|
356
|
+
module Erb
|
357
|
+
class << self
|
358
|
+
def precompiled(text)
|
359
|
+
super.sub(/^#coding:.*?\n/, '')
|
360
|
+
end
|
399
361
|
end
|
400
362
|
end
|
401
|
-
|
402
363
|
end
|
403
364
|
end
|
365
|
+
|
366
|
+
# These filters have been demoted to Haml Contrib but are still included by
|
367
|
+
# default in Haml 3.2. Still, we rescue from load error if for some reason
|
368
|
+
# haml-contrib is not installed.
|
369
|
+
begin
|
370
|
+
require "haml/filters/maruku"
|
371
|
+
require "haml/filters/textile"
|
372
|
+
rescue LoadError
|
373
|
+
end
|