awestruct 0.2.11 → 0.2.12

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,6 +4,7 @@ module Awestruct
4
4
  module Commands
5
5
 
6
6
  WEBrick::HTTPUtils::DefaultMimeTypes.store('atom', 'application/atom+xml')
7
+ WEBrick::HTTPUtils::DefaultMimeTypes.store('appcache', 'text/cache-manifest')
7
8
 
8
9
  class Server
9
10
  attr_reader :server
@@ -20,8 +20,7 @@ module Awestruct
20
20
  @extension_dir = File.join(dir, '_ext')
21
21
  @skin_dir = File.join(dir, '_skin')
22
22
  @tmp_dir = File.join(dir, '_tmp')
23
- @ignore = File.exists?(ignore_file = File.join(dir, ".awestruct_ignore")) ? IO.read(ignore_file).each_line.map(&:strip) : []
24
- @ignore = Dir[*@ignore]
23
+ @ignore = File.exists?(ignore_file = File.join(dir, ".awestruct_ignore")) ? Dir[*IO.read(ignore_file).each_line.map(&:strip)] : []
25
24
  end
26
25
 
27
26
  end
@@ -2,15 +2,15 @@ require 'hpricot'
2
2
 
3
3
  module Awestruct
4
4
  module ContextHelper
5
-
5
+
6
6
  def html_to_text(str)
7
7
  str.gsub( /<[^>]+>/, '' ).gsub( /&nbsp;/, ' ' )
8
8
  end
9
-
9
+
10
10
  def clean_html(str)
11
11
  str.gsub( /&nbsp;/, ' ' )
12
12
  end
13
-
13
+
14
14
  def without_images(str)
15
15
  str.gsub(/<img[^>]+>/,'').gsub(/<a[^>]+>([^<]*)<\/a>/, '\1')
16
16
  end
@@ -49,7 +49,14 @@ module Awestruct
49
49
  doc.search( "//img" ).each do |img|
50
50
  img['src'] = fix_url( base_url, img['src'] )
51
51
  end
52
- return doc.to_s
52
+ # Hpricot::Doc#to_s output encoding is not necessarily the same as the encoding of text
53
+ if RUBY_VERSION.start_with? '1.8'
54
+ doc.to_s
55
+ else
56
+ doc.to_s.tap do |d|
57
+ d.force_encoding(text.encoding) if d.encoding != text.encoding
58
+ end
59
+ end
53
60
  end
54
61
 
55
62
  def fix_url(base_url, url)
@@ -33,6 +33,10 @@ require 'awestruct/extensions/flattr'
33
33
  require 'awestruct/extensions/google_analytics'
34
34
  require 'awestruct/extensions/partial'
35
35
  require 'awestruct/extensions/sitemap'
36
+ require 'awestruct/extensions/cachebuster'
37
+ require 'awestruct/extensions/obfuscate'
38
+ require 'awestruct/extensions/relative'
39
+ require 'awestruct/extensions/assets'
36
40
 
37
41
  require 'awestruct/util/inflector'
38
42
  require 'awestruct/util/default_inflections'
@@ -316,6 +320,7 @@ module Awestruct
316
320
  site.send( "#{k}=", v )
317
321
  end
318
322
  end if data
323
+ site.profile = profile
319
324
 
320
325
  profile_data.each do |k,v|
321
326
  site.send( "#{k}=", v )
@@ -344,6 +349,7 @@ module Awestruct
344
349
  while ( layout )
345
350
  layout_name = layout.to_s + page.output_extension
346
351
  current = site.layouts[ layout_name ]
352
+ raise "Unknown layout '#{layout_name}' #{site.layouts.keys} for page #{page}" if current == nil
347
353
  current.front_matter.each { |k,v| page.send( "#{k}=", v ) unless page.send( "#{k}" ) } if current
348
354
  layout = current.layout
349
355
  end
