html_mockup 0.7.4 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +15 -0
  2. data/CHANGELOG.md +14 -0
  3. data/html_mockup.gemspec +5 -4
  4. data/lib/html_mockup/cli.rb +9 -3
  5. data/lib/html_mockup/extractor.rb +3 -1
  6. data/lib/html_mockup/mockup_template.rb +97 -0
  7. data/lib/html_mockup/project.rb +24 -14
  8. data/lib/html_mockup/rack/html_mockup.rb +15 -16
  9. data/lib/html_mockup/release.rb +53 -8
  10. data/lib/html_mockup/release/finalizers.rb +1 -0
  11. data/lib/html_mockup/release/finalizers/git_branch.rb +92 -0
  12. data/lib/html_mockup/release/finalizers/rsync.rb +34 -27
  13. data/lib/html_mockup/release/finalizers/zip.rb +1 -1
  14. data/lib/html_mockup/release/processors.rb +2 -0
  15. data/lib/html_mockup/release/processors/mockup.rb +87 -0
  16. data/lib/html_mockup/release/processors/requirejs.rb +29 -5
  17. data/lib/html_mockup/release/processors/url_relativizer.rb +44 -0
  18. data/lib/html_mockup/release/processors/yuicompressor.rb +4 -2
  19. data/lib/html_mockup/resolver.rb +23 -22
  20. data/lib/html_mockup/server.rb +11 -10
  21. data/lib/html_mockup/template.rb +100 -111
  22. data/test/project/.rvmrc +1 -0
  23. data/test/project/Gemfile +6 -0
  24. data/test/project/Gemfile.lock +35 -0
  25. data/test/project/Mockupfile +7 -0
  26. data/test/project/html/formats/erb.html.erb +5 -0
  27. data/test/project/html/formats/markdown.md +3 -0
  28. data/test/project/html/formats/mockup.html +5 -0
  29. data/test/project/html/front_matter/erb.html.erb +16 -0
  30. data/test/project/html/front_matter/markdown.md +7 -0
  31. data/test/project/html/layouts/erb.html.erb +19 -0
  32. data/test/project/html/partials/erb.html.erb +10 -0
  33. data/test/project/html/partials/mockup.html +13 -0
  34. data/test/project/layouts/test.html.erb +27 -0
  35. data/test/project/partials/test/erb.html.erb +1 -0
  36. data/test/project/partials/test/markdown.md +1 -0
  37. data/test/project/partials/test/mockup.part.html +1 -0
  38. metadata +80 -19
@@ -1,135 +1,124 @@
1
- require 'pathname'
2
- require 'strscan'
3
- require 'erb'
4
- require 'cgi'
5
1
  require 'tilt'
2
+ require 'yaml'
3
+ require 'ostruct'
4
+
5
+ require File.dirname(__FILE__) + "/mockup_template"
6
6
 
7
7
  module HtmlMockup
8
8
 
9
- class MissingPartial < StandardError; end
10
-
11
9
  class Template
12
-
10
+
11
+ # The source
12
+ attr_accessor :source
13
+
14
+ # Store the frontmatter
15
+ attr_accessor :data
16
+
17
+ # The actual Tilt template
18
+ attr_accessor :template
19
+
20
+ # The path to the source file for this template
21
+ attr_accessor :source_path
22
+
13
23
  class << self
14
- def open(filename, options={})
15
- raise "Unknown file #{filename}" unless File.exist?(filename)
16
- self.new(File.read(filename),options.update(:target_file => filename))
17
- end
24
+ def open(path, options = {})
25
+ raise "Unknown file #{path}" unless File.exist?(path)
26
+ self.new(File.read(path), options.update(:source_path => path))
27
+ end
28
+ end
29
+
30
+
31
+ # @option options [String,Pathname] :source_path The path to the source of the template being processed
32
+ # @option options [String,Pathname] :layouts_path The path to where all layouts reside
33
+ # @option options [String,Pathname] :partials_path The path to where all partials reside
34
+ def initialize(source, options = {})
35
+ @options = options
36
+ self.source_path = options[:source_path]
37
+ self.data, self.source = extract_front_matter(source)
38
+ self.template = Tilt.new(self.source_path.to_s){ self.source }
18
39
 
