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.
Files changed (89) hide show
  1. checksums.yaml +8 -8
  2. data/.gitignore +2 -0
  3. data/.travis.yml +12 -0
  4. data/CHANGELOG.md +102 -0
  5. data/Gemfile +5 -0
  6. data/MIT_LICENSE +20 -0
  7. data/README.md +10 -10
  8. data/Rakefile +9 -0
  9. data/bin/roger +5 -0
  10. data/doc/cli.md +46 -0
  11. data/doc/mockupfile.md +3 -0
  12. data/doc/templating.md +88 -0
  13. data/examples/default_template/.gitignore +2 -0
  14. data/examples/default_template/CHANGELOG +0 -0
  15. data/examples/default_template/Gemfile +3 -0
  16. data/examples/default_template/Mockupfile +1 -0
  17. data/examples/default_template/html/.empty_directory +0 -0
  18. data/examples/default_template/partials/.empty_directory +0 -0
  19. data/lib/roger/cli/command.rb +23 -0
  20. data/lib/roger/cli/generate.rb +5 -0
  21. data/lib/roger/cli/release.rb +10 -0
  22. data/lib/roger/cli/serve.rb +29 -0
  23. data/lib/roger/cli.rb +123 -0
  24. data/lib/roger/extractor.rb +95 -0
  25. data/lib/roger/generators/generator.rb +23 -0
  26. data/lib/roger/generators/new.rb +67 -0
  27. data/lib/roger/generators/templates/generator.tt +13 -0
  28. data/lib/roger/generators.rb +23 -0
  29. data/lib/roger/mockupfile.rb +63 -0
  30. data/lib/roger/project.rb +92 -0
  31. data/lib/roger/rack/html_validator.rb +26 -0
  32. data/lib/roger/rack/roger.rb +52 -0
  33. data/lib/roger/rack/sleep.rb +21 -0
  34. data/lib/roger/release/cleaner.rb +47 -0
  35. data/lib/roger/release/finalizers/dir.rb +29 -0
  36. data/lib/roger/release/finalizers/git_branch.rb +92 -0
  37. data/lib/roger/release/finalizers/rsync.rb +77 -0
  38. data/lib/roger/release/finalizers/zip.rb +42 -0
  39. data/lib/roger/release/finalizers.rb +19 -0
  40. data/lib/roger/release/injector.rb +99 -0
  41. data/lib/roger/release/processors/mockup.rb +93 -0
  42. data/lib/roger/release/processors/url_relativizer.rb +45 -0
  43. data/lib/roger/release/processors.rb +17 -0
  44. data/lib/roger/release/scm/git.rb +101 -0
  45. data/lib/roger/release/scm.rb +32 -0
  46. data/lib/roger/release.rb +363 -0
  47. data/lib/roger/resolver.rb +119 -0
  48. data/lib/roger/server.rb +117 -0
  49. data/lib/roger/template.rb +206 -0
  50. data/lib/roger/w3c_validator.rb +129 -0
  51. data/roger.gemspec +35 -0
  52. data/test/Mockupfile-syntax.rb +85 -0
  53. data/test/project/.rvmrc +1 -0
  54. data/test/project/Gemfile +7 -0
  55. data/test/project/Gemfile.lock +38 -0
  56. data/test/project/Mockupfile +13 -0
  57. data/test/project/html/formats/erb.html.erb +5 -0
  58. data/test/project/html/formats/index.html +1 -0
  59. data/test/project/html/formats/json.json.erb +0 -0
  60. data/test/project/html/formats/markdown.md +3 -0
  61. data/test/project/html/formats/mockup.html +5 -0
  62. data/test/project/html/front_matter/erb.html.erb +16 -0
  63. data/test/project/html/front_matter/markdown.md +7 -0
  64. data/test/project/html/layouts/content-for.html.erb +17 -0
  65. data/test/project/html/layouts/erb.html.erb +19 -0
  66. data/test/project/html/mockup/encoding.html +3 -0
  67. data/test/project/html/partials/erb.html.erb +10 -0
  68. data/test/project/html/partials/load_path.html.erb +3 -0
  69. data/test/project/html/partials/mockup.html +13 -0
  70. data/test/project/html/static/non-relative.html.erb +9 -0
  71. data/test/project/html/static/relative.html.erb +9 -0
  72. data/test/project/layouts/test.html.erb +34 -0
  73. data/test/project/layouts/yield.html.erb +1 -0
  74. data/test/project/lib/generators/test.rb +9 -0
  75. data/test/project/partials/formats/erb.html.erb +1 -0
  76. data/test/project/partials/partials-test.html.erb +1 -0
  77. data/test/project/partials/test/erb.html.erb +1 -0
  78. data/test/project/partials/test/front_matter.html.erb +1 -0
  79. data/test/project/partials/test/json.json.erb +1 -0
  80. data/test/project/partials/test/markdown.md +1 -0
  81. data/test/project/partials/test/mockup.part.html +1 -0
  82. data/test/project/partials/test/simple.html.erb +1 -0
  83. data/test/project/partials2/partials2-test.html.erb +1 -0
  84. data/test/unit/cli_test.rb +12 -0
  85. data/test/unit/generators_test.rb +75 -0
  86. data/test/unit/release/cleaner_test.rb +47 -0
  87. data/test/unit/resolver_test.rb +92 -0
  88. data/test/unit/template_test.rb +127 -0
  89. 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,9 @@
1
+ class TestGenerator < Roger::Generators::Base
2
+
3
+ def do
4
+ puts "Done!"
5
+ end
6
+
7
+ end
8
+
9
+ Roger::Generators::Base.register TestGenerator
@@ -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,12 @@
1
+ require "./lib/roger/cli.rb"
2
+ require "test/unit"
3
+
4
+ module Roger
5
+ class CliTest < Test::Unit::TestCase
6
+
7
+ def test_register_generators
8
+ assert_includes Cli::Base.subcommands, "generate"
9
+ end
10
+
11
+ end
12
+ end
@@ -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.1
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-29 00:00:00.000000000 Z
13
+ date: 2014-04-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: html_mockup
16
+ name: thor
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 0.8.4
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.8.4
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
- homepage: http://github.com/digitpaint/html_mockup
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