awestructx 0.4.0 → 0.4.1.x1

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.
Files changed (37) hide show
  1. data/lib/awestruct/astruct_mixin.rb +13 -3
  2. data/lib/awestruct/cli/auto.rb +18 -4
  3. data/lib/awestruct/cli/deploy.rb +38 -0
  4. data/lib/awestruct/cli/invoker.rb +12 -1
  5. data/lib/awestruct/config.rb +10 -0
  6. data/lib/awestruct/dependencies.rb +102 -0
  7. data/lib/awestruct/deploy/github_pages_deploy.rb +61 -0
  8. data/lib/awestruct/deploy/rsync_deploy.rb +51 -0
  9. data/lib/awestruct/deployers.rb +15 -0
  10. data/lib/awestruct/engine.rb +49 -13
  11. data/lib/awestruct/extensions/atomizer.rb +3 -3
  12. data/lib/awestruct/extensions/minify.rb +21 -23
  13. data/lib/awestruct/extensions/posts.rb +4 -4
  14. data/lib/awestruct/extensions/sitemap.rb +1 -0
  15. data/lib/awestruct/handler_chains.rb +15 -32
  16. data/lib/awestruct/handlers/asciidoc_handler.rb +57 -0
  17. data/lib/awestruct/handlers/base_handler.rb +23 -4
  18. data/lib/awestruct/handlers/coffeescript_handler.rb +48 -0
  19. data/lib/awestruct/handlers/erb_handler.rb +44 -0
  20. data/lib/awestruct/handlers/file_handler.rb +6 -3
  21. data/lib/awestruct/handlers/front_matter_handler.rb +5 -0
  22. data/lib/awestruct/handlers/haml_handler.rb +14 -2
  23. data/lib/awestruct/handlers/layout_handler.rb +4 -2
  24. data/lib/awestruct/handlers/markdown_handler.rb +14 -0
  25. data/lib/awestruct/handlers/orgmode_handler.rb +48 -0
  26. data/lib/awestruct/handlers/page_delegating_handler.rb +54 -0
  27. data/lib/awestruct/handlers/restructuredtext_handler.rb +67 -0
  28. data/lib/awestruct/handlers/sass_handler.rb +7 -0
  29. data/lib/awestruct/handlers/scss_handler.rb +7 -0
  30. data/lib/awestruct/handlers/textile_handler.rb +15 -0
  31. data/lib/awestruct/layouts.rb +1 -0
  32. data/lib/awestruct/page.rb +27 -14
  33. data/lib/awestruct/page_loader.rb +15 -5
  34. data/lib/awestruct/pipeline.rb +7 -0
  35. data/lib/awestruct/version.rb +1 -1
  36. data/lib/guard/awestruct.rb +1 -1
  37. metadata +173 -267
@@ -1,48 +1,31 @@
1
1
  require 'awestruct/handler_chain'
2
2
  require 'awestruct/handlers/file_handler'
3
- require 'awestruct/handlers/front_matter_handler'
4
- require 'awestruct/handlers/interpolation_handler'
5
3
  require 'awestruct/handlers/markdown_handler'
4
+ require 'awestruct/handlers/orgmode_handler'
5
+ require 'awestruct/handlers/asciidoc_handler'
6
+ require 'awestruct/handlers/restructuredtext_handler'
6
7
  require 'awestruct/handlers/textile_handler'
8
+ require 'awestruct/handlers/erb_handler'
7
9
  require 'awestruct/handlers/haml_handler'
8
10
  require 'awestruct/handlers/sass_handler'
9
11
  require 'awestruct/handlers/scss_handler'
10
- require 'awestruct/handlers/layout_handler'
12
+ require 'awestruct/handlers/coffeescript_handler'
11
13
 
12
14
  module Awestruct
13
15
 
14
16
  class HandlerChains
15
17
 