@@ -0,0 +1,39 @@
1
+ require 'awestruct/extensions/relative'
2
+ require 'pathname'
3
+
4
+ module Awestruct
5
+ module Extensions
6
+ module Assets
7
+
8
+ def asset(href)
9
+ if site.assets_url
10
+ File.join(site.assets_url, href)
11
+ else
12
+ relative(File.join("/#{site.assets_path||'assets'}", href))
13
+ end
14
+ end
15
+
16
+ class Transformer
17
+ # FIXME this is not DRY at all
18
+ def relative(page, href)
19
+ Pathname.new(href).relative_path_from(Pathname.new(File.dirname(page.output_path))).to_s
20
+ end
21
+ def asset(site, page, href)
22
+ if site.assets_url
23
+ File.join(site.assets_url, href)
24
+ else
25
+ relative(page, File.join("/#{site.assets_path||'assets'}", href))
26
+ end
27
+ end
28
+ def transform(site, page, input)
29
+ if page.output_path =~ /\.html/
30
+ input.gsub('asset://', asset(site, page, "#{File.basename(File.basename(page.source_path, ".md"))}") + "/")
31
+ else
32
+ input
33
+ end
34
+ end
35
+ end
36
+
37
+ end
38
+ end
39
+ end
@@ -1,6 +1,7 @@
1
1
  module Awestruct
2
2
  module Extensions
3
3
  class Atomizer
4
+
4
5
  def initialize(entries_name, output_path, opts={})
5
6
  @entries_name = entries_name
6
7
  @output_path = output_path
@@ -34,6 +35,7 @@ module Awestruct
34
35
  page.title = site.title || site.base_url
35
36
  site.pages << page
36
37
  end
38
+
37
39
  end
38
40
  end
39
41
  end
@@ -0,0 +1,12 @@
1
+ module Awestruct
2
+ module Extensions
3
+ module Cachebuster
4
+ def timestamp
5
+ (Time.now.to_i / 1000).to_i
6
+ end
7
+ def cache(href)
8
+ "#{href}?#{site.cachebuster||timestamp}"
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,7 +1,5 @@
1
-
2
1
  module Awestruct
3
2
  module Extensions
4
-
5
3
  class DataDir
6
4
 
7
5
  def initialize(data_dir="_data")
@@ -13,9 +11,8 @@ module Awestruct
13
11
  end
14
12
 
15
13
  def execute(site)
16
-
17
14
  Dir[ "#{site.dir}/#{@data_dir}/*" ].each do |entry|
18
- if ( File.directory?( entry ) )
15
+ if ( File.directory?( entry ) )
19
16
  data_key = File.basename( entry )
20
17
  data_map = {}
21
18
  Dir[ "#{entry}/*" ].each do |chunk|
@@ -27,10 +24,8 @@ module Awestruct
27
24
  site.send( "#{data_key}=", data_map )
28
25
  end
29
26
  end
30
-
31
27
  end
32
-
33
- end
34
28
 
29
+ end
35
30
  end
36
31
  end
@@ -55,8 +55,8 @@ module Awestruct
55
55
  def resolve_disqus_identifier()
56
56
  self.disqus_identifier ? self.disqus_identifier : Digest::SHA1.hexdigest(self.date.strftime('%Y-%m-%d-') + self.slug)
57
57
  end
58
+
58
59
  end
59
60
  end
60
61
  end
61
-
62
62
  end
@@ -1,4 +1,3 @@
1
-
2
1
  module Awestruct
3
2
  module Extensions
4
3
  class Flattr
@@ -37,6 +36,7 @@ module Awestruct
37
36
  html
38
37
  end
39
38
  end
39
+
40
40
  end
41
41
  end
42
42
  end
@@ -1,4 +1,3 @@
1
-
2
1
  module Awestruct
3
2
  module Extensions
4
3
  module GoogleAnalytics
@@ -33,7 +32,7 @@ module Awestruct
33
32
  html += %Q[})();\n</script>\n]
34
33
  html
35
34
  end
35
+
36
36
  end
37
37
  end
38
-
39
38
  end
@@ -1,19 +1,20 @@
1
-
2
1
  module Awestruct
