docgenerator 2.1.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +7 -0
  2. data/examples/creole_example.rb +0 -1
  3. data/examples/creole_example_new_plugin.rb +51 -0
  4. data/examples/creole_example_tabular.rb +3 -1
  5. data/examples/wiki2docgenerator_example.rb +2 -2
  6. data/lib/creole/creole2doc.rb +697 -680
  7. data/lib/creole/creole_characters.rb +90 -26
  8. data/lib/creole/creole_inclusion_and_plugins.rb +25 -43
  9. data/lib/creole/creole_inclusions.rb +87 -75
  10. data/lib/creole/creole_placeholder.rb +87 -89
  11. data/lib/creole/creole_plugins.rb +149 -117
  12. data/lib/creole/creole_tabular.rb +247 -141
  13. data/lib/creole/plugins/todonotes.rb +48 -48
  14. data/lib/docgenerator/characters.rb +106 -8
  15. data/lib/docgenerator/compatibility_v1.rb +7 -1
  16. data/lib/docgenerator/document.rb +34 -19
  17. data/lib/docgenerator/element.rb +1 -0
  18. data/lib/docgenerator/element_meta.rb +1 -1
  19. data/lib/docgenerator/elements.rb +594 -535
  20. data/lib/docgenerator/environments.rb +131 -99
  21. data/lib/docgenerator/index.rb +110 -0
  22. data/lib/docgenerator/lists.rb +2 -1
  23. data/lib/docgenerator/packages/caption.rb +32 -34
  24. data/lib/docgenerator/packages/hyperref.rb +1 -0
  25. data/lib/docgenerator/packages/multicol.rb +3 -2
  26. data/lib/docgenerator/packages/pdfpages.rb +71 -20
  27. data/lib/docgenerator/packages/scrpage2.rb +99 -142
  28. data/lib/docgenerator/packages/url.rb +75 -81
  29. data/lib/docgenerator/sections.rb +98 -98
  30. data/lib/docgenerator/standard.rb +8 -1
  31. data/lib/docgenerator/tabular.rb +44 -25
  32. data/lib/docgenerator/templates/docgenerator_template.yaml +28 -0
  33. data/lib/docgenerator/version.rb +146 -0
  34. data/lib/docgenerator.rb +20 -15
  35. data/meta_test_and_doc/build_doc.rb +39 -10
  36. data/meta_test_and_doc/build_test.rb +34 -12
  37. data/meta_test_and_doc/manpages/characters.rb +452 -20
  38. data/meta_test_and_doc/manpages/elementlist.rb +304 -0
  39. data/meta_test_and_doc/manpages/elements.rb +305 -42
  40. data/meta_test_and_doc/manpages/others.rb +403 -0
  41. data/meta_test_and_doc/manpages/pdfpages.rb +117 -18
  42. data/meta_test_and_doc/manpages/readme.rdoc +3 -1
  43. data/meta_test_and_doc/manpages/scrpage2.rb +0 -80
  44. data/meta_test_and_doc/manpages/tables.rb +6 -6
  45. data/readme.rdoc +11 -120
  46. data/unittest/expected/test_comment.html +1 -0
  47. data/unittest/expected/test_comment.latex +5 -0
  48. data/unittest/expected/test_comment_complex.html +3 -0
  49. data/unittest/expected/test_comment_complex.latex +15 -0
  50. data/unittest/expected_creole/test_creole_characters_all.html +6 -5
  51. data/unittest/expected_creole/test_creole_characters_all.latex +10 -8
  52. data/unittest/expected_creole/test_creole_creole1.0test.latex +5 -5
  53. data/unittest/expected_creole/test_creole_input.normsource +11 -9
  54. data/unittest/expected_creole/test_creole_list_ul.normsource +57 -51
  55. data/unittest/expected_creole/test_creole_list_ulul_without_ul.html +6 -0
  56. data/unittest/expected_creole/test_creole_list_ulul_without_ul.latex +12 -0
  57. data/unittest/expected_creole/test_creole_paragraphs.normsource +12 -10
  58. data/unittest/expected_creole/test_creole_pictures.latex +2 -2
  59. data/unittest/expected_creole/test_creole_pictures_css.latex +2 -2
  60. data/unittest/expected_creole/test_creole_pictures_imgclass.latex +2 -2
  61. data/unittest/expected_creole/test_creole_pictures_width.latex +1 -1
  62. data/unittest/expected_creole/test_creole_tabular.latex +3 -3
  63. data/unittest/expected_creole/test_creole_tabular_creole.latex +2 -2
  64. data/unittest/expected_creole/test_creole_tabular_css.latex +3 -3
  65. data/unittest/expected_creole/test_creole_tabular_row_parameters.latex +22 -0
  66. data/unittest/expected_templates/test_standalone.tex +34 -0
  67. data/unittest/expected_wikimedia/test_wiki_picture.latex +12 -12
  68. data/unittest/unittest_creole.rb +22 -3
  69. data/unittest/unittest_creole_tabular.rb +34 -1
  70. data/unittest/unittest_docgenerator.rb +46 -3
  71. data/unittest/unittest_docgenerator_characters.rb +527 -82
  72. data/unittest/unittest_templates.rb +1 -1
  73. metadata +149 -108