19
- # Returns all available partials in path
20
- def partials(path)
21
- available_partials = {}
22
- path = Pathname.new(path)
23
- self.partial_files(path).inject({}) do |mem,f|
24
- name = f.to_s.split(".",2)[0]
25
- mem[name] = (path + f).read
26
- mem
27
- end
40
+ if self.data[:layout] && layout_template_path = self.find_template(self.data[:layout], :layouts_path)
41
+ @layout_template = Tilt.new(layout_template_path.to_s)
28
42
  end
43
+ end
44
+
45
+ def render(env = {})
46
+ context = TemplateContext.new(self, env)
47
+ locals = {:document => OpenStruct.new(self.data)}
29
48
 
30
- def partial_files(path)
31
- filter = "**/*.part.{?h,h}tml"
32
- files = []
33
- Dir.chdir(Pathname.new(path)) do
34
- files = Dir.glob(filter)
49
+ if @layout_template
50
+ @layout_template.render(context, locals) do
51
+ self.template.render(context, locals)
35
52
  end
36
- files
53
+ else
54
+ self.template.render(context, locals)
37
55
  end
38
-
39
- end
40
-
41
- # Create a new HtmlMockupTemplate
42
- #
43
- # @param [String] source The template to parse
44
- # @param [Hash] options See options
45
- #
46
- # @option options [String] partial_path Path where the partials reside (default: $0/../../partials)
47
- # @option options [String] target_file Path of the processed file
48
- def initialize(source, options={})
49
- defaults = {
50
- :partial_path => File.dirname(__FILE__) + "/../../partials/"
51
- }
52
- @source = source
53
- @template = Tilt::ERBTemplate.new(options[:target_file].to_s){ @source }
54
- @options = defaults.update(options)
55
- raise "Partial path '#{self.options[:partial_path]}' not found" unless File.exist?(self.options[:partial_path])
56
56
  end
57
-
58
- attr_reader :template, :options, :scanner
59
-
60
- # Renders the template and returns it as a string
61
- #
62
- # ==== Parameters
63
- # env<Hash>:: An environment hash (mostly used in combination with Rack)
64
- #
65
- # ==== Returns
66
- # String:: The rendered template
67
- #--
68
- def render(env={})
69
- @scanner = StringScanner.new(@template.render(Object.new, :env => env))
70
- out = ""
71
- while (partial = self.parse_partial_tag!) do
72
- tag,params,scanned = partial
73
- # add new skipped content to output file
74
- out << scanned
57
+
58
+ def find_template(name, path_type)
59
+ raise(ArgumentError, "path_type must be one of :partials_path or :layouts_path") unless [:partials_path, :layouts_path].include?(path_type)
75
60
 