16
-
17
18
  DEFAULTS = [
18
- HandlerChain.new( /\.md$/,
19
- Awestruct::Handlers::FileHandler,
20
- Awestruct::Handlers::FrontMatterHandler,
21
- Awestruct::Handlers::InterpolationHandler,
22
- Awestruct::Handlers::MarkdownHandler,
23
- Awestruct::Handlers::LayoutHandler
24
- ),
25
- HandlerChain.new( /\.textile$/,
26
- Awestruct::Handlers::FileHandler,
27
- Awestruct::Handlers::FrontMatterHandler,
28
- Awestruct::Handlers::InterpolationHandler,
29
- Awestruct::Handlers::TextileHandler,
30
- Awestruct::Handlers::LayoutHandler
31
- ),
32
- HandlerChain.new( /\.haml$/,
33
- Awestruct::Handlers::FileHandler,
34
- Awestruct::Handlers::FrontMatterHandler,
35
- Awestruct::Handlers::HamlHandler,
36
- Awestruct::Handlers::LayoutHandler
37
- ),
38
- HandlerChain.new( /\.sass$/,
39
- Awestruct::Handlers::FileHandler,
40
- Awestruct::Handlers::SassHandler
41
- ),
42
- HandlerChain.new( /\.scss$/,
43
- Awestruct::Handlers::FileHandler,
44
- Awestruct::Handlers::ScssHandler
45
- ),
19
+ Awestruct::Handlers::MarkdownHandler::CHAIN,
20
+ Awestruct::Handlers::TextileHandler::CHAIN,
21
+ Awestruct::Handlers::ErbHandler::CHAIN,
22
+ Awestruct::Handlers::OrgmodeHandler::CHAIN,
23
+ Awestruct::Handlers::AsciidocHandler::CHAIN,
24
+ Awestruct::Handlers::RestructuredtextHandler::CHAIN,
25
+ Awestruct::Handlers::HamlHandler::CHAIN,
26
+ Awestruct::Handlers::SassHandler::CHAIN,
27
+ Awestruct::Handlers::ScssHandler::CHAIN,
28
+ Awestruct::Handlers::CoffeescriptHandler::CHAIN,
46
29
  HandlerChain.new( /.*/, Awestruct::Handlers::FileHandler )
47
30
  ]
48
31
 
@@ -0,0 +1,57 @@
1
+
2
+ require 'awestruct/handler_chain'
3
+ require 'awestruct/handlers/base_handler'
4
+ require 'awestruct/handlers/file_handler'
5
+ require 'awestruct/handlers/front_matter_handler'
6
+ require 'awestruct/handlers/interpolation_handler'
7
+ require 'awestruct/handlers/layout_handler'
8
+
9
+ module Awestruct
10
+ module Handlers
11
+ class AsciidocHandler < BaseHandler
12
+
13
+ CHAIN = Awestruct::HandlerChain.new( /\.(adoc|asciidoc)$/,
14
+ Awestruct::Handlers::FileHandler,
15
+ Awestruct::Handlers::FrontMatterHandler,
16
+ Awestruct::Handlers::InterpolationHandler,
17
+ Awestruct::Handlers::AsciidocHandler,
18
+ Awestruct::Handlers::LayoutHandler
19
+ )
20
+
21
+ def initialize(site, delegate)
22
+ super( site, delegate )
23
+ end
24
+
25
+ def simple_name
26
+ p = File.basename( relative_source_path )
27
+ File.basename( p, File.extname( p ) )
28
+ end
29
+
30
+ def output_filename
31
+ simple_name + output_extension
32
+ end
33
+
34
+ def output_extension
35
+ '.html'
36
+ end
37
+
38
+ def content_syntax
39
+ :asciidoc
40
+ end
41
+
42
+ def rendered_content(context, with_layouts=true)
43
+ 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", '' )
54
+ end
55
+ end
56
+ end
57
+ end
@@ -1,5 +1,6 @@
1
1
 
2
2
  require 'hashery/open_cascade'
3
+ require 'open3'
3
4
 
4
5
  module Awestruct
5
6
  module Handlers
@@ -39,12 +40,16 @@ module Awestruct
39
40
  end
40
41
 
41
42
  def output_path
42
- File.join( File.dirname( relative_source_path ), output_filename )
43
+ ( p = relative_source_path ) if relative_source_path
44
+ ( of = output_filename ) if output_filename
45
+ return File.join( File.dirname( p ), output_filename ) if ( p && of )
46
+ nil
43
47
  end
44
48
 
45
49
  def output_extension