3
2
  module Extensions
4
- class Gsub
3
+ class Gsub
4
+
5
5
  def initialize(pattern, replacement, options = {})
6
6
  @pattern = pattern
7
7
  @replacement = replacement
8
8
  @gsub_required = options[:gsub_required] || lambda { |site, page| page.output_path.end_with?(".html") }
9
9
  end
10
-
10
+
11
11
  def transform(site, page, rendered)
12
12
  if (@gsub_required.call(site, page))
13
13
  rendered = rendered.gsub(@pattern, @replacement)
14
14
  end
15
15
  rendered
16
16
  end
17
+
17
18
  end
18
19
  end
19
20
  end
@@ -1,8 +1,7 @@
1
-
2
1
  module Awestruct
3
2
  module Extensions
4
-
5
3
  class Indexifier
4
+
6
5
  def execute(site)
7
6
  site.pages.each do |page|
8
7
  if ( page.inhibit_indexifier || ( page.output_path =~ /^(.*\/)?index.html$/ ) )
@@ -12,7 +11,7 @@ module Awestruct
12
11
  end
13
12
  end
14
13
  end
15
- end
16
14
 
15
+ end
17
16
  end
18
17
  end
@@ -1,4 +1,3 @@
1
-
2
1
  require 'digest/sha1'
3
2
 
4
3
  module Awestruct
@@ -32,8 +31,8 @@ module Awestruct
32
31
  html += %Q(<script type='text/javascript' src='http://www.intensedebate.com/js/genericLinkWrapperV2.js'></script>\n)
33
32
  html
34
33
  end
34
+
35
35
  end
36
36
  end
37
37
  end
38
-
39
38
  end
@@ -0,0 +1,32 @@
1
+ module Awestruct
2
+ module Extensions
3
+ module Obfuscate
4
+
5
+ def mail_to(email, options={})
6
+ index = email.index('@') or raise "email needs to contain @"
7
+ index += 3
8
+ parts = [ email[0...index], email[index..-1] ]
9
+ "<a\nclass='#{options[:class]}\nhref=\"mailto:x@y\"\n'\nhref\n = '#{hex('mailto:' + percent(email))}\n'>#{hex(parts[0])}<!--\nmailto:abuse@hotmail.com\n</a>\n-->#{hex(parts[1])}</a>"
10
+ end
11
+
12
+ private
13
+
14
+ def hex(s)
15
+ result = ''
16
+ s.each_codepoint do |cp|
17
+ result << "&#x%x;" % [cp]
18
+ end
19
+ result
20
+ end
21
+
22
+ def percent(s)
23
+ result = ''
24
+ s.each_codepoint do |cp|
25
+ result << "%%%x" % [cp]
26
+ end
27
+ result
28
+ end
29
+
30
+ end
31
+ end
32
+ end
@@ -1,5 +1,3 @@
1
-
2
-
3
1
  module Awestruct
4
2
  module Extensions
5
3
  class Paginator
@@ -99,7 +97,7 @@ module Awestruct
99
97
 
100
98
  paginated_pages.first
101
99
  end
102
- end
103
100
 
101
+ end
104
102
  end
105
103
  end
@@ -1,14 +1,26 @@
1
-
2
1
  module Awestruct
3
2
  module Extensions
4
3
  module Partial
5
4
 
6
- def partial(path)
7
- page = site.engine.load_site_page( File.join( '_partials', path ) )
8
- page.content if ( page )
5
+ def partial(path, params = {})
6
+ filename = File.join( '_partials', path )
7
+
8
+ if !File.exists?( filename )
9
+ puts "no file #{filename} to include"
10
+ return nil
11
+ end
12
+
13
+ page = site.engine.load_site_page( filename )
14
+
15
+ return nil if !page
16
+
17
+ params.each do |k,v|
18
+ page.send( "#{k}=", v )
19
+ end if params
20
+
21
+ page.content
9
22
  end
10
23
 
11
24
  end
12
25
  end
13
-
14
26
  end
@@ -1,6 +1,5 @@
1
1
  module Awestruct
