lib/hamlit/engine.rb
# frozen_string_literal: true
require 'temple'
require 'hamlit/parser'
require 'hamlit/compiler'
require 'hamlit/html'
require 'hamlit/escapable'
require 'hamlit/force_escapable'
require 'hamlit/dynamic_merger'
require 'hamlit/ambles'
module Hamlit
class Engine < Temple::Engine
define_options(
:buffer_class,
generator: Temple::Generators::StringBuffer,
format: :html,
attr_quote: "'",
escape_html: true,
escape_attrs: true,
autoclose: %w(area base basefont br col command embed frame
hr img input isindex keygen link menuitem meta
param source track wbr),
filename: "",
check_syntax: false,
disable_capture: false,
)
use Parser
use Compiler
use HTML
filter :StringSplitter
filter :StaticAnalyzer
use Escapable
use ForceEscapable
filter :ControlFlow
use Ambles
filter :MultiFlattener
filter :StaticMerger
use DynamicMerger
use :Generator, -> { options[:generator] }
end
end