docgenerator 1.2.1 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/build_test_and_doc.rb +505 -0
- data/examples/creole_example.rb +82 -0
- data/examples/creole_example_footnote.rb +67 -0
- data/examples/creole_example_placeholder.rb +77 -0
- data/examples/creole_example_rail.rb +154 -0
- data/examples/creole_example_rubycode.rb +144 -0
- data/examples/creole_example_struktex.rb +169 -0
- data/examples/docgenerator_example.rb +1 -1
- data/examples/docgenerator_example_footnote.rb +1 -0
- data/examples/docgenerator_example_list.rb +3 -0
- data/examples/docgenerator_example_restrictions.rb +1 -1
- data/examples/docgenerator_example_tabular.rb +1 -1
- data/examples/docgenerator_example_tripfalls.rb +2 -2
- data/examples/results/readme +2 -1
- data/examples/wiki2docgenerator_example.rb +61 -32
- data/lib/creole/creole2doc.rb +57 -58
- data/lib/creole/creole_characters.rb +56 -0
- data/lib/creole/creole_inclusion_and_plugins.rb +59 -284
- data/lib/creole/creole_inclusions.rb +142 -0
- data/lib/creole/creole_placeholder.rb +57 -23
- data/lib/creole/creole_plugins.rb +198 -0
- data/lib/creole/creole_tabular.rb +16 -8
- data/lib/creole/plugins/rail.rb +182 -0
- data/lib/creole/plugins/rubycode4creole.rb +136 -0
- data/lib/creole/plugins/struktex.rb +59 -0
- data/lib/creole/plugins/todonotes.rb +70 -0
- data/lib/docgenerator.rb +161 -71
- data/lib/docgenerator/attribute.rb +189 -156
- data/lib/docgenerator/characters.rb +824 -267
- data/lib/docgenerator/compatibility_v1.rb +249 -0
- data/lib/docgenerator/css.rb +53 -32
- data/lib/docgenerator/document.rb +119 -56
- data/lib/docgenerator/element.rb +304 -351
- data/lib/docgenerator/element_meta.rb +303 -0
- data/lib/docgenerator/elements.rb +1112 -481
- data/lib/docgenerator/environments.rb +153 -62
- data/lib/docgenerator/footnote.rb +30 -9
- data/lib/docgenerator/lists.rb +71 -47
- data/lib/docgenerator/packages/attachfile.rb +136 -0
- data/lib/{packages/docgenerator_caption.rb → docgenerator/packages/caption.rb} +28 -19
- data/lib/docgenerator/packages/hyperref.rb +194 -0
- data/lib/docgenerator/packages/listings.rb +179 -0
- data/lib/docgenerator/packages/pdfpages.rb +43 -0
- data/lib/docgenerator/packages/rubycode4doc.rb +227 -0
- data/lib/{packages/docgenerator_scrlettr2.rb → docgenerator/packages/scrlettr2.rb} +25 -16
- data/lib/docgenerator/packages/scrpage2.rb +410 -0
- data/lib/docgenerator/packages/struktex.rb +447 -0
- data/lib/docgenerator/packages/todonotes.rb +85 -0
- data/lib/{packages/docgenerator_url.rb → docgenerator/packages/url.rb} +7 -6
- data/lib/docgenerator/sections.rb +257 -83
- data/lib/docgenerator/standard.rb +19 -11
- data/lib/docgenerator/tabular.rb +234 -118
- data/lib/{templates → docgenerator/templates}/docgenerator_template.rb +52 -44
- data/lib/{templates → docgenerator/templates}/docgenerator_template.yaml +0 -0
- data/lib/{templates → docgenerator/templates}/docgenerator_template_css.rb +22 -16
- data/lib/wiki2doc/plugins/rubycode4wiki.rb +53 -0
- data/lib/wiki2doc/plugins/struktex.rb +12 -0
- data/lib/wiki2doc/wiki2docgenerator.rb +39 -38
- data/lib/wiki2doc/wikimedia_document.rb +24 -0
- data/manpage_elements.rb +10411 -0
- data/readme.rd +34 -24
- data/unittest/creole_testtext.creole +11 -0
- data/unittest/expected/test_document_usepackage_undefined.log +2 -2
- data/unittest/expected/test_runtex.stdout +0 -1
- data/unittest/expected/test_runtex_2.stdout +0 -1
- data/unittest/expected/toc_css.css +3 -2
- data/unittest/expected_creole/test_creole_characters_all.creole +28 -0
- data/unittest/expected_creole/test_creole_characters_all.html +15 -15
- data/unittest/expected_creole/test_creole_characters_all.latex +15 -15
- data/unittest/expected_creole/test_creole_footnotes_groupid.html +15 -0
- data/unittest/expected_creole/test_creole_links_file.html +2 -2
- data/unittest/expected_creole/test_creole_links_file.latex +2 -2
- data/unittest/expected_creole/test_creole_links_file.text +2 -2
- data/unittest/expected_creole/test_creole_picture_link.html +1 -1
- data/unittest/expected_creole_rail/test_rail_creole_object.tex +33 -0
- data/unittest/expected_creole_rail/test_rail_creole_placeholder.tex +40 -0
- data/unittest/expected_rubycode4doc/creole_complete.html +26 -0
- data/unittest/expected_rubycode4doc/creole_complete.tex +40 -0
- data/unittest/expected_rubycode4doc/creole_in_tab.html +4 -0
- data/unittest/expected_rubycode4doc/creole_in_tab.tex +6 -0
- data/unittest/expected_rubycode4doc/creole_inline_ruby.html +7 -0
- data/unittest/expected_rubycode4doc/creole_output.html +2 -0
- data/unittest/expected_rubycode4doc/creole_output.tex +4 -0
- data/unittest/expected_rubycode4doc/creole_rubycode.html +1 -0
- data/unittest/expected_rubycode4doc/creole_rubycode.tex +3 -0
- data/unittest/expected_rubycode4doc/creole_rubycode_evaluated.html +1 -0
- data/unittest/expected_rubycode4doc/creole_rubycode_evaluated.tex +3 -0
- data/unittest/expected_rubycode4doc/creole_rubycode_evaluated_listings.html +3 -0
- data/unittest/expected_rubycode4doc/creole_rubycode_evaluated_listings.tex +5 -0
- data/unittest/expected_rubycode4doc/wiki_1.html +8 -0
- data/unittest/expected_rubycode4doc/wiki_2.html +8 -0
- data/unittest/expected_rubycode4doc/wiki_3.html +9 -0
- data/unittest/expected_rubycode4doc/wiki_immediate_1.html +5 -0
- data/unittest/expected_rubycode4doc/wiki_immediate_2.html +5 -0
- data/unittest/expected_rubycode4doc/wiki_immediate_3.html +8 -0
- data/unittest/expected_rubycode4doc/wiki_immediate_full.html +21 -0
- data/unittest/expected_struktex/test_struktex_krug.creole +15 -0
- data/unittest/expected_struktex/test_struktex_krug.tex +19 -0
- data/unittest/expected_struktex/test_struktex_krug.wiki +15 -0
- data/unittest/expected_struktex/test_struktex_statement.creole +7 -0
- data/unittest/expected_struktex/test_struktex_statement.tex +9 -0
- data/unittest/expected_struktex/test_struktex_statement.wiki +7 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki.html +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki.latex +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki.text +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki.wiki +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_description.html +1 -1
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_description.latex +1 -1
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_description.text +1 -1
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_description.wiki +1 -1
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_footnote.html +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_footnote.latex +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_footnote.text +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_footnote.wiki +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_footnote_2.html +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_footnote_groupid.html +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_html_code.html +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_html_code.latex +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_html_code.text +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_html_code.wiki +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_inline.html +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_inline.latex +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_inline.text +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_inline.wiki +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_label.html +0 -0
- data/unittest/expected_wikimedia/test_wiki_link.html +8 -0
- data/unittest/expected_wikimedia/test_wiki_link.latex +17 -0
- data/unittest/expected_wikimedia/test_wiki_link.wiki +11 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol.html +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol.latex +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol.text +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol.wiki +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol_after_ul.html +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol_after_ul.latex +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol_after_ul.text +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol_after_ul.wiki +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol_ul.html +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol_ul.latex +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol_ul.text +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol_ul.wiki +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ul.html +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ul.latex +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ul.text +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ul.wiki +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ul_too_much.html +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ul_too_much.latex +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ul_too_much.text +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ul_too_much.wiki +0 -0
- data/unittest/expected_wikimedia/test_wiki_picture.html +55 -0
- data/unittest/expected_wikimedia/test_wiki_picture.latex +76 -0
- data/unittest/expected_wikimedia/test_wiki_picture_thumb.html +5 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_tab1.html +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_tab1.latex +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_tab1.wiki +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_textformatting.html +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_textformatting.latex +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_textformatting.text +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_textformatting.wiki +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_toc.html +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_toc.latex +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_toc.text +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_toc.wiki +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_ul_multiple_line.html +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_ul_multiple_line.latex +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_ul_multiple_line.text +0 -0
- data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_ul_multiple_line.wiki +0 -0
- data/unittest/{unittest_creole2doc.rb → unittest_creole.rb} +385 -476
- data/unittest/unittest_creole_placeholders.rb +272 -0
- data/unittest/unittest_creole_plugin_rail.rb +147 -0
- data/unittest/unittest_docgenerator.rb +206 -332
- data/unittest/unittest_docgenerator_characters.rb +650 -0
- data/unittest/unittest_docgenerator_runtex.rb +48 -20
- data/unittest/unittest_packages_struktex.rb +187 -0
- data/unittest/unittest_rubycode4doc.rb +275 -0
- data/unittest/unittest_wikimedia.rb +479 -0
- metadata +245 -172
- data/examples/results_expected/docgenerator_example.html +0 -39
- data/examples/results_expected/docgenerator_example.pdf +0 -0
- data/examples/results_expected/docgenerator_example.tex +0 -56
- data/examples/results_expected/docgenerator_example_footnote.html +0 -40
- data/examples/results_expected/docgenerator_example_footnote.pdf +0 -0
- data/examples/results_expected/docgenerator_example_footnote.tex +0 -50
- data/examples/results_expected/docgenerator_example_list.html +0 -18
- data/examples/results_expected/docgenerator_example_list.pdf +0 -0
- data/examples/results_expected/docgenerator_example_list.tex +0 -46
- data/examples/results_expected/docgenerator_example_restrictions.html +0 -22
- data/examples/results_expected/docgenerator_example_restrictions.pdf +0 -0
- data/examples/results_expected/docgenerator_example_restrictions.tex +0 -31
- data/examples/results_expected/docgenerator_example_tabular.html +0 -37
- data/examples/results_expected/docgenerator_example_tabular.pdf +0 -0
- data/examples/results_expected/docgenerator_example_tabular.tex +0 -41
- data/examples/results_expected/docgenerator_example_tripfalls.html +0 -27
- data/examples/results_expected/docgenerator_example_tripfalls.pdf +0 -0
- data/examples/results_expected/docgenerator_example_tripfalls.tex +0 -31
- data/lib/packages/docgenerator_attachfile.rb +0 -71
- data/lib/packages/docgenerator_hyperref.rb +0 -109
- data/lib/packages/docgenerator_listings.rb +0 -103
- data/lib/packages/docgenerator_pdfpages.rb +0 -24
- data/lib/packages/docgenerator_scrpage2.rb +0 -172
- data/self_docgenerator.rb +0 -163
- data/unittest/expected_wiki/test_wiki_link.html +0 -8
- data/unittest/expected_wiki/test_wiki_link.latex +0 -17
- data/unittest/expected_wiki/test_wiki_link.wiki +0 -11
- data/unittest/expected_wiki/test_wiki_picture.html +0 -55
- data/unittest/expected_wiki/test_wiki_picture.latex +0 -76
- data/unittest/expected_wiki/test_wiki_picture_thumb.html +0 -5
- data/unittest/test_rakefile_docgenerator.rb +0 -43
- data/unittest/unittest_versions.rb +0 -44
- data/unittest/unittest_wiki2doc.rb +0 -464
@@ -0,0 +1,82 @@
|
|
1
|
+
#encoding: cp1252
|
2
|
+
=begin rdoc
|
3
|
+
Example for creole/creole2doc
|
4
|
+
=end
|
5
|
+
|
6
|
+
|
7
|
+
require 'rubygems'
|
8
|
+
$:.unshift("../lib") #for local tests with uninstalled gem
|
9
|
+
#~ require 'docgenerator'
|
10
|
+
require 'creole/creole2doc'
|
11
|
+
include Docgenerator
|
12
|
+
|
13
|
+
begin
|
14
|
+
require 'rake4latex_pdflatex'
|
15
|
+
rescue LoadError
|
16
|
+
puts "rake4latex not installed -> no translation of LaTeX-file"
|
17
|
+
end
|
18
|
+
|
19
|
+
#
|
20
|
+
# Move all results to anothe folder
|
21
|
+
#
|
22
|
+
Dir.chdir('results')
|
23
|
+
|
24
|
+
|
25
|
+
=begin
|
26
|
+
Create document
|
27
|
+
=end
|
28
|
+
doc = Document.new(
|
29
|
+
:title => 'creole2doc_example.rb: Test for creole'
|
30
|
+
)
|
31
|
+
|
32
|
+
=begin
|
33
|
+
Add creole-content.
|
34
|
+
=end
|
35
|
+
doc.body << Creole::Creole.new(:content => DATA)
|
36
|
+
|
37
|
+
# ###############################
|
38
|
+
# Save the files
|
39
|
+
# ###############
|
40
|
+
doc.save( __FILE__.sub(/\.rb/, ".html"))
|
41
|
+
doc.save( __FILE__.sub(/\.rb/, ".tex"),
|
42
|
+
:runtex => [:statistic, :clean]
|
43
|
+
)
|
44
|
+
|
45
|
+
|
46
|
+
__END__
|
47
|
+
=creole/creole2doc.rb
|
48
|
+
The Creole-class allows to analyse a text in creole format and
|
49
|
+
transform it to a "docgenerator"-object.
|
50
|
+
|
51
|
+
=Heading and paragraphs
|
52
|
+
==Paragraphs
|
53
|
+
|
54
|
+
Some text.
|
55
|
+
|
56
|
+
Some more text in a new paragraph.
|
57
|
+
|
58
|
+
==Text formatting
|
59
|
+
|
60
|
+
//italic// and **bold** is possible.
|
61
|
+
|
62
|
+
|
63
|
+
=Lists
|
64
|
+
==Unnumbered list
|
65
|
+
* item
|
66
|
+
* item
|
67
|
+
** subitem
|
68
|
+
*** subsubitem
|
69
|
+
**** subsubsubitem
|
70
|
+
*** subsubitem
|
71
|
+
|
72
|
+
==Numbered lists
|
73
|
+
# liste 1
|
74
|
+
# liste 2
|
75
|
+
## liste 2-1
|
76
|
+
# liste 3
|
77
|
+
|
78
|
+
===Mixed Lists
|
79
|
+
# Liste num
|
80
|
+
#* liste num-*
|
81
|
+
## liste num-num
|
82
|
+
|
@@ -0,0 +1,67 @@
|
|
1
|
+
#encoding: cp1252
|
2
|
+
=begin rdoc
|
3
|
+
Example how to use footnotes with creole/creole2doc.
|
4
|
+
=end
|
5
|
+
|
6
|
+
$:.unshift( '../lib' )
|
7
|
+
|
8
|
+
require 'creole/creole2doc.rb'
|
9
|
+
include Docgenerator
|
10
|
+
begin
|
11
|
+
require 'rake4latex_pdflatex'
|
12
|
+
rescue LoadError
|
13
|
+
puts "rake4latex not installed -> no translation of LaTeX-file"
|
14
|
+
end
|
15
|
+
#
|
16
|
+
# Move all results to another folder
|
17
|
+
#
|
18
|
+
Dir.chdir('results')
|
19
|
+
|
20
|
+
#Build document with usepackage{listings}...
|
21
|
+
doc = Docgenerator::Document.new( :title => 'Creole with footnotes' )
|
22
|
+
doc.body << Docgenerator::Creole::Creole.new(:content => DATA )
|
23
|
+
|
24
|
+
# ###############################
|
25
|
+
# Save the files
|
26
|
+
# ###############
|
27
|
+
doc.save( __FILE__.sub(/\.rb/, ".html"))
|
28
|
+
|
29
|
+
#~ doc.save( __FILE__.sub(/\.rb/, ".tex"),
|
30
|
+
#~ :runtex => [:statistic, :clean]
|
31
|
+
#~ )
|
32
|
+
|
33
|
+
__END__
|
34
|
+
=Basic footnotes
|
35
|
+
Add a footnote is easy<<footnote|This is a footnote>>,
|
36
|
+
just use the plugin-technique of creole<<footnote|see http://www.wikicreole.org/wiki/Plugin>>.
|
37
|
+
|
38
|
+
|
39
|
+
For HTML you may define your own label<<footnote|as you can see here|label=s>>
|
40
|
+
|
41
|
+
Footnote must be in one line.
|
42
|
+
|
43
|
+
==Writing the footnotes
|
44
|
+
Writing footnotes makes only sense in HTML.
|
45
|
+
LaTeX has it own footnote output routine.
|
46
|
+
|
47
|
+
And now the footnotes:
|
48
|
+
<<footnotes>>
|
49
|
+
|
50
|
+
|
51
|
+
|
52
|
+
=Footnote groups
|
53
|
+
You may define footnote groups<<footnote|just add a groupid|groupid=g1>>.
|
54
|
+
|
55
|
+
|
56
|
+
//Inside italics you may define another group<<footnote|as here|groupid=g2>>.//
|
57
|
+
|
58
|
+
Grouping is only supported for HTML<<footnote|in fact, you may use it with LaTeX, but there is no support of manyfoot, bigfoot or similar package.|groupid=g1>>.
|
59
|
+
|
60
|
+
|
61
|
+
==Writing the footnotes
|
62
|
+
|
63
|
+
===Footnotes for group1:
|
64
|
+
<<footnotes|g1>>
|
65
|
+
|
66
|
+
===Footnotes for group2:
|
67
|
+
<<footnotes|g2>>
|
@@ -0,0 +1,77 @@
|
|
1
|
+
#encoding: cp1252
|
2
|
+
=begin rdoc
|
3
|
+
Example how to use HTML with creole/creole2doc.
|
4
|
+
=end
|
5
|
+
|
6
|
+
$:.unshift( '../lib' )
|
7
|
+
|
8
|
+
require 'creole/creole2doc.rb'
|
9
|
+
begin
|
10
|
+
require 'rake4latex_pdflatex'
|
11
|
+
rescue LoadError
|
12
|
+
puts "rake4latex not installed -> no translation of LaTeX-file"
|
13
|
+
end
|
14
|
+
#
|
15
|
+
# Move all results to another folder
|
16
|
+
#
|
17
|
+
Dir.chdir('results')
|
18
|
+
|
19
|
+
#Build document with usepackage{listings}...
|
20
|
+
doc = Docgenerator::Document.new( :title => 'Creole with raw data' )
|
21
|
+
doc.body << Docgenerator::Creole::Creole.new(:content => DATA )
|
22
|
+
|
23
|
+
# ###############################
|
24
|
+
# Save the files
|
25
|
+
# ###############
|
26
|
+
doc.save( __FILE__.sub(/\.rb/, ".html"))
|
27
|
+
doc.save( __FILE__.sub(/\.rb/, ".tex"),
|
28
|
+
:runtex => [:statistic, :clean]
|
29
|
+
)
|
30
|
+
|
31
|
+
__END__
|
32
|
+
=Raw HTML
|
33
|
+
|
34
|
+
HTML can be added via placeholders.
|
35
|
+
In LaTeX it will be ignored.
|
36
|
+
|
37
|
+
<<<html
|
38
|
+
<p style = 'color: red'>red paragraph</p>
|
39
|
+
>>>
|
40
|
+
|
41
|
+
=Raw LaTeX
|
42
|
+
|
43
|
+
LaTeX-Code can be added via placeholders.
|
44
|
+
In HTML it will be ignored.
|
45
|
+
|
46
|
+
So you can add math.
|
47
|
+
|
48
|
+
<<<latex
|
49
|
+
$$\sum_{i=1}^5 = 15$$
|
50
|
+
>>>
|
51
|
+
|
52
|
+
=Raw text
|
53
|
+
|
54
|
+
{{{
|
55
|
+
Some raw text.
|
56
|
+
|
57
|
+
The text formatting is unchanged
|
58
|
+
}}}
|
59
|
+
|
60
|
+
=Add some ruby
|
61
|
+
You can eval ruby code in your creole-text.
|
62
|
+
|
63
|
+
The following Rubycode is executed (eval), the result is added as raw text.
|
64
|
+
1 + 1 = <<ruby_raw|1+1>>
|
65
|
+
|
66
|
+
The following Rubycode is executed (eval), the result is added as wiki text.
|
67
|
+
1 + 1 = <<ruby_raw|1+1>>
|
68
|
+
|
69
|
+
==Countdown
|
70
|
+
Countdown: <<ruby_raw|(1..10).to_a.reverse.join("-")>>
|
71
|
+
|
72
|
+
Countdown: <<ruby|(1..10).to_a.reverse.join("-")>>
|
73
|
+
|
74
|
+
Countdown as raw data: <<ruby_raw|(1..10).to_a.reverse.map{|i| "*%i" % i}.join("\n")>>
|
75
|
+
|
76
|
+
Countdown as wiki data: <<ruby|(1..10).to_a.reverse.map{|i| "*%i" % i}.join("\n")>>
|
77
|
+
|
@@ -0,0 +1,154 @@
|
|
1
|
+
=begin rdoc
|
2
|
+
Example how to create rail-diagramms (syntax diagrams specified in EBNF)
|
3
|
+
with creole2doc.
|
4
|
+
|
5
|
+
This examples needs _rail_:
|
6
|
+
* http://texcatalogue.sarovar.org/entries/rail.html
|
7
|
+
* http://www.dante.ctan.org/tex-archive/support/rail/
|
8
|
+
* http://tex.lickert.net/tipps/rail/index.html
|
9
|
+
|
10
|
+
=end
|
11
|
+
$:.unshift '../lib'
|
12
|
+
require 'creole/plugins/rail.rb'
|
13
|
+
include Docgenerator
|
14
|
+
|
15
|
+
begin
|
16
|
+
require 'rake4latex_pdflatex'
|
17
|
+
rescue LoadError
|
18
|
+
puts "rake4latex not installed -> no translation of LaTeX-file"
|
19
|
+
end
|
20
|
+
#
|
21
|
+
# Move all results to another folder
|
22
|
+
#7
|
23
|
+
Dir.chdir('results')
|
24
|
+
|
25
|
+
doc = Creole::Creole_document.new(
|
26
|
+
:title => 'Rail-Diagramms in Creole'
|
27
|
+
)
|
28
|
+
doc.doc.head << Creole::Rail::Rail_diagramm::TEX_PACKAGE_RAIL
|
29
|
+
doc.doc.head << element(:latexonly,{}, [
|
30
|
+
Creole::Rail::Rail_diagramm::RAIL_ALIAS,
|
31
|
+
'\railterm{lowcharacter,uppercharacter}',
|
32
|
+
])
|
33
|
+
|
34
|
+
doc << DATA
|
35
|
+
|
36
|
+
# ###############################
|
37
|
+
# Save the files
|
38
|
+
# ###############
|
39
|
+
#~ doc.save( __FILE__.sub(/\.rb/, ".html")) --> makes no sense
|
40
|
+
doc.save( __FILE__.sub(/\.rb/, ".tex"),
|
41
|
+
:runtex => [:statistic, :clean]
|
42
|
+
#~ :runtex => [:statistic] #keep log...
|
43
|
+
)
|
44
|
+
|
45
|
+
__END__
|
46
|
+
=Rail-Diagramms
|
47
|
+
|
48
|
+
Rail-diagramms are specifiv Syntax-diagramms.
|
49
|
+
|
50
|
+
[[http://en.wikipedia.org/wiki/Syntax_diagram|Syntax diagramms at Wikipedia]]
|
51
|
+
|
52
|
+
They represent a graphical alternative to Backus-Naur Form or EBNF.
|
53
|
+
|
54
|
+
More about the rail-programm at:
|
55
|
+
* http://texcatalogue.sarovar.org/entries/rail.html
|
56
|
+
* http://www.dante.ctan.org/tex-archive/support/rail/
|
57
|
+
* http://tex.lickert.net/tipps/rail/index.html
|
58
|
+
|
59
|
+
==Main elements
|
60
|
+
Non-finite elements (squared text):
|
61
|
+
//test//
|
62
|
+
<<<rail|nofinite
|
63
|
+
test
|
64
|
+
>>>
|
65
|
+
|
66
|
+
Finite element (circled text)
|
67
|
+
Just put the text in '':
|
68
|
+
//'final'//
|
69
|
+
<<<rail|finite
|
70
|
+
'final'
|
71
|
+
>>>
|
72
|
+
|
73
|
+
==Path descriptions
|
74
|
+
//[Text before] 'final' //
|
75
|
+
<<<rail|textbefore
|
76
|
+
[Text before] 'final'
|
77
|
+
>>>
|
78
|
+
|
79
|
+
To put text after an element, you have to put the text in braces
|
80
|
+
//'final' ( [Text after] )//
|
81
|
+
<<<rail|textafter
|
82
|
+
'final' ( [Text after] )
|
83
|
+
>>>
|
84
|
+
|
85
|
+
==Alternatives
|
86
|
+
//A | B //
|
87
|
+
<<<rail|alternative
|
88
|
+
A | B
|
89
|
+
>>>
|
90
|
+
|
91
|
+
==Optional pathes
|
92
|
+
Optional: //'final' ?//
|
93
|
+
<<<rail|optional
|
94
|
+
'final' ?
|
95
|
+
>>>
|
96
|
+
|
97
|
+
|
98
|
+
==Loops with +
|
99
|
+
Simple loop: //'final' +//
|
100
|
+
<<<rail|loop
|
101
|
+
'final' +
|
102
|
+
>>>
|
103
|
+
|
104
|
+
Loop with an additional part:
|
105
|
+
// A + B//
|
106
|
+
<<<rail|loop2
|
107
|
+
A + B
|
108
|
+
>>>
|
109
|
+
|
110
|
+
|
111
|
+
The part before the + must be visited during a walk through the rails.
|
112
|
+
The part after the + is only visited if you enter the loop.
|
113
|
+
|
114
|
+
With braces you can define your own ways through the diagramm.
|
115
|
+
|
116
|
+
//( A + B )//
|
117
|
+
<<<rail|loop3
|
118
|
+
( A + B )
|
119
|
+
>>>
|
120
|
+
|
121
|
+
//( A + ) B//
|
122
|
+
<<<rail|loop4
|
123
|
+
( A + ) B
|
124
|
+
>>>
|
125
|
+
|
126
|
+
//( A B + )//
|
127
|
+
<<<rail|loop5
|
128
|
+
( A B + )
|
129
|
+
>>>
|
130
|
+
|
131
|
+
//( A + ';' ) B//
|
132
|
+
<<<rail|loop6
|
133
|
+
( A + ';' ) B
|
134
|
+
>>>
|
135
|
+
|
136
|
+
|
137
|
+
==A complex example
|
138
|
+
<<<rail|complex
|
139
|
+
[1] (
|
140
|
+
( '[' string ']' )
|
141
|
+
? body[2--6] + '|'
|
142
|
+
)
|
143
|
+
| [2] body[3--6] '*' body[5--6]
|
144
|
+
| [2] body[3--6] '+' body[5--6]
|
145
|
+
| [3] ( body[4--5] + )
|
146
|
+
| [4] body[5] '?'
|
147
|
+
| [5] identifier ( '[' string ']' ) ?
|
148
|
+
| [5] quote string quote
|
149
|
+
| [5] dquote string dquote
|
150
|
+
| [5] '(' body[1--6] ')'
|
151
|
+
| [5] cr
|
152
|
+
| [6]
|
153
|
+
;
|
154
|
+
>>>
|
@@ -0,0 +1,144 @@
|
|
1
|
+
#encoding: cp1252
|
2
|
+
=begin rdoc
|
3
|
+
Example how to use inline-ruby with creole/creole2doc.
|
4
|
+
=end
|
5
|
+
|
6
|
+
$:.unshift( '../lib' )
|
7
|
+
|
8
|
+
require 'creole/plugins/rubycode4creole.rb'
|
9
|
+
begin
|
10
|
+
require 'rake4latex_pdflatex'
|
11
|
+
rescue LoadError
|
12
|
+
puts "rake4latex not installed -> no translation of LaTeX-file"
|
13
|
+
end
|
14
|
+
#
|
15
|
+
# Move all results to another folder
|
16
|
+
#
|
17
|
+
Dir.chdir('results')
|
18
|
+
|
19
|
+
#Build document with usepackage{listings}...
|
20
|
+
doc = Docgenerator::Rubycode::CodeTest.mk_document( 'Rubycode4doc-Test' )
|
21
|
+
doc.head << Docgenerator::Tables::TEX_PACKAGE_TABULARX
|
22
|
+
doc.body << Docgenerator::Creole::Creole.new(:content => DATA )
|
23
|
+
|
24
|
+
# ###############################
|
25
|
+
# Save the files
|
26
|
+
# ###############
|
27
|
+
doc.save( __FILE__.sub(/\.rb/, ".html"))
|
28
|
+
doc.save( __FILE__.sub(/\.rb/, ".tex"),
|
29
|
+
:runtex => [:statistic, :clean]
|
30
|
+
)
|
31
|
+
|
32
|
+
__END__
|
33
|
+
=Easy example
|
34
|
+
rubycode
|
35
|
+
<<<rubycode
|
36
|
+
1 + 1
|
37
|
+
>>>
|
38
|
+
----
|
39
|
+
rubycode_output
|
40
|
+
<<<rubycode_output
|
41
|
+
puts 1 + 1
|
42
|
+
>>>
|
43
|
+
----
|
44
|
+
rubycode_evaluated
|
45
|
+
<<<rubycode_evaluated
|
46
|
+
1 + 1
|
47
|
+
>>>
|
48
|
+
----
|
49
|
+
rubycode_in_tab
|
50
|
+
<<<rubycode_in_tab
|
51
|
+
1 + 1
|
52
|
+
>>>
|
53
|
+
|
54
|
+
=More examples
|
55
|
+
==Variables and output==
|
56
|
+
===Sourcecode===
|
57
|
+
<<<rubycode
|
58
|
+
a = 5
|
59
|
+
b = a * 5
|
60
|
+
puts b
|
61
|
+
puts b + 3
|
62
|
+
>>>
|
63
|
+
|
64
|
+
===Output===
|
65
|
+
<<<rubycode_output
|
66
|
+
a = 5
|
67
|
+
b = a * 5
|
68
|
+
puts b
|
69
|
+
puts b + 3
|
70
|
+
>>>
|
71
|
+
|
72
|
+
===Evaluation
|
73
|
+
<<<rubycode_evaluated
|
74
|
+
a = 5
|
75
|
+
b = a * 5
|
76
|
+
puts b
|
77
|
+
puts b + 3
|
78
|
+
>>>
|
79
|
+
|
80
|
+
===Evaluation in tabular===
|
81
|
+
<<<rubycode_in_tab
|
82
|
+
a = 5
|
83
|
+
b = a * 5
|
84
|
+
puts b
|
85
|
+
puts b + 3
|
86
|
+
>>>
|
87
|
+
|
88
|
+
==Strings and Here-Docs==
|
89
|
+
===Sourcecode===
|
90
|
+
<<<rubycode
|
91
|
+
b = 'Booo'
|
92
|
+
puts "#{b}"
|
93
|
+
puts '#{b}'
|
94
|
+
puts %Q{#{b}}
|
95
|
+
puts %q{#{b}}
|
96
|
+
>>>
|
97
|
+
|
98
|
+
===Evaluation
|
99
|
+
<<<rubycode_evaluated
|
100
|
+
b = 'Booo'
|
101
|
+
puts "#{b}"
|
102
|
+
puts '#{b}'
|
103
|
+
puts %Q{#{b}}
|
104
|
+
puts %q{#{b}}
|
105
|
+
>>>
|
106
|
+
|
107
|
+
===Evaluation in tabular===
|
108
|
+
<<<rubycode_in_tab
|
109
|
+
b = 'Booo'
|
110
|
+
puts "#{b}"
|
111
|
+
puts '#{b}'
|
112
|
+
puts %Q{#{b}}
|
113
|
+
puts %q{#{b}}
|
114
|
+
>>>
|
115
|
+
|
116
|
+
|
117
|
+
|
118
|
+
==Loops==
|
119
|
+
===Sourcecode===
|
120
|
+
<<<rubycode
|
121
|
+
3.times{ puts 11 }
|
122
|
+
1.upto(3){|i| puts i}
|
123
|
+
1.upto(3){|i| puts "run #{i}"}
|
124
|
+
>>>
|
125
|
+
|
126
|
+
===Output===
|
127
|
+
<<<rubycode_output
|
128
|
+
3.times{ puts 11 }
|
129
|
+
1.upto(3){|i| puts i}
|
130
|
+
1.upto(3){|i| puts "run #{i}"}
|
131
|
+
>>>
|
132
|
+
===Evaluated
|
133
|
+
<<<rubycode_evaluated
|
134
|
+
3.times{ puts 11 }
|
135
|
+
1.upto(3){|i| puts i}
|
136
|
+
1.upto(3){|i| puts "run #{i}"}
|
137
|
+
>>>
|
138
|
+
|
139
|
+
===Evaluation in tab
|
140
|
+
<<<rubycode_in_tab
|
141
|
+
3.times{ puts 11 }
|
142
|
+
1.upto(3){|i| puts i}
|
143
|
+
1.upto(3){|i| puts "run #{i}"}
|
144
|
+
>>>
|