2
2
  module Extensions
3
-
4
3
  class Pipeline
5
4
 
6
5
  attr_reader :before_extensions
@@ -40,7 +39,7 @@ module Awestruct
40
39
  ext.watch( watched_dirs ) if ext.respond_to?('watch')
41
40
  end
42
41
  end
43
- end
44
42
 
43
+ end
45
44
  end
46
45
  end
@@ -1,4 +1,3 @@
1
-
2
1
  module Awestruct
3
2
  module Extensions
4
3
  class Posts
@@ -48,7 +47,7 @@ module Awestruct
48
47
  end
49
48
  end
50
49
  end
51
-
50
+
52
51
  posts = posts.sort_by{|each| [each.date, each.sequence || 0, File.mtime( each.source_path ), each.slug ] }.reverse
53
52
 
54
53
  last = nil
@@ -63,6 +62,7 @@ module Awestruct
63
62
 
64
63
  site.send( "#{@assign_to}=", posts )
65
64
  end
65
+
66
66
  end
67
67
  end
68
68
  end
@@ -0,0 +1,11 @@
1
+ require 'pathname'
2
+
3
+ module Awestruct
4
+ module Extensions
5
+ module Relative
6
+ def relative(href)
7
+ Pathname.new(href).relative_path_from(Pathname.new(File.dirname(page.output_path))).to_s
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,6 +1,6 @@
1
1
  # Generates a sitemap for search engines. Defaults to /sitemap.xml
2
2
  # Ignores images, css, robots, atoms, javascript files.
3
- # Add a sitemap.yml file to add files that for one reason or
3
+ # Add a sitemap.yml file to add files that for one reason or
4
4
  # another won't be hanging off of site (e.g. they're in .htaccess)
5
5
  require 'ostruct'
6
6
 
@@ -16,10 +16,10 @@ module Awestruct
16
16
  entries.each { |entry| sitemap_pages << set_sitemap_data( entry ) if valid_sitemap_entry( entry ) } if entries
17
17
 
18
18
  # Generate sitemap pages for stuff in _config/sitemap.yml
19
- site.sitemap.pages.each do |entry|
19
+ site.sitemap.pages.each do |entry|
20
20
  page = Awestruct::Renderable.new( site )
21
- page.output_path = entry.url
22
- page.date = entry.date( nil )
21
+ page.output_path = entry.url
22
+ page.date = entry.date( nil )
23
23
  page.priority = entry.priority( nil )
24
24
  page.change_frequency = entry.change_frequency( nil )
25
25
  sitemap_pages << page
@@ -28,7 +28,7 @@ module Awestruct
28
28
  # Generate the correct urls for each page in the sitemap
29
29
  site.engine.set_urls( sitemap_pages )
30
30
 
31
- # Create a sitemap.xml file from our template
31
+ # Create a sitemap.xml file from our template
32
32
  sitemap = File.join( File.dirname(__FILE__), 'sitemap.xml.haml' )
33
33
  page = site.engine.load_page( sitemap )
34
34
  page.output_path = 'sitemap.xml'
@@ -39,6 +39,7 @@ module Awestruct
39
39
  end
40
40
 
41
41
  protected
42
+
42
43
  def set_sitemap_data( page )
43
44
  site = page.site
44
45
  munge_date( page )
@@ -78,6 +79,7 @@ module Awestruct
78
79
  page.output_extension != '.gif' &&
79
80
  page.output_extension != '.js'
80
81
  end
82
+
81
83
  end
82
84
  end
83
85
  end
@@ -1,4 +1,3 @@
1
-
2
1
  module Awestruct
3
2
  module Extensions
4
3
  class TagCloud
@@ -19,6 +18,7 @@ module Awestruct
19
18
  site.pages << page
20
19
  site.send( "#{@tagged_items_property}_tag_cloud=", LazyPage.new( page ) )
21
20
  end
21
+
22
22
  end
23
23
 
24
24
  class LazyPage
