docgenerator 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. data/examples/creole_example_tabular.rb +95 -0
  2. data/examples/docgenerator_example.rb +5 -5
  3. data/lib/creole/creole2doc.rb +28 -18
  4. data/lib/creole/creole_inclusions.rb +4 -4
  5. data/lib/creole/creole_placeholder.rb +4 -1
  6. data/lib/creole/creole_tabular.rb +173 -155
  7. data/lib/creole/plugins/rail.rb +118 -119
  8. data/lib/creole/plugins/struktex.rb +35 -35
  9. data/lib/creole/plugins/todonotes.rb +8 -1
  10. data/lib/docgenerator/attribute.rb +160 -160
  11. data/lib/docgenerator/characters.rb +343 -311
  12. data/lib/docgenerator/css.rb +167 -167
  13. data/lib/docgenerator/document.rb +525 -511
  14. data/lib/docgenerator/element.rb +316 -316
  15. data/lib/docgenerator/element_meta.rb +114 -114
  16. data/lib/docgenerator/elements.rb +19 -9
  17. data/lib/docgenerator/environments.rb +3 -1
  18. data/lib/docgenerator/lists.rb +177 -174
  19. data/lib/docgenerator/packages/hyperref.rb +74 -70
  20. data/lib/docgenerator/packages/multicol.rb +33 -0
  21. data/lib/docgenerator/packages/scrlettr2.rb +152 -151
  22. data/lib/docgenerator/packages/todonotes.rb +1 -1
  23. data/lib/docgenerator/tabular.rb +463 -400
  24. data/lib/docgenerator/templates/docgenerator_template.rb +94 -84
  25. data/lib/docgenerator/templates/docgenerator_template.yaml +75 -15
  26. data/lib/docgenerator.rb +1 -1
  27. data/lib/wiki2doc/wiki2docgenerator.rb +1 -1
  28. data/meta_test_and_doc/build__meta.rb +125 -0
  29. data/meta_test_and_doc/build_doc.rb +333 -0
  30. data/meta_test_and_doc/build_test.rb +251 -0
  31. data/meta_test_and_doc/manpages/attachfile.rb +389 -0
  32. data/meta_test_and_doc/manpages/caption.rb +133 -0
  33. data/meta_test_and_doc/manpages/characters.rb +3738 -0
  34. data/meta_test_and_doc/manpages/elements.rb +6851 -0
  35. data/meta_test_and_doc/manpages/environments.rb +985 -0
  36. data/meta_test_and_doc/manpages/footnote.rb +439 -0
  37. data/meta_test_and_doc/manpages/hyperref.rb +605 -0
  38. data/meta_test_and_doc/manpages/listings.rb +988 -0
  39. data/meta_test_and_doc/manpages/lists.rb +1463 -0
  40. data/meta_test_and_doc/manpages/others.rb +129 -0
  41. data/meta_test_and_doc/manpages/packages.rb +13 -0
  42. data/meta_test_and_doc/manpages/pdfpages.rb +108 -0
  43. data/meta_test_and_doc/manpages/readme.rdoc +9 -0
  44. data/meta_test_and_doc/manpages/scrlettr2.rb +362 -0
  45. data/meta_test_and_doc/manpages/scrpage2.rb +2028 -0
  46. data/meta_test_and_doc/manpages/sectioning.rb +2467 -0
  47. data/meta_test_and_doc/manpages/tables.rb +2088 -0
  48. data/meta_test_and_doc/manpages/todonotes.rb +235 -0
  49. data/meta_test_and_doc/manpages/wiki2docgenerator.rb +64 -0
  50. data/{readme.rd → readme.rdoc} +18 -1
  51. data/unittest/expected/test_tabular.creole +33 -0
  52. data/unittest/expected_creole/test_creole_creole1.0test.html +3 -3
  53. data/unittest/expected_creole/test_creole_creole1.0test.latex +3 -3
  54. data/unittest/expected_creole/test_creole_creole1.0test.text +3 -3
  55. data/unittest/expected_creole/test_creole_inline_apostroph.html +6 -0
  56. data/unittest/expected_creole/test_creole_inline_apostroph.latex +8 -0
  57. data/unittest/expected_creole/test_creole_inline_apostroph.text +4 -0
  58. data/unittest/expected_creole/test_creole_input.normsource +12 -12
  59. data/unittest/expected_creole/test_creole_input.normsource_1.8 +23 -0
  60. data/unittest/expected_creole/test_creole_links_external_implicit.html +2 -2
  61. data/unittest/expected_creole/test_creole_links_external_implicit.latex +2 -2
  62. data/unittest/expected_creole/test_creole_links_external_implicit.text +2 -2
  63. data/unittest/expected_creole/test_creole_links_implicit_end.html +1 -1
  64. data/unittest/expected_creole/test_creole_links_implicit_end.latex +1 -1
  65. data/unittest/expected_creole/test_creole_list_ul.normsource +42 -42
  66. data/unittest/expected_creole/test_creole_list_ul.normsource_1.8 +83 -0
  67. data/unittest/expected_creole/test_creole_paragraphs.normsource +15 -15
  68. data/unittest/expected_creole/test_creole_paragraphs.normsource_1.8 +27 -0
  69. data/unittest/expected_creole/test_creole_tabular.creole +22 -0
  70. data/unittest/expected_creole/test_creole_tabular_creole.creole +19 -0
  71. data/unittest/expected_creole/test_creole_tabular_css.creole +24 -0
  72. data/unittest/expected_creole/test_creole_tabular_multicols.creole +16 -0
  73. data/unittest/expected_creole/test_creole_tabular_multicols.html +14 -0
  74. data/unittest/expected_creole/test_creole_tabular_multicols.latex +16 -0
  75. data/unittest/expected_creole/test_creole_tabular_with_cell_option.creole +21 -0
  76. data/unittest/expected_creole/test_creole_toc_level_text.html +2 -2
  77. data/unittest/expected_creole/test_creole_toc_level_text.latex +2 -2
  78. data/unittest/expected_packages/test_multicol_3.tex +2 -0
  79. data/unittest/expected_packages/test_multicol_3_titleline.tex +2 -0
  80. data/unittest/expected_templates/test_article.tex +23 -0
  81. data/unittest/expected_templates/test_article_utf8.tex +34 -0
  82. data/unittest/expected_templates/test_context.miv +18 -0
  83. data/unittest/expected_templates/test_creole.creole +8 -0
  84. data/unittest/expected_templates/test_html.html +12 -0
  85. data/unittest/expected_templates/test_html401_strict.html +14 -0
  86. data/unittest/expected_templates/test_html401_trans.html +14 -0
  87. data/unittest/expected_templates/test_html_utf8.html +14 -0
  88. data/unittest/expected_templates/test_include.tex +17 -0
  89. data/unittest/expected_templates/test_include_utf8.tex +17 -0
  90. data/unittest/expected_templates/test_text.txt +6 -0
  91. data/unittest/expected_templates/test_wiki.wiki +6 -0
  92. data/unittest/expected_templates/test_xhtml_strict.html +14 -0
  93. data/unittest/expected_templates/test_xhtml_trans.html +14 -0
  94. data/unittest/unittest_creole.rb +27 -6
  95. data/unittest/unittest_creole_placeholders.rb +1 -123
  96. data/unittest/unittest_creole_tabular.rb +174 -0
  97. data/unittest/unittest_docgenerator.rb +4 -3
  98. data/unittest/unittest_docgenerator_characters.rb +4769 -615
  99. data/unittest/unittest_packages_multicol.rb +84 -0
  100. data/unittest/unittest_rubycode4doc.rb +0 -1
  101. data/unittest/unittest_templates.rb +64 -0
  102. metadata +163 -77
  103. data/build_test_and_doc.rb +0 -505
  104. data/manpage_elements.rb +0 -10411
