fun_with_templates 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.document +5 -0
- data/CHANGELOG.markdown +6 -0
- data/Gemfile +18 -0
- data/LICENSE.txt +20 -0
- data/README.rdoc +67 -0
- data/Rakefile +45 -0
- data/VERSION +1 -0
- data/lib/fun_with/core_extensions/kernel.rb +18 -0
- data/lib/fun_with/templates/directory_builder.rb +36 -0
- data/lib/fun_with/templates/filename_var_data.rb +42 -0
- data/lib/fun_with/templates/template_evaluator.rb +307 -0
- data/lib/fun_with_templates.rb +4 -0
- data/test/helper.rb +57 -0
- data/test/templates/00/a.rb.template +7 -0
- data/test/templates/00/dir/subdir/style.css +4 -0
- data/test/templates/00/seqfiles/page%0000i%.html.template +12 -0
- data/test/templates/00/seqfiles/page%j%.html.template +12 -0
- data/test/templates/00/seqfiles/page_about_%critter_name%.html.template +15 -0
- data/test/templates/01/%string.length%/%string%-%string.length%.nontemplate +1 -0
- data/test/templates/01/%string.length%/%string%-%string.length%.txt.template +1 -0
- data/test/templates/02/%class%.rb.template +6 -0
- data/test/templates/03/coordinates.%i%-%j%-%k%.html.template +14 -0
- data/test/templates/03/dir%0000i%/dir%0000j%/file%0000k%.py.template +1 -0
- data/test/templates/03/index.html.template +22 -0
- data/test/templates/epf/book/afterword.markdown +4 -0
- data/test/templates/epf/book/chapter-%0000chapter%.markdown.template +4 -0
- data/test/templates/epf/book/cover.xhtml.template +13 -0
- data/test/templates/epf/book/foreword.markdown +6 -0
- data/test/templates/epf/book/images/cover.png +0 -0
- data/test/templates/epf/book/stylesheets/stylesheet.css +2 -0
- data/test/templates/epf/book/title_page.markdown.template +5 -0
- data/test/templates/epf/notes/character.%character.name_for_file%.markdown.template +15 -0
- data/test/templates/epf/notes/images/cover.png +0 -0
- data/test/templates/epf/notes/stylesheets/stylesheet.css +2 -0
- data/test/templates/epf/settings/actions/local_action.rb.example +14 -0
- data/test/templates/epf/settings/config.rb.template +52 -0
- data/test/templates/epf/settings/htmlizers.rb +83 -0
- data/test/templates/epf/settings/wordcount.template +6 -0
- data/test/test_directory_builder.rb +24 -0
- data/test/test_filename_var_data.rb +51 -0
- data/test/test_fun_with_templates.rb +21 -0
- data/test/test_parse_filename_vars.rb +25 -0
- data/test/test_string_templates.rb +14 -0
- data/test/test_write_example_templates.rb +149 -0
- metadata +202 -0
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestFilenameVarData < FunWith::Templates::TestCase
|
4
|
+
context "testing filename substitution" do
|
5
|
+
should "fill in filename" do
|
6
|
+
filename = "hello-%name%.html"
|
7
|
+
var_data = FunWith::Templates::FilenameVarData.new( :name )
|
8
|
+
sub = "barry"
|
9
|
+
|
10
|
+
filename = var_data.fill_in_path( filename, sub )
|
11
|
+
|
12
|
+
assert_equal "hello-barry.html", filename
|
13
|
+
end
|
14
|
+
|
15
|
+
should "fill in filename via callable method" do
|
16
|
+
filename = "hello-%person.name%.html"
|
17
|
+
var_data = FunWith::Templates::FilenameVarData.new( :person, :name )
|
18
|
+
mod = Module.new do
|
19
|
+
def name
|
20
|
+
"barry"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
sub = Object.new.extend( mod )
|
25
|
+
|
26
|
+
filename = var_data.fill_in_path( filename, sub )
|
27
|
+
assert_equal "hello-barry.html", filename
|
28
|
+
end
|
29
|
+
|
30
|
+
should "fill in filename via hash key" do
|
31
|
+
filename = "hello-%person.first_name%_%person.last_name%.html"
|
32
|
+
var_data1 = FunWith::Templates::FilenameVarData.new( :person, :first_name )
|
33
|
+
var_data2 = FunWith::Templates::FilenameVarData.new( :person, :last_name )
|
34
|
+
person = { :first_name => "barry", :last_name => "wendell" }
|
35
|
+
|
36
|
+
filename = var_data1.fill_in_path( filename, person )
|
37
|
+
filename = var_data2.fill_in_path( filename, person )
|
38
|
+
|
39
|
+
assert_equal "hello-barry_wendell.html", filename
|
40
|
+
end
|
41
|
+
|
42
|
+
should "fill in multiple variables" do
|
43
|
+
filename = "coordinates-%i%-%j%-%k%.html"
|
44
|
+
|
45
|
+
var_data = [ FunWith::Templates::FilenameVarData.new(:i), FunWith::Templates::FilenameVarData.new(:j), FunWith::Templates::FilenameVarData.new(:k) ]
|
46
|
+
filename = FunWith::Templates::FilenameVarData.fill_in_path( filename, var_data, {:i => 3, :j => 2, :k => 1} )
|
47
|
+
|
48
|
+
assert_equal( "coordinates-3-2-1.html", filename )
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestFunWithTemplates < FunWith::Templates::TestCase
|
4
|
+
context "basics" do
|
5
|
+
should "accept the reality of FunWith::Templates" do
|
6
|
+
assert defined?( FunWith ), "FunWith module not defined"
|
7
|
+
assert defined?( FunWith::Templates ), "FunWith::Templates not defined."
|
8
|
+
end
|
9
|
+
|
10
|
+
should "properly root FunWith::Templates" do
|
11
|
+
assert FunWith::Templates.respond_to?(:root)
|
12
|
+
assert_equal FunWith::Templates.root, __FILE__.fwf_filepath.dirname.up
|
13
|
+
end
|
14
|
+
|
15
|
+
should "properly version FunWith::Templates" do
|
16
|
+
assert FunWith::Templates.respond_to?( :version )
|
17
|
+
assert FunWith::Templates.root( "VERSION" ).file?
|
18
|
+
assert_equal FunWith::Templates.root( "VERSION" ).read, FunWith::Templates.version.to_s
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestParseFilenameVars < FunWith::Templates::TestCase
|
4
|
+
context "parsing filename vars" do
|
5
|
+
setup do
|
6
|
+
end
|
7
|
+
|
8
|
+
should "successfully parse" do
|
9
|
+
vars = { :chapter => {:number => 3, :title => "Brokeback Fountain"}}
|
10
|
+
@template = FunWith::Templates::TemplateEvaluator.new( nil, vars )
|
11
|
+
assert_kind_of FunWith::Templates::TemplateEvaluator, @template
|
12
|
+
num, title = @template.parse_filename_vars("chap-%0000chapter.number%-%chapter.title%.html")
|
13
|
+
assert_not_nil num
|
14
|
+
assert_not_nil title
|
15
|
+
assert_equal "0000", num.num_format
|
16
|
+
assert_equal :chapter, num.name
|
17
|
+
assert_equal :number, num.method_to_call
|
18
|
+
|
19
|
+
assert_equal :chapter, title.name
|
20
|
+
assert_equal :title, title.method_to_call
|
21
|
+
assert_nil title.num_format
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class TestStringTemplates < FunWith::Templates::TestCase
|
4
|
+
context "testing template_handler" do
|
5
|
+
should "evaluate erb in a string" do
|
6
|
+
sample = "(<%= Time.now %>): <%= @var_is_set %>"
|
7
|
+
result = FunWith::Templates::TemplateEvaluator.new( sample, var_is_set: "true" ).result
|
8
|
+
|
9
|
+
assert_match /true/, result
|
10
|
+
time_string = /\((.*)\)/.match(result)[1]
|
11
|
+
assert_kind_of Time, Time.parse( time_string )
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,149 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
class String
|
4
|
+
def epf_underscorize
|
5
|
+
self.downcase.gsub(/\s+/,"_").gsub(/[\W]/,"")
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
class TestFunWithTemplates < FunWith::Templates::TestCase
|
10
|
+
context "run test templates and validate results" do
|
11
|
+
setup do
|
12
|
+
@templates_dir = FunWith::Templates.root("test", "templates")
|
13
|
+
@templates_dir.glob("*").select(&:directory?).each do |path|
|
14
|
+
instance_variable_set( "@template_#{path.basename}", path )
|
15
|
+
end
|
16
|
+
|
17
|
+
assert( @template_00.is_a?( FunWith::Files::FilePath ) )
|
18
|
+
assert( @template_01.is_a?( FunWith::Files::FilePath ) )
|
19
|
+
assert( @template_02.is_a?( FunWith::Files::FilePath ) )
|
20
|
+
assert( @template_03.is_a?( FunWith::Files::FilePath ) )
|
21
|
+
assert( @template_epf.is_a?( FunWith::Files::FilePath ) )
|
22
|
+
|
23
|
+
@dest = nil
|
24
|
+
end
|
25
|
+
|
26
|
+
teardown do
|
27
|
+
if @dest.is_a?(FunWith::Files::FilePath) && @dest.directory?
|
28
|
+
puts "removing temp directory #{@dest}" if FunWith::Templates::TemplateEvaluator::VERBOSE
|
29
|
+
FileUtils.rm_rf( @dest )
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
should "validate results of template00" do
|
34
|
+
vars = { :module => "Racer",
|
35
|
+
:class => "Car",
|
36
|
+
:args => ["size", "color", "speed"],
|
37
|
+
:i => (1..20),
|
38
|
+
:j => (0..19),
|
39
|
+
:critter_name => %w(wombat mollusc squid cat gerbil),
|
40
|
+
:critters => {
|
41
|
+
"wombat" => { :attributes => ["cunning", "lycanthropean"] },
|
42
|
+
"mollusc" => { :attributes => ["edible", "seaworthy"] },
|
43
|
+
"squid" => { :attributes => ["multifaceted", "multitentacled"] },
|
44
|
+
"cat" => { :attributes => ["glorious", "tailtwitchy"] },
|
45
|
+
"gerbil" => { :attributes => ["potato-shaped", "nervous"] }
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
@dest = FunWith::Templates::TemplateEvaluator.write( @template_00, :temp, vars )
|
50
|
+
assert @dest.directory?
|
51
|
+
assert @dest.join( "dir", "subdir" ).directory?
|
52
|
+
a_rb = @dest.join( "a.rb" )
|
53
|
+
assert a_rb.file?
|
54
|
+
assert_equal 1, a_rb.grep( /size \* color \* speed/ ).length
|
55
|
+
style_css = @dest.join( "dir", "subdir", "style.css" )
|
56
|
+
assert style_css.file?
|
57
|
+
assert_equal 1, style_css.grep( /font-weight/ ).length
|
58
|
+
seqdir = @dest.join("seqfiles")
|
59
|
+
assert_equal 20, seqdir.glob("page????.html").length
|
60
|
+
assert_equal 5, seqdir.glob("page_about_*.html").length
|
61
|
+
assert_equal 3, seqdir.join("page_about_mollusc.html").grep(/mollusc/).length
|
62
|
+
assert_equal 1, seqdir.join("page_about_cat.html").grep(/tailtwitchy/).length
|
63
|
+
assert_equal 1, seqdir.join("page_about_cat.html").grep(/glorious/).length
|
64
|
+
assert_file_contents seqdir.join("page_about_cat.html"), /tailtwitchy/
|
65
|
+
assert_file_contents seqdir.join("page_about_cat.html"), /glorious/
|
66
|
+
end
|
67
|
+
|
68
|
+
should "validate results of template_01" do
|
69
|
+
vars = { :string => %w(1 10 100 1000) }
|
70
|
+
|
71
|
+
@dest = FunWith::Templates::TemplateEvaluator.write( @template_01, :temp, vars )
|
72
|
+
|
73
|
+
assert_equal( 12, @dest.glob(:all).length )
|
74
|
+
|
75
|
+
for str in vars[:string]
|
76
|
+
txt = @dest.join( str.length.to_s, "#{str}-#{str.length}.txt" )
|
77
|
+
no_template = @dest.join( str.length.to_s, "#{str}-#{str.length}.nontemplate" )
|
78
|
+
assert_file txt
|
79
|
+
assert_file no_template
|
80
|
+
assert_file_contents no_template, /Some strings have/
|
81
|
+
assert_file_contents txt, "string #{str} has length #{str.length}"
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
should "build templates/epf" do
|
86
|
+
vars = epf_template_vars
|
87
|
+
dest = FunWith::Templates::TemplateEvaluator.write( @template_epf, :temp, vars )
|
88
|
+
|
89
|
+
afterword = dest.join("book", "afterword.markdown")
|
90
|
+
assert_file afterword
|
91
|
+
|
92
|
+
|
93
|
+
ch20 = dest.join( "book", "chapter-0020.markdown" )
|
94
|
+
assert_file ch20
|
95
|
+
assert_equal 1, ch20.grep( /^Chapter 20$/ ).length
|
96
|
+
|
97
|
+
ch01 = dest.join( "book", "chapter-0001.markdown" )
|
98
|
+
assert_file ch01
|
99
|
+
assert_equal 1, ch01.grep( /^Chapter 1$/ ).length
|
100
|
+
|
101
|
+
cover_page = dest.join( "book", "cover.xhtml" )
|
102
|
+
assert_file cover_page
|
103
|
+
assert_equal 2, cover_page.grep( /Spittleman/ ).length
|
104
|
+
|
105
|
+
config = dest.join( "settings", "config.rb" )
|
106
|
+
assert config.file?
|
107
|
+
|
108
|
+
assert_equal 1, config.grep( /36ce67/ ).length
|
109
|
+
|
110
|
+
notes_css = dest.join( "notes", "stylesheets", "stylesheet.css" )
|
111
|
+
assert_file_not_empty notes_css
|
112
|
+
end
|
113
|
+
|
114
|
+
should "skip a file in templates/epf without character data" do
|
115
|
+
vars = epf_template_vars
|
116
|
+
vars[:character] = nil
|
117
|
+
dest = FunWith::Templates::TemplateEvaluator.write( @template_epf, :temp, vars )
|
118
|
+
|
119
|
+
assert_equal 0, dest.join("notes").glob("character.*.markdown").length
|
120
|
+
end
|
121
|
+
|
122
|
+
|
123
|
+
should "build template_03, with multiple filename variables" do
|
124
|
+
vars = { :i => 0..1, :j => 0..1, :k => 0..1 }
|
125
|
+
|
126
|
+
dest = FunWith::Templates::TemplateEvaluator.write( @template_03, :temp, vars )
|
127
|
+
|
128
|
+
entries = dest.glob( "coordinates.*.html" )
|
129
|
+
|
130
|
+
for entry in entries
|
131
|
+
assert_file entry
|
132
|
+
end
|
133
|
+
assert_equal( 8, dest.glob( "coordinates.*.html" ).length )
|
134
|
+
|
135
|
+
index = dest.join( "index.html" )
|
136
|
+
assert_equal( 8, index.grep(/<li>/).length )
|
137
|
+
|
138
|
+
for combo in [ [0,0,0], [0,0,1], [0,1,0], [0,1,1], [1,0,0], [1,0,1], [1,1,0], [1,1,1] ]
|
139
|
+
fil = dest.join("coordinates.#{combo[0]}-#{combo[1]}-#{combo[2]}.html")
|
140
|
+
assert_file fil
|
141
|
+
assert_equal( 2, fil.grep( /\(#{combo[0]}, #{combo[1]}, #{combo[2]}\)/ ).length )
|
142
|
+
|
143
|
+
pyfile = dest.join( "dir000#{combo[0]}", "dir000#{combo[1]}", "file000#{combo[2]}.py" )
|
144
|
+
assert_file pyfile
|
145
|
+
assert_equal 1, pyfile.grep( /#{combo[0]}-#{combo[1]}-#{combo[2]}/ ).length
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
metadata
ADDED
@@ -0,0 +1,202 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: fun_with_templates
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.3
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Bryce Anderson
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-04-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: fun_with_gems
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: fun_with_string_colors
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ! '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: shoulda
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.5'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.5'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rdoc
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.12'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.12'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: bundler
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1.5'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.5'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: jeweler
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2.0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '2.0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: debugger
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ~>
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '1.6'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ~>
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '1.6'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: fun_with_testing
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0.0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ~>
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0.0'
|
125
|
+
description: A simple approach to 'fill in the blank' file templates, which may be
|
126
|
+
useful for some tasks.
|
127
|
+
email: keeputahweird@gmail.com
|
128
|
+
executables: []
|
129
|
+
extensions: []
|
130
|
+
extra_rdoc_files:
|
131
|
+
- LICENSE.txt
|
132
|
+
- README.rdoc
|
133
|
+
files:
|
134
|
+
- .document
|
135
|
+
- CHANGELOG.markdown
|
136
|
+
- Gemfile
|
137
|
+
- LICENSE.txt
|
138
|
+
- README.rdoc
|
139
|
+
- Rakefile
|
140
|
+
- VERSION
|
141
|
+
- lib/fun_with/core_extensions/kernel.rb
|
142
|
+
- lib/fun_with/templates/directory_builder.rb
|
143
|
+
- lib/fun_with/templates/filename_var_data.rb
|
144
|
+
- lib/fun_with/templates/template_evaluator.rb
|
145
|
+
- lib/fun_with_templates.rb
|
146
|
+
- test/helper.rb
|
147
|
+
- test/templates/00/a.rb.template
|
148
|
+
- test/templates/00/dir/subdir/style.css
|
149
|
+
- test/templates/00/seqfiles/page%0000i%.html.template
|
150
|
+
- test/templates/00/seqfiles/page%j%.html.template
|
151
|
+
- test/templates/00/seqfiles/page_about_%critter_name%.html.template
|
152
|
+
- test/templates/01/%string.length%/%string%-%string.length%.nontemplate
|
153
|
+
- test/templates/01/%string.length%/%string%-%string.length%.txt.template
|
154
|
+
- test/templates/02/%class%.rb.template
|
155
|
+
- test/templates/03/coordinates.%i%-%j%-%k%.html.template
|
156
|
+
- test/templates/03/dir%0000i%/dir%0000j%/file%0000k%.py.template
|
157
|
+
- test/templates/03/index.html.template
|
158
|
+
- test/templates/epf/book/afterword.markdown
|
159
|
+
- test/templates/epf/book/chapter-%0000chapter%.markdown.template
|
160
|
+
- test/templates/epf/book/cover.xhtml.template
|
161
|
+
- test/templates/epf/book/foreword.markdown
|
162
|
+
- test/templates/epf/book/images/cover.png
|
163
|
+
- test/templates/epf/book/stylesheets/stylesheet.css
|
164
|
+
- test/templates/epf/book/title_page.markdown.template
|
165
|
+
- test/templates/epf/notes/character.%character.name_for_file%.markdown.template
|
166
|
+
- test/templates/epf/notes/images/cover.png
|
167
|
+
- test/templates/epf/notes/stylesheets/stylesheet.css
|
168
|
+
- test/templates/epf/settings/actions/local_action.rb.example
|
169
|
+
- test/templates/epf/settings/config.rb.template
|
170
|
+
- test/templates/epf/settings/htmlizers.rb
|
171
|
+
- test/templates/epf/settings/wordcount.template
|
172
|
+
- test/test_directory_builder.rb
|
173
|
+
- test/test_filename_var_data.rb
|
174
|
+
- test/test_fun_with_templates.rb
|
175
|
+
- test/test_parse_filename_vars.rb
|
176
|
+
- test/test_string_templates.rb
|
177
|
+
- test/test_write_example_templates.rb
|
178
|
+
homepage: http://github.com/darthschmoo/fun_with_templates
|
179
|
+
licenses:
|
180
|
+
- MIT
|
181
|
+
metadata: {}
|
182
|
+
post_install_message:
|
183
|
+
rdoc_options: []
|
184
|
+
require_paths:
|
185
|
+
- lib
|
186
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
187
|
+
requirements:
|
188
|
+
- - ! '>='
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: '0'
|
191
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
192
|
+
requirements:
|
193
|
+
- - ! '>='
|
194
|
+
- !ruby/object:Gem::Version
|
195
|
+
version: '0'
|
196
|
+
requirements: []
|
197
|
+
rubyforge_project:
|
198
|
+
rubygems_version: 2.2.2
|
199
|
+
signing_key:
|
200
|
+
specification_version: 4
|
201
|
+
summary: Templates made stupid
|
202
|
+
test_files: []
|