76
- # scan until end of tag
77
- current_content = self.scanner.scan_until(/<!-- \[STOP:#{tag}\] -->/)
78
- out << (render_partial(tag, params, env) || current_content)
79
- end
80
- out << scanner.rest
81
- end
82
-
83
- def save(filename=self.options[:target_file])
84
- File.open(filename,"w"){|f| f.write render}
85
- end
86
-
61
+ @resolvers ||= {}
62
+ @resolvers[path_type] ||= Resolver.new(@options[path_type])
63
+
64
+ @resolvers[path_type].url_to_path(name)
65
+ end
66
+
87
67
  protected
88
-
89
- def available_partials(force=false)
90
- return @_available_partials if @_available_partials && !force
91
- @_available_partials = self.class.partials(self.options[:partial_path])
92
- end
93
-
94
- def parse_partial_tag!
95
- params = {}
96
- scanned = ""
97
- begin_of_tag = self.scanner.scan_until(/<!-- \[START:/)
98
- return nil unless begin_of_tag
99
- scanned << begin_of_tag
100
- scanned << tag = self.scanner.scan(/[a-z0-9_\/\-]+/)
101
- if scanned_questionmark = self.scanner.scan(/\?/)
102
- scanned << scanned_questionmark
103
- scanned << raw_params = self.scanner.scan_until(/\] -->/)
104
- raw_params.gsub!(/\] -->$/,"")
68
+
69
+ # Get the front matter portion of the file and extract it.
70
+ def extract_front_matter(source)
71
+ fm_regex = /\A(---\s*\n.*?\n?)^(---\s*$\n?)/m
105
72
 
106
- params = CGI.parse(raw_params)
107
- params.keys.each{|k| params[k] = params[k].first }
73
+ if match = source.match(fm_regex)
74
+ source = source.sub(fm_regex, "")
75
+
76
+ begin
77
+ data = (YAML.load(match[1]) || {}).inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
78
+ rescue *YAML_ERRORS => e
79
+ puts "YAML Exception: #{e.message}"
80
+ return false
81
+ end
108
82
  else
109
- scanned << self.scanner.scan_until(/\] -->/)
83
+ return [{}, source]
110
84
  end
111
85
 
112
- [tag,params,scanned]
86
+ [data, source]
87
+ rescue
88
+ [{}, source]
113
89
  end
90
+
91
+ end
114
92
 
115
- # Actually renders the tag as ERB
116
- def render_partial(tag, params, env = {})
117
- unless self.available_partials[tag]
118
- raise MissingPartial.new("Could not find partial '#{tag}' in partial path '#{@options[:partial_path]}'")
119
- end
120
- template = Tilt::ERBTemplate.new{ self.available_partials[tag] }
121
- context = TemplateContext.new(params)
122
- "\n" + template.render(context, :env => env).rstrip + "\n<!-- [STOP:#{tag}] -->"
93
+ class TemplateContext
94
+
95
+ def initialize(template, env={})
96
+ @_template, @_env = template, env
123
97
  end
124
-
125
- class TemplateContext
126
- # Params will be set as instance variables
127
- def initialize(params)
128
- params.each do |k,v|
129
- self.instance_variable_set("@#{k}",v)
130
- end
131
- end
98
+
99
+ def template
100
+ @_template
132
101
  end
133
-
102
+
103
+ def env
104
+ @_env
105
+ end
106
+
107
+ def partial(name, options = {})
108
+ if template_path = self.template.find_template(name, :partials_path)
109
+ # puts "Rendering partial #{name}, with template #{template_path}"
110
+ partial_template = Tilt.new(template_path.to_s)
111
+ partial_template.render(self, options[:locals] || {})
112
+ elsif template_path = self.template.find_template(name + ".part", :partials_path)
113
+ # puts "Rendering old-style partial #{name}, with template #{template_path}"
114
+ template = Tilt::ERBTemplate.new(template_path.to_s)
115
+ context = MockupTemplate::TemplateContext.new(options[:locals] || {})
116
+ template.render(context, :env => self.env)
117
+ else
118
+ raise ArgumentError, "No such partial #{name}, referenced from #{self.template.source_path}"
119
+ end
120
+ end
121
+
134
122
  end
123
+
135
124
  end
