awestruct 0.5.1 → 0.5.2

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.
@@ -17,6 +17,7 @@ module Awestruct
17
17
  copy_file( '_ext/pipeline.rb', Init.framework_path( 'base_pipeline.rb' ) )
18
18
  copy_file( '.awestruct_ignore', Init.framework_path( 'base_awestruct_ignore' ) )
19
19
  copy_file( 'Rakefile', Init.framework_path( 'base_Rakefile' ) )
20
+ copy_file( 'Gemfile', Init.framework_path( 'base_Gemfile' ) )
20
21
  mkdir( 'stylesheets' )
21
22
  }
22
23
 
@@ -4,7 +4,6 @@ require 'awestruct/cli/init'
4
4
  require 'awestruct/cli/generate'
5
5
  require 'awestruct/cli/auto'
6
6
  require 'awestruct/cli/server'
7
- require 'awestruct/cli/deploy'
8
7
  require 'awestruct/logger'
9
8
 
10
9
  require 'pathname'
@@ -105,6 +104,8 @@ module Awestruct
105
104
  end
106
105
 
107
106
  def invoke_deploy()
107
+ require 'awestruct/cli/deploy'
108
+
108
109
  deploy_config = profile[ 'deploy' ]
109
110
 
110
111
  if ( deploy_config.nil? )
@@ -2,16 +2,20 @@ module Awestruct
2
2
  module Extensions
3
3
  class Indexifier
4
4
 
5
+ def initialize(exclude_regex_paths = [])
6
+ @exclude_regex_paths = exclude_regex_paths
7
+ @exclude_regex_paths << /^(.*\/)?index.html$/
8
+ end
9
+
5
10
  def execute(site)
6
11
  site.pages.each do |page|
7
- if ( page.inhibit_indexifier || ( page.output_path =~ /^(.*\/)?index.html$/ ) )
12
+ if ( page.inhibit_indexifier || Regexp.union(@exclude_regex_paths).match(page.output_path) )
8
13
  # skip it!
9
14
  else
10
15
  page.output_path = page.output_path.gsub( /.html$/, '/index.html' )
11
16
  end
12
17
  end
13
- end
14
-
18
+ end
15
19
  end
16
20
  end
17
21
  end
@@ -64,17 +64,17 @@ module Awestruct
64
64
  if @types.include?(ext_sym)
65
65
  case ext_sym
66
66
  when :html
67
- print "minifying html #{page.output_path}"
67
+ $LOG.debug "minifying html #{page.output_path}" if $LOG.debug?
68
68
  input = htmlcompressor(page, input, site.minify_html_opts)
69
69
  when :css
70
70
  # TODO: Figure out how to do this is sass / less and document it
71
71
  #print "minifying css #{page.output_path}"
72
72
  #input = yuicompressor_css(page, input)
73
73
  when :js
74
- print "minifying js #{page.output_path}"
74
+ $LOG.debug "minifying js #{page.output_path}" if $LOG.debug?
75
75
  input = js_compressor(page, input)
76
76
  when :png
77
- print "minifying png #{page.output_path}"
77
+ $LOG.debug "minifying png #{page.output_path}" if $LOG.debug?
78
78
  input = pngcrush(page, input)
79
79
  end
80
80
  end
@@ -135,7 +135,7 @@ module Awestruct
135
135
  input
136
136
  end
137
137
  end
138
- end
139
-
138
+ end
140
139
  end
141
140
  end
141
+
@@ -29,6 +29,8 @@ module Awestruct
29
29
  date = DateTime.parse date
30
30
  elsif date.kind_of? Date
31
31
  date = DateTime.new(date.year, date.month, date.day)
32
+ elsif date.kind_of? Time
33
+ date = date.to_datetime
32
34
  end
33
35
  end
34
36
  year = date.year
@@ -0,0 +1,40 @@
1
+ # This file is a Bundler dependency descriptor file. Its purpose is to list all of
2
+ # the dependencies you are using to build your site. It is highly recommended you use
3
+ # this to keep your dependencies up to date and not cause conflicts with other gems
4
+ # already on your system.
5
+ #
6
+ # If you do not already have Bundler installed on your computer, run:
7
+ #
8
+ # gem install bundler
9
+ #
10
+ # To use this dependecy file simply run:
11
+ #
12
+ # bundle install
13
+ #
14
+ # We do recommend that you install the gems into another directory however, to ensure
15
+ # your awestruct site is pristine and isn't using versions of gems from other programs.
16
+ # To do this execute:
17
+ #
18
+ # bundle install --path .bundle
19
+ #
20
+ # More information about Bundler and its other commands can be found at http://gembundler.com/.
21
+ # To add other dependencies for your awestruct site simply follow the same pattern as you'll
22
+ # find below. To make use of dependecies listed here, simply remove the '#' from the start of
23
+ # the line to uncomment the dependency. We hope you enjoy using Awestruct!
24
+
25
+ source 'https://rubygems.org' # This tells Bundler where to look for gems
26
+
27
+ gem 'awestruct', '>= 0.5.1' # Goes without saying
28
+ gem 'rake', '>= 0.9.2' # Needed for the Rakefile to work
29
+ # gem 'coffee-script', '>= 2.2.0' # If using coffee-script or to remove the warning
30
+ # gem 'therubyracer', '0.10.0', :platforms => :ruby # Javascript runtime on mri (needed for LESS and coffee-script)
31
+ # gem 'therubyrhino', '~> 2.0.2', :platforms => :jruby # Javascript runtime on jruby (needed for LESS and coffee-script)
32
+ # gem 'less', '>= 2.2.2' # If using LESS instead of sass
33
+ # gem 'org-ruby', '>= 0.8' # If using Org-Mode
34
+ # gem 'RedCloth', '>= 4.2.9' # If using Textile
35
+ # gem 'asciidoctor', '>= 0.1.1' # If using AsciiDoc syntax, need 0.1.1 for Header support
36
+ # gem 'slim', '>= 1.3.6' # If using slim instead of haml
37
+ # gem 'kramdown', '>= 0.14.2' # If using Markdown
38
+ # gem 'uglifier', '>= 1.3.0' # If using the minify transformer
39
+ # gem 'htmlcompressor', '>= 0.0.3' # If using the minify transformer
40
+
@@ -0,0 +1,181 @@
1
+
2
+ require 'awestruct/context'
3
+
4
+ require 'awestruct/handlers/no_op_handler'
5
+ require 'awestruct/handlers/page_delegating_handler'
6
+ require 'ostruct'
7
+ require 'awestruct/astruct'
8
+
9
+ module Awestruct
10
+
11
+ class Page < Awestruct::AStruct
12
+
13
+ attr_accessor :site
14
+ attr_accessor :handler
15
+ attr_reader :dependencies
16
+
17
+ def initialize(site, handler=nil)
18
+ @site = site
19
+ case (handler)
20
+ when Page
21
+ @handler = Awestruct::Handlers::LayoutHandler.new( site, Awestruct::Handlers::PageDelegatingHandler.new( site, handler ) )
22
+ when nil
23
+ @handler = Awestruct::Handlers::NoOpHandler.new( site )
24
+ else
25
+ @handler = handler
26
+ end
27
+ @dependencies = Awestruct::Dependencies.new( self )
28
+ end
29
+
30
+ def prepare!
31
+ handler.inherit_front_matter( self )
32
+ end
33
+
34
+ def inspect
35
+ "Awestruct::Page{ #{self.object_id}: output_path=>#{output_path}, source_path=>#{source_path}, layout=>#{layout} }"
36
+ end
37
+
38
+ def create_context(content='')
39
+ context = Awestruct::Context.new( :site=>site, :page=>self, :content=>content )
40
+ site.engine.pipeline.mixin_helpers( context )
41
+ context
42
+ end
43
+
44
+ def inherit_front_matter_from(hash)
45
+ hash.each do |k,v|
46
+ $LOG.debug "#{self.output_path} overwrite key: #{k}:#{self[k]} -> #{v}" if ( key?( k ) and !self[k].nil? and !self[k].eql? v) if $LOG.debug?
47
+ unless ( key?( k ) )
48
+ self[k.to_sym] = v
49
+ end
50
+ end
51
+ end
52
+
53
+ def relative_source_path
54
+ @relative_source_path || handler.relative_source_path
55
+ end
56
+
57
+ def relative_source_path=(path)
58
+ @relative_source_path = path
59
+ end
60
+
61
+ def simple_name
62
+ handler.simple_name
63
+ end
64
+
65
+ def output_path
66
+ (@output_path || handler.output_path).to_s
67
+ end
68
+
69
+ def output_path=(path)
70
+ case ( path )
71
+ when Pathname then @output_path = path
72
+ else @output_path = Pathname.new( path )
73
+ end
74
+ end
75
+
76
+ def output_extension
77
+ handler.output_extension
78
+ end
79
+
80
+ def output_filename
81
+ handler.output_filename
82
+ end
83
+
84
+ def source_path
85
+ handler.path.to_s
86
+ end
87
+
88
+ def stale?
89
+ handler.stale? || @dependencies.dependencies.any?(&:stale?)
90
+ end
91
+
92
+ def stale_output?(output_path)
93
+ return true if ! File.exist?( output_path )
94
+ return true if input_mtime > File.mtime( output_path )
95
+ false
96
+ end
97
+
98
+ def input_mtime
99
+ handler.input_mtime( self )
100
+ end
101
+
102
+ def collective_dependencies_mtime
103
+ t = nil
104
+ @dependencies.each do |e|
105
+ if ( t == nil )
106
+ t = e.mtime
107
+ elsif ( t < e.mtime )
108
+ t = e.mtime
109
+ end
110
+ end
111
+ t
112
+ end
113
+
114
+ def all_dependencies
115
+ @dependencies + handler.dependencies
116
+ end
117
+
118
+ def content_syntax
119
+ handler.content_syntax
120
+ end
121
+
122
+ def raw_content
123
+ handler.raw_content
124
+ end
125
+
126
+ def rendered_content(context=create_context(), with_layouts=true)
127
+ if context.site.config.track_dependencies
128
+ Awestruct::Dependencies.push_page( self )
129
+ end
130
+ c = nil
131
+
132
+ begin
133
+ $LOG.debug "calling rendered_content on handler for page #{self.output_path}" if $LOG.debug?
134
+ c = handler.rendered_content( context, with_layouts )
135
+ # c = site.engine.pipeline.apply_transformers( context.site, self, c )
136
+ rescue StandardError => e
137
+ lineno = nil
138
+ if e.respond_to?(:lineno)
139
+ lineno = e.lineno
140
+ elsif e.respond_to?(:line)
141
+ lineno = e.line
142
+ end
143
+ if lineno
144
+ if self.handler.respond_to?(:content_line_offset)
145
+ lineno += self.handler.content_line_offset
146
+ end
147
+ end
148
+ lineinfo = lineno ? " at line #{lineno}" : ''
149
+ raise StandardError, "ERROR: Failed to render: #{self.relative_source_path}#{lineinfo}\n#{e.class}: #{e.message.rstrip}\n" + e.backtrace.join("\n")
150
+ end
151
+
152
+ if context.site.config.track_dependencies
153
+ Awestruct::Dependencies.pop_page
154
+
155
+ # temp disable traqcking when we collect the hash to not dirty the results
156
+ Awestruct::Dependencies.track_dependencies = false
157
+ if with_layouts
158
+ @dependencies.content_hash = Digest::SHA2.hexdigest(c)
159
+
160
+ # create a new Page so we can inherit the updated values not reflected in self
161
+ tmp_page = Awestruct::Page.new @site
162
+ @handler.inherit_front_matter(tmp_page)
163
+ string_to_hash = tmp_page.to_a.each{|x| x[0]=x[0].to_s; x[1]=x[1].to_s; x}.sort.to_s
164
+ hash = Digest::SHA2.hexdigest(string_to_hash)
165
+ @dependencies.key_hash = hash
166
+ end
167
+ Awestruct::Dependencies.track_dependencies = true
168
+ end
169
+ c
170
+ end
171
+
172
+ def content(with_layouts=false)
173
+ rendered_content( create_context(), with_layouts )
174
+ end
175
+
176
+ def ==(other_page)
177
+ self.object_id == other_page.object_id
178
+ end
179
+
180
+ end
181
+ end
@@ -16,7 +16,7 @@ module Awestruct
16
16
  return [ 301,
17
17
  { 'location'=>File.join(path, '') },
18
18
  ["Redirecting to: #{path}"] ]
