tilt 1.0.1 → 1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +3 -0
- data/lib/tilt.rb +143 -7
- data/test/markaby/locals.mab +1 -0
- data/test/markaby/markaby.mab +1 -0
- data/test/markaby/markaby_other_static.mab +1 -0
- data/test/markaby/render_twice.mab +1 -0
- data/test/markaby/scope.mab +1 -0
- data/test/markaby/yielding.mab +2 -0
- data/test/tilt_cache_test.rb +2 -3
- data/test/tilt_coffeescripttemplate_test.rb +25 -0
- data/test/tilt_markaby_test.rb +73 -0
- data/test/tilt_nokogiritemplate_test.rb +54 -0
- data/test/tilt_radiustemplate_test.rb +4 -0
- data/test/tilt_sasstemplate_test.rb +11 -0
- data/test/tilt_template_test.rb +5 -6
- data/tilt.gemspec +14 -2
- metadata +57 -4
data/README.md
CHANGED
@@ -34,6 +34,9 @@ Support for these template engines is included with the package:
|
|
34
34
|
RedCloth .textile redcloth
|
35
35
|
RDoc .rdoc rdoc
|
36
36
|
Radius .radius radius
|
37
|
+
Markaby .mab markaby
|
38
|
+
Nokogiri .nokogiri nokogiri
|
39
|
+
CoffeeScript .coffee coffee-script (+node coffee)
|
37
40
|
|
38
41
|
See [TEMPLATES.md][t] for detailed information on template engine
|
39
42
|
options and supported features.
|
data/lib/tilt.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'digest/md5'
|
2
2
|
|
3
3
|
module Tilt
|
4
|
-
VERSION = '1.
|
4
|
+
VERSION = '1.1'
|
5
5
|
|
6
6
|
@template_mappings = {}
|
7
7
|
|
@@ -59,7 +59,7 @@ module Tilt
|
|
59
59
|
end
|
60
60
|
|
61
61
|
# Base class for template implementations. Subclasses must implement
|
62
|
-
# the #prepare method and one of the #evaluate or #
|
62
|
+
# the #prepare method and one of the #evaluate or #precompiled_template
|
63
63
|
# methods.
|
64
64
|
class Template
|
65
65
|
# Template source; loaded from a file or given directly.
|
@@ -282,13 +282,18 @@ module Tilt
|
|
282
282
|
|
283
283
|
def compile_template_method(method_name, locals)
|
284
284
|
source, offset = precompiled(locals)
|
285
|
-
offset +=
|
286
|
-
CompileSite.
|
285
|
+
offset += 5
|
286
|
+
CompileSite.class_eval <<-RUBY, eval_file, line - offset
|
287
287
|
def #{method_name}(locals)
|
288
|
-
|
288
|
+
Thread.current[:tilt_vars] = [self, locals]
|
289
|
+
class << self
|
290
|
+
this, locals = Thread.current[:tilt_vars]
|
291
|
+
this.instance_eval do
|
292
|
+
#{source}
|
293
|
+
end
|
294
|
+
end
|
289
295
|
end
|
290
296
|
RUBY
|
291
|
-
|
292
297
|
ObjectSpace.define_finalizer self,
|
293
298
|
Template.compiled_template_method_remover(CompileSite, method_name)
|
294
299
|
end
|
@@ -306,6 +311,27 @@ module Tilt
|
|
306
311
|
end
|
307
312
|
end
|
308
313
|
end
|
314
|
+
|
315
|
+
# Special case Ruby 1.9.1's broken yield.
|
316
|
+
#
|
317
|
+
# http://github.com/rtomayko/tilt/commit/20c01a5
|
318
|
+
# http://redmine.ruby-lang.org/issues/show/3601
|
319
|
+
#
|
320
|
+
# Remove when 1.9.2 dominates 1.9.1 installs in the wild.
|
321
|
+
if RUBY_VERSION =~ /^1.9.1/
|
322
|
+
undef compile_template_method
|
323
|
+
def compile_template_method(method_name, locals)
|
324
|
+
source, offset = precompiled(locals)
|
325
|
+
offset += 1
|
326
|
+
CompileSite.module_eval <<-RUBY, eval_file, line - offset
|
327
|
+
def #{method_name}(locals)
|
328
|
+
#{source}
|
329
|
+
end
|
330
|
+
RUBY
|
331
|
+
ObjectSpace.define_finalizer self,
|
332
|
+
Template.compiled_template_method_remover(CompileSite, method_name)
|
333
|
+
end
|
334
|
+
end
|
309
335
|
end
|
310
336
|
|
311
337
|
# Extremely simple template cache implementation. Calling applications
|
@@ -528,11 +554,19 @@ module Tilt
|
|
528
554
|
|
529
555
|
private
|
530
556
|
def sass_options
|
531
|
-
options.merge(:filename => eval_file, :line => line)
|
557
|
+
options.merge(:filename => eval_file, :line => line, :syntax => :sass)
|
532
558
|
end
|
533
559
|
end
|
534
560
|
register 'sass', SassTemplate
|
535
561
|
|
562
|
+
# Sass's new .scss type template implementation.
|
563
|
+
class ScssTemplate < SassTemplate
|
564
|
+
private
|
565
|
+
def sass_options
|
566
|
+
options.merge(:filename => eval_file, :line => line, :syntax => :scss)
|
567
|
+
end
|
568
|
+
end
|
569
|
+
register 'scss', ScssTemplate
|
536
570
|
|
537
571
|
# Lessscss template implementation. See:
|
538
572
|
# http://lesscss.org/
|
@@ -555,6 +589,65 @@ module Tilt
|
|
555
589
|
register 'less', LessTemplate
|
556
590
|
|
557
591
|
|
592
|
+
# CoffeeScript template implementation. See:
|
593
|
+
# http://coffeescript.org/
|
594
|
+
#
|
595
|
+
# CoffeeScript templates do not support object scopes, locals, or yield.
|
596
|
+
class CoffeeScriptTemplate < Template
|
597
|
+
@@default_no_wrap = false
|
598
|
+
|
599
|
+
def self.default_no_wrap
|
600
|
+
@@default_no_wrap
|
601
|
+
end
|
602
|
+
|
603
|
+
def self.default_no_wrap=(value)
|
604
|
+
@@default_no_wrap = value
|
605
|
+
end
|
606
|
+
|
607
|
+
def initialize_engine
|
608
|
+
return if defined? ::CoffeeScript
|
609
|
+
require_template_library 'coffee_script'
|
610
|
+
end
|
611
|
+
|
612
|
+
def prepare
|
613
|
+
@no_wrap = options.key?(:no_wrap) ? options[:no_wrap] :
|
614
|
+
self.class.default_no_wrap
|
615
|
+
end
|
616
|
+
|
617
|
+
def evaluate(scope, locals, &block)
|
618
|
+
@output ||= CoffeeScript.compile(data, :no_wrap => @no_wrap)
|
619
|
+
end
|
620
|
+
end
|
621
|
+
register 'coffee', CoffeeScriptTemplate
|
622
|
+
|
623
|
+
|
624
|
+
# Nokogiri template implementation. See:
|
625
|
+
# http://nokogiri.org/
|
626
|
+
class NokogiriTemplate < Template
|
627
|
+
def initialize_engine
|
628
|
+
return if defined?(::Nokogiri)
|
629
|
+
require_template_library 'nokogiri'
|
630
|
+
end
|
631
|
+
|
632
|
+
def prepare; end
|
633
|
+
|
634
|
+
def evaluate(scope, locals, &block)
|
635
|
+
xml = ::Nokogiri::XML::Builder.new
|
636
|
+
if data.respond_to?(:to_str)
|
637
|
+
locals[:xml] = xml
|
638
|
+
super(scope, locals, &block)
|
639
|
+
elsif data.kind_of?(Proc)
|
640
|
+
data.call(xml)
|
641
|
+
end
|
642
|
+
xml.to_xml
|
643
|
+
end
|
644
|
+
|
645
|
+
def precompiled_template(locals)
|
646
|
+
data.to_str
|
647
|
+
end
|
648
|
+
end
|
649
|
+
register 'nokogiri', NokogiriTemplate
|
650
|
+
|
558
651
|
# Builder template implementation. See:
|
559
652
|
# http://builder.rubyforge.org/
|
560
653
|
class BuilderTemplate < Template
|
@@ -729,4 +822,47 @@ module Tilt
|
|
729
822
|
end
|
730
823
|
end
|
731
824
|
register 'radius', RadiusTemplate
|
825
|
+
|
826
|
+
|
827
|
+
# Markaby
|
828
|
+
# http://github.com/markaby/markaby
|
829
|
+
class MarkabyTemplate < Template
|
830
|
+
def self.builder_class
|
831
|
+
@builder_class ||= Class.new(Markaby::Builder) do
|
832
|
+
def __capture_markaby_tilt__(&block)
|
833
|
+
__run_markaby_tilt__ do
|
834
|
+
text capture(&block)
|
835
|
+
end
|
836
|
+
end
|
837
|
+
end
|
838
|
+
end
|
839
|
+
|
840
|
+
def initialize_engine
|
841
|
+
return if defined? ::Markaby
|
842
|
+
require_template_library 'markaby'
|
843
|
+
end
|
844
|
+
|
845
|
+
def prepare
|
846
|
+
end
|
847
|
+
|
848
|
+
def evaluate(scope, locals, &block)
|
849
|
+
builder = self.class.builder_class.new({}, scope)
|
850
|
+
builder.locals = locals
|
851
|
+
|
852
|
+
if block
|
853
|
+
builder.instance_eval <<-CODE, __FILE__, __LINE__
|
854
|
+
def __run_markaby_tilt__
|
855
|
+
#{data}
|
856
|
+
end
|
857
|
+
CODE
|
858
|
+
|
859
|
+
builder.__capture_markaby_tilt__(&block)
|
860
|
+
else
|
861
|
+
builder.instance_eval(data, __FILE__, __LINE__)
|
862
|
+
end
|
863
|
+
|
864
|
+
builder.to_s
|
865
|
+
end
|
866
|
+
end
|
867
|
+
register 'mab', MarkabyTemplate
|
732
868
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
li foo
|
@@ -0,0 +1 @@
|
|
1
|
+
text "hello from markaby!"
|
@@ -0,0 +1 @@
|
|
1
|
+
text "_why?"
|
@@ -0,0 +1 @@
|
|
1
|
+
text "foo"
|
@@ -0,0 +1 @@
|
|
1
|
+
li foo
|
data/test/tilt_cache_test.rb
CHANGED
@@ -14,10 +14,9 @@ class TiltCacheTest < Test::Unit::TestCase
|
|
14
14
|
|
15
15
|
test "caching with multiple complex arguments to #fetch" do
|
16
16
|
template = nil
|
17
|
-
|
18
|
-
result = @cache.fetch(*args) { template = Tilt::StringTemplate.new {''} }
|
17
|
+
result = @cache.fetch('hello', {:foo => 'bar', :baz => 'bizzle'}) { template = Tilt::StringTemplate.new {''} }
|
19
18
|
assert_same template, result
|
20
|
-
result = @cache.fetch(
|
19
|
+
result = @cache.fetch('hello', {:foo => 'bar', :baz => 'bizzle'}) { fail 'should be cached' }
|
21
20
|
assert_same template, result
|
22
21
|
end
|
23
22
|
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'contest'
|
2
|
+
require 'tilt'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'coffee_script'
|
6
|
+
|
7
|
+
class CoffeeScriptTemplateTest < Test::Unit::TestCase
|
8
|
+
test "is registered for '.coffee' files" do
|
9
|
+
assert_equal Tilt::CoffeeScriptTemplate, Tilt['test.coffee']
|
10
|
+
end
|
11
|
+
|
12
|
+
test "compiles and evaluates the template on #render" do
|
13
|
+
template = Tilt::CoffeeScriptTemplate.new { |t| "puts 'Hello, World!'\n" }
|
14
|
+
assert_equal "(function() {\n puts('Hello, World!');\n})();\n", template.render
|
15
|
+
end
|
16
|
+
|
17
|
+
test "disabling coffee-script wrapper" do
|
18
|
+
template = Tilt::CoffeeScriptTemplate.new(:no_wrap => true) { |t| "puts 'Hello, World!'\n" }
|
19
|
+
assert_equal "puts('Hello, World!');", template.render
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
rescue LoadError => boom
|
24
|
+
warn "Tilt::CoffeeScriptTemplate (disabled)\n"
|
25
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
require 'contest'
|
2
|
+
require 'tilt'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'markaby'
|
6
|
+
|
7
|
+
class MarkabyTiltTest < Test::Unit::TestCase
|
8
|
+
def setup
|
9
|
+
@block = lambda do |t|
|
10
|
+
File.read(File.dirname(__FILE__) + "/#{t.file}")
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
test "should be able to render a markaby template with static html" do
|
15
|
+
tilt = Tilt::MarkabyTemplate.new("markaby/markaby.mab", &@block)
|
16
|
+
assert_equal "hello from markaby!", tilt.render
|
17
|
+
end
|
18
|
+
|
19
|
+
test "should use the contents of the template" do
|
20
|
+
tilt = ::Tilt::MarkabyTemplate.new("markaby/markaby_other_static.mab", &@block)
|
21
|
+
assert_equal "_why?", tilt.render
|
22
|
+
end
|
23
|
+
|
24
|
+
test "should render from a string (given as data)" do
|
25
|
+
tilt = ::Tilt::MarkabyTemplate.new { "html do; end" }
|
26
|
+
assert_equal "<html></html>", tilt.render
|
27
|
+
end
|
28
|
+
|
29
|
+
test "should evaluate a template file in the scope given" do
|
30
|
+
scope = Object.new
|
31
|
+
def scope.foo
|
32
|
+
"bar"
|
33
|
+
end
|
34
|
+
|
35
|
+
tilt = ::Tilt::MarkabyTemplate.new("markaby/scope.mab", &@block)
|
36
|
+
assert_equal "<li>bar</li>", tilt.render(scope)
|
37
|
+
end
|
38
|
+
|
39
|
+
test "should pass locals to the template" do
|
40
|
+
tilt = ::Tilt::MarkabyTemplate.new("markaby/locals.mab", &@block)
|
41
|
+
assert_equal "<li>bar</li>", tilt.render(Object.new, { :foo => "bar" })
|
42
|
+
end
|
43
|
+
|
44
|
+
test "should yield to the block given" do
|
45
|
+
tilt = ::Tilt::MarkabyTemplate.new("markaby/yielding.mab", &@block)
|
46
|
+
eval_scope = Markaby::Builder.new
|
47
|
+
|
48
|
+
output = tilt.render(Object.new, {}) do
|
49
|
+
text("Joe")
|
50
|
+
end
|
51
|
+
|
52
|
+
assert_equal "Hey Joe", output
|
53
|
+
end
|
54
|
+
|
55
|
+
test "should be able to render two templates in a row" do
|
56
|
+
tilt = ::Tilt::MarkabyTemplate.new("markaby/render_twice.mab", &@block)
|
57
|
+
|
58
|
+
assert_equal "foo", tilt.render
|
59
|
+
assert_equal "foo", tilt.render
|
60
|
+
end
|
61
|
+
|
62
|
+
test "should retrieve a Tilt::MarkabyTemplate when calling Tilt['hello.mab']" do
|
63
|
+
assert_equal Tilt::MarkabyTemplate, ::Tilt['./markaby/markaby.mab']
|
64
|
+
end
|
65
|
+
|
66
|
+
test "should return a new instance of the implementation class (when calling Tilt.new)" do
|
67
|
+
assert ::Tilt.new(File.dirname(__FILE__) + "/markaby/markaby.mab").kind_of?(Tilt::MarkabyTemplate)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
rescue LoadError => boom
|
72
|
+
warn "Tilt::MarkabyTemplate (disabled)\n"
|
73
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'contest'
|
2
|
+
require 'tilt'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'nokogiri'
|
6
|
+
class NokogiriTemplateTest < Test::Unit::TestCase
|
7
|
+
test "registered for '.nokogiri' files" do
|
8
|
+
assert_equal Tilt::NokogiriTemplate, Tilt['test.nokogiri']
|
9
|
+
assert_equal Tilt::NokogiriTemplate, Tilt['test.xml.nokogiri']
|
10
|
+
end
|
11
|
+
|
12
|
+
test "preparing and evaluating the template on #render" do
|
13
|
+
template = Tilt::NokogiriTemplate.new { |t| "xml.em 'Hello World!'" }
|
14
|
+
doc = Nokogiri.XML template.render
|
15
|
+
assert_equal 'Hello World!', doc.root.text
|
16
|
+
assert_equal 'em', doc.root.name
|
17
|
+
end
|
18
|
+
|
19
|
+
test "passing locals" do
|
20
|
+
template = Tilt::NokogiriTemplate.new { "xml.em('Hey ' + name + '!')" }
|
21
|
+
doc = Nokogiri.XML template.render(Object.new, :name => 'Joe')
|
22
|
+
assert_equal 'Hey Joe!', doc.root.text
|
23
|
+
assert_equal 'em', doc.root.name
|
24
|
+
end
|
25
|
+
|
26
|
+
test "evaluating in an object scope" do
|
27
|
+
template = Tilt::NokogiriTemplate.new { "xml.em('Hey ' + @name + '!')" }
|
28
|
+
scope = Object.new
|
29
|
+
scope.instance_variable_set :@name, 'Joe'
|
30
|
+
doc = Nokogiri.XML template.render(scope)
|
31
|
+
assert_equal 'Hey Joe!', doc.root.text
|
32
|
+
assert_equal 'em', doc.root.name
|
33
|
+
end
|
34
|
+
|
35
|
+
test "passing a block for yield" do
|
36
|
+
template = Tilt::NokogiriTemplate.new { "xml.em('Hey ' + yield + '!')" }
|
37
|
+
doc = Nokogiri.XML template.render { 'Joe' }
|
38
|
+
assert_equal 'Hey Joe!', doc.root.text
|
39
|
+
assert_equal 'em', doc.root.name
|
40
|
+
end
|
41
|
+
|
42
|
+
test "block style templates" do
|
43
|
+
template =
|
44
|
+
Tilt::NokogiriTemplate.new do |t|
|
45
|
+
lambda { |xml| xml.em('Hey Joe!') }
|
46
|
+
end
|
47
|
+
doc = Nokogiri.XML template.render template.render
|
48
|
+
assert_equal 'Hey Joe!', doc.root.text
|
49
|
+
assert_equal 'em', doc.root.name
|
50
|
+
end
|
51
|
+
end
|
52
|
+
rescue LoadError
|
53
|
+
warn "Tilt::NokogiriTemplate (disabled)"
|
54
|
+
end
|
@@ -2,6 +2,10 @@ require 'contest'
|
|
2
2
|
require 'tilt'
|
3
3
|
|
4
4
|
begin
|
5
|
+
# Disable radius tests under Ruby versions >= 1.9.1 since it's still buggy.
|
6
|
+
# Remove when fixed upstream.
|
7
|
+
raise LoadError if RUBY_VERSION >= "1.9.1"
|
8
|
+
|
5
9
|
require 'radius'
|
6
10
|
|
7
11
|
class RadiusTemplateTest < Test::Unit::TestCase
|
@@ -16,6 +16,17 @@ begin
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
+
class ScssTemplateTest < Test::Unit::TestCase
|
20
|
+
test "is registered for '.scss' files" do
|
21
|
+
assert_equal Tilt::ScssTemplate, Tilt['test.scss']
|
22
|
+
end
|
23
|
+
|
24
|
+
test "compiles and evaluates the template on #render" do
|
25
|
+
template = Tilt::ScssTemplate.new { |t| "#main {\n background-color: #0000f1;\n}" }
|
26
|
+
assert_equal "#main {\n background-color: #0000f1; }\n", template.render
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
19
30
|
rescue LoadError => boom
|
20
31
|
warn "Tilt::SassTemplate (disabled)\n"
|
21
32
|
end
|
data/test/tilt_template_test.rb
CHANGED
@@ -150,10 +150,9 @@ class TiltTemplateTest < Test::Unit::TestCase
|
|
150
150
|
include Tilt::CompileSite
|
151
151
|
end
|
152
152
|
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
# end
|
153
|
+
test "template which accesses a constant with Tilt::CompileSite" do
|
154
|
+
flunk "known broken under 1.9.1" if RUBY_VERSION =~ /^1.9.1/
|
155
|
+
inst = SourceGeneratingMockTemplate.new { |t| 'Hey #{CONSTANT}!' }
|
156
|
+
assert_equal "Hey Bob!", inst.render(FastPerson.new("Joe"))
|
157
|
+
end
|
159
158
|
end
|
data/tilt.gemspec
CHANGED
@@ -3,8 +3,8 @@ Gem::Specification.new do |s|
|
|
3
3
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
4
4
|
|
5
5
|
s.name = 'tilt'
|
6
|
-
s.version = '1.
|
7
|
-
s.date = '2010-
|
6
|
+
s.version = '1.1'
|
7
|
+
s.date = '2010-09-10'
|
8
8
|
|
9
9
|
s.description = "Generic interface to multiple Ruby template engines"
|
10
10
|
s.summary = s.description
|
@@ -21,14 +21,23 @@ Gem::Specification.new do |s|
|
|
21
21
|
bin/tilt
|
22
22
|
lib/tilt.rb
|
23
23
|
test/contest.rb
|
24
|
+
test/markaby/locals.mab
|
25
|
+
test/markaby/markaby.mab
|
26
|
+
test/markaby/markaby_other_static.mab
|
27
|
+
test/markaby/render_twice.mab
|
28
|
+
test/markaby/scope.mab
|
29
|
+
test/markaby/yielding.mab
|
24
30
|
test/tilt_buildertemplate_test.rb
|
25
31
|
test/tilt_cache_test.rb
|
32
|
+
test/tilt_coffeescripttemplate_test.rb
|
26
33
|
test/tilt_compilesite_test.rb
|
27
34
|
test/tilt_erbtemplate_test.rb
|
28
35
|
test/tilt_erubistemplate_test.rb
|
29
36
|
test/tilt_hamltemplate_test.rb
|
30
37
|
test/tilt_lesstemplate_test.rb
|
31
38
|
test/tilt_liquidtemplate_test.rb
|
39
|
+
test/tilt_markaby_test.rb
|
40
|
+
test/tilt_nokogiritemplate_test.rb
|
32
41
|
test/tilt_radiustemplate_test.rb
|
33
42
|
test/tilt_rdiscounttemplate_test.rb
|
34
43
|
test/tilt_rdoctemplate_test.rb
|
@@ -53,6 +62,9 @@ Gem::Specification.new do |s|
|
|
53
62
|
s.add_development_dependency 'liquid'
|
54
63
|
s.add_development_dependency 'less'
|
55
64
|
s.add_development_dependency 'radius'
|
65
|
+
s.add_development_dependency 'nokogiri'
|
66
|
+
s.add_development_dependency 'markaby'
|
67
|
+
s.add_development_dependency 'coffee-script'
|
56
68
|
|
57
69
|
s.extra_rdoc_files = %w[COPYING]
|
58
70
|
|
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tilt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 13
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
- 0
|
9
8
|
- 1
|
10
|
-
version: 1.
|
9
|
+
version: "1.1"
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Ryan Tomayko
|
@@ -15,7 +14,7 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2010-
|
17
|
+
date: 2010-09-10 00:00:00 -07:00
|
19
18
|
default_executable: tilt
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
@@ -132,6 +131,48 @@ dependencies:
|
|
132
131
|
version: "0"
|
133
132
|
type: :development
|
134
133
|
version_requirements: *id008
|
134
|
+
- !ruby/object:Gem::Dependency
|
135
|
+
name: nokogiri
|
136
|
+
prerelease: false
|
137
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
139
|
+
requirements:
|
140
|
+
- - ">="
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
hash: 3
|
143
|
+
segments:
|
144
|
+
- 0
|
145
|
+
version: "0"
|
146
|
+
type: :development
|
147
|
+
version_requirements: *id009
|
148
|
+
- !ruby/object:Gem::Dependency
|
149
|
+
name: markaby
|
150
|
+
prerelease: false
|
151
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
152
|
+
none: false
|
153
|
+
requirements:
|
154
|
+
- - ">="
|
155
|
+
- !ruby/object:Gem::Version
|
156
|
+
hash: 3
|
157
|
+
segments:
|
158
|
+
- 0
|
159
|
+
version: "0"
|
160
|
+
type: :development
|
161
|
+
version_requirements: *id010
|
162
|
+
- !ruby/object:Gem::Dependency
|
163
|
+
name: coffee-script
|
164
|
+
prerelease: false
|
165
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
166
|
+
none: false
|
167
|
+
requirements:
|
168
|
+
- - ">="
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
hash: 3
|
171
|
+
segments:
|
172
|
+
- 0
|
173
|
+
version: "0"
|
174
|
+
type: :development
|
175
|
+
version_requirements: *id011
|
135
176
|
description: Generic interface to multiple Ruby template engines
|
136
177
|
email: r@tomayko.com
|
137
178
|
executables:
|
@@ -148,14 +189,23 @@ files:
|
|
148
189
|
- bin/tilt
|
149
190
|
- lib/tilt.rb
|
150
191
|
- test/contest.rb
|
192
|
+
- test/markaby/locals.mab
|
193
|
+
- test/markaby/markaby.mab
|
194
|
+
- test/markaby/markaby_other_static.mab
|
195
|
+
- test/markaby/render_twice.mab
|
196
|
+
- test/markaby/scope.mab
|
197
|
+
- test/markaby/yielding.mab
|
151
198
|
- test/tilt_buildertemplate_test.rb
|
152
199
|
- test/tilt_cache_test.rb
|
200
|
+
- test/tilt_coffeescripttemplate_test.rb
|
153
201
|
- test/tilt_compilesite_test.rb
|
154
202
|
- test/tilt_erbtemplate_test.rb
|
155
203
|
- test/tilt_erubistemplate_test.rb
|
156
204
|
- test/tilt_hamltemplate_test.rb
|
157
205
|
- test/tilt_lesstemplate_test.rb
|
158
206
|
- test/tilt_liquidtemplate_test.rb
|
207
|
+
- test/tilt_markaby_test.rb
|
208
|
+
- test/tilt_nokogiritemplate_test.rb
|
159
209
|
- test/tilt_radiustemplate_test.rb
|
160
210
|
- test/tilt_rdiscounttemplate_test.rb
|
161
211
|
- test/tilt_rdoctemplate_test.rb
|
@@ -207,12 +257,15 @@ summary: Generic interface to multiple Ruby template engines
|
|
207
257
|
test_files:
|
208
258
|
- test/tilt_buildertemplate_test.rb
|
209
259
|
- test/tilt_cache_test.rb
|
260
|
+
- test/tilt_coffeescripttemplate_test.rb
|
210
261
|
- test/tilt_compilesite_test.rb
|
211
262
|
- test/tilt_erbtemplate_test.rb
|
212
263
|
- test/tilt_erubistemplate_test.rb
|
213
264
|
- test/tilt_hamltemplate_test.rb
|
214
265
|
- test/tilt_lesstemplate_test.rb
|
215
266
|
- test/tilt_liquidtemplate_test.rb
|
267
|
+
- test/tilt_markaby_test.rb
|
268
|
+
- test/tilt_nokogiritemplate_test.rb
|
216
269
|
- test/tilt_radiustemplate_test.rb
|
217
270
|
- test/tilt_rdiscounttemplate_test.rb
|
218
271
|
- test/tilt_rdoctemplate_test.rb
|