Create temple skelton
This commit is contained in:
parent
cc6d6ca034
commit
227a81d5fb
|
@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
|
|||
spec.require_paths = ['lib']
|
||||
|
||||
spec.add_dependency 'haml', '~> 4.0'
|
||||
spec.add_dependency 'temple', '~> 0.7.6'
|
||||
|
||||
spec.add_development_dependency 'bundler', '~> 1.10'
|
||||
spec.add_development_dependency 'rake', '~> 10.0'
|
||||
|
|
|
@ -1,5 +1,2 @@
|
|||
require 'hamlit/engine'
|
||||
require 'hamlit/version'
|
||||
|
||||
module Hamlit
|
||||
# Your code goes here...
|
||||
end
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
module Hamlit
|
||||
class Compiler
|
||||
def initialize(options = {})
|
||||
@options = options
|
||||
end
|
||||
|
||||
def call(template)
|
||||
[:multi, [:static, 'Hamlit']]
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,24 @@
|
|||
require 'temple'
|
||||
require 'hamlit/compiler'
|
||||
require 'hamlit/parser'
|
||||
|
||||
module Hamlit
|
||||
class Engine < Temple::Engine
|
||||
define_options(
|
||||
generator: Temple::Generators::ArrayBuffer,
|
||||
format: :html,
|
||||
attr_quote: "'",
|
||||
escape_html: true,
|
||||
pretty: false,
|
||||
)
|
||||
|
||||
use Parser
|
||||
use Compiler
|
||||
html :Pretty
|
||||
filter :Escapable
|
||||
filter :ControlFlow
|
||||
filter :MultiFlattener
|
||||
filter :StaticMerger
|
||||
use :Generator, -> { options[:generator] }
|
||||
end
|
||||
end
|
|
@ -0,0 +1,13 @@
|
|||
require 'haml'
|
||||
|
||||
module Hamlit
|
||||
class Parser
|
||||
def initialize(options = {})
|
||||
@options = options
|
||||
end
|
||||
|
||||
def call(template)
|
||||
Haml::Parser.new(template, {}).parse
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue