awestruct 0.4.7 → 0.4.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -164,9 +164,10 @@ module Awestruct
164
164
  File.open( file, 'r' ) do |file|
165
165
  file.lines.each do |line|
166
166
  type, path = line.split(':')
167
+ path ||= ""
167
168
  path.strip!
168
169
  if type.eql? 'c' or type.eql? 'k'
169
- d = find_page_by_path( path.strip )
170
+ d = find_page_by_path( path )
170
171
  unless d.nil?
171
172
  add_dependency( d ) if 'c'.eql? type
172
173
  add_key_dependency( d ) if 'k'.eql? type
@@ -11,6 +11,11 @@ module Awestruct
11
11
 
12
12
  def publish_site
13
13
  current_branch = git.current_branch
14
+ # we may be on a detached branch,
15
+ # in which case use that commit as the branch
16
+ if current_branch == '(no branch)'
17
+ current_branch = git.revparse('HEAD')
18
+ end
14
19
  git.branch( @branch ).checkout
15
20
  add_and_commit_site @site_path
16
21
  git.push( @repo, @branch )
@@ -174,8 +174,8 @@ module Awestruct
174
174
  p.helpers.each do |h|
175
175
  pipeline.helper( h )
176
176
  end
177
- p.transformers.each do |e|
178
- pipeline.transformer( e )
177
+ p.transformers.each do |t|
178
+ pipeline.transformer( t )
179
179
  end
180
180
  end
181
181
  end
@@ -53,8 +53,6 @@ module Awestruct
53
53
  }
54
54
  end
55
55
 
56
- private
57
-
58
56
  def resolve_disqus_identifier()
59
57
  self.disqus_identifier ? self.disqus_identifier : Digest::SHA1.hexdigest(self.date.strftime('%Y-%m-%d-') + self.slug)
60
58
  end
@@ -1,5 +1,7 @@
1
1
  require 'shellwords'
2
2
  require 'fileutils'
3
+ require 'htmlcompressor'
4
+ require 'yui/compressor'
3
5
 
4
6
  ##
5
7
  # Awestruct:Extensions:Minify is a transformer that minimizes JavaScript, CSS and HTML files.
@@ -68,10 +70,10 @@ module Awestruct
68
70
  input = htmlcompressor(page, input, site.minify_html_opts)
69
71
  when :css
70
72
  print "minifying css #{page.output_path}"
71
- input = yuicompressor(page, input, :css)
73
+ input = yuicompressor_css(page, input)
72
74
  when :js
73
75
  print "minifying js #{page.output_path}"
74
- input = yuicompressor(page, input, :js)
76
+ input = yuicompressor_js(page, input)
75
77
  when :png
76
78
  print "minifying png #{page.output_path}"
77
79
  input = pngcrush(page, input)
@@ -85,59 +87,20 @@ module Awestruct
85
87
  private
86
88
 
87
89
  def htmlcompressor(page, input, minify_html_opts)
88
- output = ''
89
- cmd = "htmlcompressor"
90
- if minify_html_opts
91
- minify_html_opts.each do |p, v|
92
- # boolean options are simple flags (i.e., do not accept values)
93
- if v === true
94
- cmd += " --#{p.gsub('_', '-')}"
95
- elsif not v === false
96
- cmd += " --#{p.gsub('_', '-')}=#{v}"
97
- end
98
- end
99
- end
100
- Open3.popen3(Shellwords.escape(cmd)) do |stdin, stdout, stderr|
101
- threads = []
102
- threads << Thread.new(stdout) do |o|
103
- while ( ! o.eof? )
104
- output << o.readline
105
- end
106
- end
107
- threads << Thread.new(stdin) do |i|
108
- i.write input
109
- i.close
110
- end
111
- threads.each{ |t|t.join }
112
- end
90
+ opts = minify_html_opts.nil? ? {}:minify_html_opts
91
+ compressor(page, input, HtmlCompressor::Compressor.new(opts))
92
+ end
113
93
 
