docgenerator 2.1.0 → 2.1.1

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 (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,4 +1,4 @@
1
1
 
2
2
 
3
- \includegraphics[width={\textwidth}]{Red_Flower.jpg}
3
+ \includegraphics[width={\textwidth},]{Red_Flower.jpg}
4
4
 
@@ -3,9 +3,9 @@
3
3
  before
4
4
 
5
5
  \begin{tabular}{ccc}
6
- 1
7
- & 2
8
- & 3
6
+ \textbf{1}
7
+ & \textbf{2}
8
+ & \textbf{3}
9
9
  \\
10
10
  eins
11
11
  & zwei
@@ -3,8 +3,8 @@
3
3
  Tables are done like this:
4
4
 
5
5
  \begin{tabular}{ll}
6
- header col1
7
- & header col2
6
+ \textbf{header col1}
7
+ & \textbf{header col2}
8
8
  \\
9
9
  col1
10
10
  & col2
@@ -3,9 +3,9 @@
3
3
  before
4
4
 
5
5
  \begin{tabular}{ccc}
6
- 1
7
- & 2
8
- & 3
6
+ \textbf{1}
7
+ & \textbf{2}
8
+ & \textbf{3}
9
9
  \\
10
10
  eins
11
11
  & zwei
@@ -0,0 +1,22 @@
1
+
2
+
3
+ before
4
+
5
+ \begin{tabular}{ccc}
6
+ Titel A
7
+ & Titel B
8
+ & Titel C
9
+ \\\toprule
10
+ eins
11
+ & zwei
12
+ & drei
13
+ \\\midrule
14
+ eins
15
+ & zwei
16
+ & drei
17
+ \\
18
+ \end{tabular}
19
+
20
+
21
+ after
22
+
@@ -0,0 +1,34 @@
1
+ <<prefix>>
2
+ \documentclass[ngerman]{standalone}
3
+ \usepackage{babel}
4
+ %Encoding-package depends on TeX-engine
5
+ \usepackage{ifpdf,ifxetex,ifluatex}
6
+ \ifxetex
7
+ \usepackage{fontspec} %Without, umlauts are missing
8
+ \fi
9
+ \ifluatex
10
+ \usepackage[utf8]{luainputenc} %Or in first line: % !Mode:: "TeX:UTF-8".
11
+ \else
12
+ \ifpdf\relax
13
+ \usepackage[utf8]{inputenc}
14
+ \fi
15
+ \fi
16
+ %\usepackage{hyperref}
17
+ % ----------------------------------------------------------------
18
+
19
+ \title{Test of Template standalone}
20
+ \hypersetup{pdftitle={Test of Template standalone}}
21
+
22
+ % ----------------------------------------------------------------
23
+ \begin{document}
24
+
25
+
26
+ Some text
27
+
28
+
29
+
30
+ Umlaute: öäü ÖÄÜ ß
31
+
32
+
33
+ \end{document}
34
+ % ----------------------------------------------------------------
@@ -1,7 +1,7 @@
1
1
 
2
2
 
3
3
  \bgroup
4
- \includegraphics[]{Red_Flower.jpg}
4
+ \includegraphics[,]{Red_Flower.jpg}
5
5
  \egroup
6
6
 
7
7
 
@@ -9,16 +9,16 @@
9
9
 
10
10
 
11
11
  \bgroup
12
- \includegraphics[]{Red_Flower.jpg}
12
+ \includegraphics[,]{Red_Flower.jpg}
13
13
  \egroup
14
14
 
15
15
  \bgroup
16
- vorher\includegraphics[]{Red_Flower.jpg}\newline
16
+ vorher\includegraphics[,]{Red_Flower.jpg}\newline
17
17
 
18
18
  \egroup
19
19
 
20
20
  \bgroup
21
- \includegraphics[]{Red_Flower.jpg}\newline
21
+ \includegraphics[,]{Red_Flower.jpg}\newline
22
22
  nachher
23
23
  \egroup
24
24
 
@@ -27,12 +27,12 @@ nachher
27
27
 
28
28
 
29
29
  \bgroup
30
- \href{http://ruby.lickert.net}{\includegraphics[]{Red_Flower.jpg}}
30
+ \href{http://ruby.lickert.net}{\includegraphics[,]{Red_Flower.jpg}}
31
31
 
32
32
  \egroup
33
33
 
34
34
  \bgroup
35
- \href{http://ruby.lickert.net}{\includegraphics[]{Red_Flower.jpg}}
35
+ \href{http://ruby.lickert.net}{\includegraphics[,]{Red_Flower.jpg}}
36
36
 
37
37
  \egroup
38
38
 
@@ -41,11 +41,11 @@ nachher
41
41
 
42
42
 
43
43
  \bgroup
44
- \includegraphics[]{Red_Flower.jpg}
44
+ \includegraphics[,]{Red_Flower.jpg}
45
45
  \egroup
46
46
 
47
47
  \bgroup
48
- \includegraphics[]{Red_Flower.jpg}
48
+ \includegraphics[,]{Red_Flower.jpg}
49
49
  \egroup
50
50
 
51
51
 
@@ -53,7 +53,7 @@ nachher
53
53
 
54
54
 
55
55
  \bgroup
56
- \includegraphics[width={123px}]{Red_Flower.jpg}
56
+ \includegraphics[width={123px},]{Red_Flower.jpg}
57
57
  \egroup
58
58
 
59
59
 
@@ -61,15 +61,15 @@ nachher
61
61
 
62
62
 
63
63
  \bgroup
64
- \includegraphics[]{Red_Flower.jpg}
64
+ \includegraphics[,]{Red_Flower.jpg}
65
65
  \egroup
66
66
 
67
67
  \bgroup
68
- \includegraphics[]{Red_Flower.jpg}
68
+ \includegraphics[,]{Red_Flower.jpg}
69
69
  \egroup
70
70
 
71
71
  \bgroup
72
- \includegraphics[]{Red_Flower.jpg}
72
+ \includegraphics[,]{Red_Flower.jpg}
73
73
  \egroup
74
74
 
75
75
 
@@ -3,7 +3,8 @@ if $0 == __FILE__
3
3
  $:.unshift("../lib")
4
4
  end
5
5
 
6
- gem 'test-unit'
6
+ gem 'more_unit_test' #Wichtig das unit test-version correct verwendet wird
7
+ #~ gem 'test-unit', '~> 2'
7
8
  require 'test/unit'
8
9
  require 'more_unit_test/assert_equal_filecontent.rb'
9
10
 
@@ -126,6 +127,7 @@ creole
126
127
  return unless $0 == __FILE__
127
128
 
128
129
  creole1 = Docgenerator::Creole::Creole.new( :name => 'input_file_rb/DATA', :content => DATA )
130
+
129
131
  creole2 = nil
130
132
  File.open($thisfile){|filehandle|
131
133
  #~ $log.warn('Test Filehandle auf ruby nicht m�glich (Test $0 == input.path)')
@@ -134,7 +136,8 @@ creole
134
136
  creole2 = Docgenerator::Creole::Creole.new( :name => 'input_file_rb', :content => filehandle, :log => $tmplog )
135
137
  $0 = $thisfile
136
138
  }
137
- assert_equal( creole1.source, creole2.source)
139
+ #normalize line ends
140
+ assert_equal( creole1.source.map{|entry|entry.gsub( /\r\n?/, "\n")}, creole2.source)
138
141
  end
139
142
  def test_creole_input_file_simple
140
143
  assert_true(File.exist?('creole_testtext.creole'))
@@ -590,6 +593,23 @@ creole
590
593
  #~ assert_equal_filecontent( "expected_creole/test_creole_list_ol_after_ul.text", creole.to_doc(:text, @opt))
591
594
  end
592
595
 
596
+ def test_creole_list_ulul_without_ul()
597
+ creole = Docgenerator::Creole::Creole.new(:content => <<creole
598
+ Text before
599
+ **Listentry 1
600
+ Text afterwords
601
+ creole
602
+ )
603
+ @opt[:log] = $tmplog #Suppress error message
604
+ assert_equal_filecontent( "expected_creole/#{__method__}.html", creole.to_doc(:html, @opt))
605
+ assert_equal_filecontent( "expected_creole/#{__method__}.latex", creole.to_doc(:latex, @opt))
606
+ $log.warn("#{__method__}: to_context")
607
+ #~ assert_equal_filecontent( "expected_creole/#{__method__}.context", creole.to_doc(:context))
608
+ $log.warn("#{__method__}: list to wiki/creole")
609
+ #~ assert_equal_filecontent( "expected_creole/#{__method__}.creole", creole.to_doc(:creole, @opt))
610
+ #~ assert_equal_filecontent( "expected_creole/#{__method__}.text", creole.to_doc(:text, @opt))
611
+ end
612
+
593
613
  #Line breaks will be lost.
594
614
  def test_creole_ul_multiple_line()
595
615
  $log.warn('test_creole_ul_multiple_line: latex: grosse textl�cken (wrap mit leerzeichen bereinigen?)')
@@ -1104,7 +1124,6 @@ class Test_creole_characters < Test::Unit::TestCase
1104
1124
  #~ :content => Creole::CHARACTERS.keys.sort.map{|char| "*#{char}" }.join("\n")
1105
1125
  :content => Docgenerator::Creole::Creole::CHARACTERS.sort.map{|char, o| "* #{o.class}: #{char}"}.join("\n")
1106
1126
  )
1107
- self.readoption = 'r:cp1252'
1108
1127
  assert_equal_filecontent( "expected_creole/test_creole_characters_all.html", creole.to_doc(:html, @opt))
1109
1128
 
1110
1129
  $log.warn('test_creole_characters_all: to_latex Dollar Missing escape mechanism')
@@ -147,7 +147,40 @@ creole
147
147
  $log.warn('test_creole_tabular_css: to text')
148
148
  #~ assert_equal_filecontent( "expected_creole/test_creole_tabular_css.text", creole.to_doc(:text))
149
149
  end #test_creole_tabular_css
150
-
150
+
151
+ def test_creole_tabular_row_parameters()
152
+ creole = Docgenerator::Creole::Creole.new(:content => <<creole
153
+ before
154
+ <<<tabular
155
+ |!columns=3
156
+ |!columndescription=ccc
157
+ |Titel A
158
+ |Titel B
159
+ |Titel C
160
+ |-|toprule
161
+ |eins
162
+ |zwei
163
+ |drei
164
+ |-|midrule
165
+ |eins
166
+ |zwei
167
+ |drei
168
+ >>>
169
+ after
170
+ creole
171
+ )
172
+ $log.warn("#{__method__}: to_html")
173
+ #~ assert_equal_filecontent( "expected_creole/#{__method__}.html", creole.to_doc(:html, OPT))
174
+ assert_equal_filecontent( "expected_creole/#{__method__}.latex", creole.to_doc(:latex, OPT))
175
+ $log.warn("#{__method__}: to_context")
176
+ #~ assert_equal_filecontent( "expected_creole/#{__method__}.context", creole.to_doc(:context))
177
+ $log.warn("#{__method__}: to_creole")
178
+ #~ assert_equal_filecontent( "expected_creole/#{__method__}.creole", creole.to_doc(:creole))
179
+ $log.warn("#{__method__}: to text")
180
+ #~ assert_equal_filecontent( "expected_creole/#{__method__}.text", creole.to_doc(:text))
181
+ end #test_creole_tabular_row_parameters
182
+
183
+
151
184
  def test_creole_tabular_multicols()
152
185
  creole = Docgenerator::Creole::Creole.new(:content => <<creole
153
186
  before
@@ -1,8 +1,11 @@
1
1
  # encoding: utf-8
2
+ gem 'more_unit_test'
2
3
  gem 'test-unit'
3
- require 'test/unit'
4
+
4
5
  #~ $:.unshift('C:/usr/Script/more_unit_test/lib')
5
6
  require 'more_unit_test/assert_equal_filecontent.rb'
7
+ require 'test/unit'
8
+
6
9
 
7
10
  if $0 == __FILE__
8
11
  $:.unshift("../lib")
@@ -149,6 +152,45 @@ class Test_elements < Test::Unit::TestCase
149
152
  #~ assert_equal_filecontent( "expected/test_href.wiki", text.to_doc(:wiki,@opt))
150
153
  assert_equal_filecontent( "expected/test_href.text", text.to_doc(:text, @opt)) #not good
151
154
  end
155
+
156
+ def test_comment()
157
+ text = [
158
+ element(:p, {}, [ 'Now some text ',
159
+ element(:comment, {}, 'comment'),
160
+ 'interrupted by a comment',
161
+ ] ).cr
162
+ ]
163
+ assert_equal_filecontent( "expected/#{__method__}.html", text.to_doc(:html, @opt))
164
+ assert_equal_filecontent( "expected/#{__method__}.latex", text.to_doc(:latex, @opt))
165
+ $log.warn("#{__method__}: to_context")
166
+ #~ assert_equal_filecontent( "expected/#{__method__}.context", text.to_doc(:context, @opt))
167
+ $log.warn("#{__method__}: to_creole")
168
+ #~ assert_equal_filecontent( "expected/#{__method__}.creole", text.to_doc(:creole, @opt))
169
+ #~ assert_equal_filecontent( "expected/#{__method__}.wiki", text.to_doc(:wiki,@opt))
170
+ $log.warn("#{__method__}: to_text")
171
+ #~ assert_equal_filecontent( "expected/#{__method__}.text", text.to_doc(:text, @opt)) #not good
172
+ end
173
+
174
+ def test_comment_complex()
175
+ ul = element(:ul,{},[element(:item,{},'1'), element(:item,{},'2').cr])
176
+ text = [
177
+ ul,
178
+ element(:p, {}, [ 'Now some text ',
179
+ element(:comment, {}, ul),
180
+ 'interrupted by a comment',
181
+ ] ).cr
182
+ ]
183
+ assert_equal_filecontent( "expected/#{__method__}.html", text.to_doc(:html, @opt))
184
+ assert_equal_filecontent( "expected/#{__method__}.latex", text.to_doc(:latex, @opt))
185
+ $log.warn("#{__method__}: to_context")
186
+ #~ assert_equal_filecontent( "expected/#{__method__}.context", text.to_doc(:context, @opt))
187
+ $log.warn("#{__method__}: to_creole")
188
+ #~ assert_equal_filecontent( "expected/#{__method__}.creole", text.to_doc(:creole, @opt))
189
+ #~ assert_equal_filecontent( "expected/#{__method__}.wiki", text.to_doc(:wiki,@opt))
190
+ $log.warn("#{__method__}: to_text")
191
+ #~ assert_equal_filecontent( "expected/#{__method__}.text", text.to_doc(:text, @opt)) #not good
192
+ end
193
+
152
194
  end #Test_elements
153
195
 
154
196
  class Test_lists < Test::Unit::TestCase
@@ -315,8 +357,9 @@ class Test_tabular < Test::Unit::TestCase
315
357
  #~ assert_equal_filecontent( "expected/test_tabular_doc.html", text.to_doc(:html, @opt))
316
358
 
317
359
  #The row ends in tabulars are \\.
318
- #When used in documents, \\ is converted into \.
319
- #So there is a special rule to double the \\ when used in combination with a filename.
360
+ #When used in documents, \\ was converted into \.
361
+ #So there was a special rule to double the \\ when used in combination with a filename.
362
+ #2012-06-07: Regexp in documen.rb was replaced with block version.
320
363
  assert_equal_filecontent( "expected/test_tabular_doc.latex", doc.to_doc(:latex,
321
364
  { :log => doc.log, :template=> DocumentTemplate[:article], :filename => 'test'}
322
365
  ) )