@@ -0,0 +1 @@
1
+ rvm use ruby-1.9.3-p194@mockup-test-project
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "html_mockup", :path => File.dirname(__FILE__) + "/../../"
4
+ gem "sass"
5
+ gem "yui-compressor"
6
+ gem "redcarpet"
@@ -0,0 +1,35 @@
1
+ PATH
2
+ remote: /Users/flurin/Projects.local/libraries/html_mockup
3
+ specs:
4
+ html_mockup (0.7.4)
5
+ hpricot (>= 0.6.4)
6
+ rack (>= 1.0.0)
7
+ sass
8
+ thor (~> 0.16.0)
9
+ tilt
10
+
11
+ GEM
12
+ remote: https://rubygems.org/
13
+ specs:
14
+ POpen4 (0.1.4)
15
+ Platform (>= 0.4.0)
16
+ open4
17
+ Platform (0.4.0)
18
+ hpricot (0.8.6)
19
+ open4 (1.3.0)
20
+ rack (1.5.2)
21
+ redcarpet (2.2.2)
22
+ sass (3.2.9)
23
+ thor (0.16.0)
24
+ tilt (1.4.1)
25
+ yui-compressor (0.9.6)
26
+ POpen4 (>= 0.1.4)
27
+
28
+ PLATFORMS
29
+ ruby
30
+
31
+ DEPENDENCIES
32
+ html_mockup!
33
+ redcarpet
34
+ sass
35
+ yui-compressor
@@ -0,0 +1,7 @@
1
+
2
+ mockup.serve do |s|
3
+ end
4
+
5
+ mockup.release do |r|
6
+
7
+ end
@@ -0,0 +1,5 @@
1
+ <h1>ERB format</h1>
2
+
3
+ <p>
4
+ <%= "yay" %> from ERB!
5
+ </p>
@@ -0,0 +1,3 @@
1
+ # Markdown format
2
+
3
+ "yay" from markdown
@@ -0,0 +1,5 @@
1
+ <h1>Mockup format</h1>
2
+
3
+ <p>
4
+ Yay from mockup
5
+ </p>
@@ -0,0 +1,16 @@
1
+ ---
2
+ title : "ERB frontmattter"
3
+ ---
4
+
5
+ <h1>Document H1</h1>
6
+
7
+ <p>
8
+ The title of this document is <%= document.title %>
9
+ </p>
10
+
11
+ <p>
12
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim
13
+ ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
14
+ reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
15
+ culpa qui officia deserunt mollit anim id est laborum.
16
+ </p>
@@ -0,0 +1,7 @@
1
+ ---
2
+ title : "Markdown frontmattter"
3
+ ---
4
+
5
+ # Document H1
6
+
7
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
@@ -0,0 +1,19 @@
1
+ ---
2
+ layout : "test"
3
+ title : "ERB frontmattter"
4
+ ---
5
+
6
+ <h1>Document H1</h1>
7
+
8
+ <strong>Var from layout before:</strong>
9
+ <%= @var_from_layout_before %>
10
+ <br>
11
+ <strong>Var from layout after:</strong>
12
+ <%= @var_from_layout_after %>
13
+
14
+ <p>
15
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim
16
+ ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
17
+ reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
18
+ culpa qui officia deserunt mollit anim id est laborum.
19
+ </p>
@@ -0,0 +1,10 @@
1
+ <h1>Partials in document</h1>
2
+
3
+ <h2>ERB</h2>
4
+ <%= partial "test/erb", :locals => {:value => "value"} %>
5
+
6
+ <h2>MD</h2>
7
+ <%= partial "test/markdown" %>
8
+
9
+ <h2>Mockup</h2>
10
+ <%= partial "test/mockup", :locals => {:value => "value"} %>
@@ -0,0 +1,13 @@
1
+ <h1>Partials in document</h1>
2
+
3
+ <h2>ERB</h2>
4
+ <!-- [START:test/erb?value=value] -->
5
+ <!-- [STOP:test/erb] -->
6
+
7
+ <h2>MD</h2>
8
+ <!-- [START:test/markdown] -->
9
+ <!-- [STOP:test/markdown] -->
10
+
11
+ <h2>Mockup</h2>
12
+ <!-- [START:test/mockup?value=value] -->
13
+ <!-- [STOP:test/mockup] -->
@@ -0,0 +1,27 @@
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
+ </body>
27
+ </html>
@@ -0,0 +1 @@
1
+ Let's render some ERB! (Value is <%= value %>)
@@ -0,0 +1 @@
1
+ Let's render some **markdown**
@@ -0,0 +1 @@
1
+ Let's render some old style ERB! (Value is <%= @value %>)
metadata CHANGED
@@ -1,61 +1,87 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: html_mockup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.4
5
- prerelease:
4
+ version: 0.8.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Flurin Egger
9
8
  - Edwin van der Graaf