114
- input_len = input.length
115
- output_len = output.length
94
+ def yuicompressor_css(page, input)
95
+ compressor(page, input, YUI::CssCompressor.new)
96
+ end
116
97
 
117
- if input_len > output_len
118
- puts " %d bytes -> %d bytes = %.1f%%" % [ input_len, output_len, 100 * output_len/input_len ]
119
- output
120
- else
121
- puts " no gain"
122
- input
123
- end
98
+ def yuicompressor_js(page, input)
99
+ compressor(page, input, YUI::JavaScriptCompressor.new)
124
100
  end
125
101
 
126
- def yuicompressor(page, input, type)
127
- output = ''
128
- Open3.popen3("yuicompressor --type #{Shellwords.escape(type.to_s)}") do |stdin, stdout, stderr|
129
- threads = []
130
- threads << Thread.new(stdout) do |o|
131
- while ( ! o.eof? )
132
- output << o.readline
133
- end
134
- end
135
- threads << Thread.new(stdin) do |i|
136
- i.write input
137
- i.close
138
- end
139
- threads.each{ |t|t.join }
140
- end
102
+ def compressor(page, input, compressor)
103
+ output = compressor.compress input
141
104
 
142
105
  input_len = input.length
143
106
  output_len = output.length
@@ -13,7 +13,7 @@ module Awestruct
13
13
  def links
14
14
  html = %Q(<div class="pagination-links">)
15
15
  unless ( previous_page.nil? )
16
- html += %Q(<a href="#{previous_page.url}" class="previous-link">Previous</a> )
16
+ html += %Q(<a href="#{site.base_url}#{previous_page.url}" class="previous-link">Previous</a> )
17
17
  end
18
18
  first_skip = false
19
19
  second_skip = false
@@ -21,7 +21,7 @@ module Awestruct
21
21
  if ( i == current_page_index )