19
- elsif ( File.exist?( File.join( fs_path, 'index.html' ) ) )
19
+ elsif ( File.file?( File.join( fs_path, 'index.html' ) ) )
20
20
  fs_path = File.join( fs_path, 'index.html' )
21
21
  end
22
22
  end
@@ -27,7 +27,7 @@ module Awestruct
27
27
  # The Body must respond to each and must only yield String
28
28
  # values. The Body itself should not be an instance of String,
29
29
  # as this will break in Ruby 1.9.
30
- if ( File.exist?( fs_path ) )
30
+ if ( File.file?( fs_path ) )
31
31
  body = read_content( fs_path )
32
32
  content_type = ::Rack::Mime.mime_type( File.extname(fs_path) )
33
33
  length = body.size.to_s
@@ -35,10 +35,10 @@ module Awestruct
35
35
  {"Content-Type" => content_type, "Content-Length" => length},
36
36
  [body] ]
37
37
  else
38
- body = read_error_document(path)
38
+ body, content_type = read_error_document(path)
39
39
  length = body.size.to_s
40
40
  [ 404,
41
- {"Content-Type" => 'text/plain', "Content-Length" => length},
41
+ {"Content-Type" => content_type || 'text/plain', "Content-Length" => length},
42
42
  [body] ]
