roger 0.0.1 → 0.10.0
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.
- checksums.yaml +8 -8
- data/.gitignore +2 -0
- data/.travis.yml +12 -0
- data/CHANGELOG.md +102 -0
- data/Gemfile +5 -0
- data/MIT_LICENSE +20 -0
- data/README.md +10 -10
- data/Rakefile +9 -0
- data/bin/roger +5 -0
- data/doc/cli.md +46 -0
- data/doc/mockupfile.md +3 -0
- data/doc/templating.md +88 -0
- data/examples/default_template/.gitignore +2 -0
- data/examples/default_template/CHANGELOG +0 -0
- data/examples/default_template/Gemfile +3 -0
- data/examples/default_template/Mockupfile +1 -0
- data/examples/default_template/html/.empty_directory +0 -0
- data/examples/default_template/partials/.empty_directory +0 -0
- data/lib/roger/cli/command.rb +23 -0
- data/lib/roger/cli/generate.rb +5 -0
- data/lib/roger/cli/release.rb +10 -0
- data/lib/roger/cli/serve.rb +29 -0
- data/lib/roger/cli.rb +123 -0
- data/lib/roger/extractor.rb +95 -0
- data/lib/roger/generators/generator.rb +23 -0
- data/lib/roger/generators/new.rb +67 -0
- data/lib/roger/generators/templates/generator.tt +13 -0
- data/lib/roger/generators.rb +23 -0
- data/lib/roger/mockupfile.rb +63 -0
- data/lib/roger/project.rb +92 -0
- data/lib/roger/rack/html_validator.rb +26 -0
- data/lib/roger/rack/roger.rb +52 -0
- data/lib/roger/rack/sleep.rb +21 -0
- data/lib/roger/release/cleaner.rb +47 -0
- data/lib/roger/release/finalizers/dir.rb +29 -0
- data/lib/roger/release/finalizers/git_branch.rb +92 -0
- data/lib/roger/release/finalizers/rsync.rb +77 -0
- data/lib/roger/release/finalizers/zip.rb +42 -0
- data/lib/roger/release/finalizers.rb +19 -0
- data/lib/roger/release/injector.rb +99 -0
- data/lib/roger/release/processors/mockup.rb +93 -0
- data/lib/roger/release/processors/url_relativizer.rb +45 -0
- data/lib/roger/release/processors.rb +17 -0
- data/lib/roger/release/scm/git.rb +101 -0
- data/lib/roger/release/scm.rb +32 -0
- data/lib/roger/release.rb +363 -0
- data/lib/roger/resolver.rb +119 -0
- data/lib/roger/server.rb +117 -0
- data/lib/roger/template.rb +206 -0
- data/lib/roger/w3c_validator.rb +129 -0
- data/roger.gemspec +35 -0
- data/test/Mockupfile-syntax.rb +85 -0
- data/test/project/.rvmrc +1 -0
- data/test/project/Gemfile +7 -0
- data/test/project/Gemfile.lock +38 -0
- data/test/project/Mockupfile +13 -0
- data/test/project/html/formats/erb.html.erb +5 -0
- data/test/project/html/formats/index.html +1 -0
- data/test/project/html/formats/json.json.erb +0 -0
- data/test/project/html/formats/markdown.md +3 -0
- data/test/project/html/formats/mockup.html +5 -0
- data/test/project/html/front_matter/erb.html.erb +16 -0
- data/test/project/html/front_matter/markdown.md +7 -0
- data/test/project/html/layouts/content-for.html.erb +17 -0
- data/test/project/html/layouts/erb.html.erb +19 -0
- data/test/project/html/mockup/encoding.html +3 -0
- data/test/project/html/partials/erb.html.erb +10 -0
- data/test/project/html/partials/load_path.html.erb +3 -0
- data/test/project/html/partials/mockup.html +13 -0
- data/test/project/html/static/non-relative.html.erb +9 -0
- data/test/project/html/static/relative.html.erb +9 -0
- data/test/project/layouts/test.html.erb +34 -0
- data/test/project/layouts/yield.html.erb +1 -0
- data/test/project/lib/generators/test.rb +9 -0
- data/test/project/partials/formats/erb.html.erb +1 -0
- data/test/project/partials/partials-test.html.erb +1 -0
- data/test/project/partials/test/erb.html.erb +1 -0
- data/test/project/partials/test/front_matter.html.erb +1 -0
- data/test/project/partials/test/json.json.erb +1 -0
- data/test/project/partials/test/markdown.md +1 -0
- data/test/project/partials/test/mockup.part.html +1 -0
- data/test/project/partials/test/simple.html.erb +1 -0
- data/test/project/partials2/partials2-test.html.erb +1 -0
- data/test/unit/cli_test.rb +12 -0
- data/test/unit/generators_test.rb +75 -0
- data/test/unit/release/cleaner_test.rb +47 -0
- data/test/unit/resolver_test.rb +92 -0
- data/test/unit/template_test.rb +127 -0
- metadata +202 -8
@@ -0,0 +1,34 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title><%= document.title %></title>
|
5
|
+
</head>
|
6
|
+
<body>
|
7
|
+
<h1>H1 from layout</h1>
|
8
|
+
|
9
|
+
<% @var_from_layout_before = "VAR from layout before yield is OK!" %>
|
10
|
+
|
11
|
+
<!-- Template content -->
|
12
|
+
<%= yield %>
|
13
|
+
<!-- /Template content -->
|
14
|
+
|
15
|
+
<% @var_from_layout_after = "VAR from layout after yield is OK!" %>
|
16
|
+
|
17
|
+
|
18
|
+
<h2>Partials in layout</h2>
|
19
|
+
|
20
|
+
<h3>ERB</h3>
|
21
|
+
<%= partial "test/erb", :locals => {:value => "value"} %>
|
22
|
+
|
23
|
+
<h3>MD</h3>
|
24
|
+
<%= partial "test/markdown" %>
|
25
|
+
|
26
|
+
<h3>Content for "one"</h3>
|
27
|
+
<%= yield :one %>
|
28
|
+
|
29
|
+
|
30
|
+
<h3>Content for "two"</h3>
|
31
|
+
<%= yield :two %>
|
32
|
+
|
33
|
+
</body>
|
34
|
+
</html>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= yield %><%= yield :one %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= "erb" %>
|
@@ -0,0 +1 @@
|
|
1
|
+
partials/partial-test.html.erb
|
@@ -0,0 +1 @@
|
|
1
|
+
Let's render some ERB! (Value is <%= value %>)
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= document.test %>
|
@@ -0,0 +1 @@
|
|
1
|
+
{ key: <%= "value" %> }
|
@@ -0,0 +1 @@
|
|
1
|
+
Let's render some **markdown**
|
@@ -0,0 +1 @@
|
|
1
|
+
Let's render some old style ERB! (Value is <%= @value %>)
|
@@ -0,0 +1 @@
|
|
1
|
+
ERB
|
@@ -0,0 +1 @@
|
|
1
|
+
partials2/partials2-test.html.erb
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# Generators register themself on the CLI module
|
2
|
+
require "./lib/roger/generators.rb"
|
3
|
+
require "test/unit"
|
4
|
+
|
5
|
+
module CustomGens
|
6
|
+
module Generators
|
7
|
+
|
8
|
+
class MockedGenerator < Roger::Generators::Base
|
9
|
+
|
10
|
+
desc "@mocked description"
|
11
|
+
argument :path, :type => :string, :required => false, :desc => "Path to generate mockup into"
|
12
|
+
argument :another_arg, :type => :string, :required => false, :desc => "Mocked or what?!"
|
13
|
+
|
14
|
+
def test
|
15
|
+
# Somewhat ugly way of checking
|
16
|
+
raise NotImplementedError
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
class MockedWithProjectGenerator < Roger::Generators::Base
|
21
|
+
|
22
|
+
desc "Returns a project"
|
23
|
+
def test
|
24
|
+
# Somewhat ugly way of checking
|
25
|
+
raise StandardError if @project
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
module Roger
|
33
|
+
class GeneratorTest < Test::Unit::TestCase
|
34
|
+
def setup
|
35
|
+
@cli = Cli::Base.new
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_working_project
|
39
|
+
Roger::Generators::Base.register CustomGens::Generators::MockedWithProjectGenerator
|
40
|
+
generators = Cli::Generate.new
|
41
|
+
|
42
|
+
assert_raise StandardError do
|
43
|
+
generators.invoke "mockedwithproject"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_register_generator
|
48
|
+
Roger::Generators::Base.register CustomGens::Generators::MockedGenerator
|
49
|
+
assert_includes Cli::Generate.tasks, "mocked"
|
50
|
+
assert_equal Cli::Generate.tasks["mocked"].description, "@mocked description"
|
51
|
+
assert_equal Cli::Generate.tasks["mocked"].usage, "mocked PATH ANOTHER_ARG"
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_default_generator
|
55
|
+
assert_includes Cli::Generate.tasks, "new"
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_generator_generator
|
59
|
+
generators = Cli::Generate.new
|
60
|
+
name = "tralal"
|
61
|
+
path = "./tmp"
|
62
|
+
generators.invoke :generator, [name, path]
|
63
|
+
assert File.exist? "#{path}/#{name}_generator.rb"
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_invoke_mocked_generator
|
67
|
+
Roger::Generators::Base.register CustomGens::Generators::MockedGenerator
|
68
|
+
|
69
|
+
generators = Cli::Generate.new
|
70
|
+
assert_raise NotImplementedError do
|
71
|
+
generators.invoke :mocked
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require "./lib/roger/release.rb"
|
2
|
+
require "./lib/roger/release/cleaner.rb"
|
3
|
+
require "test/unit"
|
4
|
+
|
5
|
+
class CleanerTest < Test::Unit::TestCase
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@base = File.dirname(__FILE__) + "/../../project"
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_only_clean_inside_build_path_relative
|
12
|
+
|
13
|
+
cleaner = Roger::Release::Cleaner.new(@base)
|
14
|
+
inside_build_path = cleaner.send :is_inside_build_path, @base, @base + "/html/formats"
|
15
|
+
|
16
|
+
assert(inside_build_path, "Only delete content inside build_path")
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_only_clean_inside_build_path_absolute
|
20
|
+
path = Pathname.new(@base).realpath.to_s
|
21
|
+
cleaner = Roger::Release::Cleaner.new(path)
|
22
|
+
|
23
|
+
inside_build_path = cleaner.send :is_inside_build_path, path, @base + "/html/formats"
|
24
|
+
|
25
|
+
assert(inside_build_path, "Only delete content inside build_path")
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
def test_dont_clean_outside_build_path
|
30
|
+
path = File.dirname(__FILE__)
|
31
|
+
cleaner = Roger::Release::Cleaner.new(path)
|
32
|
+
|
33
|
+
assert_raise RuntimeError do
|
34
|
+
inside_build_path = cleaner.send :is_inside_build_path, path, @base + "/html/formats"
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_dont_fail_on_nonexistent_files
|
40
|
+
path = "bla"
|
41
|
+
cleaner = Roger::Release::Cleaner.new(path)
|
42
|
+
|
43
|
+
assert !cleaner.send(:is_inside_build_path, @base + "/html/formats", path), "Failed on nonexistent directories/files"
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
# Generators register themself on the CLI module
|
2
|
+
require "./lib/roger/resolver.rb"
|
3
|
+
require "test/unit"
|
4
|
+
|
5
|
+
module Roger
|
6
|
+
class ResolverTest < Test::Unit::TestCase
|
7
|
+
def setup
|
8
|
+
@base = Pathname.new(File.dirname(__FILE__) + "/../project/html")
|
9
|
+
@resolver = Roger::Resolver.new(@base)
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_find_template_path
|
13
|
+
assert_equal @resolver.find_template("formats/mockup.html"), @base + "formats/mockup.html"
|
14
|
+
|
15
|
+
# This should not be found on it's own as it will be processed
|
16
|
+
assert_equal @resolver.find_template("formats/markdown.md"), nil
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_find_template_index_path
|
20
|
+
assert_equal @resolver.find_template("formats"), @base + "formats/index.html"
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_find_template_html_without_extension
|
24
|
+
assert_equal @resolver.find_template("formats/index"), @base + "formats/index.html"
|
25
|
+
assert_equal @resolver.find_template("formats/erb"), @base + "formats/erb.html.erb"
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_find_template_with_template_extension
|
29
|
+
assert_equal @resolver.find_template("formats/markdown"), @base + "formats/markdown.md"
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_find_template_with_double_extensions
|
33
|
+
assert_equal @resolver.find_template("formats/erb"), @base + "formats/erb.html.erb"
|
34
|
+
assert_equal @resolver.find_template("formats/erb.html"), @base + "formats/erb.html.erb"
|
35
|
+
|
36
|
+
assert_equal @resolver.find_template("formats/json.json"), @base + "formats/json.json.erb"
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_find_template_with_preferred_extension
|
40
|
+
assert_equal @resolver.find_template("formats/json", :preferred_extension => "json"), @base + "formats/json.json.erb"
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_find_template_exact_match
|
44
|
+
# TODO
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_path_to_url
|
48
|
+
assert_equal @resolver.path_to_url(@base + "formats/erb.html.erb"), "/formats/erb.html.erb"
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_path_to_url_relative_to_relative_path
|
52
|
+
assert_equal @resolver.path_to_url(@base + "formats/erb.html.erb", "../front_matter/erb.html.erb"), "../formats/erb.html.erb"
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_path_to_url_relative_to_absolute_path
|
56
|
+
assert_equal @resolver.path_to_url(@base + "formats/erb.html.erb", @base.realpath + "front_matter/erb.html.erb"), "../formats/erb.html.erb"
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
class ResolverMultipleTest < Test::Unit::TestCase
|
62
|
+
def setup
|
63
|
+
@base = Pathname.new(File.dirname(__FILE__) + "/../project")
|
64
|
+
@resolver = Roger::Resolver.new([@base + "html", @base + "partials"])
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_add_load_path
|
68
|
+
@resolver.load_paths << @base + "henk"
|
69
|
+
|
70
|
+
assert_equal @resolver.load_paths, [@base + "html", @base + "partials", @base + "henk"]
|
71
|
+
end
|
72
|
+
|
73
|
+
def test_find_template_path
|
74
|
+
assert_equal @resolver.find_template("formats/index"), @base + "html/formats/index.html"
|
75
|
+
assert_equal @resolver.find_template("test/simple"), @base + "partials/test/simple.html.erb"
|
76
|
+
end
|
77
|
+
|
78
|
+
def test_find_template_path_ordered
|
79
|
+
assert_equal @resolver.find_template("formats/erb"), @base + "html/formats/erb.html.erb"
|
80
|
+
|
81
|
+
@resolver.load_paths.reverse!
|
82
|
+
|
83
|
+
assert_equal @resolver.find_template("formats/erb"), @base + "partials/formats/erb.html.erb"
|
84
|
+
end
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
end
|
91
|
+
|
92
|
+
end
|
@@ -0,0 +1,127 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
# Generators register themself on the CLI module
|
3
|
+
require "./lib/roger/template.rb"
|
4
|
+
require "test/unit"
|
5
|
+
|
6
|
+
module Roger
|
7
|
+
class TemplateTest < Test::Unit::TestCase
|
8
|
+
def setup
|
9
|
+
@base = Pathname.new(File.dirname(__FILE__) + "/../project")
|
10
|
+
@config = {
|
11
|
+
:partials_path => @base + "partials",
|
12
|
+
:layouts_path => @base + "layouts"
|
13
|
+
}
|
14
|
+
@template_path = @base + "html"
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_encoding
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
# Extension
|
22
|
+
def test_source_extension
|
23
|
+
mime_types = {
|
24
|
+
"html" => "html",
|
25
|
+
"html.erb" => "html.erb",
|
26
|
+
"css.erb" => "css.erb",
|
27
|
+
"json.erb" => "json.erb",
|
28
|
+
"sjon.json.erb" => "json.erb",
|
29
|
+
"js.erb" => "js.erb"
|
30
|
+
}
|
31
|
+
|
32
|
+
mime_types.each do |ext, ext_out|
|
33
|
+
assert_equal ext_out, Template.new("", @config.update(:source_path => @base + "html/file.#{ext}")).source_extension
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_target_extension
|
38
|
+
mime_types = {
|
39
|
+
"html" => "html",
|
40
|
+
"html.erb" => "html",
|
41
|
+
"css.erb" => "css",
|
42
|
+
"json.erb" => "json",
|
43
|
+
"js.erb" => "js"
|
44
|
+
}
|
45
|
+
|
46
|
+
mime_types.each do |ext, ext_out|
|
47
|
+
assert_equal ext_out, Template.new("", @config.update(:source_path => @base + "html/file.#{ext}")).target_extension
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
|
52
|
+
# Mime type
|
53
|
+
def test_target_mime_type
|
54
|
+
mime_types = {
|
55
|
+
"html" => "text/html",
|
56
|
+
"html.erb" => "text/html",
|
57
|
+
"css.erb" => "text/css",
|
58
|
+
"json.erb" => "application/json"
|
59
|
+
}
|
60
|
+
|
61
|
+
mime_types.each do |ext, mime|
|
62
|
+
assert_equal mime, Template.new("", @config.update(:source_path => @base + "html/file.#{ext}")).target_mime_type
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
# Front-matter
|
67
|
+
|
68
|
+
def test_front_matter_partial_access
|
69
|
+
template = Template.new("---\ntest: yay!\n---\n<%= partial 'test/front_matter' %>", @config.update(:source_path => @base + "html/test.html.erb"))
|
70
|
+
assert_equal template.render, "yay!"
|
71
|
+
end
|
72
|
+
|
73
|
+
# Partials
|
74
|
+
|
75
|
+
def test_encoding_in_partials
|
76
|
+
end
|
77
|
+
|
78
|
+
def test_partial
|
79
|
+
template = Template.new("<%= partial 'test/simple' %>", @config.update(:source_path => @base + "html/test.html.erb"))
|
80
|
+
assert_equal template.render, "ERB"
|
81
|
+
|
82
|
+
template = Template.new("<%= partial 'test/simple.html' %>", @config.update(:source_path => @base + "html/test.erb"))
|
83
|
+
assert_equal template.render, "ERB"
|
84
|
+
end
|
85
|
+
|
86
|
+
def test_partial_with_double_template_extensions
|
87
|
+
template = Template.new("<%= partial 'test/json.json' %>", @config.update(:source_path => @base + "html/test.erb"))
|
88
|
+
assert_equal template.render, "{ key: value }"
|
89
|
+
end
|
90
|
+
|
91
|
+
def test_partial_with_preferred_extension
|
92
|
+
template = Template.new("<%= partial 'test/json' %>", @config.update(:source_path => @base + "html/test.html.erb"))
|
93
|
+
assert_raise(ArgumentError) {
|
94
|
+
template.render
|
95
|
+
}
|
96
|
+
|
97
|
+
template = Template.new("<%= partial 'test/json' %>", @config.update(:source_path => @base + "html/test.json.erb"))
|
98
|
+
assert_equal template.render, "{ key: value }"
|
99
|
+
|
100
|
+
end
|
101
|
+
|
102
|
+
# Content for parts
|
103
|
+
|
104
|
+
def test_content_for_not_returning_in_template
|
105
|
+
content_for_block = 'B<% content_for :one do %><%= "one" %><% end %>A'
|
106
|
+
|
107
|
+
template = Template.new(content_for_block, @config.update(:source_path => @base + "html/test.erb"))
|
108
|
+
assert_equal template.render, "BA"
|
109
|
+
end
|
110
|
+
|
111
|
+
def test_content_for_yield_in_layout
|
112
|
+
content_for_block = "---\nlayout: \"yield\"\n---\nB<% content_for :one do %><%= \"one\" %><% end %>A"
|
113
|
+
|
114
|
+
template = Template.new(content_for_block, @config.update(:source_path => @base + "html/test.html.erb"))
|
115
|
+
assert_equal template.render, "BAone"
|
116
|
+
end
|
117
|
+
|
118
|
+
def test_content_for_yield_in_layout_without_content_for
|
119
|
+
content_for_block = "---\nlayout: \"yield\"\n---\nBA"
|
120
|
+
|
121
|
+
template = Template.new(content_for_block, @config.update(:source_path => @base + "html/test.html.erb"))
|
122
|
+
assert_equal template.render, "BA"
|
123
|
+
end
|
124
|
+
|
125
|
+
|
126
|
+
end
|
127
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Flurin Egger
|
@@ -10,33 +10,190 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-04-
|
13
|
+
date: 2014-04-30 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
16
|
+
name: thor
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.
|
21
|
+
version: 0.16.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - ~>
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 0.
|
28
|
+
version: 0.16.0
|
29
|
+
- !ruby/object:Gem::Dependency
|
30
|
+
name: rack
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - ! '>='
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: 1.0.0
|
36
|
+
type: :runtime
|
37
|
+
prerelease: false
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - ! '>='
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 1.0.0
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: tilt
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ~>
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 2.0.1
|
50
|
+
type: :runtime
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - ~>
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 2.0.1
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: mime-types
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ~>
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '2.2'
|
64
|
+
type: :runtime
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ~>
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '2.2'
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: hpricot
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.6.4
|
78
|
+
type: :runtime
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - ! '>='
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: 0.6.4
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: test-unit
|
87
|
+
requirement: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ~>
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: 2.5.5
|
92
|
+
type: :development
|
93
|
+
prerelease: false
|
94
|
+
version_requirements: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - ~>
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: 2.5.5
|
29
99
|
description:
|
30
100
|
email:
|
31
101
|
- info@digitpaint.nl
|
32
102
|
- flurin@digitpaint.nl
|
33
|
-
executables:
|
103
|
+
executables:
|
104
|
+
- roger
|
34
105
|
extensions: []
|
35
106
|
extra_rdoc_files:
|
36
107
|
- README.md
|
37
108
|
files:
|
109
|
+
- .gitignore
|
110
|
+
- .travis.yml
|
111
|
+
- CHANGELOG.md
|
112
|
+
- Gemfile
|
113
|
+
- MIT_LICENSE
|
38
114
|
- README.md
|
39
|
-
|
115
|
+
- Rakefile
|
116
|
+
- bin/roger
|
117
|
+
- doc/cli.md
|
118
|
+
- doc/mockupfile.md
|
119
|
+
- doc/templating.md
|
120
|
+
- examples/default_template/.gitignore
|
121
|
+
- examples/default_template/CHANGELOG
|
122
|
+
- examples/default_template/Gemfile
|
123
|
+
- examples/default_template/Mockupfile
|
124
|
+
- examples/default_template/html/.empty_directory
|
125
|
+
- examples/default_template/partials/.empty_directory
|
126
|
+
- lib/roger/cli.rb
|
127
|
+
- lib/roger/cli/command.rb
|
128
|
+
- lib/roger/cli/generate.rb
|
129
|
+
- lib/roger/cli/release.rb
|
130
|
+
- lib/roger/cli/serve.rb
|
131
|
+
- lib/roger/extractor.rb
|
132
|
+
- lib/roger/generators.rb
|
133
|
+
- lib/roger/generators/generator.rb
|
134
|
+
- lib/roger/generators/new.rb
|
135
|
+
- lib/roger/generators/templates/generator.tt
|
136
|
+
- lib/roger/mockupfile.rb
|
137
|
+
- lib/roger/project.rb
|
138
|
+
- lib/roger/rack/html_validator.rb
|
139
|
+
- lib/roger/rack/roger.rb
|
140
|
+
- lib/roger/rack/sleep.rb
|
141
|
+
- lib/roger/release.rb
|
142
|
+
- lib/roger/release/cleaner.rb
|
143
|
+
- lib/roger/release/finalizers.rb
|
144
|
+
- lib/roger/release/finalizers/dir.rb
|
145
|
+
- lib/roger/release/finalizers/git_branch.rb
|
146
|
+
- lib/roger/release/finalizers/rsync.rb
|
147
|
+
- lib/roger/release/finalizers/zip.rb
|
148
|
+
- lib/roger/release/injector.rb
|
149
|
+
- lib/roger/release/processors.rb
|
150
|
+
- lib/roger/release/processors/mockup.rb
|
151
|
+
- lib/roger/release/processors/url_relativizer.rb
|
152
|
+
- lib/roger/release/scm.rb
|
153
|
+
- lib/roger/release/scm/git.rb
|
154
|
+
- lib/roger/resolver.rb
|
155
|
+
- lib/roger/server.rb
|
156
|
+
- lib/roger/template.rb
|
157
|
+
- lib/roger/w3c_validator.rb
|
158
|
+
- roger.gemspec
|
159
|
+
- test/Mockupfile-syntax.rb
|
160
|
+
- test/project/.rvmrc
|
161
|
+
- test/project/Gemfile
|
162
|
+
- test/project/Gemfile.lock
|
163
|
+
- test/project/Mockupfile
|
164
|
+
- test/project/html/formats/erb.html.erb
|
165
|
+
- test/project/html/formats/index.html
|
166
|
+
- test/project/html/formats/json.json.erb
|
167
|
+
- test/project/html/formats/markdown.md
|
168
|
+
- test/project/html/formats/mockup.html
|
169
|
+
- test/project/html/front_matter/erb.html.erb
|
170
|
+
- test/project/html/front_matter/markdown.md
|
171
|
+
- test/project/html/layouts/content-for.html.erb
|
172
|
+
- test/project/html/layouts/erb.html.erb
|
173
|
+
- test/project/html/mockup/encoding.html
|
174
|
+
- test/project/html/partials/erb.html.erb
|
175
|
+
- test/project/html/partials/load_path.html.erb
|
176
|
+
- test/project/html/partials/mockup.html
|
177
|
+
- test/project/html/static/non-relative.html.erb
|
178
|
+
- test/project/html/static/relative.html.erb
|
179
|
+
- test/project/layouts/test.html.erb
|
180
|
+
- test/project/layouts/yield.html.erb
|
181
|
+
- test/project/lib/generators/test.rb
|
182
|
+
- test/project/partials/formats/erb.html.erb
|
183
|
+
- test/project/partials/partials-test.html.erb
|
184
|
+
- test/project/partials/test/erb.html.erb
|
185
|
+
- test/project/partials/test/front_matter.html.erb
|
186
|
+
- test/project/partials/test/json.json.erb
|
187
|
+
- test/project/partials/test/markdown.md
|
188
|
+
- test/project/partials/test/mockup.part.html
|
189
|
+
- test/project/partials/test/simple.html.erb
|
190
|
+
- test/project/partials2/partials2-test.html.erb
|
191
|
+
- test/unit/cli_test.rb
|
192
|
+
- test/unit/generators_test.rb
|
193
|
+
- test/unit/release/cleaner_test.rb
|
194
|
+
- test/unit/resolver_test.rb
|
195
|
+
- test/unit/template_test.rb
|
196
|
+
homepage: http://github.com/digitpaint/roger
|
40
197
|
licenses:
|
41
198
|
- MIT
|
42
199
|
metadata: {}
|
@@ -61,4 +218,41 @@ rubygems_version: 2.1.5
|
|
61
218
|
signing_key:
|
62
219
|
specification_version: 4
|
63
220
|
summary: Roger is a set of tools to create self-containing HTML mockups.
|
64
|
-
test_files:
|
221
|
+
test_files:
|
222
|
+
- test/Mockupfile-syntax.rb
|
223
|
+
- test/project/.rvmrc
|
224
|
+
- test/project/Gemfile
|
225
|
+
- test/project/Gemfile.lock
|
226
|
+
- test/project/Mockupfile
|
227
|
+
- test/project/html/formats/erb.html.erb
|
228
|
+
- test/project/html/formats/index.html
|
229
|
+
- test/project/html/formats/json.json.erb
|
230
|
+
- test/project/html/formats/markdown.md
|
231
|
+
- test/project/html/formats/mockup.html
|
232
|
+
- test/project/html/front_matter/erb.html.erb
|
233
|
+
- test/project/html/front_matter/markdown.md
|
234
|
+
- test/project/html/layouts/content-for.html.erb
|
235
|
+
- test/project/html/layouts/erb.html.erb
|
236
|
+
- test/project/html/mockup/encoding.html
|
237
|
+
- test/project/html/partials/erb.html.erb
|
238
|
+
- test/project/html/partials/load_path.html.erb
|
239
|
+
- test/project/html/partials/mockup.html
|
240
|
+
- test/project/html/static/non-relative.html.erb
|
241
|
+
- test/project/html/static/relative.html.erb
|
242
|
+
- test/project/layouts/test.html.erb
|
243
|
+
- test/project/layouts/yield.html.erb
|
244
|
+
- test/project/lib/generators/test.rb
|
245
|
+
- test/project/partials/formats/erb.html.erb
|
246
|
+
- test/project/partials/partials-test.html.erb
|
247
|
+
- test/project/partials/test/erb.html.erb
|
248
|
+
- test/project/partials/test/front_matter.html.erb
|
249
|
+
- test/project/partials/test/json.json.erb
|
250
|
+
- test/project/partials/test/markdown.md
|
251
|
+
- test/project/partials/test/mockup.part.html
|
252
|
+
- test/project/partials/test/simple.html.erb
|
253
|
+
- test/project/partials2/partials2-test.html.erb
|
254
|
+
- test/unit/cli_test.rb
|
255
|
+
- test/unit/generators_test.rb
|
256
|
+
- test/unit/release/cleaner_test.rb
|
257
|
+
- test/unit/resolver_test.rb
|
258
|
+
- test/unit/template_test.rb
|