lib/slim/engine.rb in slim-1.0.4 vs lib/slim/engine.rb in slim-1.1.0
- old
+ new
@@ -31,11 +31,13 @@
# Boolean | :disable_escape | false | Disable automatic escaping of strings
# Boolean | :use_html_safe | false (true in Rails) | Use String#html_safe? from ActiveSupport (Works together with :disable_escape)
# Symbol | :format | :xhtml | HTML output format
# String | :attr_wrapper | '"' | Character to wrap attributes in html (can be ' or ")
# Hash | :attr_delimiter | {'class' => ' '} | Joining character used if multiple html attributes are supplied (e.g. id1_id2)
+ # Symbol | :sort_attrs | true | Sort attributes by name
# Boolean | :pretty | false | Pretty html indenting (This is slower!)
+ # String | :indent | ' ' | Indentation string
# Boolean | :streaming | false (true in Rails > 3.1) | Enable output streaming
# Class | :generator | ArrayBuffer/RailsOutputBuffer | Temple code generator (default generator generates array buffer)
#
# It is also possible to set all options supported by the generator (option :generator). The standard generators
# support the options :buffer and :capture_generator.
@@ -57,15 +59,15 @@
use Slim::EmbeddedEngine, :enable_engines, :disable_engines, :pretty
use Slim::Interpolation
use Slim::Sections, :sections, :dictionary, :dictionary_access
use Slim::EndInserter
use Slim::Compiler, :disable_capture, :attr_delimiter
- use Temple::HTML::AttributeMerger, :attr_delimiter
- use Temple::HTML::Pretty, :format, :attr_wrapper, :pretty
+ use Temple::HTML::AttributeMerger, :attr_delimiter, :sort_attrs
+ use Temple::HTML::Pretty, :format, :attr_wrapper, :pretty, :indent
filter :Escapable, :use_html_safe, :disable_escape
filter :ControlFlow
filter :MultiFlattener
- wildcard(:Optimizer) { (options[:streaming] ? Temple::Filters::StaticMerger :
- Temple::Filters::DynamicInliner).new }
- wildcard(:Generator) { options[:generator].new(options) }
+ use(:Optimizer) { (options[:streaming] ? Temple::Filters::StaticMerger :
+ Temple::Filters::DynamicInliner).new }
+ use(:Generator) { options[:generator].new(options) }
end
end