tilt 1.0.1 → 1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|