deplate 0.7.3

Sign up to get free protection for your applications and to get access to all the features.
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
+