@@ -29,5 +29,6 @@ module Awestruct
29
29
  @page.content
30
30
  end
31
31
  end
32
+
32
33
  end
33
34
  end
@@ -1,4 +1,3 @@
1
-
2
1
  module Awestruct
3
2
  module Extensions
4
3
  class Tagger
@@ -89,6 +88,7 @@ module Awestruct
89
88
 
90
89
  site.send( "#{@tagged_items_property}_tags=", ordered_tags )
91
90
  end
91
+
92
92
  end
93
93
  end
94
94
  end
@@ -34,5 +34,5 @@
34
34
  %summary
35
35
  #{summarize( html_to_text( entry.content ), 100 )}...
36
36
  %content{:type=>'html'}
37
- = clean_html( escape_once( fully_qualify_urls( site.base_url, find_and_preserve( entry.content ) ) ) )
37
+ = clean_html( html_escape( fully_qualify_urls( site.base_url, find_and_preserve( entry.content ) ) ) )
38
38
 
@@ -16,6 +16,7 @@ module Awestruct
16
16
 
17
17
  def load_page
18
18
  full_content = File.read( source_path )
19
+ full_content.force_encoding(@site.encoding) if @site.encoding
19
20
  yaml_content = ''
20
21
 
21
22
  dash_lines = 0
@@ -42,7 +43,7 @@ module Awestruct
42
43
 
43
44
  begin
44
45
  @front_matter = YAML.load( yaml_content ) || {}
45
- @front_matter.each do |k,v|
46
+ @front_matter.each do |k,v|
46
47
  self.send( "#{k}=", v )
47
48
  end
48
49
  rescue => e
@@ -20,7 +20,7 @@ module Awestruct
20
20
  end
21
21
 
22
22
  def raw_page_content
23
- File.read( self.source_path )
23
+ File.read( self.source_path ).tap {|f| f.force_encoding(@site.encoding) if @site.encoding }
24
24
  end
25
25
 
26
26
  def render(context)
@@ -1,4 +1,4 @@
1
1
 
2
2
  module Awestruct
3
- VERSION='0.2.11'
3
+ VERSION='0.2.12'
4
4
  end
metadata CHANGED
@@ -1,169 +1,144 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: awestruct
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 2
8
- - 11
9
- version: 0.2.11
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.12
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Bob McWhirter
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2012-01-06 00:00:00 -05:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-01-30 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: hpricot
16
+ requirement: &70193604316820 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
22
23
  prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- segments:
28
- - 0
29
- version: "0"
24
+ version_requirements: *70193604316820
25
+ - !ruby/object:Gem::Dependency
26
+ name: versionomy
27
+ requirement: &70193604316200 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - =
31
+ - !ruby/object:Gem::Version
32
+ version: 0.4.1
30
33
  type: :runtime
31
- version_requirements: *id001
32
- - !ruby/object:Gem::Dependency
33
- name: haml
34
34
  prerelease: false
35
- requirement: &id002 !ruby/object:Gem::Requirement
36
- requirements:
35
+ version_requirements: *70193604316200
36
+ - !ruby/object:Gem::Dependency
37
+ name: haml
38
+ requirement: &70193604315580 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
37
41
  - - <=
38
- - !ruby/object:Gem::Version
39
- segments:
40
- - 3
41
- - 1
42
- - 0
42
+ - !ruby/object:Gem::Version
43
43
  version: 3.1.0
44
44
  type: :runtime
45
- version_requirements: *id002
46
- - !ruby/object:Gem::Dependency
47
- name: sass
48
45
  prerelease: false
49
- requirement: &id003 !ruby/object:Gem::Requirement
50
- requirements:
46
+ version_requirements: *70193604315580
47
+ - !ruby/object:Gem::Dependency
48
+ name: sass
49
+ requirement: &70193604315120 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
51
52
  - - <=
52
- - !ruby/object:Gem::Version
53
- segments:
54
- - 3
55
- - 1
56
- - 0
53
+ - !ruby/object:Gem::Version
57
54
  version: 3.1.0