46
- return @delegate.output_extension if @delegate
47
- File.extname( output_filename )
50
+ return @delegate.output_extension if @delegate
51
+ return File.extname( output_filename ) unless output_filename.nil?
52
+ nil
48
53
  end
49
54
 
50
55
  def path
@@ -78,7 +83,12 @@ module Awestruct
78
83
  end
79
84
 
80
85
  def inherit_front_matter(page)
81
- @delegate.inherit_front_matter(page) if @delegate
86
+ return @delegate.inherit_front_matter(page) if @delegate
87
+ end
88
+
89
+ def dependencies
90
+ return @delegate.dependencies if @delegate
91
+ []
82
92
  end
83
93
 
84
94
  def to_chain
@@ -87,6 +97,15 @@ module Awestruct
87
97
  chain.flatten
88
98
  end
89
99
 
100
+ def execute_shell(command, input=nil)
101
+ Open3.popen3(command) do |stdin, stdout, _|
102
+ stdin.puts input unless input.nil?
103
+ out = stdout.read
104
+ end
105
+ rescue Errno::EPIPE
106
+ ""
107
+ end
108
+
90
109
  end
91
110
  end
92
111
  end
@@ -0,0 +1,48 @@
1
+
2
+ require 'awestruct/handler_chain'
3
+ require 'awestruct/handlers/base_handler'
4
+ require 'awestruct/handlers/file_handler'
5
+ require 'awestruct/handlers/front_matter_handler'
6
+ require 'awestruct/handlers/interpolation_handler'
7
+
8
+ require 'coffee-script'
9
+
10
+ module Awestruct
11
+ module Handlers
12
+ class CoffeescriptHandler < BaseHandler
13
+
14
+
15
+ CHAIN = Awestruct::HandlerChain.new( /\.coffee$/,
16
+ Awestruct::Handlers::FileHandler,
17
+ Awestruct::Handlers::FrontMatterHandler,
18
+ Awestruct::Handlers::InterpolationHandler,
19
+ Awestruct::Handlers::CoffeescriptHandler
20
+ )
21
+
22
+ def initialize(site, delegate)
23
+ super( site, delegate )
24
+ end
25
+
26
+ def simple_name
27
+ File.basename( relative_source_path, '.coffee' )
28
+ end
29
+
30
+ def output_filename
31
+ File.basename( relative_source_path, '.coffee' ) + '.js'
32
+ end
33
+
34
+ def output_extension
35
+ '.js'
36
+ end
37
+
38
+ def content_syntax
39
+ :coffeescript
40
+ end
41
+
42
+ def rendered_content(context, with_layouts=true)
43
+ CoffeeScript.compile( delegate.rendered_content( context, with_layouts ) )
44
+ end
45
+
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,44 @@
1
+
2
+ require 'awestruct/handlers/base_handler'
3
+ require 'awestruct/handlers/file_handler'
4
+ require 'awestruct/handlers/front_matter_handler'
5
+ require 'awestruct/handlers/layout_handler'
6
+
7
+ module Awestruct
8
+ module Handlers
9
+ class ErbHandler < BaseHandler
10
+
11
+ CHAIN = Awestruct::HandlerChain.new( /\.erb$/,
12
+ Awestruct::Handlers::FileHandler,
13
+ Awestruct::Handlers::FrontMatterHandler,
14
+ Awestruct::Handlers::ErbHandler,
15
+ Awestruct::Handlers::LayoutHandler
16
+ )
17
+
18
+ def initialize(site, delegate)
19
+ super( site, delegate )
20
+ end
21
+
22
+ def simple_name
23
+ File.basename( File.basename( relative_source_path, '.erb' ), output_extension )
24
+ end
25
+
26
+ def output_filename
27
+ File.basename( relative_source_path, '.erb' )
28
+ end
29
+
30
+ def output_extension
31
+ File.extname( output_filename )
32
+ end
33
+
34
+ def content_syntax
35
+ :erb
36
+ end
37
+
38
+ def rendered_content(context, with_layouts=true)
39
+ erb = ERB.new( delegate.rendered_content( context, with_layouts) )
40
+ erb.result( context.send( :binding ) )
41
+ end
42
+ end
43
+ end
44
+ end
@@ -23,9 +23,12 @@ module Awestruct
23
23
  def relative_source_path
