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.
- data/AUTHORS.TXT +26 -0
- data/CHANGES.TXT +177 -0
- data/LICENSE.TXT +340 -0
- data/NEWS.TXT +29 -0
- data/README.TXT +86 -0
- data/TODO.TXT +202 -0
- data/VERSION.TXT +1 -0
- data/bin/deplate +3 -0
- data/bin/deplate.bat +2 -0
- data/etc/deplate.ini +361 -0
- data/lib/deplate.rb +31 -0
- data/lib/deplate/abstract-class.rb +30 -0
- data/lib/deplate/builtin.rb +11 -0
- data/lib/deplate/cache.rb +59 -0
- data/lib/deplate/commands.rb +693 -0
- data/lib/deplate/common.rb +335 -0
- data/lib/deplate/converter.rb +99 -0
- data/lib/deplate/core.rb +2705 -0
- data/lib/deplate/css/article.css +545 -0
- data/lib/deplate/css/deplate.css +699 -0
- data/lib/deplate/css/heading-navbar.css +29 -0
- data/lib/deplate/css/layout-deplate-print.css +540 -0
- data/lib/deplate/css/layout-deplate.css +764 -0
- data/lib/deplate/css/sans-serif.css +160 -0
- data/lib/deplate/css/serif-e.css +170 -0
- data/lib/deplate/css/serif-rel.css +121 -0
- data/lib/deplate/css/serif.css +190 -0
- data/lib/deplate/css/slides.css +11 -0
- data/lib/deplate/css/tabbar-left.css +91 -0
- data/lib/deplate/css/tabbar-right-ie.css +14 -0
- data/lib/deplate/css/tabbar-right.css +118 -0
- data/lib/deplate/css/tabbar-top.css +64 -0
- data/lib/deplate/css/tabbar.css +81 -0
- data/lib/deplate/css/text-sans-serif.css +154 -0
- data/lib/deplate/css/text-serif.css +175 -0
- data/lib/deplate/define.rb +439 -0
- data/lib/deplate/docbook.rb +738 -0
- data/lib/deplate/elements.rb +1355 -0
- data/lib/deplate/etc.rb +199 -0
- data/lib/deplate/external.rb +135 -0
- data/lib/deplate/fmt/dbk-article-4.1.2.rb +21 -0
- data/lib/deplate/fmt/dbk-article.rb +46 -0
- data/lib/deplate/fmt/dbk-book.rb +46 -0
- data/lib/deplate/fmt/dbk-ref.rb +105 -0
- data/lib/deplate/fmt/dbk-slides.rb +47 -0
- data/lib/deplate/fmt/dbk-snippet.rb +21 -0
- data/lib/deplate/fmt/html-snippet.rb +21 -0
- data/lib/deplate/fmt/html.rb +1696 -0
- data/lib/deplate/fmt/htmlsite.rb +419 -0
- data/lib/deplate/fmt/htmlslides.rb +21 -0
- data/lib/deplate/fmt/htmlwebsite.rb +70 -0
- data/lib/deplate/fmt/latex-snippet.rb +22 -0
- data/lib/deplate/fmt/latex.rb +1242 -0
- data/lib/deplate/fmt/php.rb +19 -0
- data/lib/deplate/fmt/phpsite.rb +19 -0
- data/lib/deplate/fmt/plain.rb +598 -0
- data/lib/deplate/fmt/template.rb +34 -0
- data/lib/deplate/fmt/xhtml10t.rb +41 -0
- data/lib/deplate/formatter-snippet.rb +17 -0
- data/lib/deplate/formatter.rb +1210 -0
- data/lib/deplate/input.rb +492 -0
- data/lib/deplate/input/deplate-headings.rb +48 -0
- data/lib/deplate/input/deplate-restricted.rb +70 -0
- data/lib/deplate/input/deplate.rb +28 -0
- data/lib/deplate/input/rdoc.rb +277 -0
- data/lib/deplate/input/template.rb +29 -0
- data/lib/deplate/lib/latex/highlight-extra.sty +15 -0
- data/lib/deplate/lib/latex/highlight-typical.sty +15 -0
- data/lib/deplate/lib/tabmenu.js +146 -0
- data/lib/deplate/locale/de.latin1 +708 -0
- data/lib/deplate/locale/ru.koi8-r +48 -0
- data/lib/deplate/locale/zh_cn.gb2312 +35 -0
- data/lib/deplate/macros.rb +639 -0
- data/lib/deplate/messages.rb +120 -0
- data/lib/deplate/metadata.rb +77 -0
- data/lib/deplate/metadata/marshal.rb +24 -0
- data/lib/deplate/metadata/xml.rb +42 -0
- data/lib/deplate/metadata/yaml.rb +26 -0
- data/lib/deplate/mod/anyword.rb +56 -0
- data/lib/deplate/mod/babelfish.rb +27 -0
- data/lib/deplate/mod/code-gvim.rb +52 -0
- data/lib/deplate/mod/code-highlight.rb +91 -0
- data/lib/deplate/mod/colored-log.rb +17 -0
- data/lib/deplate/mod/de.rb +19 -0
- data/lib/deplate/mod/en.rb +17 -0
- data/lib/deplate/mod/endnotes.rb +60 -0
- data/lib/deplate/mod/fr.rb +46 -0
- data/lib/deplate/mod/html-asciimath.rb +40 -0
- data/lib/deplate/mod/html-deplate-button.rb +15 -0
- data/lib/deplate/mod/html-headings-navbar.rb +39 -0
- data/lib/deplate/mod/html-obfuscate-email.rb +47 -0
- data/lib/deplate/mod/html-sidebar.rb +232 -0
- data/lib/deplate/mod/htmlslides-navbar-fh.rb +32 -0
- data/lib/deplate/mod/iconv.rb +35 -0
- data/lib/deplate/mod/imgurl.rb +30 -0
- data/lib/deplate/mod/inlatex-compound.rb +69 -0
- data/lib/deplate/mod/koma.rb +109 -0
- data/lib/deplate/mod/latex-emph-table-head.rb +38 -0
- data/lib/deplate/mod/latex-styles.rb +461 -0
- data/lib/deplate/mod/latex-verbatim-small.rb +29 -0
- data/lib/deplate/mod/makefile.rb +194 -0
- data/lib/deplate/mod/mark-external-urls.rb +38 -0
- data/lib/deplate/mod/markup-1-warn.rb +37 -0
- data/lib/deplate/mod/markup-1.rb +41 -0
- data/lib/deplate/mod/navbar-png.rb +33 -0
- data/lib/deplate/mod/noindent.rb +32 -0
- data/lib/deplate/mod/numpara.rb +40 -0
- data/lib/deplate/mod/particle-math.rb +34 -0
- data/lib/deplate/mod/php-extra.rb +44 -0
- data/lib/deplate/mod/pstoedit.rb +71 -0
- data/lib/deplate/mod/recode.rb +57 -0
- data/lib/deplate/mod/ru_koi8-r.rb +20 -0
- data/lib/deplate/mod/smiley.rb +50 -0
- data/lib/deplate/mod/soffice.rb +23 -0
- data/lib/deplate/mod/symbols-latin1.rb +58 -0
- data/lib/deplate/mod/symbols-od-utf-8.rb +16 -0
- data/lib/deplate/mod/symbols-plain.rb +58 -0
- data/lib/deplate/mod/symbols-sgml.rb +97 -0
- data/lib/deplate/mod/symbols-utf-8.rb +81 -0
- data/lib/deplate/mod/symbols-xml.rb +34 -0
- data/lib/deplate/mod/syntax-region-alt.rb +37 -0
- data/lib/deplate/mod/utf8.rb +49 -0
- data/lib/deplate/mod/validate-html.rb +35 -0
- data/lib/deplate/mod/xmlrpc.rb +233 -0
- data/lib/deplate/mod/zh-cn-autospace.rb +108 -0
- data/lib/deplate/mod/zh-cn.rb +59 -0
- data/lib/deplate/once-method.rb +44 -0
- data/lib/deplate/output.rb +249 -0
- data/lib/deplate/particles.rb +815 -0
- data/lib/deplate/regions.rb +1076 -0
- data/lib/deplate/structured.rb +763 -0
- data/lib/deplate/template.rb +430 -0
- data/lib/deplate/templates/html-doc.html +28 -0
- data/lib/deplate/templates/html-left-tabbar-js.html +37 -0
- data/lib/deplate/templates/html-left-tabbar.html +31 -0
- data/lib/deplate/templates/html-tabbar-right-table.html +43 -0
- data/lib/deplate/templates/html-tabbar-right.html +23 -0
- data/lib/deplate/templates/html-tabbar-top.html +43 -0
- data/lib/deplate/templates/html-tabbar.html +31 -0
- data/lib/deplate/wiki-markup.rb +117 -0
- data/lib/deplate/xml.rb +109 -0
- data/lib/deplate/zh-cn.rb +59 -0
- data/lib/ps2ppm.rb +239 -0
- data/man/man1/deplate.1 +692 -0
- 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
|
+
|