43
43
  end
44
44
  end
@@ -46,7 +46,7 @@ module Awestruct
46
46
  def read_error_document( path )
47
47
  doc_path = nil
48
48
  htaccess = File.join( @doc_root, '.htaccess' )
49
- if ( File.exist?( htaccess ) )
49
+ if ( File.file?( htaccess ) )
50
50
  File.open( htaccess ).each_line do |line|
51
51
  if ( line =~ %r(^.*ErrorDocument[ \t]+404[ \t]+(.+)$) )
52
52
  doc_path = $1
@@ -55,7 +55,7 @@ module Awestruct
55
55
  end
56
56
  if ( doc_path )
57
57
  fs_doc_path = File.join( @doc_root, doc_path )
58
- return read_content( fs_doc_path ) if File.exist?( fs_doc_path )
58
+ return [read_content( fs_doc_path ), ::Rack::Mime.mime_type( File.extname(fs_doc_path) )] if File.file?( fs_doc_path )
59
59
  end
60
60
  "404: Not Found: #{path}"
61
61
  end
@@ -1,4 +1,4 @@
1
1
 
2
2
  module Awestruct
3
- VERSION='0.5.1'
3
+ VERSION='0.5.2'
4
4
  end
@@ -2,13 +2,9 @@ require 'spec_helper'
2
2
  require 'rspec/matchers.rb'
3
3
 
4
4
  verify = lambda { |output|
5
- output.gsub(/(^\s*\n|^\s*)/, '').should =~ %r(<div id="preamble">
6
- <div class="sectionbody">
7
- <div class="paragraph">
8
- <p>This is <strong>AsciiDoc</strong> in Awestruct.</p>
9
- </div>
10
- </div>
11
- </div>)
5
+ include EmmetMatchers
6
+ # clean whitespace to make comparison easier
7
+ output.should have_structure("div#preamble>div.sectionbody>div.paragraph>p>strong")
12
8
  }
13
9
 