24
24
  begin
25
25
  p = path.relative_path_from( site.dir )
26
- return nil if !! ( %r(^\.\.) =~ p )
27
- File.join( '', p )
28
- rescue
26
+ if !! ( %r(^\.\.) =~ p.to_s )
27
+ return nil
28
+ end
29
+ r = File.join( '', p )
30
+ return r
31
+ rescue Exception=>e
29
32
  nil
30
33
  end
31
34
  end
@@ -21,6 +21,11 @@ module Awestruct
21
21
  @raw_content
22
22
  end
23
23
 
24
+ def rendered_content(context, with_layouts)
25
+ parse_parts()
26
+ @raw_content
27
+ end
28
+
24
29
  def content_line_offset
25
30
  parse_parts()
26
31
  @content_line_offset
@@ -1,5 +1,9 @@
1
1
 
2
+ require 'awestruct/handler_chain'
2
3
  require 'awestruct/handlers/base_handler'
4
+ require 'awestruct/handlers/file_handler'
5
+ require 'awestruct/handlers/front_matter_handler'
6
+ require 'awestruct/handlers/layout_handler'
3
7
 
4
8
  require 'haml'
5
9
 
@@ -7,6 +11,13 @@ module Awestruct
7
11
  module Handlers
8
12
  class HamlHandler < BaseHandler
9
13
 
14
+ CHAIN = Awestruct::HandlerChain.new( /\.haml$/,
15
+ Awestruct::Handlers::FileHandler,
16
+ Awestruct::Handlers::FrontMatterHandler,
17
+ Awestruct::Handlers::HamlHandler,
18
+ Awestruct::Handlers::LayoutHandler
19
+ )
20
+
10
21
  def initialize(site, delegate)
11
22
  super( site, delegate )
12
23
  end
@@ -16,7 +27,8 @@ module Awestruct
16
27
  end
17
28
 
18
29
  def output_filename
19
- File.basename( relative_source_path, '.haml' )
30
+ return File.basename( relative_source_path, '.haml' ) unless relative_source_path.nil?
31
+ nil
20
32
  end
21
33
 
22
34
  def output_extension
@@ -30,7 +42,7 @@ module Awestruct
30
42
  hash
31
43
  }
32
44
  options[:relative_source_path] = context.page.relative_source_path
33
- options[:filename] = delegate.path
45
+ options[:filename] = delegate.path.to_s
34
46
  options[:line] = delegate.content_line_offset + 1
35
47
  options[:site] = context.site
36
48
  haml_engine = Haml::Engine.new( delegate.raw_content, options )
@@ -33,9 +33,11 @@ module Awestruct
33
33
  end
34
34
 
35
35
  def for_layout_chain(page, &block)
36
+ # puts "for_layout_chain #{page.inspect}"
36
37
  current_page = page
37
38
  while ( ! ( current_page.nil? || current_page.layout.nil? ) )
38
39
  current_page = site.layouts.find_matching( current_page.layout, current_page.output_extension )
40
+ # puts "layout #{current_page.inspect}"
39
41
  if ( ! current_page.nil? )
40
42
  block.call( current_page )
41
43
  end
@@ -49,8 +51,8 @@ module Awestruct
49
51
  for_layout_chain(context.__effective_page || context.page) do |layout|
50
52
  context.content = content
51
53
  context.__effective_page = layout
52
- content = layout.rendered_content( context, true )
53
- end
54
+ content = layout.rendered_content( context, false )
55
+ end
54
56
  end
55
57
 
56
58
  content
@@ -1,11 +1,25 @@
1
1
 
2
+ require 'awestruct/handler_chain'
2
3
  require 'awestruct/handlers/base_handler'
4
+ require 'awestruct/handlers/file_handler'
5
+ require 'awestruct/handlers/front_matter_handler'
6
+ require 'awestruct/handlers/interpolation_handler'
7
+ require 'awestruct/handlers/layout_handler'
3
8
  require 'rdiscount'
4
9
 
5
10
  module Awestruct
6
11
  module Handlers
7
12
  class MarkdownHandler < BaseHandler
8
13
 