@@ -1,21 +1,9 @@
1
1
  #encoding: UTF-8
2
2
 
3
-
4
- <<fixme
5
- taboptions:
6
- - border=: HTML
7
- - .* = (.*): Used for CSS
8
- newline-options
9
- - toprule
10
- - midrule
11
- - hline
12
- - .* = (.*): Used for CSS
13
- lineoptions:
14
- - colspan =
15
- - pos
16
- - .* = (.*): Used for CSS
17
- fixme
18
-
3
+ if $0 == __FILE__ #for immediate tests
4
+ $:.unshift('..')
5
+ require 'creole/creole2doc.rb'
6
+ end
19
7
 
20
8
  module Docgenerator
21
9
  module Creole
@@ -74,7 +62,6 @@ Usage:
74
62
  content.each{|line|
75
63
  @tab << row = element(:row).cr
76
64
  line.each{|cell|
77
- #fixme cell to wiki/creole
78
65
  row << element(cell.type,{}, cell.content).cr
79
66
  }
80
67
  }
@@ -117,11 +104,30 @@ You can add additional settings to cells:
117
104
  |||class=empty
118
105
  >>>
119
106
  =end
120
- class Creole_tabular < Placeholder
121
- set_placeholder_key 'tabular'
122
-
123
- #Extend the class by a little structure
124
- class Cell
107
+ class Creole_tabular < Placeholder
108
+ set_placeholder_key 'tabular'
109
+
110
+ #Define a container for cells
111
+ class Row
112
+ #Flag for hline
113
+ attr_accessor :hline
114
+ #Flag for toprule
115
+ attr_accessor :toprule
116
+ #Flag for midrule
117
+ attr_accessor :midrule
118
+ #Add a cell to a row
119
+ def << (cell)
120
+ @cells = [] unless @cells
121
+ @cells << cell
122
+ end
123
+ def each
124
+ @cells.each{|cell| yield cell }
125
+ end
126
+ #Return number of cells
127
+ def size; @cells.size; end
128
+ end
129
+ #Extend the class by a little structure
130
+ class Cell
125
131
  =begin rdoc
126
132
  The content of a cell is separated from settings by two ||
127
133
 
@@ -132,148 +138,246 @@ Supported additional settings:
132
138
  * class= define HTML-class
133
139
  * title= define a title (results in popup during mouse-over)
134
140
  =end