@@ -1,3 +1,4 @@
1
+ #encoding: utf-8
1
2
  =begin rdoc
2
3
  Support for the rail package.
3
4
 
@@ -8,7 +9,7 @@ Don't be confused with ruby on rails - there is no intersection of the two packa
8
9
  require 'creole/creole2doc'
9
10
 
10
11
  module Docgenerator
11
- module Creole
12
+ module Creole
12
13
  =begin rdoc
13
14
  Support for the rail package.
14
15
 
@@ -16,100 +17,99 @@ This is support for LaTeX-style rail.
16
17
 
17
18
  * http://www.ctan.org/tex-archive/support/rail/
18
19
  =end
19
- module Rail
20
+ module Rail
20
21
 
21
- #
22
- #A Wrapper for the Creole-placeholder for Rail-diagramms.
23
- #
24
- class Diagramm4Creole < Placeholder
25
- set_placeholder_key 'rail'
26
-
27
- def initialize( wiki, name = 'Raildiagramm')
28
- super
29
- @name = name
30
- raise ParameterError, "Missing id for rail-diagramm" unless @name
31
- raise ParameterError, "Id for rail-diagramm contains no-letter" unless @name =~ /\A\w+\Z/
32
- end
33
-
34
- #fixme
35
- #Check if the rail-diagramm is available as a picture.
36
- #~ @filename = "#{@key}.png"
37
- #~ if ! File.exist?( @filename )
38
- #~ @filename = nil
39
- #~ end
22
+ #
23
+ #A Wrapper for the Creole-placeholder for Rail-diagramms.
24
+ #
25
+ class Diagramm4Creole < Placeholder
26
+ set_placeholder_key 'rail'
40
27
 