58
55
  type: :runtime
59
- version_requirements: *id003
60
- - !ruby/object:Gem::Dependency
61
- name: hashery
62
56
  prerelease: false
63
- requirement: &id004 !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "="
66
- - !ruby/object:Gem::Version
67
- segments:
68
- - 1
69
- - 4
70
- - 0
57
+ version_requirements: *70193604315120
58
+ - !ruby/object:Gem::Dependency
59
+ name: hashery
60
+ requirement: &70193604314540 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - =
64
+ - !ruby/object:Gem::Version
71
65
  version: 1.4.0
72
66
  type: :runtime
73
- version_requirements: *id004
74
- - !ruby/object:Gem::Dependency
75
- name: rdiscount
76
67
  prerelease: false
77
- requirement: &id005 !ruby/object:Gem::Requirement
78
- requirements:
79
- - - "="
80
- - !ruby/object:Gem::Version
81
- segments:
82
- - 1
83
- - 6
84
- - 8
68
+ version_requirements: *70193604314540
69
+ - !ruby/object:Gem::Dependency
70
+ name: rdiscount
71
+ requirement: &70193604313960 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - =
75
+ - !ruby/object:Gem::Version
85
76
  version: 1.6.8
86
77
  type: :runtime
87
- version_requirements: *id005
88
- - !ruby/object:Gem::Dependency
89
- name: RedCloth
90
78
  prerelease: false
91
- requirement: &id006 !ruby/object:Gem::Requirement
92
- requirements:
79
+ version_requirements: *70193604313960
80
+ - !ruby/object:Gem::Dependency
81
+ name: RedCloth
82
+ requirement: &70193604313340 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
93
85
  - - <=
94
- - !ruby/object:Gem::Version
95
- segments:
96
- - 4
97
- - 2
98
- - 5
86
+ - !ruby/object:Gem::Version
99
87
  version: 4.2.5
100
88
  type: :runtime
101
- version_requirements: *id006
102
- - !ruby/object:Gem::Dependency
103
- name: compass
104
89
  prerelease: false
105
- requirement: &id007 !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- segments:
110
- - 0
111
- - 11
112
- - 5
90
+ version_requirements: *70193604313340
91
+ - !ruby/object:Gem::Dependency
92
+ name: compass
93
+ requirement: &70193604312860 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
113
98
  version: 0.11.5
114
99
  type: :runtime
115
- version_requirements: *id007
116
- - !ruby/object:Gem::Dependency
117
- name: compass-960-plugin
118
100
  prerelease: false
119
- requirement: &id008 !ruby/object:Gem::Requirement
120
- requirements:
101
+ version_requirements: *70193604312860
102
+ - !ruby/object:Gem::Dependency
103
+ name: compass-960-plugin
104
+ requirement: &70193604312300 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
121
107
  - - <=
122
- - !ruby/object:Gem::Version
123
- segments:
124
- - 0
125
- - 10
126
- - 4
108
+ - !ruby/object:Gem::Version
127
109
  version: 0.10.4
128
110
  type: :runtime
129
- version_requirements: *id008
130
- - !ruby/object:Gem::Dependency
131
- name: org-ruby
132
111
  prerelease: false
133
- requirement: &id009 !ruby/object:Gem::Requirement
134
- requirements:
135
- - - "="
136
- - !ruby/object:Gem::Version
137
- segments:
138
- - 0
139
- - 5
140
- - 3
112
+ version_requirements: *70193604312300
113
+ - !ruby/object:Gem::Dependency
114
+ name: org-ruby
115
+ requirement: &70193604311460 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - =
119
+ - !ruby/object:Gem::Version
141
120
  version: 0.5.3
142
121
  type: :runtime
143
- version_requirements: *id009
144
- - !ruby/object:Gem::Dependency
145
- name: fssm
146
122
  prerelease: false
