deplate 0.7.3

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 (145) hide show
  1. data/AUTHORS.TXT +26 -0
  2. data/CHANGES.TXT +177 -0
  3. data/LICENSE.TXT +340 -0
  4. data/NEWS.TXT +29 -0
  5. data/README.TXT +86 -0
  6. data/TODO.TXT +202 -0
  7. data/VERSION.TXT +1 -0
  8. data/bin/deplate +3 -0
  9. data/bin/deplate.bat +2 -0
  10. data/etc/deplate.ini +361 -0
  11. data/lib/deplate.rb +31 -0
  12. data/lib/deplate/abstract-class.rb +30 -0
  13. data/lib/deplate/builtin.rb +11 -0
  14. data/lib/deplate/cache.rb +59 -0
  15. data/lib/deplate/commands.rb +693 -0
  16. data/lib/deplate/common.rb +335 -0
  17. data/lib/deplate/converter.rb +99 -0
  18. data/lib/deplate/core.rb +2705 -0
  19. data/lib/deplate/css/article.css +545 -0
  20. data/lib/deplate/css/deplate.css +699 -0
  21. data/lib/deplate/css/heading-navbar.css +29 -0
  22. data/lib/deplate/css/layout-deplate-print.css +540 -0
  23. data/lib/deplate/css/layout-deplate.css +764 -0
  24. data/lib/deplate/css/sans-serif.css +160 -0
  25. data/lib/deplate/css/serif-e.css +170 -0
  26. data/lib/deplate/css/serif-rel.css +121 -0
  27. data/lib/deplate/css/serif.css +190 -0
  28. data/lib/deplate/css/slides.css +11 -0
  29. data/lib/deplate/css/tabbar-left.css +91 -0
  30. data/lib/deplate/css/tabbar-right-ie.css +14 -0
  31. data/lib/deplate/css/tabbar-right.css +118 -0
  32. data/lib/deplate/css/tabbar-top.css +64 -0
  33. data/lib/deplate/css/tabbar.css +81 -0
  34. data/lib/deplate/css/text-sans-serif.css +154 -0
  35. data/lib/deplate/css/text-serif.css +175 -0
  36. data/lib/deplate/define.rb +439 -0
  37. data/lib/deplate/docbook.rb +738 -0
  38. data/lib/deplate/elements.rb +1355 -0
  39. data/lib/deplate/etc.rb +199 -0
  40. data/lib/deplate/external.rb +135 -0
  41. data/lib/deplate/fmt/dbk-article-4.1.2.rb +21 -0
  42. data/lib/deplate/fmt/dbk-article.rb +46 -0
  43. data/lib/deplate/fmt/dbk-book.rb +46 -0
  44. data/lib/deplate/fmt/dbk-ref.rb +105 -0
  45. data/lib/deplate/fmt/dbk-slides.rb +47 -0
  46. data/lib/deplate/fmt/dbk-snippet.rb +21 -0
  47. data/lib/deplate/fmt/html-snippet.rb +21 -0
  48. data/lib/deplate/fmt/html.rb +1696 -0
  49. data/lib/deplate/fmt/htmlsite.rb +419 -0
  50. data/lib/deplate/fmt/htmlslides.rb +21 -0
  51. data/lib/deplate/fmt/htmlwebsite.rb +70 -0
  52. data/lib/deplate/fmt/latex-snippet.rb +22 -0
  53. data/lib/deplate/fmt/latex.rb +1242 -0
  54. data/lib/deplate/fmt/php.rb +19 -0
  55. data/lib/deplate/fmt/phpsite.rb +19 -0
  56. data/lib/deplate/fmt/plain.rb +598 -0
  57. data/lib/deplate/fmt/template.rb +34 -0
  58. data/lib/deplate/fmt/xhtml10t.rb +41 -0
  59. data/lib/deplate/formatter-snippet.rb +17 -0
  60. data/lib/deplate/formatter.rb +1210 -0
  61. data/lib/deplate/input.rb +492 -0
  62. data/lib/deplate/input/deplate-headings.rb +48 -0
  63. data/lib/deplate/input/deplate-restricted.rb +70 -0
  64. data/lib/deplate/input/deplate.rb +28 -0
  65. data/lib/deplate/input/rdoc.rb +277 -0
  66. data/lib/deplate/input/template.rb +29 -0
  67. data/lib/deplate/lib/latex/highlight-extra.sty +15 -0
  68. data/lib/deplate/lib/latex/highlight-typical.sty +15 -0
  69. data/lib/deplate/lib/tabmenu.js +146 -0
  70. data/lib/deplate/locale/de.latin1 +708 -0
  71. data/lib/deplate/locale/ru.koi8-r +48 -0
  72. data/lib/deplate/locale/zh_cn.gb2312 +35 -0
  73. data/lib/deplate/macros.rb +639 -0
  74. data/lib/deplate/messages.rb +120 -0
  75. data/lib/deplate/metadata.rb +77 -0
  76. data/lib/deplate/metadata/marshal.rb +24 -0
  77. data/lib/deplate/metadata/xml.rb +42 -0
  78. data/lib/deplate/metadata/yaml.rb +26 -0
  79. data/lib/deplate/mod/anyword.rb +56 -0
  80. data/lib/deplate/mod/babelfish.rb +27 -0
  81. data/lib/deplate/mod/code-gvim.rb +52 -0
  82. data/lib/deplate/mod/code-highlight.rb +91 -0
  83. data/lib/deplate/mod/colored-log.rb +17 -0
  84. data/lib/deplate/mod/de.rb +19 -0
  85. data/lib/deplate/mod/en.rb +17 -0
  86. data/lib/deplate/mod/endnotes.rb +60 -0
  87. data/lib/deplate/mod/fr.rb +46 -0
  88. data/lib/deplate/mod/html-asciimath.rb +40 -0
  89. data/lib/deplate/mod/html-deplate-button.rb +15 -0
  90. data/lib/deplate/mod/html-headings-navbar.rb +39 -0
  91. data/lib/deplate/mod/html-obfuscate-email.rb +47 -0
  92. data/lib/deplate/mod/html-sidebar.rb +232 -0
  93. data/lib/deplate/mod/htmlslides-navbar-fh.rb +32 -0
  94. data/lib/deplate/mod/iconv.rb +35 -0
  95. data/lib/deplate/mod/imgurl.rb +30 -0
  96. data/lib/deplate/mod/inlatex-compound.rb +69 -0
  97. data/lib/deplate/mod/koma.rb +109 -0
  98. data/lib/deplate/mod/latex-emph-table-head.rb +38 -0
  99. data/lib/deplate/mod/latex-styles.rb +461 -0
  100. data/lib/deplate/mod/latex-verbatim-small.rb +29 -0
  101. data/lib/deplate/mod/makefile.rb +194 -0
  102. data/lib/deplate/mod/mark-external-urls.rb +38 -0
  103. data/lib/deplate/mod/markup-1-warn.rb +37 -0
  104. data/lib/deplate/mod/markup-1.rb +41 -0
  105. data/lib/deplate/mod/navbar-png.rb +33 -0
  106. data/lib/deplate/mod/noindent.rb +32 -0
  107. data/lib/deplate/mod/numpara.rb +40 -0
  108. data/lib/deplate/mod/particle-math.rb +34 -0
  109. data/lib/deplate/mod/php-extra.rb +44 -0
  110. data/lib/deplate/mod/pstoedit.rb +71 -0
  111. data/lib/deplate/mod/recode.rb +57 -0
  112. data/lib/deplate/mod/ru_koi8-r.rb +20 -0
  113. data/lib/deplate/mod/smiley.rb +50 -0
  114. data/lib/deplate/mod/soffice.rb +23 -0
  115. data/lib/deplate/mod/symbols-latin1.rb +58 -0
  116. data/lib/deplate/mod/symbols-od-utf-8.rb +16 -0
  117. data/lib/deplate/mod/symbols-plain.rb +58 -0
  118. data/lib/deplate/mod/symbols-sgml.rb +97 -0
  119. data/lib/deplate/mod/symbols-utf-8.rb +81 -0
  120. data/lib/deplate/mod/symbols-xml.rb +34 -0
  121. data/lib/deplate/mod/syntax-region-alt.rb +37 -0
  122. data/lib/deplate/mod/utf8.rb +49 -0
  123. data/lib/deplate/mod/validate-html.rb +35 -0
  124. data/lib/deplate/mod/xmlrpc.rb +233 -0
  125. data/lib/deplate/mod/zh-cn-autospace.rb +108 -0
  126. data/lib/deplate/mod/zh-cn.rb +59 -0
  127. data/lib/deplate/once-method.rb +44 -0
  128. data/lib/deplate/output.rb +249 -0
  129. data/lib/deplate/particles.rb +815 -0
  130. data/lib/deplate/regions.rb +1076 -0
  131. data/lib/deplate/structured.rb +763 -0
  132. data/lib/deplate/template.rb +430 -0
  133. data/lib/deplate/templates/html-doc.html +28 -0
  134. data/lib/deplate/templates/html-left-tabbar-js.html +37 -0
  135. data/lib/deplate/templates/html-left-tabbar.html +31 -0
  136. data/lib/deplate/templates/html-tabbar-right-table.html +43 -0
  137. data/lib/deplate/templates/html-tabbar-right.html +23 -0
  138. data/lib/deplate/templates/html-tabbar-top.html +43 -0
  139. data/lib/deplate/templates/html-tabbar.html +31 -0
  140. data/lib/deplate/wiki-markup.rb +117 -0
  141. data/lib/deplate/xml.rb +109 -0
  142. data/lib/deplate/zh-cn.rb +59 -0
  143. data/lib/ps2ppm.rb +239 -0
  144. data/man/man1/deplate.1 +692 -0
  145. metadata +210 -0