28
+ def initialize( wiki, name = 'Raildiagramm')
29
+ super
30
+ @name = name
31
+ raise ParameterError, "Missing id for rail-diagramm" unless @name
32
+ raise ParameterError, "Id for rail-diagramm contains no-letter" unless @name =~ /\A\w+\Z/
33
+ end
34
+
35
+ #fixme
36
+ #Check if the rail-diagramm is available as a picture.
37
+ #~ @filename = "#{@key}.png"
38
+ #~ if ! File.exist?( @filename )
39
+ #~ @filename = nil
40
+ #~ end
41
41
 
42
42
  =begin rdoc
43
43
  Return content only for LaTeX
44
44
  =end
45
- def to_doc( target, options = {})
46
- #fixme: Einmalig beim initialisieren
47
- #fixme: Varianten erledigen
48
- #fixme: Bild falls verf�gbar
49
- #fixme: nur TeX (oder Bild)
50
- #fixme logs
51
- #~ case options[:elementtype]
52
- #~ when nil #ignore diagramm
53
- #~ when :minipage
54
- #~ return to_element_minipage()
55
- #~ when :figure
56
- #~ return to_element_figure()
57
- #~ when :figure_img
58
- #~ return to_element_figure_img()
59
- #~ when :latexonly
60
- #~ return element(:latexonly,{}, self.to_latex_rail ).cr
61
- #~ else
62
- #~ option[:log].error("Raildiagramm#to_element: Undefined type #{@@elementtype}") if option[:log].error?
63
- #~ end
64
-
65
- #fixme Bild?
66
- Rail_diagramm.new( @name, @source ).to_doc( target, options )
67
- end
68
- #Check for picture and return a :img-macro (Only html)
69
- def to_img()
70
- return element( :img, { :src => @filename }) if @filename
71
- end
72
- #~ def to_element_figure()
73
- #~ figure = element(:figure).cr
74
- #~ figure << self.to_s
75
- #~ figure << element(:caption,{}, "Rail-Diagramm #{@key}" ).Cr
76
- #~ return figure
77
- #~ end
78
- #~ def to_element_figure_img()
79
- #~ if @filename
80
- #~ figure = element(:figure, { :style => CSS.new(
81
- #~ :text_align => 'center',
82
- #~ :float => 'right'
83
- #~ )}).cr
84
- #~ figure << self.to_img
85
- #~ figure << element(:br).cr
86
- #~ figure << element(:caption,{}, "Rail-Diagramm #{@key}" ).Cr
87
- #~ else
88
- #~ figure = nil
89
- #~ end
90
- #~ return figure
91
- #~ end
92
- #~ #Requires caption.sty
93
- #~ # doc.head << element(:usepackage,{}, 'caption')
94
- #~ def to_element_minipage()
95
- #~ figure = element(:minipage, {:width => '\textwidth'} ).CR
96
- #~ figure << element(:centering)
97
- #~ figure << self.to_s
98
- #~ figure << element(:captionof,{ :float_type => 'figure' }, "Rail-Diagramm #{@key}" ).Cr
99
- #~ return figure
100
- #~ end
101
- end #Rail_diagramm4Creole
45
+ def to_doc( target, options = {})
46
+ #fixme: Einmalig beim initialisieren
47
+ #fixme: Varianten erledigen
48
+ #fixme: Bild falls verfügbar
49
+ #fixme: nur TeX (oder Bild)
50
+ #fixme logs
51
+ #~ case options[:elementtype]
52
+ #~ when nil #ignore diagramm
53
+ #~ when :minipage
54
+ #~ return to_element_minipage()
55
+ #~ when :figure
56
+ #~ return to_element_figure()
57
+ #~ when :figure_img
58
+ #~ return to_element_figure_img()
59
+ #~ when :latexonly
60
+ #~ return element(:latexonly,{}, self.to_latex_rail ).cr
61
+ #~ else
62
+ #~ option[:log].error("Raildiagramm#to_element: Undefined type #{@@elementtype}") if option[:log].error?
63
+ #~ end
64
+
65
+ #fixme Bild?
66
+ Rail_diagramm.new( @name, @source ).to_doc( target, options )
67
+ end
68
+ #Check for picture and return a :img-macro (Only html)
69
+ def to_img()
70
+ return element( :img, { :src => @filename }) if @filename
71
+ end
72
+ #~ def to_element_figure()
73
+ #~ figure = element(:figure).cr
74
+ #~ figure << self.to_s
75
+ #~ figure << element(:caption,{}, "Rail-Diagramm #{@key}" ).Cr
76
+ #~ return figure
77
+ #~ end
78
+ #~ def to_element_figure_img()
79
+ #~ if @filename
80
+ #~ figure = element(:figure, { :style => CSS.new(
81
+ #~ :text_align => 'center',
82
+ #~ :float => 'right'
83
+ #~ )}).cr
84
+ #~ figure << self.to_img
85
+ #~ figure << element(:br).cr
86
+ #~ figure << element(:caption,{}, "Rail-Diagramm #{@key}" ).Cr
87
+ #~ else
88
+ #~ figure = nil
89
+ #~ end
90
+ #~ return figure
91
+ #~ end
92
+ #~ #Requires caption.sty
93
+ #~ # doc.head << element(:usepackage,{}, 'caption')
94
+ #~ def to_element_minipage()
95
+ #~ figure = element(:minipage, {:width => '\textwidth'} ).CR
96
+ #~ figure << element(:centering)
97
+ #~ figure << self.to_s
98
+ #~ figure << element(:captionof,{ :float_type => 'figure' }, "Rail-Diagramm #{@key}" ).Cr
99
+ #~ return figure
100
+ #~ end
101
+ end #Rail_diagramm4Creole
102
102
 