9
+ - Joran Kapteijns
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-04-08 00:00:00.000000000 Z
13
+ date: 2014-02-11 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: thor
17
- requirement: &70157042134200 !ruby/object:Gem::Requirement
18
- none: false
17
+ requirement: !ruby/object:Gem::Requirement
19
18
  requirements:
20
19
  - - ~>
21
20
  - !ruby/object:Gem::Version
22
21
  version: 0.16.0
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *70157042134200
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ~>
27
+ - !ruby/object:Gem::Version
28
+ version: 0.16.0
26
29
  - !ruby/object:Gem::Dependency
27
30
  name: rack
28
- requirement: &70157042133720 !ruby/object:Gem::Requirement
29
- none: false
31
+ requirement: !ruby/object:Gem::Requirement
30
32
  requirements:
31
33
  - - ! '>='
32
34
  - !ruby/object:Gem::Version
33
35
  version: 1.0.0
34
36
  type: :runtime
35
37
  prerelease: false
36
- version_requirements: *70157042133720
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ! '>='
41
+ - !ruby/object:Gem::Version
42
+ version: 1.0.0
37
43
  - !ruby/object:Gem::Dependency
38
44
  name: tilt
39
- requirement: &70157042133240 !ruby/object:Gem::Requirement
40
- none: false
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ~>
48
+ - !ruby/object:Gem::Version
49
+ version: 1.4.0
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ~>
55
+ - !ruby/object:Gem::Version
56
+ version: 1.4.0
57
+ - !ruby/object:Gem::Dependency
58
+ name: sass
59
+ requirement: !ruby/object:Gem::Requirement
41
60
  requirements:
42
61
  - - ! '>='
43
62
  - !ruby/object:Gem::Version
44
63
  version: '0'
45
64
  type: :runtime
46
65
  prerelease: false
47
- version_requirements: *70157042133240
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
48
71
  - !ruby/object:Gem::Dependency
49
72
  name: hpricot
50
- requirement: &70157042132760 !ruby/object:Gem::Requirement
51
- none: false
73
+ requirement: !ruby/object:Gem::Requirement
52
74
  requirements:
53
75
  - - ! '>='
54
76
  - !ruby/object:Gem::Version
55
77
  version: 0.6.4
56
78
  type: :runtime
57
79
  prerelease: false
58
- version_requirements: *70157042132760
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ! '>='
83
+ - !ruby/object:Gem::Version
84
+ version: 0.6.4
59
85
  description:
60
86
  email:
61
87
  - info@digitpaint.nl
@@ -83,6 +109,7 @@ files:
83
109
  - lib/html_mockup/extractor.rb
84
110
  - lib/html_mockup/generators.rb
85
111
  - lib/html_mockup/generators/new.rb
112
+ - lib/html_mockup/mockup_template.rb
86
113
  - lib/html_mockup/mockupfile.rb
87
114
  - lib/html_mockup/project.rb
88
115
  - lib/html_mockup/rack/html_mockup.rb
@@ -92,12 +119,15 @@ files:
92
119
  - lib/html_mockup/release/cleaner.rb
93
120
  - lib/html_mockup/release/finalizers.rb
94
121
  - lib/html_mockup/release/finalizers/dir.rb
122
+ - lib/html_mockup/release/finalizers/git_branch.rb
95
123
  - lib/html_mockup/release/finalizers/rsync.rb
96
124
  - lib/html_mockup/release/finalizers/zip.rb