14
+
15
+ CHAIN = Awestruct::HandlerChain.new( /\.md$/,
16
+ Awestruct::Handlers::FileHandler,
17
+ Awestruct::Handlers::FrontMatterHandler,
18
+ Awestruct::Handlers::InterpolationHandler,
19
+ Awestruct::Handlers::MarkdownHandler,
20
+ Awestruct::Handlers::LayoutHandler
21
+ )
22
+
9
23
  def initialize(site, delegate)
10
24
  super( site, delegate )
11
25
  end
@@ -0,0 +1,48 @@
1
+
2
+ require 'awestruct/handler_chain'
3
+ require 'awestruct/handlers/base_handler'
4
+ require 'awestruct/handlers/file_handler'
5
+ require 'awestruct/handlers/front_matter_handler'
6
+ require 'awestruct/handlers/interpolation_handler'
7
+ require 'awestruct/handlers/layout_handler'
8
+ require 'org-ruby'
9
+
10
+ module Awestruct
11
+ module Handlers
12
+ class OrgmodeHandler < BaseHandler
13
+
14
+ CHAIN = Awestruct::HandlerChain.new( /\.org$/,
15
+ Awestruct::Handlers::FileHandler,
16
+ Awestruct::Handlers::FrontMatterHandler,
17
+ Awestruct::Handlers::InterpolationHandler,
18
+ Awestruct::Handlers::OrgmodeHandler,
19
+ Awestruct::Handlers::LayoutHandler
20
+ )
21
+
22
+ def initialize(site, delegate)
23
+ super( site, delegate )
24
+ end
25
+
26
+ def simple_name
27
+ File.basename( relative_source_path, '.org' )
28
+ end
29
+
30
+ def output_filename
31
+ File.basename( relative_source_path, '.org' ) + '.html'
32
+ end
33
+
34
+ def output_extension
35
+ '.html'
36
+ end
37
+
38
+ def content_syntax
39
+ :orgmode
40
+ end
41
+
42
+ def rendered_content(context, with_layouts=true)
43
+ Orgmode::Parser.new(super( context, with_layouts) ).to_html
44
+ end
45
+
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,54 @@
1
+
2
+ require 'awestruct/handlers/base_handler'
3
+
4
+ module Awestruct
5
+ module Handlers
6
+ class PageDelegatingHandler < BaseHandler
7
+
8
+ attr_accessor :page
9
+
10
+ def initialize(site, page)
11
+ super( site )
12
+ @page = page
13
+ end
14
+
15
+ def path
16
+ page.source_path
17
+ end
18
+
19
+ def inherit_front_matter(outer_page)
20
+ #page.prepare!
21
+ #page.handler.inherit_front_matter( outer_page )
22
+ end
23
+
24
+ def output_path
25
+ page.output_path
26
+ end
27
+
28
+ def relative_source_path
29
+ page.relative_source_path
30
+ end
31
+
32
+ def output_extension
33
+ page.output_extension
34
+ end
35
+
36
+ def stale?
37
+ page.stale?
38
+ end
39
+
40
+ def input_mtime(ignored)
41
+ page.input_mtime
42
+ end
43
+
44
+ def raw_content
45
+ page.raw_content
46
+ end
47
+
48
+ def rendered_content(context_ignored, with_layouts_ignored=true)
49
+ page.content( true )
50
+ end
51
+
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,67 @@
1
+
2
+ require 'awestruct/handler_chain'
3
+ require 'awestruct/handlers/base_handler'
4
+ require 'awestruct/handlers/file_handler'
5
+ require 'awestruct/handlers/front_matter_handler'
6
+ require 'awestruct/handlers/interpolation_handler'
7
+ require 'awestruct/handlers/layout_handler'
8
+
9
+ require 'hpricot'
10
+
11
+ module Awestruct
12
+ module Handlers
13
+ class RestructuredtextHandler < BaseHandler
14
+
15
+ CHAIN = Awestruct::HandlerChain.new( /\.(adoc|asciidoc)$/,
16
+ Awestruct::Handlers::FileHandler,
17
+ Awestruct::Handlers::FrontMatterHandler,
18
+ Awestruct::Handlers::InterpolationHandler,
19
+ Awestruct::Handlers::RestructuredtextHandler,
20
+ Awestruct::Handlers::LayoutHandler
21
+ )
22
+
23
+ def initialize(site, delegate)
24
+ super( site, delegate )
25
+ end
26
+
27
+ def simple_name
28
+ File.basename( relative_source_path, '.rst' )
29
+ end
30
+
31
+ def output_filename
32
+ simple_name + output_extension
33
+ end
34
+
35
+ def output_extension
36
+ '.html'
37
+ end
38
+
39
+ def content_syntax
40
+ :rst
41
+ end
42
+
43
+ def rendered_content(context, with_layouts=true)
44
+ content = delegate.rendered_content( context, with_layouts )
45
+
46
+ hl = 1
47
+ if front_matter['initial_header_level'].to_s =~ /^[1-6]$/
48
+ hl = front_matter['initial_header_level']
49
+ end
50
+ rendered = ''
51
+ begin
52
+ doc = execute_shell( [ "rst2html",
53
+ "--strip-comments",
54
+ "--no-doc-title",
55
+ " --initial-header-level=#{hl}" ].join(' '),
56
+ content )
57
+ content = Hpricot( doc ).at( '/html/body/div[@class="document"]' ).inner_html.strip
58
+ content = content.gsub( "\r", '' )
59
+ rescue => e
60
+ puts e
61
+ puts e.backtrace
62
+ end
63
+ content
64
+ end
65
+ end
66
+ end
67
+ end
@@ -1,10 +1,17 @@
1
1
 