14
10
  verify_front_matter = lambda { |output, page|
@@ -22,6 +18,7 @@ verify_headers = lambda { |output, page|
22
18
  page.title.should == 'AsciiDoc'
23
19
  page.doctitle.should == 'AsciiDoc'
24
20
  page.name.should == 'Awestruct'
21
+ page.layout.should == 'haml-layout'
25
22
  page.tags.should be_a_kind_of(Array)
26
23
  page.tags.should == %w(a b c)
27
24
  page.date.should be_a_kind_of(Date)
@@ -69,7 +66,7 @@ theories =
69
66
  ]
70
67
 
71
68
  describe Awestruct::Handlers::AsciidoctorHandler do
72
- let(:additional_config_page) { {:name => 'Awestruct', :test => 10} }
69
+ let(:additional_config_page) { {:name => 'Awestruct', :test => 10, :layout => 'empty-layout'} }
73
70
  it_should_behave_like "a handler", theories
74
71
 
75
72
  end
data/spec/minify_spec.rb CHANGED
@@ -53,7 +53,7 @@ describe Awestruct::Extensions::Minify do
53
53
  page.should_receive(:output_path).any_number_of_times.and_return "test.js"
54
54
 
55
55
  input = "function a (a, c) { \n a = \"a\";\n }"
56
- expected_output = "function a(a,c){a=\"a\"};"
56
+ expected_output = "function a(a){a=\"a\"}" # we're minifying so we're going to strip dead or unreferenced code
57
57
 
58
58
  minifier = Awestruct::Extensions::Minify.new [:js]
59
59
  minifier.transform(site, page, input).should == expected_output
data/spec/server_spec.rb CHANGED
@@ -51,4 +51,11 @@ describe Awestruct::Rack::App do
51
51
  last_response.status.should == 404
52
52
  end
53
53
  end
54
+
55
+ describe "Directory with no index file" do
56
+ it "should return a 404 status code" do
57
+ get('/images/')
58
+ last_response.status.should == 404
59
+ end
60
+ end
54
61
  end
data/spec/spec_helper.rb CHANGED
@@ -12,6 +12,7 @@ RSpec.configure do |config|
12
12
  end
13
13
  config.mock_framework = :rspec
14
14
  config.include NokogiriMatchers
15
+ config.include EmmetMatchers
15
16
  config.after :all do
16
17
  FileUtils.rm_rf '.awestruct' if File.exists? '.awestruct'
17
18
  end
@@ -0,0 +1,51 @@
1
+ require 'nokogiri'
2
+
3
+ module EmmetMatchers
4
+ class EmmetStructureMatcher
5
+ def initialize(emmet_string)
6
+ @test_string = emmet_string
7
+ end
8
+
9
+ def matches?(html_snippet)
10
+ frag = Nokogiri::HTML.fragment html_snippet
11
+ emmet_string = ''
12
+ elem_stack = []
13
+ frag.traverse {|node| elem_stack.push node unless node.text?}
14
+
15
+ until elem_stack.empty? do
16
+ elem = elem_stack.pop
17
+ unless elem.name == '#document-fragment' || elem.text.rstrip.empty?
18
+ emmet_string << elem.name unless elem.text.chop.empty?
19
+ if elem.attr('id')
20
+ emmet_string << "#{'#'}#{elem.attr('id')}"
21
+ end
22
+ if elem.attr('class')
23
+ emmet_string << ".#{elem.attr('class')}"
24
+ end
25
+ if elem.child
26
+ child = elem.child
27
+ #if child.text? && !child.text.rstrip.empty?
28
+ #emmet_string << "{#{child.text.gsub(/\s+/, ' ')}}"
29
+ #elem_stack.delete child
30
+ #end
31
+ elem_stack.delete child
32
+ emmet_string << '>' unless elem_stack.last.nil?
33
+ next
34
+ end
35
+ end
36
+ end
37
+
38
+ @emmet_string = emmet_string
39
+
40
+ @emmet_string == @test_string
41
+ end
42
+
43
+ def failure_message_for_should
44
+ "expected to match #{@test_string} against #{@emmet_string}, but they are not equal"
45
+ end
46
+ end
47
+
48
+ def have_structure(expect)
49
+ EmmetStructureMatcher.new(expect)
50
+ end
51
+ end
@@ -79,8 +79,7 @@ shared_examples "a handler" do |theories|
79
79
  it "should render page '#{theory[:page]}'" do
80
80
  if theory[:unless].nil? or !theory[:unless][:exp].call()
81
81
  handler = create_handler theory[:page]
82
- handler.merge! additional_config_page if respond_to?("additional_config_page")
83
-
82
+ handler.update(additional_config_page) {|k, oldval, newval| oldval } if respond_to?("additional_config_page")
84
83
  output = handler.rendered_content( handler.create_context )
85
84
  output.should_not be_nil
86
85
 
@@ -2,7 +2,8 @@
2
2
  Stuart Rackham
3
3
  2013-02-06
4
4
  :awestruct-tags: [a, b, c]
5
+ :awestruct-layout: haml-layout
5
6
  :name: NOT_HANDLED
6
7
 
7
8
  This is *AsciiDoc* in {name}.
8
- {awestruct-version}
9
+ {awestruct-version}
@@ -0,0 +1 @@
1
+ =content
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awestruct
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-13 00:00:00.000000000 Z
12
+ date: 2013-06-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: haml
@@ -32,7 +32,7 @@ dependencies:
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
- - - ~>
35
+ - - ! '>='
36
36
  - !ruby/object:Gem::Version
37
37
  version: 1.5.6
38
38
  type: :runtime
@@ -40,7 +40,7 @@ dependencies:
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
- - - ~>
43
+ - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
45
  version: 1.5.6
46
46
  - !ruby/object:Gem::Dependency
@@ -48,7 +48,7 @@ dependencies:
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
- - - ~>
51
+ - - ! '>='
52
52
  - !ruby/object:Gem::Version
53
53
  version: 1.3.6
54
54
  type: :runtime
@@ -56,7 +56,7 @@ dependencies:
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  none: false
58
58
  requirements:
59
- - - ~>
59
+ - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: 1.3.6
62
62
  - !ruby/object:Gem::Dependency
@@ -64,7 +64,7 @@ dependencies:
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
- - - ~>
67
+ - - ! '>='
68
68
  - !ruby/object:Gem::Version
69
69
  version: 0.12.1
70
70
  type: :runtime
@@ -72,7 +72,7 @@ dependencies:
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
- - - ~>
75
+ - - ! '>='
76
76
  - !ruby/object:Gem::Version
77
77
  version: 0.12.1
78
78
  - !ruby/object:Gem::Dependency
@@ -96,7 +96,7 @@ dependencies:
96
96
  requirement: !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements:
99
- - - ~>
99
+ - - ! '>='
100
100
  - !ruby/object:Gem::Version
101
101
  version: 2.3.1.0
102
102
  type: :runtime
@@ -104,7 +104,7 @@ dependencies:
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
- - - ~>
107
+ - - ! '>='
108
108
  - !ruby/object:Gem::Version
109
109
  version: 2.3.1.0
110
110
  - !ruby/object:Gem::Dependency
@@ -112,7 +112,7 @@ dependencies:
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  none: false
114
114
  requirements:
115
- - - ~>
115
+ - - ! '>='
116
116
  - !ruby/object:Gem::Version
117
117
  version: 4.0.9
118
118
  type: :runtime
@@ -120,7 +120,7 @@ dependencies:
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  none: false
122
122
  requirements:
123
- - - ~>
123
+ - - ! '>='
124
124
  - !ruby/object:Gem::Version
125
125
  version: 4.0.9
126
126
  - !ruby/object:Gem::Dependency
@@ -128,7 +128,7 @@ dependencies:
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  none: false
130
130
  requirements:
131
- - - ~>
131
+ - - ! '>='
132
132
  - !ruby/object:Gem::Version
133
133
  version: 1.7.7
134
134
  type: :runtime
@@ -136,7 +136,7 @@ dependencies:
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  none: false
138
138
  requirements:
139
- - - ~>
139
+ - - ! '>='
140
140
  - !ruby/object:Gem::Version
141
141
  version: 1.7.7
142
142
  - !ruby/object:Gem::Dependency
@@ -144,7 +144,7 @@ dependencies:
144
144
  requirement: !ruby/object:Gem::Requirement
145
145
  none: false
146
146
  requirements:
147
- - - ~>
147
+ - - ! '>='
148
148
  - !ruby/object:Gem::Version
149
149
  version: 1.6.7
150
150
  type: :runtime
@@ -152,7 +152,7 @@ dependencies:
152
152
  version_requirements: !ruby/object:Gem::Requirement
153
153
  none: false
154
154
  requirements:
155
- - - ~>
155
+ - - ! '>='
156
156
  - !ruby/object:Gem::Version
157
157
  version: 1.6.7
158
158
  - !ruby/object:Gem::Dependency
@@ -192,7 +192,7 @@ dependencies:
192
192
  requirement: !ruby/object:Gem::Requirement
193
193
  none: false
194
194
  requirements:
195
- - - ~>
195
+ - - ! '>='
196
196
  - !ruby/object:Gem::Version
197
197
  version: 0.7.3
198
198
  type: :runtime
@@ -200,7 +200,7 @@ dependencies:
200
200
  version_requirements: !ruby/object:Gem::Requirement
201
201
  none: false
202
202
  requirements:
203
- - - ~>
203
+ - - ! '>='
204
204
  - !ruby/object:Gem::Version
205
205
  version: 0.7.3
206
206
  - !ruby/object:Gem::Dependency
@@ -235,6 +235,7 @@ files:
235
235
  - lib/awestruct/frameworks/base_index.html.haml
236
236
  - lib/awestruct/frameworks/base_pipeline.rb
237
237
  - lib/awestruct/frameworks/base_site.yml
238
+ - lib/awestruct/frameworks/base_Gemfile
238
239
  - lib/awestruct/frameworks/bootstrap/base_layout.html.haml
239
240
  - lib/awestruct/frameworks/bootstrap/base_index.html.haml
240
241
  - lib/awestruct/frameworks/foundation/base_layout.html.haml
@@ -313,6 +314,7 @@ files:
313
314
  - lib/awestruct/extensions/remotePartial.rb
314
315
  - lib/awestruct/extensions/minify.rb
315
316
  - lib/awestruct/page.rb
317
+ - lib/awestruct/page.rb.old
316
318
  - lib/awestruct/dependencies.rb
317
319
  - lib/awestruct/logger.rb
318
320
  - lib/awestruct/engine.rb
@@ -323,6 +325,7 @@ files:
323
325
  - spec/front_matter_handler_spec.rb
324
326
  - spec/orgmode_handler_spec.rb
325
327
  - spec/support/shared_handler_example.rb
328
+ - spec/support/emmet_matchers.rb
326
329
  - spec/support/nokogiri_matchers.rb
327
330
  - spec/astruct_spec.rb
328
331
  - spec/engine_spec.rb
@@ -354,6 +357,7 @@ files:
354
357
  - spec/test-data/handlers/outside_relative/git_keep
355
358
  - spec/test-data/handlers/asciidoctor_with_front_matter.ad
356
359
  - spec/test-data/handlers/slim-page.html.slim
360
+ - spec/test-data/handlers/empty-layout.haml
357
361
  - spec/test-data/handlers/mustache-page.html.mustache
358
362
  - spec/test-data/handlers/haml-page.atom.haml
359
363
  - spec/test-data/handlers/scss-page.scss
@@ -428,7 +432,8 @@ files:
428
432
  - man/awestruct.1
429
433
  - bin/awestruct
430
434
  homepage: http://awestruct.org
431
- licenses: []
435
+ licenses:
436
+ - MIT
432
437
  post_install_message:
433
438
  rdoc_options: []
434
439
  require_paths:
@@ -441,7 +446,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
441
446
  version: '0'
442
447
  segments:
443
448
  - 0
444
- hash: 2146477715422063346
449
+ hash: -3872694940837887019
445
450
  required_rubygems_version: !ruby/object:Gem::Requirement
446
451
  none: false
447
452
  requirements:
@@ -450,7 +455,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
450
455
  version: '0'
451
456
  segments:
452
457
  - 0
453
- hash: 2146477715422063346
458
+ hash: -3872694940837887019
454
459
  requirements:
455
460
  - Any markup languages you are using and its dependencies
456
461
  - If LESS is used, or some other fixes within tilt, it is required to use Bundler