135
- def initialize( content, type, wiki, local_options )
136
- @content, options = content.split(/\|\|/,2)
137
- @content = '' unless @content #just in case of empty content
138
- @options = {}
139
- options.split(/\|/).each{|option|
140
- case option
141
- when /class\s*=\s*/
142
- @options[:class] = $~.post_match
143
- when /css\s*=\s*/
144
- @options[:style] = $~.post_match
145
- when /title\s*=\s*/
146
- @options[:title] = $~.post_match
147
- when /pos\s*=\s*/ #only for multicol
148
- @options[:pos] = $~.post_match
149
- when /columns\s*=\s*/
150
- wiki.log.debug("Creole_tabular::Cell #{type} converted to multicol")
151
- type = :multicolumn #loose th/td-information -- fixme
152
- @options[:colspan] = $~.post_match.to_i
153
- when '' #ignore them
154
- else
155
- wiki.log.warn("Creole_tabular::Cell: Undefined option #{option.inspect}")
141
+ def initialize( content, type, wiki, local_options )
142
+ @content, options = content.split(/\|\|/,2)
143
+ @content = '' unless @content #just in case of empty content
144
+ @options = {}
145
+ options.split(/\|/).each{|option|
146
+ case option
147
+ when /class\s*=\s*/
148
+ @options[:class] = $~.post_match
149
+ when /css\s*=\s*/
150
+ @options[:style] = $~.post_match
151
+ when /title\s*=\s*/
152
+ @options[:title] = $~.post_match
153
+ when /pos\s*=\s*/ #only for multicol
154
+ @options[:pos] = $~.post_match
155
+ when /columns\s*=\s*/
156
+ wiki.log.debug("Creole_tabular::Cell #{type} converted to multicol")
157
+ type = :multicolumn #loose th/td-information -- fixme
158
+ @options[:colspan] = $~.post_match.to_i
159
+ when '' #ignore them
160
+ else
161
+ wiki.log.warn("Creole_tabular::Cell: Undefined option #{option.inspect}")
162
+ end
163
+ } if options
164
+ @type = type #:td or :th
165
+ @wiki = wiki
166
+ @local_options = local_options
167
+ end
168
+ #Return the content as a element.
169
+ def cell_element()
170
+ element(@type,@options, @wiki.inline(@content, @local_options)).cr
171
+ end
172
+ end #class Cell
173
+
174
+ #Build the tabular.
175
+ def close()
176
+ #~ fixme:
177
+ #~ *CSS-format
178
+ #~ *generelle def
179
+
180
+ step = 0 #start
181
+ head = []
182
+ content = [Row.new]
183
+
184
+ options = { :log => @log }
185
+ local_options = {
186
+ :log => @log,
187
+ :inclusions => @wiki.inclusions,
188
+ :plugins => @wiki.plugins.dup
189
+ }
190
+ #No footnotes inside tabulars
191
+ local_options[:plugins].delete('footnote')
192
+ local_options[:plugins].delete('footnotes')
193
+
194
+ tab_css = CSS.new( :log => @log )
195
+ @source.each{|cell|
196
+ case cell
197
+ when /^\|!/ #generell cell definition
198
+ case $~.post_match().strip
199
+ when /columns\s*=\s*(.*)/
200
+ options[:columns] = $1.to_i
201
+ when /border\s*=\s*(.*)/
202
+ options[:border] = $1
203
+ when /columndescription\s*=\s*(.*)/
204
+ options[:columndescription] = $1
205
+ when /css\s*=\s*(.*)\s*:\s*(.*)/
206
+ tab_css[$1] = $2
207
+ when '' #
208
+ else
209
+ @log.warn("#{self}: Unknown tabular option #{$1}") if @log.warn?
210
+ end
211
+ when /^\|-(.*)/ #new line
212
+ if $1 #there are options for the row
213
+ $1.split(/\|/).each{|option|
214
+ case option
215
+ when /hline/; content.last.hline = true
216
+ when /toprule/; content.last.toprule = true
217
+ when /midrule/; content.last.midrule = true
218
+ when /\A\s*\Z/, nil
219
+ else
220
+ @log.warn("#{self}: Unknown row option #{option.inspect}") if @log.warn?
221
+ end
222
+ }
223
+ end
224
+ content << Row.new #Start new row
225
+ when /^\|=/ #header cell
226
+ #~ content.last << Cell.new(@wiki.inline($~.post_match.strip, local_options), :th)
227
+ content.last << Cell.new($~.post_match.strip, :th, @wiki, local_options)
228
+ when /^\|/ #content of a cell
229
+ #~ content.last << Cell.new(@wiki.inline($~.post_match.strip, local_options), :td)
230
+ content.last << Cell.new($~.post_match.strip, :td, @wiki, local_options)
231
+ else #error!
232
+ raise "cell/log-warning in #{cell.inspect}"
156
233
  end
157
- } if options
158
- @type = type #:td or :th
159
- @wiki = wiki
160
- @local_options = local_options
161
- end
162
- #Return the content as a element.
163
- def cell_element()
164
- element(@type,@options, @wiki.inline(@content, @local_options)).cr
234
+ }
235
+
236
+ max_size = 0
237
+ content.each{|line|
238
+ max_size = [max_size, line.size].max
239
+ }
240
+
241
+ if options[:columns] and options[:columns] < max_size
242
+ @log.warn("Creole-tabular: Defined size #{options[:columns]} < no of columns (#{max_size})") if @log.warn?
243
+ end
244
+
245
+ if self.is_a?(Docgenerator::Creole::Creole_longtable)
246
+ @tab = element(:longtable, { :style => tab_css,
247
+ }.merge(options) ).cR
248
+ #~ elsif self.is_a?(Docgenerator::Creole::Creole_supertabular) #Not supported
249
+ #~ @tab = element(:supertabular, { :style => tab_css,
250
+ #~ }.merge(options) ).cR
251
+ elsif self.is_a?(Docgenerator::Creole::Creole_tabular)
252
+ @tab = element(:tabular, { :style => tab_css,
253
+ }.merge(options) ).cR
254
+ else
255
+ raise ArgumentError, "Unsupported tabular-class #{self.class}"
256
+ end
257
+
258
+ content.each{|line|
259
+ @tab << row = element(:row).cr
260
+ row.hline if line.hline
261
+ row.toprule if line.toprule
262
+ row.midrule if line.midrule
263
+ line.each{|cell|
264
+ row << cell.cell_element.cr
265
+ }
266
+ }
267
+ end
268
+ def to_doc( target, options = {})
269
+ @tab.to_doc( target, options )
165
270
  end