103
- #
104
- #A Rail-diagramm
105
- #
106
- class Rail_diagramm
103
+ #
104
+ #A Rail-diagramm
105
+ #
106
+ class Rail_diagramm
107
107
 
108
- #Can be used in document header to load rail.sty
109
- TEX_PACKAGE_RAIL = element(:usepackage,{ }, 'rail').cr
110
- #Some command to be added in document header.
111
- #Allows the usage of some characters as terminals.
112
- RAIL_ALIAS = <<'RAIL_ALIAS'
108
+ #Can be used in document header to load rail.sty
109
+ TEX_PACKAGE_RAIL = element(:usepackage,{ }, 'rail').cr
110
+ #Some command to be added in document header.
111
+ #Allows the usage of some characters as terminals.
112
+ RAIL_ALIAS = <<'RAIL_ALIAS'
113
113
  \railalias{lbrace}{\{}
114
114
  \railalias{rbrace}{\}}
115
115
  \railalias{dollar}{\$}
@@ -131,29 +131,29 @@ class Rail_diagramm
131
131
  \railterm{lbrace,rbrace,dollar,percent,backslash,underscore,at,atat}
132
132
  \railterm{lt,le,gt,ge,caret,tildeeq}
133
133
  RAIL_ALIAS
134
- #~ \railalias{ampersand}{\&} -> umgesetht nachh << head>>
134
+ #~ \railalias{ampersand}{\&} -> umgesetht nachh << head>>
135
135
 
