roger 0.0.1 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
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