@@ -0,0 +1,17 @@
1
+ # colored-log.rb
2
+ # @Author: Thomas Link (samul AT web.de)
3
+ # @Website: http://deplate.sf.net/
4
+ # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
+ # @Created: 05-Mai-2005.
6
+ # @Last Change: 23-Okt-2005.
7
+ # @Revision: 0.2
8
+ #
9
+ # = Description
10
+ # Enable colored log output
11
+
12
+ class Deplate::Core
13
+ def self.user_setup(options)
14
+ enable_color(options)
15
+ end
16
+ end
17
+
@@ -0,0 +1,19 @@
1
+ # mod-en.rb -- Standard messages
2
+ # @Author: Thomas Link (samul AT web.de)
3
+ # @Website: http://deplate.sf.net/
4
+ # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
+ # @Created: 07-Mai-2004.
6
+ # @Last Change: 23-Okt-2005.
7
+ # @Revision: 0.79
8
+
9
+ require 'deplate/messages'
10
+
11
+ # German message catalog.
12
+ class Deplate::Messages::De < Deplate::Messages
13
+ setup 'de'
14
+ def_prop 'lang', 'de'
15
+ def_prop 'latex_lang', 'german'
16
+ def_prop 'latex_lang_cmd', %{\\usepackage{german}}
17
+ load_catalog 'de.latin1'
18
+ end
19
+
@@ -0,0 +1,17 @@
1
+ # mod-en.rb -- Standard messages
2
+ # @Author: Thomas Link (samul AT web.de)
3
+ # @Website: http://deplate.sf.net/
4
+ # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
+ # @Created: 07-Mai-2004.
6
+ # @Last Change: 23-Okt-2005.
7
+ # @Revision: 0.44
8
+
9
+ require 'deplate/messages'
10
+
11
+ # Proxy class for english messages
12
+ class Deplate::Messages::En < Deplate::Messages
13
+ setup 'en'
14
+ def_prop 'lang', 'en'
15
+ def_prop 'latex_lang', 'english'
16
+ end
17
+
@@ -0,0 +1,60 @@
1
+ # endnotes.rb -- display endnotes instead of footnotes
2
+ # @Author: Thomas Link (samul AT web.de)
3
+ # @Website: http://deplate.sf.net/
4
+ # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
+ # @Created: 20-Aug-2004.
6
+ # @Last Change: 23-Okt-2005.
7
+ # @Revision: 0.85
8
+
9
+
10
+ class Deplate::Formatter
11
+ def setup_endnotes
12
+ @deplate.set_slot_name(:footnotes, false)
13
+ end
14
+ end
15
+
16
+ class Deplate::Formatter::LaTeX
17
+ def prepare_endnotes
18
+ output_at(:pre, :mod_packages, "\\usepackage{endnotes}")
19
+ notes = plain_text(@deplate.msg("Notes"))
20
+ if notes != "Notes"
21
+ output_at(:pre, :mod_head, "\\renewcommand{\\notesname}{#{notes}}")
22
+ end
23
+ output_at(:pre, :mod_head, "\\let\\footnote=\\endnote")
24
+ end
25
+
26
+ def format_list_of_endnotes(invoker)
27
+ join_blocks(["\\newpage", "\\begingroup",
28
+ "\\parindent 0pt", "\\parskip 2ex",
29
+ "\\def\\enotesize{\\normalsize}", "\\theendnotes",
30
+ "\\endgroup"])
31
+ end
32
+ alias format_list_of_footnotes format_list_of_endnotes
33
+ end
34
+
35
+ class Deplate::Formatter::HTML
36
+ def format_list_of_endnotes(invoker)
37
+ title = plain_text(@deplate.msg("Notes"))
38
+ acc = []
39
+ acc << %{<div class="endnotes"><h1 class="endnotes">%s</h1>} % title
40
+ for l, f in @deplate.footnotes.sort {|a, b| a[1].elt.n <=> b[1].elt.n}
41
+ fn = f.elt
42
+ idx = fn.n
43
+ hclass = "sdfootnoteanc"
44
+ id = "sdfootnote%d" % idx
45
+ name = "sdfootnote%danc" % idx
46
+ href = Deplate::Macro::Footnote::FootnoteTemplate % idx
47
+ t = [%{<div id="#{id}">},
48
+ %{<p class="sdendnote">},
49
+ %{<a class="sdendnotesym" name="#{href}" href="##{name}">#{idx}</a>},
50
+ %{#{fn.body}},
51
+ %{</p></div>}
52
+ ]
53
+ acc << t.join("\n")
54
+ end
55
+ acc << "</div>"
56
+ join_blocks(acc)
57
+ end
58
+ alias format_list_of_footnotes format_list_of_endnotes
59
+ end
60
+
@@ -0,0 +1,46 @@
1
+ # mod-en.rb -- Standard messages
2
+ # @Author: Thomas Link (samul AT web.de)
3
+ # @Website: http://deplate.sf.net/
4
+ # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
+ # @Created: 07-Mai-2004.
6
+ # @Last Change: 23-Okt-2005.
7
+ # @Revision: 0.24
8
+
9
+ # Description:
10
+ #
11
+ # Usage:
12
+ #
13
+ # TODO:
14
+ #
15
+ # CHANGES:
16
+ #
17
+
18
+ module Deplate::Messages #{{{1
19
+ LANG = "de"
20
+ CATALOG = {
21
+ "Bibliography" => "Bibliographie",
22
+ "Figure" => "Abbildung",
23
+ "Footnotes" => "Notes",
24
+ "Index" => "Register",
25
+ "List of Figures" => "Abbildungsverzeichnis",
26
+ "List of Tables" => "Tabellenverzeichnis",
27
+ "p.\\ " => "p.\\ ",
28
+ "Table of Contents" => "Table de Mati�re",
29
+ "Contents" => "Inhalt",
30
+ "Table" => "Tabelle",
31
+ }
32
+ end
33
+
34
+ if Deplate::Formatter.matches?("latex")
35
+ module Deplate::Formatter #{{{1
36
+ class << self
37
+ alias :prepare_re_fr :prepare
38
+ def prepare(deplate)
39
+ prepare_re_fr deplate
40
+ deplate.add_at(:pre, :mod_packages, "\\usepackage[francais]{babel}")
41
+ end
42
+ end
43
+ end
44
+ end
45
+
46
+ # vim: ff=unix
@@ -0,0 +1,40 @@
1
+ # html-asciimath.rb -- Support for asciimath.js
2
+ # @Author: Thomas Link (samul AT web.de)
3
+ # @Website: http://deplate.sf.net/
4
+ # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
+ # @Created: 30-Dez-2004.
6
+ # @Last Change: 23-Okt-2005.
7
+ # @Revision: 0.43
8
+
9
+ class Deplate::Formatter::HTML
10
+ def formatter_initialize_html_asciimath
11
+ if @deplate.variables["bodyOptions"]
12
+ @deplate.variables["bodyOptions"] += %{ onload="translate()"}
13
+ else
14
+ @deplate.variables["bodyOptions"] = %{onload="translate()"}
15
+ end
16
+ if @deplate.variables["htmlDefEtc"]
17
+ @deplate.variables["htmlDefEtc"] += %{ xmlns:mml="http://www.w3.org/1998/Math/MathML"}
18
+ else
19
+ @deplate.variables["htmlDefEtc"] = %{xmlns:mml="http://www.w3.org/1998/Math/MathML"}
20
+ end
21
+
22
+ @special_symbols["$"] = Proc.new{|e| e == :pre ? "$" : "\\$"}
23
+ @special_symbols["`"] = Proc.new{|e| e == :pre ? "`" : "\\`"}
24
+ build_plain_text_rx
25
+ end
26
+
27
+ def prepare_html_asciimath
28
+ output_at(:pre, :mod_head, <<END_OF_HTML
29
+ <object id="mathplayer" classid="clsid:32F66A20-7614-11D4-BD11-00104BD3F987">
30
+ </object><?import namespace="mml" implementation="#mathplayer"?>
31
+ <script type="text/javascript" src="ASCIIMathML.js"></script>
32
+ END_OF_HTML
33
+ )
34
+ end
35
+
36
+ def format_math(invoker)
37
+ return invoker.text
38
+ end
39
+ end
40
+
@@ -0,0 +1,15 @@
1
+ # html-deplate-button.rb
2
+ # @Author: Thomas Link (samul AT web.de)
3
+ # @Website: http://deplate.sf.net/
4
+ # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
+ # @Created: 05-Sep-2004.
6
+ # @Last Change: 23-Okt-2005.
7
+ # @Revision: 0.23
8
+
9
+ class Deplate::Formatter::HTML
10
+ def prepare_html_deplate_button
11
+ buttons = %{<a href="http://deplate.sourceforge.net"><img src="http://deplate.sourceforge.net/deplate-mini.png" border="0" alt="deplate Logo" /></a>}
12
+ output_at(:post, :html_pageicons, buttons) unless buttons.empty?
13
+ end
14
+ end
15
+
@@ -0,0 +1,39 @@
1
+ # html-headings-navbar.rb
2
+ # @Author: Thomas Link (samul AT web.de)
3
+ # @Website: http://deplate.sf.net/
4
+ # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
+ # @Created: 15-Nov-2004.
6
+ # @Last Change: 23-Okt-2005.
7
+ # @Revision: 0.43
8
+ #
9
+ # Description:
10
+ #
11
+ # Usage:
12
+ #
13
+ # TODO:
14
+ #
15
+ # CHANGES:
16
+ #
17
+
18
+
19
+ class Deplate::Formatter::HTML
20
+ def formatter_initialize_headings_navbar
21
+ def_advice("html-headings-navbar", :format_heading,
22
+ :wrap => Proc.new do |agent, rv, invoker, *rest|
23
+ max_level = @deplate.variables["headingsNavbarMaxLevel"]
24
+ if max_level
25
+ max_level = max_level.to_i
26
+ else
27
+ max_level = 1
28
+ end
29
+ if invoker.level <= max_level
30
+ nb = @deplate.invoke_service("navigation_bar", {:invoker => invoker, 'noNavButtons' => true})
31
+ join_blocks([nb, rv])
32
+ else
33
+ rv
34
+ end
35
+ end
36
+ )
37
+ end
38
+ end
39
+
@@ -0,0 +1,47 @@
1
+ # html-obfuscate-email.rb
2
+ # @Author: Thomas Link (samul AT web.de)
3
+ # @Website: http://deplate.sf.net/
4
+ # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
+ # @Created: 13-Jul-2005.
6
+ # @Last Change: 27-Okt-2005.
7
+ # @Revision: 0.33
8
+
9
+ class Deplate::Formatter::HTML
10
+ alias :format_url_re_js_obfuscate_email :format_url
11
+
12
+ def format_url(invoker, name, dest, anchor, literal=false)
13
+ rv = format_url_re_js_obfuscate_email(invoker, name, dest, anchor, literal)
14
+ if dest =~ /^mailto:/
15
+ encoded = rv.unpack('C' * rv.size).join(',')
16
+ dest0 = dest.sub(/^mailto:/, '')
17
+ significant_name = (name != dest and name != dest0)
18
+ if @deplate.variables['noObfuscatedNoscript']
19
+ noscript = significant_name ? name : ''
20
+ else
21
+ at = @deplate.variables['obfuscatedNoscriptAt'] || ' AT '
22
+ dot = @deplate.variables['obfuscatedNoscriptDot'] || ' DOT '
23
+ if significant_name
24
+ noscript = %{#{name} (#{dest})}
25
+ else
26
+ noscript = name
27
+ end
28
+ noscript.gsub!(/(mailto:|[@.])/) do |t|
29
+ case t
30
+ when '@'
31
+ at
32
+ when '.'
33
+ dot
34
+ when 'mailto:'
35
+ ''
36
+ end
37
+ end
38
+ end
39
+ js = %{<script type="text/javascript" language="javascript"><!--
40
+ document.write(String.fromCharCode(#{encoded}))
41
+ --></script><noscript>#{noscript}</noscript>}
42
+ else
43
+ rv
44
+ end
45
+ end
46
+ end
47
+
@@ -0,0 +1,232 @@
1
+ # mod-html-sidebar.rb -- A popup-mini-toc for html output
2
+ # @Author: Thomas Link (samul AT web.de)
3
+ # @Website: http://deplate.sf.net/
4
+ # @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
5
+ # @Created: 19-Jul-2004.
6
+ # @Last Change: 23-Okt-2005.
7
+ # @Revision: 0.50
8
+ #
9
+ # Description:
10
+ #
11
+ # Usage:
12
+ #
13
+ # TODO:
14
+ #
15
+ # CHANGES:
16
+ #
17
+
18
+ class Deplate::Formatter::HTML
19
+ def prepare_html_sidebar
20
+ opt0 = @deplate.variables["bodyOptions"]
21
+ @deplate.variables["navGif"] ||= "navigation_back.gif"
22
+ optSB = %{onload="Event_init()" background="#{@deplate.variables["navGif"]}"}
23
+ @deplate.variables["bodyOptions"] = opt0 ? "%s %s" % [opt0, optSB] : optSB
24
+
25
+ mouseThresholdIn = @deplate.variables["mouseThresholdIn"] || 420
26
+ mouseThresholdOut = @deplate.variables["mouseThresholdOut"] || 270
27
+
28
+ html = <<EndOfHTML
29
+ <!-- Based on code from selfhtml: http://selfhtml.teamone.de/ -->
30
+ <!-- dhtml.js: DHTML-Bibliothek (SelfHTML -> DHTML -> Allgemeine DHTML-Bibliothek) -->
31
+ <script type="text/javascript">
32
+ <!--
33
+ var DHTML = 0, DOM = 0, MS = 0, NS = 0, OP = 0;
34
+
35
+ function DHTML_init() {
36
+
37
+ if (window.opera) {
38
+ OP = 1;
39
+ }
40
+ if(document.getElementById) {
41
+ DHTML = 1;
42
+ DOM = 1;
43
+ }
44
+ if(document.all && !OP) {
45
+ DHTML = 1;
46
+ MS = 1;
47
+ }
48
+ if(document.layers && !OP) {
49
+ DHTML = 1;
50
+ NS = 1;
51
+ }
52
+ }
53
+
54
+ function getElem(p1,p2,p3) {
55
+ var Elem;
56
+ if(DOM) {
57
+ if(p1.toLowerCase()=="id") {
58
+ if (typeof document.getElementById(p2) == "object")
59
+ Elem = document.getElementById(p2);
60
+ else Elem = void(0);
61
+ return(Elem);
62
+ }
63
+ else if(p1.toLowerCase()=="name") {
64
+ if (typeof document.getElementsByName(p2) == "object")
65
+ Elem = document.getElementsByName(p2)[p3];
66
+ else Elem = void(0);
67
+ return(Elem);
68
+ }
69
+ else if(p1.toLowerCase()=="tagname") {
70
+ if (typeof document.getElementsByTagName(p2) == "object" ||
71
+ (OP && typeof document.getElementsByTagName(p2) == "function"))
72
+ Elem = document.getElementsByTagName(p2)[p3];
73
+ else Elem = void(0);
74
+ return(Elem);
75
+ }
76
+ else return void(0);
77
+ }
78
+ else if(MS) {
79
+ if(p1.toLowerCase()=="id") {
80
+ if (typeof document.all[p2] == "object")
81
+ Elem = document.all[p2];
82
+ else Elem = void(0);
83
+ return(Elem);
84
+ }
85
+ else if(p1.toLowerCase()=="tagname") {
86
+ if (typeof document.all.tags(p2) == "object")
87
+ Elem = document.all.tags(p2)[p3];
88
+ else Elem = void(0);
89
+ return(Elem);
90
+ }
91
+ else if(p1.toLowerCase()=="name") {
92
+ if (typeof document[p2] == "object")
93
+ Elem = document[p2];
94
+ else Elem = void(0);
95
+ return(Elem);
96
+ }
97
+ else return void(0);
98
+ }
99
+ else if(NS) {
100
+ if(p1.toLowerCase()=="id" || p1.toLowerCase()=="name") {
101
+ if (typeof document[p2] == "object")
102
+ Elem = document[p2];
103
+ else Elem = void(0);
104
+ return(Elem);
105
+ }
106
+ else if(p1.toLowerCase()=="index") {
107
+ if (typeof document.layers[p2] == "object")
108
+ Elem = document.layers[p2];
109
+ else Elem = void(0);
110
+ return(Elem);
111
+ }
112
+ else return void(0);
113
+ }
114
+ }
115
+
116
+ function getCont(p1,p2,p3) {
117
+ var Cont;
118
+ if(DOM && getElem(p1,p2,p3) && getElem(p1,p2,p3).firstChild) {
119
+ if(getElem(p1,p2,p3).firstChild.nodeType == 3)
120
+ Cont = getElem(p1,p2,p3).firstChild.nodeValue;
121
+ else
122
+ Cont = "";
123
+ return(Cont);
124
+ }
125
+ else if(MS && getElem(p1,p2,p3)) {
126
+ Cont = getElem(p1,p2,p3).innerText;
127
+ return(Cont);
128
+ }
129
+ else return void(0);
130
+ }
131
+
132
+ function getAttr(p1,p2,p3,p4) {
133
+ var Attr;
134
+ if((DOM || MS) && getElem(p1,p2,p3)) {
135
+ Attr = getElem(p1,p2,p3).getAttribute(p4);
136
+ return(Attr);
137
+ }
138
+ else if (NS && getElem(p1,p2)) {
139
+ if (typeof getElem(p1,p2)[p3] == "object")
140
+ Attr=getElem(p1,p2)[p3][p4]
141
+ else
142
+ Attr=getElem(p1,p2)[p4]
143
+ return Attr;
144
+ }
145
+ else return void(0);
146
+ }
147
+
148
+ function setCont(p1,p2,p3,p4) {
149
+ if(DOM && getElem(p1,p2,p3) && getElem(p1,p2,p3).firstChild)
150
+ getElem(p1,p2,p3).firstChild.nodeValue = p4;
151
+ else if(MS && getElem(p1,p2,p3))
152
+ getElem(p1,p2,p3).innerText = p4;
153
+ else if(NS && getElem(p1,p2,p3)) {
154
+ getElem(p1,p2,p3).document.open();
155
+ getElem(p1,p2,p3).document.write(p4);
156
+ getElem(p1,p2,p3).document.close();
157
+ }
158
+ }
159
+
160
+ DHTML_init();
161
+
162
+ function Menue() {
163
+ if(DOM) {
164
+ if(MS)
165
+ getElem("id","Contents",null).style.top = document.body.scrollTop + 50;
166
+ else
167
+ getElem("id","Contents",null).style.top = window.pageYOffset + 50;
168
+ }
169
+ if(DOM || MS) {
170
+ if (!DOM) getElem("id","Contents",null).style.top = document.body.scrollTop + 50;
171
+ if (OP) getElem("id","ContentsBlock",null).style.pixelTop = NavLinksPos;
172
+ getElem("id","Contents",null).style.visibility = "visible";
173
+ }
174
+ else if(NS) {
175
+ getElem("id","Contents",null).top = window.pageYOffset + 50;
176
+ getElem("id","Contents",null).visibility = "show";
177
+ }
178
+ }
179
+
180
+ function noMenue() {
181
+ if(DOM || MS)
182
+ getElem("id","Contents",null).style.visibility = "hidden";
183
+ if(NS)
184
+ getElem("id","Contents",null).visibility = "hide";
185
+ }
186
+
187
+ function handleMove(ev) {
188
+ if(!MS) {
189
+ Event = ev;
190
+ if(Event.screenX < #{mouseThresholdOut})
191
+ Menue();
192
+ else if(Event.screenX > #{mouseThresholdIn})
193
+ noMenue();
194
+ }
195
+ }
196
+
197
+ function MShandleMove() {
198
+ if(MS) {
199
+ if(window.event.clientX < #{mouseThresholdOut})
200
+ Menue();
201
+ else if(window.event.clientX > #{mouseThresholdIn})
202
+ noMenue();
203
+ }
204
+ }
205
+
206
+ function Event_init() {
207
+ if(DOM && !MS && !OP) {
208
+ getElem("tagname","body",0).addEventListener("mousemove", handleMove, true);
209
+ }
210
+ if(NS) {
211
+ document.captureEvents(Event.MOUSEMOVE);
212
+ document.onmousemove=handleMove;
213
+ }
214
+ if (DOM && OP) {
215
+ document.onmousemove=handleMove;
216
+ NavLinksPos=42; //Position des Bereiches NavLinks
217
+ getElem("id","ContentsBlock",null).style.pixelTop=NavLinksPos;
218
+ }
219
+ if (MS) getElem("tagname","body",0).onmousemove=MShandleMove;
220
+ }
221
+ //-->
222
+ </script>
223
+ EndOfHTML
224
+ output_at(:pre, :javascript, html)
225
+ text = "minitoc"
226
+ args = {"type"=>"pre", "slot"=>"pre_bottom"}
227
+ minitoc = Deplate::Command::LIST.new(@deplate, nil, text, nil, args, "LIST")
228
+ minitoc = minitoc.finish.process
229
+ @deplate.accum_elements.unshift(minitoc)
230
+ end
231
+ end
232
+