dokkit 0.4.1 → 0.4.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.
- data/Manifest.txt +1 -59
- data/lib/dokkit.rb +1 -1
- data/lib/dokkit/environment/basic.rb +23 -8
- data/lib/dokkit/filters.rb +1 -0
- data/lib/dokkit/filters/erb.rb +3 -3
- data/lib/dokkit/filters/haml.rb +31 -0
- data/lib/dokkit/models/simple/doc/layouts/simple.html +1 -1
- data/lib/dokkit/resource/document.rb +59 -63
- metadata +3 -61
- data/spec/dokkit/application_spec.rb +0 -141
- data/spec/dokkit/cache/cache_spec.rb +0 -87
- data/spec/dokkit/dokkit_spec.rb +0 -20
- data/spec/dokkit/environment/basic_spec.rb +0 -138
- data/spec/dokkit/environment/helpers/extmap_spec.rb +0 -52
- data/spec/dokkit/environment/helpers/fileselection_spec.rb +0 -80
- data/spec/dokkit/environment/helpers/test_data/doc/pages/document_1.ext_1 +0 -0
- data/spec/dokkit/environment/helpers/test_data/doc/pages/document_2 +0 -0
- data/spec/dokkit/environment/helpers/test_data/doc/pages/document_3.ext_3 +0 -0
- data/spec/dokkit/environment/test_data/doc/data/data +0 -0
- data/spec/dokkit/environment/test_data/doc/pages/document_1 +0 -0
- data/spec/dokkit/environment/test_data/doc/pages/document_1.yaml +0 -3
- data/spec/dokkit/environment/test_data/doc/pages/document_2 +0 -0
- data/spec/dokkit/environment/test_data/doc/pages/subdir/document_1 +0 -0
- data/spec/dokkit/factory/factory_spec.rb +0 -69
- data/spec/dokkit/filters/deplate_spec.rb +0 -47
- data/spec/dokkit/filters/erb_spec.rb +0 -26
- data/spec/dokkit/filters/maruku_spec.rb +0 -28
- data/spec/dokkit/filters/nil_spec.rb +0 -29
- data/spec/dokkit/filters/tidy_spec.rb +0 -48
- data/spec/dokkit/hash_spec.rb +0 -89
- data/spec/dokkit/logging/logger_spec.rb +0 -138
- data/spec/dokkit/logging/observers/console_spec.rb +0 -68
- data/spec/dokkit/resource/data_spec.rb +0 -32
- data/spec/dokkit/resource/document_spec.rb +0 -523
- data/spec/dokkit/resource/extensions/html_spec.rb +0 -35
- data/spec/dokkit/resource/extensions/url_spec.rb +0 -29
- data/spec/dokkit/resource/filenamehelper_spec.rb +0 -33
- data/spec/dokkit/resource/test_data/doc/configs/config_1.yaml +0 -3
- data/spec/dokkit/resource/test_data/doc/configs/config_2.yaml +0 -3
- data/spec/dokkit/resource/test_data/doc/configs/required.yaml +0 -3
- data/spec/dokkit/resource/test_data/doc/configs/subdir/document.yaml +0 -3
- data/spec/dokkit/resource/test_data/doc/layouts/container.html +0 -6
- data/spec/dokkit/resource/test_data/doc/layouts/layout.html +0 -6
- data/spec/dokkit/resource/test_data/doc/layouts/layout.latex +0 -8
- data/spec/dokkit/resource/test_data/doc/layouts/nested/nested.html +0 -4
- data/spec/dokkit/resource/test_data/doc/layouts/subdir/document.html +0 -6
- data/spec/dokkit/resource/test_data/doc/layouts/subdir/document.latex +0 -8
- data/spec/dokkit/resource/test_data/doc/pages/COMMON.yaml +0 -4
- data/spec/dokkit/resource/test_data/doc/pages/document_with_many_config.ext +0 -7
- data/spec/dokkit/resource/test_data/doc/pages/document_with_many_errors.ext +0 -12
- data/spec/dokkit/resource/test_data/doc/pages/document_with_many_targets.ext +0 -19
- data/spec/dokkit/resource/test_data/doc/pages/document_with_nested_layout.ext +0 -13
- data/spec/dokkit/resource/test_data/doc/pages/document_with_nil_target.ext +0 -5
- data/spec/dokkit/resource/test_data/doc/pages/document_with_not_defined_target.ext +0 -6
- data/spec/dokkit/resource/test_data/doc/pages/document_with_one_target.ext +0 -8
- data/spec/dokkit/resource/test_data/doc/pages/document_with_postfilter.ext +0 -10
- data/spec/dokkit/resource/test_data/doc/pages/subdir/COMMON.yaml +0 -3
- data/spec/dokkit/resource/test_data/doc/pages/subdir/document.ext +0 -8
- data/spec/dokkit/resource/test_data/doc/pages/subdir/document.yaml +0 -5
- data/spec/dokkit/tasklib/clean_spec.rb +0 -75
- data/spec/dokkit/tasklib/render_spec.rb +0 -125
- data/spec/dokkit/tasklib/test_data/doc/data/data_1 +0 -0
- data/spec/dokkit/tasklib/test_data/doc/pages/document_1 +0 -0
- data/spec/dokkit/tasklib/test_data/doc/pages/document_2 +0 -0
- data/spec/dokkit/test_data/dokkit/models/model1/doc/pages/model1 +0 -0
- data/spec/dokkit/test_data/dokkit/models/model2/doc/pages/model2 +0 -0
- data/spec/spec.opts +0 -4
- data/spec/spec_helper.rb +0 -139
data/Manifest.txt
CHANGED
@@ -17,6 +17,7 @@ lib/dokkit/factory/factory.rb
|
|
17
17
|
lib/dokkit/filters.rb
|
18
18
|
lib/dokkit/filters/deplate.rb
|
19
19
|
lib/dokkit/filters/erb.rb
|
20
|
+
lib/dokkit/filters/haml.rb
|
20
21
|
lib/dokkit/filters/maruku.rb
|
21
22
|
lib/dokkit/filters/nil.rb
|
22
23
|
lib/dokkit/filters/tidy.rb
|
@@ -45,65 +46,6 @@ lib/dokkit/resource/filenamehelper.rb
|
|
45
46
|
lib/dokkit/tasklib.rb
|
46
47
|
lib/dokkit/tasklib/clean.rb
|
47
48
|
lib/dokkit/tasklib/render.rb
|
48
|
-
spec/dokkit/application_spec.rb
|
49
|
-
spec/dokkit/cache/cache_spec.rb
|
50
|
-
spec/dokkit/dokkit_spec.rb
|
51
|
-
spec/dokkit/environment/basic_spec.rb
|
52
|
-
spec/dokkit/environment/helpers/extmap_spec.rb
|
53
|
-
spec/dokkit/environment/helpers/fileselection_spec.rb
|
54
|
-
spec/dokkit/environment/helpers/test_data/doc/pages/document_1.ext_1
|
55
|
-
spec/dokkit/environment/helpers/test_data/doc/pages/document_2
|
56
|
-
spec/dokkit/environment/helpers/test_data/doc/pages/document_3.ext_3
|
57
|
-
spec/dokkit/environment/test_data/doc/data/data
|
58
|
-
spec/dokkit/environment/test_data/doc/pages/document_1
|
59
|
-
spec/dokkit/environment/test_data/doc/pages/document_1.yaml
|
60
|
-
spec/dokkit/environment/test_data/doc/pages/document_2
|
61
|
-
spec/dokkit/environment/test_data/doc/pages/subdir/document_1
|
62
|
-
spec/dokkit/factory/factory_spec.rb
|
63
|
-
spec/dokkit/filters/deplate_spec.rb
|
64
|
-
spec/dokkit/filters/erb_spec.rb
|
65
|
-
spec/dokkit/filters/maruku_spec.rb
|
66
|
-
spec/dokkit/filters/nil_spec.rb
|
67
|
-
spec/dokkit/filters/tidy_spec.rb
|
68
|
-
spec/dokkit/hash_spec.rb
|
69
|
-
spec/dokkit/logging/logger_spec.rb
|
70
|
-
spec/dokkit/logging/observers/console_spec.rb
|
71
|
-
spec/dokkit/resource/data_spec.rb
|
72
|
-
spec/dokkit/resource/document_spec.rb
|
73
|
-
spec/dokkit/resource/extensions/html_spec.rb
|
74
|
-
spec/dokkit/resource/extensions/url_spec.rb
|
75
|
-
spec/dokkit/resource/filenamehelper_spec.rb
|
76
|
-
spec/dokkit/resource/test_data/doc/configs/config_1.yaml
|
77
|
-
spec/dokkit/resource/test_data/doc/configs/config_2.yaml
|
78
|
-
spec/dokkit/resource/test_data/doc/configs/required.yaml
|
79
|
-
spec/dokkit/resource/test_data/doc/configs/subdir/document.yaml
|
80
|
-
spec/dokkit/resource/test_data/doc/layouts/container.html
|
81
|
-
spec/dokkit/resource/test_data/doc/layouts/layout.html
|
82
|
-
spec/dokkit/resource/test_data/doc/layouts/layout.latex
|
83
|
-
spec/dokkit/resource/test_data/doc/layouts/nested/nested.html
|
84
|
-
spec/dokkit/resource/test_data/doc/layouts/subdir/document.html
|
85
|
-
spec/dokkit/resource/test_data/doc/layouts/subdir/document.latex
|
86
|
-
spec/dokkit/resource/test_data/doc/pages/COMMON.yaml
|
87
|
-
spec/dokkit/resource/test_data/doc/pages/document_with_many_config.ext
|
88
|
-
spec/dokkit/resource/test_data/doc/pages/document_with_many_errors.ext
|
89
|
-
spec/dokkit/resource/test_data/doc/pages/document_with_many_targets.ext
|
90
|
-
spec/dokkit/resource/test_data/doc/pages/document_with_nested_layout.ext
|
91
|
-
spec/dokkit/resource/test_data/doc/pages/document_with_nil_target.ext
|
92
|
-
spec/dokkit/resource/test_data/doc/pages/document_with_not_defined_target.ext
|
93
|
-
spec/dokkit/resource/test_data/doc/pages/document_with_one_target.ext
|
94
|
-
spec/dokkit/resource/test_data/doc/pages/document_with_postfilter.ext
|
95
|
-
spec/dokkit/resource/test_data/doc/pages/subdir/COMMON.yaml
|
96
|
-
spec/dokkit/resource/test_data/doc/pages/subdir/document.ext
|
97
|
-
spec/dokkit/resource/test_data/doc/pages/subdir/document.yaml
|
98
|
-
spec/dokkit/tasklib/clean_spec.rb
|
99
|
-
spec/dokkit/tasklib/render_spec.rb
|
100
|
-
spec/dokkit/tasklib/test_data/doc/data/data_1
|
101
|
-
spec/dokkit/tasklib/test_data/doc/pages/document_1
|
102
|
-
spec/dokkit/tasklib/test_data/doc/pages/document_2
|
103
|
-
spec/dokkit/test_data/dokkit/models/model1/doc/pages/model1
|
104
|
-
spec/dokkit/test_data/dokkit/models/model2/doc/pages/model2
|
105
|
-
spec/spec.opts
|
106
|
-
spec/spec_helper.rb
|
107
49
|
tasks/annotations.rake
|
108
50
|
tasks/doc.rake
|
109
51
|
tasks/gem.rake
|
data/lib/dokkit.rb
CHANGED
@@ -48,6 +48,18 @@ module Dokkit
|
|
48
48
|
@cache ||= Cache.new
|
49
49
|
end
|
50
50
|
|
51
|
+
def default_filter_chain
|
52
|
+
{
|
53
|
+
'deplate' => { 'html' => ['erb', 'deplate-html'], 'latex' => ['erb', 'deplate-latex'], 'text' => ['erb', 'deplate-text']},
|
54
|
+
'maruku' => { 'html' => ['erb', 'maruku-html'], 'latex' => ['erb', 'maruku-latex'], 'text' => ['erb', 'maruku-text']},
|
55
|
+
'haml' => { 'html' => ['haml'] },
|
56
|
+
}
|
57
|
+
end
|
58
|
+
|
59
|
+
def default_postfilter_chain
|
60
|
+
{ 'html' => ['erb'], 'latex' => ['erb'], 'text' => ['erb'] }
|
61
|
+
end
|
62
|
+
|
51
63
|
# Return an OpenStruct object to setup documentation
|
52
64
|
# directories. Instantiate the object only once.
|
53
65
|
#
|
@@ -59,16 +71,17 @@ module Dokkit
|
|
59
71
|
# configuration.cache_dir :: set/get cache folder.
|
60
72
|
#
|
61
73
|
def configuration
|
62
|
-
@configuration ||= OpenStruct.new({
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
74
|
+
@configuration ||= OpenStruct.new({ :document_dir => 'doc/pages',
|
75
|
+
:config_dir => 'doc/configs',
|
76
|
+
:layout_dir => 'doc/layouts',
|
77
|
+
:data_dir => 'doc/data',
|
78
|
+
:output_dir => 'output',
|
79
|
+
:cache_dir => '.cache',
|
80
|
+
:default_filter_chain => default_filter_chain,
|
81
|
+
:default_postfilter_chain => default_postfilter_chain })
|
70
82
|
end
|
71
83
|
|
84
|
+
|
72
85
|
# Return a Dokkit::Environment::Helper::FileSelection object
|
73
86
|
# with the list of documents in configuration.document_dir
|
74
87
|
# folder and its subdir. The object is instantiated only
|
@@ -97,12 +110,14 @@ module Dokkit
|
|
97
110
|
# Construct a filter factory and register filters.
|
98
111
|
def filter_factory
|
99
112
|
@filter_factory ||= Dokkit::Factory.new do |factory|
|
113
|
+
factory.add('nil' => lambda { Dokkit::Filter::Nil.new } )
|
100
114
|
factory.add('erb' => lambda { |binding| Dokkit::Filter::ERB.new(binding) } )
|
101
115
|
factory.add('tidy' => lambda { Dokkit::Filter::Tidy.new } )
|
102
116
|
factory.add('maruku-html' => lambda { Dokkit::Filter::MarukuHTML.new } )
|
103
117
|
factory.add('deplate-latex' => lambda { Dokkit::Filter::DeplateLatex.new } )
|
104
118
|
factory.add('deplate-html' => lambda { Dokkit::Filter::DeplateHTML.new } )
|
105
119
|
factory.add('deplate-text' => lambda { Dokkit::Filter::DeplateText.new } )
|
120
|
+
factory.add('haml' => lambda { |document| Dokkit::Filter::Haml.new(document) } )
|
106
121
|
end
|
107
122
|
end
|
108
123
|
|
data/lib/dokkit/filters.rb
CHANGED
data/lib/dokkit/filters/erb.rb
CHANGED
@@ -13,12 +13,12 @@ module Dokkit
|
|
13
13
|
|
14
14
|
class ERB
|
15
15
|
|
16
|
-
def initialize(
|
17
|
-
@
|
16
|
+
def initialize(document)
|
17
|
+
@document = document
|
18
18
|
end
|
19
19
|
|
20
20
|
def filter(text)
|
21
|
-
::ERB.new(text).result(@
|
21
|
+
::ERB.new(text).result(@document.get_binding)
|
22
22
|
end
|
23
23
|
|
24
24
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
#
|
2
|
+
# File 'haml.rb' created on 04 ago 2008 at 17:05:24.
|
3
|
+
#
|
4
|
+
# See 'dokkit.rb' or +LICENSE+ for licence information.
|
5
|
+
#
|
6
|
+
# (C)2006-2008 Andrea Fazzi <andrea.fazzi@alca.le.it> (and contributors).
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'haml'
|
10
|
+
|
11
|
+
module Dokkit
|
12
|
+
module Filter
|
13
|
+
|
14
|
+
class Haml
|
15
|
+
|
16
|
+
def initialize(document)
|
17
|
+
@document = document
|
18
|
+
end
|
19
|
+
|
20
|
+
def filter(text)
|
21
|
+
::Haml::Engine.new(text).to_html(@document.get_binding)
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
|
@@ -23,24 +23,12 @@ module Dokkit
|
|
23
23
|
# Includes the builtin extensions to be used by Document objects.
|
24
24
|
include Extension::Builtin
|
25
25
|
|
26
|
-
# Set the default filters chain for commonly used output format.
|
27
|
-
DEFAULT_FILTERS_CHAIN = {
|
28
|
-
'html' => ['erb', 'deplate-html'],
|
29
|
-
'latex' => ['erb', 'deplate-latex'],
|
30
|
-
'text' => ['erb', 'deplate-text']
|
31
|
-
}
|
32
|
-
DEFAULT_POST_FILTERS_CHAIN = {
|
33
|
-
'html' => ['erb'],
|
34
|
-
'latex' => ['erb'],
|
35
|
-
'text' => ['erb']
|
36
|
-
}
|
37
|
-
attr_reader :configuration
|
38
26
|
attr_reader :source_fn
|
39
27
|
attr_reader :basename, :name_noext, :dirname, :relativename
|
40
28
|
attr_reader :config_fns, :layout_fns, :target_fns
|
41
29
|
attr_reader :targets, :layouts, :deps
|
42
|
-
attr_reader :default_config_ext, :default_format
|
43
|
-
attr_accessor :default_configuration_value
|
30
|
+
attr_reader :default_config_ext, :default_format, :default_formatter
|
31
|
+
attr_accessor :configuration, :default_configuration_value
|
44
32
|
|
45
33
|
# Initialize a Document instance.
|
46
34
|
# +source_fn+:: is the file name of the document source file.
|
@@ -66,23 +54,44 @@ module Dokkit
|
|
66
54
|
# Get name relative to configuration.document_dir
|
67
55
|
@relativename = filename_helper(@name_noext, configuration[:document_dir], '')
|
68
56
|
|
69
|
-
# Set
|
57
|
+
# Set default configuration file extension
|
70
58
|
@default_config_ext = '.yaml'
|
59
|
+
# Set default output format
|
71
60
|
@default_format = 'html'
|
61
|
+
# Set default input formatter format
|
62
|
+
@default_formatter = 'deplate'
|
72
63
|
|
64
|
+
@default_configuration_value = 'not defined'
|
65
|
+
|
73
66
|
# yield self to an optional configuration block
|
74
67
|
yield self if block_given?
|
75
68
|
|
76
69
|
# Setup hashes
|
77
70
|
setup_header_configuration
|
78
|
-
|
71
|
+
@configuration = configuration.recursive_merge('layout' => @relativename)
|
79
72
|
setup_targets(@default_format)
|
80
73
|
|
81
74
|
# Configure the document
|
82
75
|
configure
|
76
|
+
|
77
|
+
@formatter = @configuration['formatter'] || @default_formatter
|
78
|
+
|
83
79
|
collect_all
|
84
80
|
end
|
85
81
|
|
82
|
+
def method_missing(meth)
|
83
|
+
if @configuration.has_key?(meth.to_s)
|
84
|
+
@configuration[meth.to_s]
|
85
|
+
else
|
86
|
+
@logger.warn("Configuration key '#{meth.to_s}' is not defined for #{source_fn}.")
|
87
|
+
@default_configuration_value
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
def get_binding
|
92
|
+
binding
|
93
|
+
end
|
94
|
+
|
86
95
|
# Read the configuration file +fn+ and return:
|
87
96
|
# * the resulting configuration hash
|
88
97
|
# * an array containing the names of the read config files
|
@@ -111,33 +120,33 @@ module Dokkit
|
|
111
120
|
end
|
112
121
|
end
|
113
122
|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
123
|
+
def default_filter_chain_for(formatter, format)
|
124
|
+
@configuration[:default_filter_chain][formatter][format]
|
125
|
+
end
|
126
|
+
|
127
|
+
def default_postfilter_chain_for(format)
|
128
|
+
@configuration[:default_postfilter_chain][format]
|
129
|
+
end
|
130
|
+
|
131
|
+
def has_format?(format)
|
132
|
+
@targets.has_key?(format)
|
133
|
+
end
|
134
|
+
|
135
|
+
# Return the filters chain associated with the given formatter and output format.
|
136
|
+
def filters_for(formatter, format)
|
137
|
+
if has_format?(format)
|
138
|
+
process_filter_key('filter', format, default_filter_chain_for(formatter, format))
|
124
139
|
else
|
125
|
-
|
140
|
+
default_filter_chain_for(formatter, format)
|
126
141
|
end
|
127
142
|
end
|
128
143
|
|
129
144
|
# Return the post filters chain associated with the given format.
|
130
145
|
def post_filters_for(format)
|
131
|
-
if
|
132
|
-
|
133
|
-
@targets[format]['postfilter']
|
134
|
-
elsif DEFAULT_POST_FILTERS_CHAIN.has_key?(format)
|
135
|
-
DEFAULT_POST_FILTERS_CHAIN[format]
|
136
|
-
end
|
137
|
-
elsif DEFAULT_POST_FILTERS_CHAIN.has_key?(format)
|
138
|
-
DEFAULT_POST_FILTERS_CHAIN[format]
|
146
|
+
if has_format?(format)
|
147
|
+
process_filter_key('postfilter', format, default_postfilter_chain_for(format))
|
139
148
|
else
|
140
|
-
|
149
|
+
default_postfilter_chain_for(format)
|
141
150
|
end
|
142
151
|
end
|
143
152
|
|
@@ -152,14 +161,7 @@ module Dokkit
|
|
152
161
|
def current_format
|
153
162
|
@current_format || @default_format
|
154
163
|
end
|
155
|
-
|
156
|
-
def include(fn)
|
157
|
-
@cache.add_dependency(source_fn, current_format, fn)
|
158
|
-
erb = ERB.new(File.read(fn))
|
159
|
-
erb.filename = fn
|
160
|
-
erb.result
|
161
|
-
end
|
162
|
-
|
164
|
+
|
163
165
|
# Render the document in the specified format.
|
164
166
|
def render(args = { })
|
165
167
|
@current_format = args[:format]
|
@@ -169,7 +171,7 @@ module Dokkit
|
|
169
171
|
@cache.add_dependency(source_fn, args[:format], document.source_fn)
|
170
172
|
document.render(:format => args[:format])
|
171
173
|
else
|
172
|
-
do_render!(args[:format])
|
174
|
+
do_render!(@formatter, args[:format])
|
173
175
|
end
|
174
176
|
end
|
175
177
|
|
@@ -180,6 +182,10 @@ module Dokkit
|
|
180
182
|
|
181
183
|
private
|
182
184
|
|
185
|
+
def process_filter_key(key, format, default_filter_chain)
|
186
|
+
@targets[format].has_key?(key) ? @targets[format][key] : default_filter_chain
|
187
|
+
end
|
188
|
+
|
183
189
|
# Read the content of the source document file from disk.
|
184
190
|
def read_source
|
185
191
|
File.read(source_fn)
|
@@ -201,16 +207,6 @@ module Dokkit
|
|
201
207
|
@config_fns << fn
|
202
208
|
process_config_configuration_key if @configuration.has_key?('config')
|
203
209
|
end
|
204
|
-
|
205
|
-
# Setup configuration hash with initial value.
|
206
|
-
def setup_configuration_hash(configuration)
|
207
|
-
@default_configuration_value = "not defined"
|
208
|
-
@configuration = Hash.new do |h, k|
|
209
|
-
@logger.warn("Configuration key '#{k}' is not defined for #{source_fn}.")
|
210
|
-
h[k] = @default_configuration_value
|
211
|
-
end
|
212
|
-
@configuration.merge! configuration
|
213
|
-
end
|
214
210
|
|
215
211
|
def setup_header_configuration
|
216
212
|
@header_configuration = extract_configuration_from_source!
|
@@ -222,9 +218,9 @@ module Dokkit
|
|
222
218
|
end
|
223
219
|
|
224
220
|
# Render document in the given format.
|
225
|
-
def do_render!(format)
|
221
|
+
def do_render!(formatter, format)
|
226
222
|
if @targets[format]
|
227
|
-
render_source!(format)
|
223
|
+
render_source!(formatter, format)
|
228
224
|
render_all_layouts!(format)
|
229
225
|
else
|
230
226
|
@logger.error("Don't know how to render '#{source_fn}': format '#{format}' is unknown.")
|
@@ -233,8 +229,8 @@ module Dokkit
|
|
233
229
|
end
|
234
230
|
|
235
231
|
# Produce output from source.
|
236
|
-
def render_source!(format)
|
237
|
-
@content_for_layout = apply_filters(@source, filters_for(format), format) unless @source.nil?
|
232
|
+
def render_source!(formatter, format)
|
233
|
+
@content_for_layout = apply_filters(@source, filters_for(formatter, format), format) unless @source.nil?
|
238
234
|
end
|
239
235
|
|
240
236
|
def render_layout!(layout_fn, format)
|
@@ -272,7 +268,7 @@ module Dokkit
|
|
272
268
|
@layouts[format] = []
|
273
269
|
|
274
270
|
process_layout_configuration_key(format)
|
275
|
-
|
271
|
+
|
276
272
|
@layouts[format].uniq!
|
277
273
|
@layouts[format].compact!
|
278
274
|
end
|
@@ -302,8 +298,8 @@ module Dokkit
|
|
302
298
|
opts = format.values.first
|
303
299
|
if opts
|
304
300
|
ext = (opts['ext'] if opts.has_key?('ext')) || format_key
|
305
|
-
filters = (opts['filter'] if opts.has_key?('filter')) ||
|
306
|
-
post_filters = (opts['postfilter'] if opts.has_key?('postfilter')) ||
|
301
|
+
filters = (opts['filter'] if opts.has_key?('filter')) || default_filter_chain_for(@formatter, 'html')
|
302
|
+
post_filters = (opts['postfilter'] if opts.has_key?('postfilter')) || default_postfilter_chain_for('html')
|
307
303
|
{ :target_fn => target_fn(ext.to_sym), 'filter' => filters, 'postfilter' => post_filters }
|
308
304
|
else
|
309
305
|
@logger.error("You must define format '#{format}'!")
|
@@ -379,7 +375,7 @@ module Dokkit
|
|
379
375
|
|
380
376
|
# Apply filters on text to produce the given format.
|
381
377
|
def apply_filters(text, filters_chain, format)
|
382
|
-
filters_chain.collect { |filter| @filter_factory.get(filter,
|
378
|
+
filters_chain.collect { |filter| @filter_factory.get(filter, self) }.inject(text) { |s, f| f.filter(s) }
|
383
379
|
end
|
384
380
|
|
385
381
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dokkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrea Fazzi
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-08-05 00:00:00 +00:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -69,6 +69,7 @@ files:
|
|
69
69
|
- lib/dokkit/filters.rb
|
70
70
|
- lib/dokkit/filters/deplate.rb
|
71
71
|
- lib/dokkit/filters/erb.rb
|
72
|
+
- lib/dokkit/filters/haml.rb
|
72
73
|
- lib/dokkit/filters/maruku.rb
|
73
74
|
- lib/dokkit/filters/nil.rb
|
74
75
|
- lib/dokkit/filters/tidy.rb
|
@@ -97,65 +98,6 @@ files:
|
|
97
98
|
- lib/dokkit/tasklib.rb
|
98
99
|
- lib/dokkit/tasklib/clean.rb
|
99
100
|
- lib/dokkit/tasklib/render.rb
|
100
|
-
- spec/dokkit/application_spec.rb
|
101
|
-
- spec/dokkit/cache/cache_spec.rb
|
102
|
-
- spec/dokkit/dokkit_spec.rb
|
103
|
-
- spec/dokkit/environment/basic_spec.rb
|
104
|
-
- spec/dokkit/environment/helpers/extmap_spec.rb
|
105
|
-
- spec/dokkit/environment/helpers/fileselection_spec.rb
|
106
|
-
- spec/dokkit/environment/helpers/test_data/doc/pages/document_1.ext_1
|
107
|
-
- spec/dokkit/environment/helpers/test_data/doc/pages/document_2
|
108
|
-
- spec/dokkit/environment/helpers/test_data/doc/pages/document_3.ext_3
|
109
|
-
- spec/dokkit/environment/test_data/doc/data/data
|
110
|
-
- spec/dokkit/environment/test_data/doc/pages/document_1
|
111
|
-
- spec/dokkit/environment/test_data/doc/pages/document_1.yaml
|
112
|
-
- spec/dokkit/environment/test_data/doc/pages/document_2
|
113
|
-
- spec/dokkit/environment/test_data/doc/pages/subdir/document_1
|
114
|
-
- spec/dokkit/factory/factory_spec.rb
|
115
|
-
- spec/dokkit/filters/deplate_spec.rb
|
116
|
-
- spec/dokkit/filters/erb_spec.rb
|
117
|
-
- spec/dokkit/filters/maruku_spec.rb
|
118
|
-
- spec/dokkit/filters/nil_spec.rb
|
119
|
-
- spec/dokkit/filters/tidy_spec.rb
|
120
|
-
- spec/dokkit/hash_spec.rb
|
121
|
-
- spec/dokkit/logging/logger_spec.rb
|
122
|
-
- spec/dokkit/logging/observers/console_spec.rb
|
123
|
-
- spec/dokkit/resource/data_spec.rb
|
124
|
-
- spec/dokkit/resource/document_spec.rb
|
125
|
-
- spec/dokkit/resource/extensions/html_spec.rb
|
126
|
-
- spec/dokkit/resource/extensions/url_spec.rb
|
127
|
-
- spec/dokkit/resource/filenamehelper_spec.rb
|
128
|
-
- spec/dokkit/resource/test_data/doc/configs/config_1.yaml
|
129
|
-
- spec/dokkit/resource/test_data/doc/configs/config_2.yaml
|
130
|
-
- spec/dokkit/resource/test_data/doc/configs/required.yaml
|
131
|
-
- spec/dokkit/resource/test_data/doc/configs/subdir/document.yaml
|
132
|
-
- spec/dokkit/resource/test_data/doc/layouts/container.html
|
133
|
-
- spec/dokkit/resource/test_data/doc/layouts/layout.html
|
134
|
-
- spec/dokkit/resource/test_data/doc/layouts/layout.latex
|
135
|
-
- spec/dokkit/resource/test_data/doc/layouts/nested/nested.html
|
136
|
-
- spec/dokkit/resource/test_data/doc/layouts/subdir/document.html
|
137
|
-
- spec/dokkit/resource/test_data/doc/layouts/subdir/document.latex
|
138
|
-
- spec/dokkit/resource/test_data/doc/pages/COMMON.yaml
|
139
|
-
- spec/dokkit/resource/test_data/doc/pages/document_with_many_config.ext
|
140
|
-
- spec/dokkit/resource/test_data/doc/pages/document_with_many_errors.ext
|
141
|
-
- spec/dokkit/resource/test_data/doc/pages/document_with_many_targets.ext
|
142
|
-
- spec/dokkit/resource/test_data/doc/pages/document_with_nested_layout.ext
|
143
|
-
- spec/dokkit/resource/test_data/doc/pages/document_with_nil_target.ext
|
144
|
-
- spec/dokkit/resource/test_data/doc/pages/document_with_not_defined_target.ext
|
145
|
-
- spec/dokkit/resource/test_data/doc/pages/document_with_one_target.ext
|
146
|
-
- spec/dokkit/resource/test_data/doc/pages/document_with_postfilter.ext
|
147
|
-
- spec/dokkit/resource/test_data/doc/pages/subdir/COMMON.yaml
|
148
|
-
- spec/dokkit/resource/test_data/doc/pages/subdir/document.ext
|
149
|
-
- spec/dokkit/resource/test_data/doc/pages/subdir/document.yaml
|
150
|
-
- spec/dokkit/tasklib/clean_spec.rb
|
151
|
-
- spec/dokkit/tasklib/render_spec.rb
|
152
|
-
- spec/dokkit/tasklib/test_data/doc/data/data_1
|
153
|
-
- spec/dokkit/tasklib/test_data/doc/pages/document_1
|
154
|
-
- spec/dokkit/tasklib/test_data/doc/pages/document_2
|
155
|
-
- spec/dokkit/test_data/dokkit/models/model1/doc/pages/model1
|
156
|
-
- spec/dokkit/test_data/dokkit/models/model2/doc/pages/model2
|
157
|
-
- spec/spec.opts
|
158
|
-
- spec/spec_helper.rb
|
159
101
|
- tasks/annotations.rake
|
160
102
|
- tasks/doc.rake
|
161
103
|
- tasks/gem.rake
|