97
125
  - lib/html_mockup/release/injector.rb
98
126
  - lib/html_mockup/release/processors.rb
127
+ - lib/html_mockup/release/processors/mockup.rb
99
128
  - lib/html_mockup/release/processors/requirejs.rb
100
129
  - lib/html_mockup/release/processors/sass.rb
130
+ - lib/html_mockup/release/processors/url_relativizer.rb
101
131
  - lib/html_mockup/release/processors/yuicompressor.rb
102
132
  - lib/html_mockup/release/scm.rb
103
133
  - lib/html_mockup/release/scm/git.rb
@@ -107,36 +137,67 @@ files:
107
137
  - lib/html_mockup/w3c_validator.rb
108
138
  - test/Mockupfile-syntax.rb
109
139
  - test/generator-subcommand.rb
140
+ - test/project/.rvmrc
141
+ - test/project/Gemfile
142
+ - test/project/Gemfile.lock
143
+ - test/project/Mockupfile
144
+ - test/project/html/formats/erb.html.erb
145
+ - test/project/html/formats/markdown.md
146
+ - test/project/html/formats/mockup.html
147
+ - test/project/html/front_matter/erb.html.erb
148
+ - test/project/html/front_matter/markdown.md
149
+ - test/project/html/layouts/erb.html.erb
150
+ - test/project/html/partials/erb.html.erb
151
+ - test/project/html/partials/mockup.html
152
+ - test/project/layouts/test.html.erb
153
+ - test/project/partials/test/erb.html.erb
154
+ - test/project/partials/test/markdown.md
155
+ - test/project/partials/test/mockup.part.html
110
156
  - test/unit/release/cleaner_test.rb
111
157
  - test/unit/release/processors/require_js_test.rb
112
158
  homepage: http://github.com/digitpaint/html_mockup
113
159
  licenses:
114
160
  - MIT
161
+ metadata: {}
115
162
  post_install_message:
116
163
  rdoc_options:
117
164
  - --charset=UTF-8
118
165
  require_paths:
119
166
  - lib
120
167
  required_ruby_version: !ruby/object:Gem::Requirement
121
- none: false
122
168
  requirements:
123
169
  - - ! '>='
124
170
  - !ruby/object:Gem::Version
125
171
  version: '0'
126
172
  required_rubygems_version: !ruby/object:Gem::Requirement
127
- none: false
128
173
  requirements:
129
174
  - - ! '>='
130
175
  - !ruby/object:Gem::Version
131
176
  version: '0'
132
177
  requirements: []
133
178
  rubyforge_project:
134
- rubygems_version: 1.8.15
179
+ rubygems_version: 2.1.5
135
180
  signing_key:
136
- specification_version: 3
181
+ specification_version: 4
137
182
  summary: HTML Mockup is a set of tools to create self-containing HTML mockups.
138
183
  test_files:
139
184
  - test/Mockupfile-syntax.rb
140
185
  - test/generator-subcommand.rb
186
+ - test/project/.rvmrc
187
+ - test/project/Gemfile
188
+ - test/project/Gemfile.lock
189
+ - test/project/Mockupfile
190
+ - test/project/html/formats/erb.html.erb
191
+ - test/project/html/formats/markdown.md
192
+ - test/project/html/formats/mockup.html
193
+ - test/project/html/front_matter/erb.html.erb
194
+ - test/project/html/front_matter/markdown.md
195
+ - test/project/html/layouts/erb.html.erb
196
+ - test/project/html/partials/erb.html.erb
197
+ - test/project/html/partials/mockup.html
198
+ - test/project/layouts/test.html.erb
199
+ - test/project/partials/test/erb.html.erb
200
+ - test/project/partials/test/markdown.md
201
+ - test/project/partials/test/mockup.part.html
141
202
  - test/unit/release/cleaner_test.rb
142
203
  - test/unit/release/processors/require_js_test.rb