2015-03-10 00:37:41 +09:00
|
|
|
require 'temple'
|
2015-03-14 23:21:29 +09:00
|
|
|
require 'hamlit/attribute_compiler'
|
2015-03-16 13:46:35 +09:00
|
|
|
require 'hamlit/dynamic_formatter'
|
2015-03-16 18:18:44 +09:00
|
|
|
require 'hamlit/filter_compiler'
|
2015-03-16 19:28:08 +09:00
|
|
|
require 'hamlit/filter_formatter'
|
2015-03-16 08:11:07 +09:00
|
|
|
require 'hamlit/multiline_preprocessor'
|
2015-03-22 23:33:13 +09:00
|
|
|
require 'hamlit/new_attribute_compiler'
|
2015-03-12 09:07:49 +09:00
|
|
|
require 'hamlit/parser'
|
2015-03-16 08:11:07 +09:00
|
|
|
require 'hamlit/script_compiler'
|
2015-03-17 08:17:31 +09:00
|
|
|
require 'hamlit/text_compiler'
|
2015-03-10 00:37:41 +09:00
|
|
|
|
2015-03-12 09:07:49 +09:00
|
|
|
module Hamlit
|
2015-03-10 00:37:41 +09:00
|
|
|
class Engine < Temple::Engine
|
2015-03-16 06:37:54 +09:00
|
|
|
define_options generator: Temple::Generators::ArrayBuffer
|
2015-03-12 22:56:34 +09:00
|
|
|
|
2015-03-16 08:11:07 +09:00
|
|
|
use MultilinePreprocessor
|
2015-03-10 00:37:41 +09:00
|
|
|
use Parser
|
2015-03-14 23:21:29 +09:00
|
|
|
use AttributeCompiler
|
2015-03-22 23:33:13 +09:00
|
|
|
use NewAttributeCompier
|
2015-03-16 19:28:08 +09:00
|
|
|
use FilterFormatter
|
2015-03-16 18:18:44 +09:00
|
|
|
use FilterCompiler
|
|
|
|
use ScriptCompiler
|
2015-03-17 08:17:31 +09:00
|
|
|
use TextCompiler
|
2015-03-16 13:46:35 +09:00
|
|
|
use DynamicFormatter
|
2015-03-10 00:37:41 +09:00
|
|
|
html :Fast
|
2015-03-15 19:27:53 +09:00
|
|
|
filter :Escapable
|
2015-03-16 01:07:54 +09:00
|
|
|
filter :ControlFlow
|
|
|
|
filter :MultiFlattener
|
|
|
|
filter :StaticMerger
|
2015-03-22 23:33:13 +09:00
|
|
|
|
2015-03-12 22:56:34 +09:00
|
|
|
use :Generator do
|
2015-03-16 12:53:53 +09:00
|
|
|
valid_options = options.to_hash.select do |key, value|
|
|
|
|
options[:generator].options.valid_key?(key)
|
|
|
|
end
|
|
|
|
options[:generator].new(valid_options)
|
2015-03-12 22:56:34 +09:00
|
|
|
end
|
2015-03-10 00:37:41 +09:00
|
|
|
end
|
|
|
|
end
|