166
- end #class Cell
271
+ end #Creole_tabular
272
+
273
+ class Creole_longtable < Creole_tabular
274
+ set_placeholder_key 'longtable'
275
+ end
167
276
 
168
- #Build the tabular.
169
- def close()
170
- #~ fixme:
171
- #~ *CSS-format
172
- #~ *generelle def
173
-
174
- step = 0 #start
175
- head = []
176
- content = [[]]
177
-
178
- options = { :log => @log }
179
- local_options = {
180
- :log => @log,
181
- :inclusions => @wiki.inclusions,
182
- :plugins => @wiki.plugins.dup
183
- }
184
- #No footnotes inside tabulars
185
- local_options[:plugins].delete('footnote')
186
- local_options[:plugins].delete('footnotes')
187
-
188
- tab_css = CSS.new( :log => @log )
189
- @source.each{|cell|
190
- case cell
191
- when /^\|!/ #generell cell definition
192
- case $~.post_match().strip
193
- when /columns\s*=\s*(.*)/
194
- options[:columns] = $1.to_i
195
- when /border\s*=\s*(.*)/
196
- options[:border] = $1
197
- when /columndescription\s*=\s*(.*)/
198
- options[:columndescription] = $1
199
- when /css\s*=\s*(.*)\s*:\s*(.*)/
200
- tab_css[$1] = $2
201
- when '' #
202
- else
203
- @log.warn("#{self}: Unknown tabular option #{$1}") if @log.warn?
204
- end
205
- when /^\|-(.*)/ #new line
206
- content << []
207
- when /^\|=/ #header cell
208
- #~ content.last << Cell.new(@wiki.inline($~.post_match.strip, local_options), :th)
209
- content.last << Cell.new($~.post_match.strip, :th, @wiki, local_options)
210
- when /^\|/ #content of a cell
211
- #~ content.last << Cell.new(@wiki.inline($~.post_match.strip, local_options), :td)
212
- content.last << Cell.new($~.post_match.strip, :td, @wiki, local_options)
213
- else #error!
214
- raise "cell/log-warning in #{cell.inspect}"
277
+ #~ class Creole_supertabular < Creole_tabular ##Not supported
278
+ #~ set_placeholder_key 'supertabular'
279
+ #~ end
280
+ =begin rdoc
281
+ This class needs the CSV-package (the user is responsible to load it).
282
+
283
+ The LaTeX document needs the booktabs-package
284
+
285
+ Options:
286
+ * headers=false: Firest line contains headers (default: true)
287
+ * format or columndescription: LaTeX header description
288
+
289
+ Fixmes:
290
+ * More parameters:
291
+ ** toprule, hline,
292
+ ** Other table (supertabular...)
293
+ * Bug: CSV without header returns Array of array
294
+
295
+ =end
296
+ class Creole_tabular_csv < Placeholder
297
+ set_placeholder_key 'tabular_csv'
298
+ def to_doc( target, options = {})
299
+ if ! defined? CSV
300
+ @log.fatal("tabular_csv needs CSV-package")
301
+ raise "tabular_csv needs CSV-package"
302
+ end
303
+ @log.fatal("tabular_csv needs parameters (format, col_sep)") unless @parameters.respond_to? :split
304
+ columndescription = nil
305
+ headers = true #first CSV-line contains
306
+ colsep = ';'
307
+ @parameters.split(/[|;]/).each{|parameter|
308
+ case parameter
309
+ when /headers=false/; headers = false
310
+ when /(format|columndescription)=(.*)/; columndescription = $2
311
+ #Some separator get a name. This is made especially, of the separator is also used as parameter separator.
312
+ when /(col_sep)=(.*)/; colsep = {'semicolon' => ';', 'tab' => "\t", 'bar' => '|'}[$2] || $2
313
+ @log.warn("tabular_csv with undefined separator (use semicolon, tab or bar)" % parameter) unless colsep
314
+ else
315
+ @log.warn("tabular_csv with unknown option %s" % parameter)
215
316
  end
216
- }
217
-
218
- max_size = 0
219
- content.each{|line|
220
- max_size = [max_size, line.size].max
221
- }
222
-
223
- if options[:columns] and options[:columns] < max_size
224
- @log.warn("Creole-tabular: Defined size #{options[:columns]} < no of columns (#{max_size})") if @log.warn?
225
- end
226
-
227
- if self.is_a?(Docgenerator::Creole::Creole_longtable)
228
- @tab = element(:longtable, { :style => tab_css,
229
- }.merge(options) ).cR
230
- elsif self.is_a?(Docgenerator::Creole::Creole_tabular)
231
- @tab = element(:tabular, { :style => tab_css,
232
- }.merge(options) ).cR
233
- else
234
- raise ArgumentError, "Unsupported tabular-class #{self.class}"
235
- end
236
-
237
- content.each{|line|
238
- @tab << row = element(:row).cr
239
- line.each{|cell|
240
- row << cell.cell_element.cr
241
317
  }
242
- }
243
- end
244
- def to_doc( target, options = {})
245
- @tab.to_doc( target, options )
246
- end
247
- end #Creole_tabular
248
318
 
249
- class Creole_longtable < Creole_tabular
250
- set_placeholder_key 'longtable'
251
- end
319
+ csv = CSV.parse(@source.join, :col_sep => colsep, :headers => true)
320
+ if ! columndescription
321
+ columndescription = 'c' * csv.headers.size
322
+ @log.warn("tabular_csv without LaTeX columndescription. Use %s" % columndescription)
323
+ end
324
+ tab = element(:tabular, { :columns => csv.headers.size, :columndescription => columndescription }).cR
325
+ tab << row = element(:row).cr.toprule
326
+ csv.headers.each{|title|row << element(:th,{}, title) }
327
+ csv.each{|line|
328
+ tab << row = element(:row).cr
329
+ line.each{|cell|
330
+ row << element(:td,{}, cell.last)
331
+ }
332
+ }
333
+ tab.to_doc( target, options )
334
+ end
335
+ end
252
336
 
253
337
  end #module Creole
338
+
254
339
  end #module Docgenerator
255
340
 
256
341
 
257
342
  if $0 == __FILE__
258
- creole = Docgenerator::Creole::Creole.new(
343
+
344
+ creole = Docgenerator::Creole::Creole.new(
259
345
  :name => 'tabular_creole',
260
346
  :content => <<'creole'
261
347
  <<<tabular
262
- |
348
+ |!columns=3
349
+ |!columndescription=ccc
350
+ |=a
351
+ |=b
352
+ |=c
353
+ |-
354
+ |a
355
+ |b
356
+ |c
263
357
  >>>
264
358
  creole
265
359
  )
266
- p creole.to_html #testcode
360
+ require 'csv'
361
+ creole = Docgenerator::Creole::Creole.new(
362
+ :name => 'tabular_creole',
363
+ :content => <<'creole'
364
+ <<<tabular_csv|columndescription=rrr|col_sep=semicolon
365
+ 1;2;3
366
+ yy;yy;yy;
367
+ xx;xx;xx;
368
+ >>>
369
+ creole
370
+ ) #if false
371
+
372
+ puts creole.to_html #testcode
373
+ puts creole.to_latex #testcode
267
374
  end
268
375
  __END__
269
376
 
270
377
  class Creole_tabular_cvs
271
378
  include Placeholder
272
- >>>tab
273
- |! Tabdefinition crl
274
- |! implizit columns
275
- |! border=1px
276
- |= -> th
379
+
380
+ <<<tabular_csv|CSV-Options
277
381
  yy;yy;yy;
278
382
  yy;yy;yy;
279
383
  yy;yy;yy;
@@ -293,3 +397,5 @@ Die Syntax:
293
397
  **hline: Zusätzlicher Trennstrich über der Zeile
294
398
  **toprule, midrule, bottomrule: Zusätzlicher Trennstrich über der Zeile (erfordert booktabs.sty)
295
399
  *|} beendet eine Tabelle
400
+
401
+
@@ -1,77 +1,77 @@
1
1
  require 'docgenerator/packages/todonotes.rb'
2
2
 
3
3
  module Docgenerator
4
- module Creole
4
+ module Creole
5
5
 
6
6
  =begin rdoc
7
7
  Classes to provide support for the todonotes-package.
8
8
 
9
9
  * http://ctan.org/tex-archive/macros/latex/contrib/todonotes/
10
10
  =end
11
- module Todo
11
+ module Todo
12
12
 
13
- class Creole_todolist < Creole_inclusion_and_plugin
14
- set_plugin_key('listoftodos') #use <<todo|..>>
15
- def to_doc(target, options = {})
16
- element(:listoftodos, options).to_doc(target, options)
17
- end
18
- end
13
+ class Creole_todolist < Creole_inclusion_and_plugin
14
+ set_plugin_key('listoftodos') #use <<todo|..>>
15
+ def to_doc(target, options = {})
16
+ element(:listoftodos, options).to_doc(target, options)
17
+ end
18
+ end
19
19
  =begin rdoc
20
20
  Define a plugin for the todonotes-package.
21
21
  =end
22
- class Creole_todo < Creole_inclusion_and_plugin
23
-
24
- set_plugin_key('todo') #use <<todo|..>>
25
-
26
- #define default options for todonotes. may be redefined for children of this class.
27
- def default_options; {}; end
22
+ class Creole_todo < Creole_inclusion_and_plugin
23
+
24
+ set_plugin_key('todo') #use <<todo|..>>
25
+
26
+ #define default options for todonotes. may be redefined for children of this class.
27
+ def default_options; {}; end
28
28
 
29
29
  =begin rdoc
30
30
  Usage:
31
31
  <<todo|what to do|color=red>>
32
32
  =end
33
- def initialize( inclusionname, description, options, wiki )
34
- #~ @inclusionname = inclusionname #fix 'todo'
35
- @description = description
36
- @options = default_options.dup
37
- options.each{|opt|
38
- case opt
39
- when /color\s*=\s*/
40
- @options[:color] = $~.post_match
41
- when /inline/
42
- @options[:inline] = true
43
- else
44
- wiki.log.warn("Todo #{@description} with undefined option #{opt}")
33
+ def initialize( inclusionname, description, options, wiki )
34
+ #~ @inclusionname = inclusionname #fix 'todo'
35
+ @description = description
36
+ @options = default_options.dup
37
+ options.each{|opt|
38
+ case opt
39
+ when /color\s*=\s*/
40
+ @options[:color] = $~.post_match
41
+ when /inline/
42
+ @options[:inline] = true
43
+ else
44
+ wiki.log.warn("Todo #{@description} with undefined option #{opt}")
45
+ end
46
+ }
47
+ @wiki = wiki
48
+
49
+ raise "Inclusion received no wiki but #{wiki.inspect}" unless wiki.is_a?(Creole)
45
50
  end
46
- }
47
- @wiki = wiki
48
-
49
- raise "Inclusion received no wiki but #{wiki.inspect}" unless wiki.is_a?(Creole)
50
- end
51
-
52
- def to_doc(target, options = {})
53
- element(:todo, @options, @description).to_doc(target, options)
54
- end
55
- end #Creole_todo
51
+
52
+ def to_doc(target, options = {})
53
+ element(:todo, @options, @description).to_doc(target, options)
54
+ end
55
+ end #Creole_todo
56
56
 
57
57
  =begin rdoc
58
58
  A variant of Creole_todo with green color.
59
59
  =end
60
- class Creole_todo_green < Creole_todo
61
- set_plugin_key('todo_green') #use <<todo_green|..>>
62
- #define default options for todonotes. may be redefined for children of this class.
63
- def default_options; {:color => 'green'}; end
64
- end
60
+ class Creole_todo_green < Creole_todo
61
+ set_plugin_key('todo_green') #use <<todo_green|..>>
62
+ #define default options for todonotes. may be redefined for children of this class.
63
+ def default_options; {:color => 'green'}; end
64
+ end
65
65
 
66
66
  =begin rdoc
67
67
  A variant of Creole_todo with inline-layout.
68
68
  =end
69
- class Creole_todo_inline < Creole_todo
70
- set_plugin_key('todo_inline') #use <<todo_inline|..>>
71
- #define default options for todonotes. may be redefined for children of this class.
72
- def default_options; {:inline => true}; end
73
- end
69
+ class Creole_todo_inline < Creole_todo
70
+ set_plugin_key('todo_inline') #use <<todo_inline|..>>
71
+ #define default options for todonotes. may be redefined for children of this class.
72
+ def default_options; {:inline => true}; end
73
+ end
74
74
 
75
- end #module Todo
76
- end #module Creole
75
+ end #module Todo
76
+ end #module Creole
77
77
  end #module Docgenerator