136
- #Create new Rail diagramm.
137
- #Parameter:
138
- #-key
139
- #-rail-definition
140
- def initialize( key, code = '' )
141
- @key = key
142
- @code = code
143
- end
144
- #Implement << for Wikicollector
145
- def << (code)
146
- @code << code
147
- end
136
+ #Create new Rail diagramm.
137
+ #Parameter:
138
+ #-key
139
+ #-rail-definition
140
+ def initialize( key, code = '' )
141
+ @key = key
142
+ @code = code
143
+ end
144
+ #Implement << for Wikicollector
145
+ def << (code)
146
+ @code << code
147
+ end
148
148
  =begin
149
149
  Return LaTeX-environment rail
150
150
  Requires rail.sty and rail.exe to generate the figure.
151
151
 
152
152
 
153
153
  =end
154
- def to_latex(options = {})
155
- @code = @code.join if @code.respond_to?(:join) #if Array is given
156
- return <<-RAIL
154
+ def to_latex(options = {})
155
+ @code = @code.join if @code.respond_to?(:join) #if Array is given
156
+ return <<-RAIL
157
157
  %
158
158
  % Define a rail-diagramm #{@key}
159
159
  %
@@ -163,20 +163,19 @@ Requires rail.sty and rail.exe to generate the figure.
163
163
  ;
164
164
  \\end{rail}
165
165
  RAIL
166
- end #to_latex
167
- def to_doc( target, options = {})
168
- case target
169
- when :latex
170
- self.to_latex( options )
171
- else
172
- o = set_option_defaults(options)
173
- #~ o[:log].debug("enter to_doc(#{target}) for #{self.inspect}, options: #{options.keys.inspect}") if o[:log].debug?
174
- o[:log].error("Rail-diagramm not supported for #{target}") if o[:log].error?
175
- ''
176
- end #case target
177
- end #to_doc
178
- end
179
-
180
- end #module Rail
181
- end #module Creole
166
+ end #to_latex
167
+ def to_doc( target, options = {})
168
+ case target
169
+ when :latex
170
+ self.to_latex( options )
171
+ else
172
+ o = set_option_defaults(options)
173
+ #~ o[:log].debug("enter to_doc(#{target}) for #{self.inspect}, options: #{options.keys.inspect}") if o[:log].debug?
174
+ o[:log].error("Rail-diagramm not supported for #{target}") if o[:log].error?
175
+ ''
176
+ end #case target
177
+ end #to_doc
178
+ end
179
+ end #module Rail
180
+ end #module Creole
182
181
  end #module Docgenerator
@@ -5,7 +5,7 @@ require 'creole/creole2doc'
5
5
  require 'docgenerator/packages/struktex.rb'