22
22
  html += %Q(<span class="current-page">#{i+1}</span> )
23
23
  elsif ( i <= window )
24
- html += %Q(<a href="#{page.url}" class="page-link">#{i+1}</a> )
24
+ html += %Q(<a href="#{site.base_url}#{page.url}" class="page-link">#{i+1}</a> )
25
25
  elsif ( ( i > window ) && ( i < ( current_page_index - window ) ) && ! first_skip )
26
26
  html += %Q(<span class="skip">...</span>)
27
27
  first_skip = true
@@ -29,13 +29,13 @@ module Awestruct
29
29
  html += %Q(<span class="skip">...</span>)
30
30
  second_skip = true
31
31
  elsif ( ( i >= ( current_page_index - window ) ) && ( i <= ( current_page_index + window ) ) )
32
- html += %Q(<a href="#{page.url}" class="page-link">#{i+1}</a> )
32
+ html += %Q(<a href="#{site.base_url}#{page.url}" class="page-link">#{i+1}</a> )
33
33
  elsif ( i >= ( ( pages.size - window ) - 1 ) )
34
- html += %Q(<a href="#{page.url}" class="page-link">#{i+1}</a> )
34
+ html += %Q(<a href="#{site.base_url}#{page.url}" class="page-link">#{i+1}</a> )
35
35
  end
36
36
  end
37
37
  unless ( next_page.nil? )
38
- html += %Q(<a href="#{next_page.url}" class="next-link">Next</a> )
38
+ html += %Q(<a href="#{site.base_url}#{next_page.url}" class="next-link">Next</a> )
39
39
  end
40
40
  html += %Q(</div>)
41
41
  html
@@ -52,6 +52,9 @@ module Awestruct
52
52
  @output_prefix = opts[:output_prefix] || File.dirname( @input_path )
53
53
  @page_name = opts[:page_name] || 'page/'
54
54
  @collection = opts[:collection]
55
+ if opts[:selected_tag]
56
+ @selected_tag = opts[:selected_tag]
57
+ end
55
58
  end
56
59
 
57
60
  def execute(site)
@@ -70,6 +73,7 @@ module Awestruct
70
73
  page.output_path = File.join( @output_prefix, "#{@page_name}#{i}.html" )
71
74
  end
72
75
  page.paginate_generated = true
76
+ page.selected_tag = @selected_tag
73
77
  site.pages << page
74
78
  paginated_pages << page
75
79
  i = i + 1
@@ -2,13 +2,14 @@ module Awestruct
2
2
  module Extensions
3
3
  class Posts
4
4
 
5
- attr_accessor :path_prefix, :assign_to, :archive_template, :archive_path
5
+ attr_accessor :path_prefix, :assign_to, :archive_template, :archive_path, :default_layout
6
6
 
7
- def initialize(path_prefix='', assign_to=:posts, archive_template=nil, archive_path=nil)
7
+ def initialize(path_prefix='', assign_to=:posts, archive_template=nil, archive_path=nil, opts={})
8
8
  @archive_template = archive_template
9
9
  @archive_path = archive_path
10
10
  @path_prefix = path_prefix
11
11
  @assign_to = assign_to
12
+ @default_layout = opts[:default_layout] || nil
12
13
  end
13
14
 
14
15
  def execute(site)
@@ -44,6 +45,7 @@ module Awestruct
44
45
 
45
46
  # if a date was found create a post
46
47
  if( year and month and day)
48
+ page.layout ||= @default_layout if @default_layout
47
49
  page.slug ||= slug
48
50
  context = page.create_context
49
51
  page.output_path = "#{@path_prefix}/#{year}/#{month}/#{day}/#{page.slug}.html"
@@ -66,7 +68,7 @@ module Awestruct
66
68
  end
67
69
  site.pages.concat( archive.generate_pages( site.engine, archive_template, archive_path ) ) if (archive_template && archive_path)
68
70
  site.send( "#{@assign_to}=", posts )
69
- site.send( "#{@assign_to}_archive = ", archive )
71
+ site.send( "#{@assign_to}_archive=", archive )
70
72
 
71
73
  end
72
74
 
@@ -84,7 +84,7 @@ module Awestruct
84
84
  @tags.values.each do |tag|
85
85
  ## Optionally sanitize tag URL
86
86
  output_prefix = File.join( @output_path, sanitize(tag.to_s) )
87
- options = { :remove_input=>false, :output_prefix=>output_prefix, :collection=>tag.pages }.merge( @pagination_opts )
87
+ options = { :remove_input=>false, :output_prefix=>output_prefix, :collection=>tag.pages, :selected_tag=>tag.to_s }.merge( @pagination_opts )
88
88
 
89
89
  paginator = Awestruct::Extensions::Paginator.new( @tagged_items_property, @input_path, options )
90
90
  primary_page = paginator.execute( site )
@@ -5,7 +5,7 @@
5
5
  %feed{ 'xml:lang'=>'en-US', :xmlns=>'http://www.w3.org/2005/Atom' }
6
6
  %id= "#{page.content_url}/"
7
7
  %title= escape_once( page.title )
8
- - if ( defined?( site.author ) )
8
+ - if ( not site.author.nil? )
9
9
  %author
10
10
  - if ( defined?( site.author.name ) )
11
11
  %name= site.author.name
@@ -24,7 +24,7 @@
24
24
  %updated= entry.input_mtime.xmlschema
25
25
  %published= entry.date.xmlschema
26
26
  %link{:rel=>"alternate", :type=>"text/html", :href=>"#{site.base_url}#{entry.url}" }
27
- - if ( defined?( entry.author ) )
27
+ - if ( not entry.author.nil? )
28
28
  %author
29
29
  - if ( defined?( entry.author.name ) )
30
30
  %name= entry.author.name
@@ -32,6 +32,9 @@
32
32
  %email= entry.author.email
33
33
  - else
34
34
  %name= entry.author
35
+ - if ( not entry.tags.nil? )
36
+ - for tag in entry.tags
37
+ %category{:term=>"#{tag}"}
35
38
  %summary
36
39
  #{summarize( html_to_text( entry.content ), 100 )}
37
40
  %content{:type=>'html'}
@@ -10,6 +10,7 @@ require 'awestruct/handlers/haml_handler'
10
10
  require 'awestruct/handlers/mustache_handler'
11
11
  require 'awestruct/handlers/sass_handler'
12
12
  require 'awestruct/handlers/scss_handler'
13
+ require 'awestruct/handlers/less_handler'
13
14
  require 'awestruct/handlers/javascript_handler'
14
15
  require 'awestruct/handlers/coffeescript_handler'
15
16
  require 'awestruct/handlers/redirect_handler'
@@ -29,6 +30,7 @@ module Awestruct
29
30
  Awestruct::Handlers::MustacheHandler::CHAIN,
30
31
  Awestruct::Handlers::SassHandler::CHAIN,
31
32
  Awestruct::Handlers::ScssHandler::CHAIN,
33
+ Awestruct::Handlers::LessHandler::CHAIN,
32
34
  Awestruct::Handlers::JavascriptHandler::CHAIN,
33
35
  Awestruct::Handlers::CoffeescriptHandler::CHAIN,
34
36
  Awestruct::Handlers::RedirectHandler::CHAIN,
@@ -20,6 +20,16 @@ module Awestruct
20
20
 
21
21
  def initialize(site, delegate)
22
22
  super( site, delegate )
23
+ if !site.asciidoc? || !site.asciidoc.has_key?(:engine)
24
+ site.asciidoc[:engine] = 'asciidoctor'
25
+ end
26
+
27
+ if !site.asciidoc.has_key?(:engine_loaded)
28
+ if site.asciidoc[:engine] != 'system'
29
+ require site.asciidoc[:engine]
30
+ end
31
+ site.asciidoc[:engine_loaded] = true
32
+ end
23
33
  end
24
34
 
25
35
  def simple_name
@@ -40,17 +50,36 @@ module Awestruct
40
50
  end
41
51
 
42
52
  def rendered_content(context, with_layouts=true)
53
+ options = context.site.asciidoc
54
+
43
55
  content = delegate.rendered_content( context, with_layouts )
44
- imagesdir = site.config.images_dir
45
- iconsdir = File.join(imagesdir, 'icons')
46
- conffile = File.join(site.config.config_dir, 'asciidoc.conf')
47
- confopt = File.exist?(conffile) ? '-f ' + conffile : ''
48
- content = execute_shell( [ "asciidoc -s -b html5 -a pygments -a icons",
49
- "-a iconsdir='#{iconsdir}'",
50
- "-a imagesdir='#{imagesdir}'",
51
- "#{confopt} -o - -" ].join( ' ' ),
52
- content)
53
- content.gsub( "\r", '' )
56
+ if options[:engine] == 'system'
57
+ imagesdir = site.config.images_dir
58
+ iconsdir = File.join(imagesdir, 'icons')
59
+ conffile = File.join(site.config.config_dir, 'asciidoc.conf')
60
+ confopt = File.exist?(conffile) ? '-f ' + conffile : ''
61
+ content = execute_shell( [ "asciidoc -s -b html5 -a pygments -a icons",
62
+ "-a iconsdir='#{iconsdir}'",
63
+ "-a imagesdir='#{imagesdir}'",
64
+ "#{confopt} -o - -" ].join( ' ' ),
65
+ content, false)
66
+ content.gsub( "\r", '' )
67
+ elsif options[:engine] == 'asciidoctor'
68
+ opts = {
69
+ :header_footer => false,
70
+ :attributes => {
71
+ 'backend' => 'html5',
72
+ 'imagesdir' => site.config.images_dir,
73
+ 'stylesdir' => site.config.stylesheets_dir,
74
+ }
75
+ }
76
+ if options.has_key? :templates
77
+ opts[:template_dir] = options[:templates]
78
+ end
79
+ Asciidoctor::Document.new(content, opts).render
80
+ else
81
+ raise 'Unknown AsciiDoc engine: ' + options[:engine]
82
+ end
54
83
  end
55
84
  end
56
85
  end
@@ -97,8 +97,8 @@ module Awestruct
97
97
  chain.flatten
98
98
  end
99
99
 
100
- def execute_shell(command, input=nil)
101
- Open3.popen3(Shellwords.escape( command )) do |stdin, stdout, _|
100
+ def execute_shell(command, input=nil, escape=true)
101
+ Open3.popen3(escape ? Shellwords.escape( command ) : command) do |stdin, stdout, _|
102
102
  stdin.puts input unless input.nil?
103
103
  stdin.close
104
104
  out = stdout.read
@@ -32,7 +32,7 @@ module Awestruct
32
32
  end
33
33
 
34
34
  def ruby_19?
35
- @is_ruby_19 ||= (::Config::CONFIG['ruby_version'] =~ %r(^1\.9))
35
+ @is_ruby_19 ||= (::RbConfig::CONFIG['ruby_version'] =~ %r(^1\.9))
36
36
  end
37
37
 
38
38
  end
@@ -0,0 +1,37 @@
1
+
2
+ require 'awestruct/handler_chain'
3
+ require 'awestruct/handlers/base_handler'
4
+ require 'awestruct/handlers/file_handler'
5
+
6
+ require 'less'
7
+
8
+ module Awestruct
9
+ module Handlers
10
+ class LessHandler < BaseHandler
11
+
12
+ CHAIN = Awestruct::HandlerChain.new( /\.less$/,
13
+ Awestruct::Handlers::FileHandler,
14
+ Awestruct::Handlers::LessHandler
15
+ )
16
+
17
+ def initialize(site, delegate)
18
+ super( site, delegate )
19
+ end
20
+
21
+ def simple_name
22
+ File.basename( relative_source_path, '.less' )
23
+ end
24
+
25
+ def output_filename
26
+ simple_name + '.css'
27
+ end
28
+
29
+ def rendered_content(context, with_layouts=true)
30
+ load_paths = [File.dirname( context.page.source_path )]
31
+ less_parser = Less::Parser.new :paths => load_paths, :filename => context.page.source_path
32
+ less_parser.parse( raw_content ).to_css
33
+ end
34
+
35
+ end
36
+ end
37
+ end
@@ -46,7 +46,7 @@ module Awestruct
46
46
  unless path.directory?
47
47
  puts "loading #{relative_path}" if (site.config.verbose)
48
48
  page = load_page( path, prepare )
49
- if ( page )
49
+ if ( page && !page.draft )
50
50
  #puts "loaded! #{path} and added to site"
51
51
  #inherit_front_matter( page )
52
52
  site.send( @target ) << page
@@ -1,4 +1,4 @@
1
1
 
2
2
  module Awestruct
3
- VERSION='0.4.7'
3
+ VERSION='0.4.8'
4
4
  end
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.4.7
4
+ version: 0.4.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-18 00:00:00.000000000 Z
12
+ date: 2013-01-09 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hpricot
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &70126311958440 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,15 +21,21 @@ dependencies:
21
21
  version: 0.8.6
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
24
+ version_requirements: *70126311958440
25
+ - !ruby/object:Gem::Dependency
26
+ name: asciidoctor
27
+ requirement: &70126311957660 !ruby/object:Gem::Requirement
25
28
  none: false
26
29
  requirements:
27
- - - ~>
30
+ - - ! '>='
28
31
  - !ruby/object:Gem::Version
29
- version: 0.8.6
32
+ version: 0.0.7
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70126311957660
30
36
  - !ruby/object:Gem::Dependency
31
37
  name: haml
32
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &70126311956440 !ruby/object:Gem::Requirement
33
39
  none: false
34
40
  requirements:
35
41
  - - ~>
@@ -37,15 +43,10 @@ dependencies:
37
43
  version: 3.1.4
38
44
  type: :runtime
39
45
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ~>
44
- - !ruby/object:Gem::Version
45
- version: 3.1.4
46
+ version_requirements: *70126311956440
46
47
  - !ruby/object:Gem::Dependency
47
48
  name: sass
48
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &70126311955400 !ruby/object:Gem::Requirement
49
50
  none: false
50
51
  requirements:
51
52
  - - ~>
@@ -53,15 +54,21 @@ dependencies:
53
54
  version: 3.1.15
54
55
  type: :runtime
55
56
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
+ version_requirements: *70126311955400
58
+ - !ruby/object:Gem::Dependency
59
+ name: less
60
+ requirement: &70126311954680 !ruby/object:Gem::Requirement
57
61
  none: false
58
62
  requirements:
59
63
  - - ~>
60
64
  - !ruby/object:Gem::Version
61
- version: 3.1.15
65
+ version: 2.2.2
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: *70126311954680
62
69
  - !ruby/object:Gem::Dependency
63
70
  name: mustache
64
- requirement: !ruby/object:Gem::Requirement
71
+ requirement: &70126311953820 !ruby/object:Gem::Requirement
65
72
  none: false
66
73
  requirements:
67
74
  - - ~>
@@ -69,15 +76,10 @@ dependencies:
69
76
  version: 0.99.4
70
77
  type: :runtime
71
78
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ~>
76
- - !ruby/object:Gem::Version
77
- version: 0.99.4
79
+ version_requirements: *70126311953820
78
80
  - !ruby/object:Gem::Dependency
79
81
  name: rdiscount
80
- requirement: !ruby/object:Gem::Requirement
82
+ requirement: &70126311946460 !ruby/object:Gem::Requirement
81
83
  none: false
82
84
  requirements:
83
85
  - - ~>
@@ -85,15 +87,10 @@ dependencies:
85
87
  version: 1.6.8
86
88
  type: :runtime
87
89
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ~>
92
- - !ruby/object:Gem::Version
93
- version: 1.6.8
90
+ version_requirements: *70126311946460
94
91
  - !ruby/object:Gem::Dependency
95
92
  name: RedCloth
96
- requirement: !ruby/object:Gem::Requirement
93
+ requirement: &70126311945620 !ruby/object:Gem::Requirement
97
94
  none: false
98
95
  requirements:
99
96
  - - ~>
@@ -101,15 +98,10 @@ dependencies:
101
98
  version: 4.2.9
102
99
  type: :runtime
103
100
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ~>
108
- - !ruby/object:Gem::Version
109
- version: 4.2.9
101
+ version_requirements: *70126311945620
110
102
  - !ruby/object:Gem::Dependency
111
103
  name: coffee-script
112
- requirement: !ruby/object:Gem::Requirement
104
+ requirement: &70126311944660 !ruby/object:Gem::Requirement
113
105
  none: false
114
106
  requirements:
115
107
  - - ~>
@@ -117,15 +109,10 @@ dependencies:
117
109
  version: 2.2.0
118
110
  type: :runtime
119
111
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ~>
124
- - !ruby/object:Gem::Version
125
- version: 2.2.0
112
+ version_requirements: *70126311944660
126
113
  - !ruby/object:Gem::Dependency
127
114
  name: nokogiri
128
- requirement: !ruby/object:Gem::Requirement
115
+ requirement: &70126311943280 !ruby/object:Gem::Requirement
129
116
  none: false
130
117
  requirements:
131
118
  - - ~>
@@ -133,15 +120,10 @@ dependencies:
133
120
  version: 1.5.2
134
121
  type: :runtime
135
122
  prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ~>
140
- - !ruby/object:Gem::Version
141
- version: 1.5.2
123
+ version_requirements: *70126311943280
142
124
  - !ruby/object:Gem::Dependency
143
125
  name: compass
144
- requirement: !ruby/object:Gem::Requirement
126
+ requirement: &70126311942440 !ruby/object:Gem::Requirement
145
127
  none: false
146
128
  requirements:
147
129
  - - ~>
@@ -149,15 +131,10 @@ dependencies:
149
131
  version: 0.12.1
150
132
  type: :runtime
151
133
  prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ~>
156
- - !ruby/object:Gem::Version
157
- version: 0.12.1
134
+ version_requirements: *70126311942440
158
135
  - !ruby/object:Gem::Dependency
159
136
  name: compass-960-plugin
160
- requirement: !ruby/object:Gem::Requirement
137
+ requirement: &70126311941400 !ruby/object:Gem::Requirement
161
138
  none: false
162
139
  requirements:
163
140
  - - ~>
@@ -165,31 +142,21 @@ dependencies:
165
142
  version: 0.10.4
166
143
  type: :runtime
167
144
  prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
- requirements:
171
- - - ~>
172
- - !ruby/object:Gem::Version
173
- version: 0.10.4
145
+ version_requirements: *70126311941400
174
146
  - !ruby/object:Gem::Dependency
175
147
  name: bootstrap-sass
176
- requirement: !ruby/object:Gem::Requirement
148
+ requirement: &70126311940720 !ruby/object:Gem::Requirement
177
149
  none: false
178
150
  requirements:
179
151
  - - ~>
180
152
  - !ruby/object:Gem::Version
181
- version: 2.0.1
153
+ version: 2.1.0.0
182
154
  type: :runtime
183
155
  prerelease: false
184
- version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
- requirements:
187
- - - ~>
188
- - !ruby/object:Gem::Version
189
- version: 2.0.1
156
+ version_requirements: *70126311940720
190
157
  - !ruby/object:Gem::Dependency
191
158
  name: org-ruby
192
- requirement: !ruby/object:Gem::Requirement
159
+ requirement: &70126311939820 !ruby/object:Gem::Requirement
193
160
  none: false
194
161
  requirements:
195
162
  - - ~>
@@ -197,15 +164,10 @@ dependencies:
197
164
  version: 0.5.3
198
165
  type: :runtime
199
166
  prerelease: false
200
- version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
- requirements:
203
- - - ~>
204
- - !ruby/object:Gem::Version
205
- version: 0.5.3
167
+ version_requirements: *70126311939820
206
168
  - !ruby/object:Gem::Dependency
207
169
  name: json
208
- requirement: !ruby/object:Gem::Requirement
170
+ requirement: &70126311939200 !ruby/object:Gem::Requirement
209
171
  none: false
210
172
  requirements:
211
173
  - - ~>
@@ -213,15 +175,10 @@ dependencies:
213
175
  version: 1.6.6
214
176
  type: :runtime
215
177
  prerelease: false
216
- version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
- requirements:
219
- - - ~>
220
- - !ruby/object:Gem::Version
221
- version: 1.6.6
178
+ version_requirements: *70126311939200
222
179
  - !ruby/object:Gem::Dependency
223
180
  name: rest-client
224
- requirement: !ruby/object:Gem::Requirement
181
+ requirement: &70126311938400 !ruby/object:Gem::Requirement
225
182
  none: false
226
183
  requirements:
227
184
  - - ~>
@@ -229,15 +186,10 @@ dependencies:
229
186
  version: 1.6.7
230
187
  type: :runtime
231
188
  prerelease: false
232
- version_requirements: !ruby/object:Gem::Requirement
233
- none: false
234
- requirements:
235
- - - ~>
236
- - !ruby/object:Gem::Version
237
- version: 1.6.7
189
+ version_requirements: *70126311938400
238
190
  - !ruby/object:Gem::Dependency
239
191
  name: git
240
- requirement: !ruby/object:Gem::Requirement
192
+ requirement: &70126311937000 !ruby/object:Gem::Requirement
241
193
  none: false
242
194
  requirements:
243
195
  - - ~>
@@ -245,31 +197,43 @@ dependencies:
245
197
  version: 1.2.5
246
198
  type: :runtime
247
199
  prerelease: false
248
- version_requirements: !ruby/object:Gem::Requirement
200
+ version_requirements: *70126311937000
201
+ - !ruby/object:Gem::Dependency
202
+ name: htmlcompressor
203
+ requirement: &70126311936220 !ruby/object:Gem::Requirement
249
204
  none: false
250
205
  requirements:
251
206
  - - ~>
252
207
  - !ruby/object:Gem::Version
253
- version: 1.2.5
208
+ version: 0.0.3
209
+ type: :runtime
210
+ prerelease: false
211
+ version_requirements: *70126311936220
254
212
  - !ruby/object:Gem::Dependency
255
- name: listen
256
- requirement: !ruby/object:Gem::Requirement
213
+ name: yui-compressor
214
+ requirement: &70126311935360 !ruby/object:Gem::Requirement
257
215
  none: false
258
216
  requirements:
259
217
  - - ~>
260
218
  - !ruby/object:Gem::Version
261
- version: 0.5.0
219
+ version: 0.9.4
262
220
  type: :runtime
263
221
  prerelease: false
264
- version_requirements: !ruby/object:Gem::Requirement
222
+ version_requirements: *70126311935360
223
+ - !ruby/object:Gem::Dependency
224
+ name: listen
225
+ requirement: &70126311934460 !ruby/object:Gem::Requirement
265
226
  none: false
266
227
  requirements:
267
228
  - - ~>
268
229
  - !ruby/object:Gem::Version
269
230
  version: 0.5.0
231
+ type: :runtime
232
+ prerelease: false
233
+ version_requirements: *70126311934460
270
234
  - !ruby/object:Gem::Dependency
271
235
  name: thin
272
- requirement: !ruby/object:Gem::Requirement
236
+ requirement: &70126311933840 !ruby/object:Gem::Requirement
273
237
  none: false
274
238
  requirements:
275
239
  - - ~>
@@ -277,15 +241,10 @@ dependencies:
277
241
  version: 1.4.1
278
242
  type: :runtime
279
243
  prerelease: false
280
- version_requirements: !ruby/object:Gem::Requirement
281
- none: false
282
- requirements:
283
- - - ~>
284
- - !ruby/object:Gem::Version
285
- version: 1.4.1
244
+ version_requirements: *70126311933840
286
245
  - !ruby/object:Gem::Dependency
287
246
  name: eventmachine
288
- requirement: !ruby/object:Gem::Requirement
247
+ requirement: &70126311933260 !ruby/object:Gem::Requirement
289
248
  none: false
290
249
  requirements:
291
250
  - - ~>
@@ -293,12 +252,7 @@ dependencies:
293
252
  version: 1.0.0.rc.4
294
253
  type: :runtime
295
254
  prerelease: false
296
- version_requirements: !ruby/object:Gem::Requirement
297
- none: false
298
- requirements:
299
- - - ~>
300
- - !ruby/object:Gem::Version
301
- version: 1.0.0.rc.4
255
+ version_requirements: *70126311933260
302
256
  description: Awestruct is a framework for creating static HTML sites.
303
257
  email: bob@mcwhirter.org
304
258
  executables:
@@ -363,6 +317,7 @@ files:
363
317
  - lib/awestruct/handlers/interpolation_handler.rb
364
318
  - lib/awestruct/handlers/javascript_handler.rb
365
319
  - lib/awestruct/handlers/layout_handler.rb
320
+ - lib/awestruct/handlers/less_handler.rb
366
321
  - lib/awestruct/handlers/markdown_handler.rb
367
322
  - lib/awestruct/handlers/mustache_handler.rb
368
323
  - lib/awestruct/handlers/no_op_handler.rb
@@ -407,7 +362,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
407
362
  version: '0'
408
363
  segments:
409
364
  - 0
410
- hash: -1162804171460425165
365
+ hash: 319718676061817780
411
366
  required_rubygems_version: !ruby/object:Gem::Requirement
412
367
  none: false
413
368
  requirements:
@@ -416,10 +371,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
416
371
  version: '0'
417
372
  segments:
418
373
  - 0
419
- hash: -1162804171460425165
374
+ hash: 319718676061817780
420
375
  requirements: []
421
376
  rubyforge_project:
422
- rubygems_version: 1.8.23
377
+ rubygems_version: 1.8.10
423
378
  signing_key:
424
379
  specification_version: 3
425
380
  summary: Static site-baking utility