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.
- data/lib/awestruct/astruct_mixin.rb +13 -3
- data/lib/awestruct/cli/auto.rb +18 -4
- data/lib/awestruct/cli/deploy.rb +38 -0
- data/lib/awestruct/cli/invoker.rb +12 -1
- data/lib/awestruct/config.rb +10 -0
- data/lib/awestruct/dependencies.rb +102 -0
- data/lib/awestruct/deploy/github_pages_deploy.rb +61 -0
- data/lib/awestruct/deploy/rsync_deploy.rb +51 -0
- data/lib/awestruct/deployers.rb +15 -0
- data/lib/awestruct/engine.rb +49 -13
- data/lib/awestruct/extensions/atomizer.rb +3 -3
- data/lib/awestruct/extensions/minify.rb +21 -23
- data/lib/awestruct/extensions/posts.rb +4 -4
- data/lib/awestruct/extensions/sitemap.rb +1 -0
- data/lib/awestruct/handler_chains.rb +15 -32
- data/lib/awestruct/handlers/asciidoc_handler.rb +57 -0
- data/lib/awestruct/handlers/base_handler.rb +23 -4
- data/lib/awestruct/handlers/coffeescript_handler.rb +48 -0
- data/lib/awestruct/handlers/erb_handler.rb +44 -0
- data/lib/awestruct/handlers/file_handler.rb +6 -3
- data/lib/awestruct/handlers/front_matter_handler.rb +5 -0
- data/lib/awestruct/handlers/haml_handler.rb +14 -2
- data/lib/awestruct/handlers/layout_handler.rb +4 -2
- data/lib/awestruct/handlers/markdown_handler.rb +14 -0
- data/lib/awestruct/handlers/orgmode_handler.rb +48 -0
- data/lib/awestruct/handlers/page_delegating_handler.rb +54 -0
- data/lib/awestruct/handlers/restructuredtext_handler.rb +67 -0
- data/lib/awestruct/handlers/sass_handler.rb +7 -0
- data/lib/awestruct/handlers/scss_handler.rb +7 -0
- data/lib/awestruct/handlers/textile_handler.rb +15 -0
- data/lib/awestruct/layouts.rb +1 -0
- data/lib/awestruct/page.rb +27 -14
- data/lib/awestruct/page_loader.rb +15 -5
- data/lib/awestruct/pipeline.rb +7 -0
- data/lib/awestruct/version.rb +1 -1
- data/lib/guard/awestruct.rb +1 -1
- 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/
|
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
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
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
|
-
|
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
|
-
|
27
|
-
|
28
|
-
|
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
|
@@ -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,
|
53
|
-
|
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
|
data/lib/awestruct/layouts.rb
CHANGED