6
6
 
7
7
  module Docgenerator
8
- module Creole
8
+ module Creole
9
9
 
10
10
  =begin rdoc
11
11
  Define Creole placeholder.
@@ -20,40 +20,40 @@ The placeholder insertion must contain three parameters:
20
20
  <<<
21
21
  Details see Docgenerator::Structogramm
22
22
  =end
23
- class Creole_structogramm < Placeholder
24
- set_placeholder_key('structogramm')
25
-
26
- #~ fixme
27
- #~ parameters optional als placeholder,
28
- #~ hier aber ben�tigt.
29
- #~ Defaults??
23
+ class Creole_structogramm < Placeholder
24
+ set_placeholder_key('structogramm')
25
+
26
+ #~ fixme
27
+ #~ parameters optional als placeholder,
28
+ #~ hier aber benötigt.
29
+ #~ Defaults??
30
30
 
31
- def initialize( wiki, parameters = nil)
32
- super
33
- #~ @wiki = wiki
34
- #~ @log = @wiki.log
35
- par = parameters ? parameters.split(/;/) : []
36
- case par.size
37
- when 0
38
- raise ParameterError, "Creole_structogramm: Missing parameters"
39
- when 3
40
- title = par[0]
41
- x = par[1]
42
- y = par[2]
43
- @source = ''
44
- @structogramm = Packages::Struktex::Structogramm.new( title, x, y, @source )
45
- else
46
- raise ParameterError, "Creole_structogramm: Wrong number of parameters: #{parameters.inspect}"
47
- end
48
- end
49
- #Instance of class Structogramm.
50
- attr_reader :structogramm
51
-
52
- #Return content only for latex
53
- def to_doc( target, options = {})
54
- target == :latex ? @structogramm.to_doc( target, options ) : ''
55
- end
56
- end #Creole_latex
31
+ def initialize( wiki, parameters = nil)
32
+ super
33
+ #~ @wiki = wiki
34
+ #~ @log = @wiki.log
35
+ par = parameters ? parameters.split(/;/) : []
36
+ case par.size
37
+ when 0
38
+ raise ParameterError, "Creole_structogramm: Missing parameters"
39
+ when 3
40
+ title = par[0]
41
+ x = par[1]
42
+ y = par[2]
43
+ @source = ''
44
+ @structogramm = Packages::Struktex::Structogramm.new( title, x, y, @source )
45
+ else
46
+ raise ParameterError, "Creole_structogramm: Wrong number of parameters: #{parameters.inspect}"
47
+ end
48
+ end
49
+ #Instance of class Structogramm.
50
+ attr_reader :structogramm
51
+
52
+ #Return content only for latex
53
+ def to_doc( target, options = {})
54
+ target == :latex ? @structogramm.to_doc( target, options ) : ''
55
+ end
56
+ end #Creole_latex
57
57
 
58
- end #module Creole
58
+ end #module Creole
59
59
  end #module Docgenerator
@@ -10,6 +10,12 @@ Classes to provide support for the todonotes-package.
10
10
  =end
11
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
19
  =begin rdoc
14
20
  Define a plugin for the todonotes-package.
15
21
  =end
@@ -47,6 +53,7 @@ Usage:
47
53
  element(:todo, @options, @description).to_doc(target, options)
48
54
  end
49
55
  end #Creole_todo
56
+
50
57
  =begin rdoc
51
58
  A variant of Creole_todo with green color.
52
59
  =end
@@ -62,7 +69,7 @@ A variant of Creole_todo with inline-layout.
62
69
  class Creole_todo_inline < Creole_todo
63
70
  set_plugin_key('todo_inline') #use <<todo_inline|..>>
64
71
  #define default options for todonotes. may be redefined for children of this class.
65
- def default_options; {:layout => 'green'}; end
72
+ def default_options; {:inline => true}; end
66
73
  end
67
74
 
68
75
  end #module Todo