2
+ require 'awestruct/handler_chain'
2
3
  require 'awestruct/handlers/base_sass_handler'
4
+ require 'awestruct/handlers/file_handler'
3
5
 
4
6
  module Awestruct
5
7
  module Handlers
6
8
  class SassHandler < BaseSassHandler
7
9
 
10
+ CHAIN = Awestruct::HandlerChain.new( /\.sass$/,
11
+ Awestruct::Handlers::FileHandler,
12
+ Awestruct::Handlers::SassHandler
13
+ )
14
+
8
15
  def initialize(site, delegate)
9
16
  super( site, delegate, :sass )
10
17
  end
@@ -1,10 +1,17 @@
1
1
 
2
+ require 'awestruct/handler_chain'
2
3
  require 'awestruct/handlers/base_sass_handler'
4
+ require 'awestruct/handlers/file_handler'
3
5
 
4
6
  module Awestruct
5
7
  module Handlers
6
8
  class ScssHandler < BaseSassHandler
7
9
 
10
+ CHAIN = Awestruct::HandlerChain.new( /\.scss$/,
11
+ Awestruct::Handlers::FileHandler,
12
+ Awestruct::Handlers::ScssHandler
13
+ )
14
+
8
15
  def initialize(site, delegate)
9
16
  super( site, delegate, :scss )
10
17
  end
@@ -1,11 +1,26 @@
1
1
 
2
+ require 'awestruct/handler_chain'
2
3
  require 'awestruct/handlers/base_handler'
4
+ require 'awestruct/handlers/file_handler'
5
+ require 'awestruct/handlers/front_matter_handler'
6
+ require 'awestruct/handlers/interpolation_handler'
7
+ require 'awestruct/handlers/layout_handler'
3
8
  require 'redcloth'
4
9
 
5
10
  module Awestruct
6
11
  module Handlers
7
12
  class TextileHandler < BaseHandler
8
13
 
14
+ CHAIN = Awestruct::HandlerChain.new( /\.textile$/,
15
+ Awestruct::Handlers::FileHandler,
16
+ Awestruct::Handlers::FrontMatterHandler,
17
+ Awestruct::Handlers::InterpolationHandler,
18
+ Awestruct::Handlers::TextileHandler,
19
+ Awestruct::Handlers::LayoutHandler
20
+ )
21
+
22
+
23
+
9
24
  def initialize(site, delegate)
10
25
  super( site, delegate )
11
26
  end
@@ -4,6 +4,7 @@ module Awestruct
4
4
  class Layouts < Array
5
5
 
6
6
  def find_matching(simple_name, output_extension)
7
+ # puts "find matching ( #{simple_name}, #{output_extension} )"
7
8
  self.find{|e|
8
9
  ( e.simple_name == simple_name ) && ( e.output_extension == output_extension )
9
10
  }