147
- requirement: &id010 !ruby/object:Gem::Requirement
148
- requirements:
149
- - - "="
150
- - !ruby/object:Gem::Version
151
- segments:
152
- - 0
153
- - 2
154
- - 7
123
+ version_requirements: *70193604311460
124
+ - !ruby/object:Gem::Dependency
125
+ name: fssm
126
+ requirement: &70193604309980 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - =
130
+ - !ruby/object:Gem::Version
155
131
  version: 0.2.7
156
132
  type: :runtime
157
- version_requirements: *id010
158
- description:
133
+ prerelease: false
134
+ version_requirements: *70193604309980
135
+ description: Awestruct is a framework for creating static HTML sites.
159
136
  email: bob@mcwhirter.org
160
- executables:
137
+ executables:
161
138
  - awestruct
162
139
  extensions: []
163
-
164
140
  extra_rdoc_files: []
165
-
166
- files:
141
+ files:
167
142
  - lib/awestruct/commands/deploy.rb
168
143
  - lib/awestruct/commands/frameworks/base_pipeline.rb
169
144
  - lib/awestruct/commands/generate.rb
@@ -175,7 +150,9 @@ files:
175
150
  - lib/awestruct/engine.rb
176
151
  - lib/awestruct/erb_file.rb
177
152
  - lib/awestruct/erbable.rb
153
+ - lib/awestruct/extensions/assets.rb
178
154
  - lib/awestruct/extensions/atomizer.rb
155
+ - lib/awestruct/extensions/cachebuster.rb
179
156
  - lib/awestruct/extensions/data_dir.rb
180
157
  - lib/awestruct/extensions/disqus.rb
181
158
  - lib/awestruct/extensions/flattr.rb
@@ -183,10 +160,12 @@ files:
183
160
  - lib/awestruct/extensions/gsub.rb
184
161
  - lib/awestruct/extensions/indexifier.rb
185
162
  - lib/awestruct/extensions/intense_debate.rb
163
+ - lib/awestruct/extensions/obfuscate.rb
186
164
  - lib/awestruct/extensions/paginator.rb
187
165
  - lib/awestruct/extensions/partial.rb
188
166
  - lib/awestruct/extensions/pipeline.rb
189
167
  - lib/awestruct/extensions/posts.rb
168
+ - lib/awestruct/extensions/relative.rb
190
169
  - lib/awestruct/extensions/sitemap.rb
191
170
  - lib/awestruct/extensions/tag_cloud.rb
192
171
  - lib/awestruct/extensions/tagger.rb
@@ -216,35 +195,29 @@ files:
216
195
  - lib/awestruct/extensions/sitemap.xml.haml
217
196
  - lib/awestruct/extensions/tag_cloud.html.haml
218
197
  - lib/awestruct/extensions/template.atom.haml
219
- has_rdoc: true
220
- homepage:
198
+ - bin/awestruct
199
+ homepage: http://awestruct.org
221
200
  licenses: []
222
-
223
201
  post_install_message:
224
202
  rdoc_options: []
225
-
226
- require_paths:
203
+ require_paths:
227
204
  - lib
228
- required_ruby_version: !ruby/object:Gem::Requirement
229
- requirements:
230
- - - ">="
231
- - !ruby/object:Gem::Version
232
- segments:
233
- - 0
234
- version: "0"
235
- required_rubygems_version: !ruby/object:Gem::Requirement
236
- requirements:
237
- - - ">="
238
- - !ruby/object:Gem::Version
239
- segments:
240
- - 0
241
- version: "0"
205
+ required_ruby_version: !ruby/object:Gem::Requirement
206
+ none: false
207
+ requirements:
208
+ - - ! '>='
209
+ - !ruby/object:Gem::Version
210
+ version: '0'
211
+ required_rubygems_version: !ruby/object:Gem::Requirement
212
+ none: false
213
+ requirements:
214
+ - - ! '>='
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
242
217
  requirements: []
243
-
244
218
  rubyforge_project:
245
- rubygems_version: 1.3.6
219
+ rubygems_version: 1.8.10
246
220
  signing_key:
247
221
  specification_version: 3
248
222
  summary: Static site-baking utility
249
223
  test_files: []
250
-