ulmul 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +6 -0
- data/README-en +7 -5
- data/README-ja +8 -4
- data/Rakefile +14 -5
- data/XHTML-vs-HTML5.ja.txt +3 -2
- data/index.en.html +9 -7
- data/index.ja.html +10 -6
- data/lib/ulmul.rb +2 -2
- data/{slidy.js → ulmul-slidy.js} +346 -188
- data/ulmul.gemspec +4 -2
- data/ulmul2html5.css +4 -1
- data/ulmul2xhtml.css +4 -1
- metadata +3 -3
data/ChangeLog
CHANGED
data/README-en
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
"ULMUL" is an original Ultra Lightweight MarkUp Language.
|
3
3
|
ULMUL texts can be converted into HTML5 with "ulmul2html5" command
|
4
4
|
and into XHTML with "ulmul2xhtml" command.
|
5
|
-
TeX
|
5
|
+
TeX style equations are converted into MathML.
|
6
6
|
ULMUL is written in Ruby.
|
7
7
|
You can also use ulmul.rb as a library.
|
8
8
|
|
@@ -16,6 +16,7 @@ Download ULMUL from: http://rubyforge.org/projects/ulmul or http://rubygems.org/
|
|
16
16
|
etc. to read MathML.
|
17
17
|
* ulmul2xhtml output is good with the Slidy presentation environment
|
18
18
|
http://www.w3.org/Talks/Tools/Slidy/ using Firefox+CSS+XHTML+JavaScript.
|
19
|
+
Please use ulmul-slidy.js and ulmul-slidy.css in the package.
|
19
20
|
* Lines starting from "#" are comments.
|
20
21
|
* You can add your conversion rules to @subs_rules.
|
21
22
|
* List of contents will be automatically generated.
|
@@ -110,7 +111,7 @@ See http://kb.mozillazine.org/About:config for details.
|
|
110
111
|
=== Examples
|
111
112
|
$ ulmul2xhtml without-equations.txt > without-equations.html # XHTML1.0 Transitional
|
112
113
|
$ ulmul2xhtml with-equations.txt > with-equations.html # XHTML1.1 + MathML2.0
|
113
|
-
$ ulmul2xhtml -n 'Takeshi Nishimatsu' -s ulmul-slidy.css -j slidy.js presentation.txt > presentation.xhtml
|
114
|
+
$ ulmul2xhtml -n 'Takeshi Nishimatsu' -s ulmul-slidy.css -j ulmul-slidy.js presentation.txt > presentation.xhtml
|
114
115
|
$ ulmul2html5 with-equations.txt > with-equations.html # HTML5
|
115
116
|
|
116
117
|
=== Command options
|
@@ -156,15 +157,16 @@ You can copy, modify and redistribute ulmul.rb,
|
|
156
157
|
but only under the conditions described in
|
157
158
|
the GNU General Public License (the "GPL").
|
158
159
|
|
159
|
-
W3C has copyrights for slidy.js and ulmul-slidy.css
|
160
|
-
|
160
|
+
W3C has copyrights for ulmul-slidy.js and ulmul-slidy.css.
|
161
|
+
Their original names were slidy.js and slidy.css, respectively.
|
162
|
+
Takeshi Nishimatsu slightly modified them.
|
161
163
|
You can download the original package, slidy.zip, from
|
162
164
|
http://www.w3.org/Talks/Tools/Slidy/ . You can find
|
163
165
|
their licenses at http://www.w3.org/Consortium/Legal/copyright-documents
|
164
166
|
and http://www.w3.org/Consortium/Legal/copyright-software .
|
165
167
|
|
166
168
|
== Author of ULMUL
|
167
|
-
Takeshi Nishimatsu (t_nissie{at}yahoo.co.jp)
|
169
|
+
Takeshi Nishimatsu (t_nissie{at}yahoo.co.jp) http://t-nissie.users.sourceforge.net/
|
168
170
|
|
169
171
|
# Local variables:
|
170
172
|
# mode: rd
|
data/README-ja
CHANGED
@@ -16,6 +16,7 @@ Rubyで書かれています。ulmul.rbをライブラリとして利用する
|
|
16
16
|
math_ml.rb http://www.hinet.mydns.jp/?mathml.rb を使っています。
|
17
17
|
* ウェブ・ブラウザ+CSS+XHTML+JavaScriptを使ったプレゼン環境
|
18
18
|
Slidy http://www.w3.org/Talks/Tools/Slidy/ に対応したxhtmlが出力可能。
|
19
|
+
パッケージの中の ulmul-slidy.js と ulmul-slidy.css とを使ってください。
|
19
20
|
* =begin, =end はあってもなくてもかまいません。
|
20
21
|
* 行を#ではじめるとコメントになります。
|
21
22
|
* ulmul.rbをライブラリとしても使えます。
|
@@ -102,6 +103,8 @@ Fig. 1 ruby.jpg
|
|
102
103
|
|
103
104
|
== 使用方法
|
104
105
|
ulmul2xhtmlとulmul2html5の2つのコマンドがあります。
|
106
|
+
特に指定がなければ ulmul2xhtml.css と ulmul2html5.css とがそれぞれのCSSファイルのなります。
|
107
|
+
これら2つのファイルはパッケージに同梱されています。
|
105
108
|
|
106
109
|
2010年4月現在、ulmul2xhtmlの出力を.htmlの拡張子を持ったファイルにリダイレクトして
|
107
110
|
httpサーバからtext/htmlのMIMEタイプで送信されるようにすれば
|
@@ -116,7 +119,7 @@ IE8はMathMLで書かれた数式を含んだHTML5をうまく表示できない
|
|
116
119
|
=== 例
|
117
120
|
$ ulmul2xhtml without-equations.txt > without-equations.html # XHTML1.0 Transitional
|
118
121
|
$ ulmul2xhtml with-equations.txt > with-equations.html # XHTML1.1 + MathML2.0
|
119
|
-
$ ulmul2xhtml -n 'Takeshi Nishimatsu' -s ulmul-slidy.css -j slidy.js presentation.txt > presentation.xhtml
|
122
|
+
$ ulmul2xhtml -n 'Takeshi Nishimatsu' -s ulmul-slidy.css -j ulmul-slidy.js presentation.txt > presentation.xhtml
|
120
123
|
$ ulmul2html5 with-equations.txt > with-equations.html # HTML5
|
121
124
|
|
122
125
|
=== コマンド・ライン・オプション
|
@@ -157,15 +160,16 @@ You can copy, modify and redistribute ulmul.rb,
|
|
157
160
|
but only under the conditions described in
|
158
161
|
the GNU General Public License (the "GPL").
|
159
162
|
|
160
|
-
W3C has copyrights for slidy.js and ulmul-slidy.css
|
161
|
-
|
163
|
+
W3C has copyrights for ulmul-slidy.js and ulmul-slidy.css.
|
164
|
+
Their original names were slidy.js and slidy.css, respectively.
|
165
|
+
Takeshi Nishimatsu slightly modified them.
|
162
166
|
You can download the original package, slidy.zip, from
|
163
167
|
http://www.w3.org/Talks/Tools/Slidy/ . You can find
|
164
168
|
their licenses at http://www.w3.org/Consortium/Legal/copyright-documents
|
165
169
|
and http://www.w3.org/Consortium/Legal/copyright-software .
|
166
170
|
|
167
171
|
== 作者
|
168
|
-
西松タケシ (t_nissie{at}yahoo.co.jp)
|
172
|
+
西松タケシ (t_nissie{at}yahoo.co.jp) http://t-nissie.users.sourceforge.net/
|
169
173
|
|
170
174
|
# Local variables:
|
171
175
|
# mode: rd
|
data/Rakefile
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#! /usr/bin/env rake
|
2
2
|
# -*-Ruby-*-
|
3
|
-
# Time-stamp: <2010-
|
3
|
+
# Time-stamp: <2010-05-26 17:48:08 takeshi>
|
4
4
|
# Author: Takeshi Nishimatsu
|
5
5
|
##
|
6
6
|
$LOAD_PATH.unshift('lib')
|
@@ -50,18 +50,27 @@ end
|
|
50
50
|
desc "Publish to RubyForge"
|
51
51
|
task :rubyforge => ["index.en.html",
|
52
52
|
"index.ja.html",
|
53
|
-
"
|
53
|
+
"index.var",
|
54
|
+
"ulmul2xhtml.css", "favicon.ico", "ruby.jpg"] do |t|
|
54
55
|
t.prerequisites.each do |f|
|
55
|
-
sh "scp #{f}
|
56
|
+
sh "scp #{f} t-nissie@rubyforge.org:/var/www/gforge-projects/ulmul/"
|
56
57
|
end
|
58
|
+
sh "scp index.en.html t-nissie@rubyforge.org:/var/www/gforge-projects/ulmul/index.html"
|
59
|
+
sh "scp dot.htaccess t-nissie@rubyforge.org:/var/www/gforge-projects/ulmul/.htaccess"
|
60
|
+
end
|
61
|
+
|
62
|
+
desc "Create presentation.en.xhtml from README-en"
|
63
|
+
file "presentation.en.xhtml" => ["bin/ulmul2xhtml", "ulmul-slidy.css", "README-en",
|
64
|
+
"ulmul-slidy.js", "lib/ulmul.rb"] do |t|
|
65
|
+
sh "ruby -I lib #{t.prerequisites[0]} -n 'Takeshi Nishimatsu' -s #{t.prerequisites[1]} -j #{t.prerequisites[3]} -l en #{t.prerequisites[2]} > #{t.name}"
|
57
66
|
end
|
58
67
|
|
59
68
|
desc "Create index.en.html"
|
60
69
|
file "index.en.html" => ["bin/ulmul2xhtml", "ulmul2xhtml.css", "README-en", "lib/ulmul.rb"] do |t|
|
61
|
-
sh "ruby -I lib #{t.prerequisites[0]} -n 'Takeshi Nishimatsu' -l en #{t.prerequisites[2]} > #{t.name}"
|
70
|
+
sh "ruby -I lib #{t.prerequisites[0]} -n 'Takeshi Nishimatsu' -l en #{t.prerequisites[2]} | sed -e 's%</h1>%</h1><div class=\"navi\">[<a href=\"index.en.html\">English</a>/<a href=\"index.ja.html\">Japanese</a>]</div>%' > #{t.name}"
|
62
71
|
end
|
63
72
|
|
64
73
|
desc "Create index.ja.html"
|
65
74
|
file "index.ja.html" => ["bin/ulmul2xhtml", "ulmul2xhtml.css", "README-ja", "lib/ulmul.rb"] do |t|
|
66
|
-
sh "ruby -I lib #{t.prerequisites[0]} -n 'Takeshi Nishimatsu' -l ja #{t.prerequisites[2]} > #{t.name}"
|
75
|
+
sh "ruby -I lib #{t.prerequisites[0]} -n 'Takeshi Nishimatsu' -l ja #{t.prerequisites[2]} | sed -e 's%</h1>%</h1><div class=\"navi\">[<a href=\"index.en.html\">English</a>/<a href=\"index.ja.html\">Japanese</a>]</div>%' > #{t.name}"
|
67
76
|
end
|
data/XHTML-vs-HTML5.ja.txt
CHANGED
data/index.en.html
CHANGED
@@ -12,12 +12,12 @@
|
|
12
12
|
</head>
|
13
13
|
<body>
|
14
14
|
<div class="slide cover">
|
15
|
-
<h1 id="LABEL-1">ULMUL (Ultra Lightweight MarkUp Language)</h1>
|
15
|
+
<h1 id="LABEL-1">ULMUL (Ultra Lightweight MarkUp Language)</h1><div class="navi">[<a href="index.en.html">English</a>/<a href="index.ja.html">Japanese</a>]</div>
|
16
16
|
<p>
|
17
17
|
"ULMUL" is an original Ultra Lightweight MarkUp Language.
|
18
18
|
ULMUL texts can be converted into HTML5 with "ulmul2html5" command
|
19
19
|
and into XHTML with "ulmul2xhtml" command.
|
20
|
-
TeX
|
20
|
+
TeX style equations are converted into MathML.
|
21
21
|
ULMUL is written in Ruby.
|
22
22
|
You can also use ulmul.rb as a library.
|
23
23
|
</p>
|
@@ -65,7 +65,8 @@ Download ULMUL from: <a href="http://rubyforge.org/projects/ulmul">http://rubyfo
|
|
65
65
|
will be converted into MathML. You can use Firefox version 3.x, IE+MathPlayer,
|
66
66
|
etc. to read MathML.</li>
|
67
67
|
<li>ulmul2xhtml output is good with the Slidy presentation environment
|
68
|
-
<a href="http://www.w3.org/Talks/Tools/Slidy/">http://www.w3.org/Talks/Tools/Slidy/</a> using Firefox+CSS+XHTML+JavaScript
|
68
|
+
<a href="http://www.w3.org/Talks/Tools/Slidy/">http://www.w3.org/Talks/Tools/Slidy/</a> using Firefox+CSS+XHTML+JavaScript.
|
69
|
+
Please use ulmul-slidy.js and ulmul-slidy.css in the package.</li>
|
69
70
|
<li>Lines starting from "#" are comments.</li>
|
70
71
|
<li>You can add your conversion rules to @subs_rules.</li>
|
71
72
|
<li>List of contents will be automatically generated.</li>
|
@@ -229,7 +230,7 @@ See <a href="http://kb.mozillazine.org/About:config">http://kb.mozillazine.org/A
|
|
229
230
|
<h3 id="LABEL-19">Examples</h3>
|
230
231
|
<pre>$ ulmul2xhtml without-equations.txt > without-equations.html # XHTML1.0 Transitional
|
231
232
|
$ ulmul2xhtml with-equations.txt > with-equations.html # XHTML1.1 + MathML2.0
|
232
|
-
$ ulmul2xhtml -n 'Takeshi Nishimatsu' -s ulmul-slidy.css -j slidy.js presentation.txt > presentation.xhtml
|
233
|
+
$ ulmul2xhtml -n 'Takeshi Nishimatsu' -s ulmul-slidy.css -j ulmul-slidy.js presentation.txt > presentation.xhtml
|
233
234
|
$ ulmul2html5 with-equations.txt > with-equations.html # HTML5
|
234
235
|
</pre>
|
235
236
|
<h3 id="LABEL-20">Command options</h3>
|
@@ -310,8 +311,9 @@ but only under the conditions described in
|
|
310
311
|
the GNU General Public License (the "GPL").
|
311
312
|
</p>
|
312
313
|
<p>
|
313
|
-
W3C has copyrights for slidy.js and ulmul-slidy.css
|
314
|
-
|
314
|
+
W3C has copyrights for ulmul-slidy.js and ulmul-slidy.css.
|
315
|
+
Their original names were slidy.js and slidy.css, respectively.
|
316
|
+
Takeshi Nishimatsu slightly modified them.
|
315
317
|
You can download the original package, slidy.zip, from
|
316
318
|
<a href="http://www.w3.org/Talks/Tools/Slidy/">http://www.w3.org/Talks/Tools/Slidy/</a> . You can find
|
317
319
|
their licenses at <a href="http://www.w3.org/Consortium/Legal/copyright-documents">http://www.w3.org/Consortium/Legal/copyright-documents</a>
|
@@ -323,7 +325,7 @@ and <a href="http://www.w3.org/Consortium/Legal/copyright-software">http://www.w
|
|
323
325
|
<div class="slide">
|
324
326
|
<h2 id="LABEL-31">Author of ULMUL</h2>
|
325
327
|
<p>
|
326
|
-
Takeshi Nishimatsu (t_nissie{at}yahoo.co.jp)
|
328
|
+
Takeshi Nishimatsu (t_nissie{at}yahoo.co.jp) <a href="http://t-nissie.users.sourceforge.net/">http://t-nissie.users.sourceforge.net/</a>
|
327
329
|
</p>
|
328
330
|
</div>
|
329
331
|
</body>
|
data/index.ja.html
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
</head>
|
13
13
|
<body>
|
14
14
|
<div class="slide cover">
|
15
|
-
<h1 id="LABEL-1">ULMUL取扱説明書</h1>
|
15
|
+
<h1 id="LABEL-1">ULMUL取扱説明書</h1><div class="navi">[<a href="index.en.html">English</a>/<a href="index.ja.html">Japanese</a>]</div>
|
16
16
|
<p>
|
17
17
|
ULMULは独自の軽量マークアップ言語 (Ultra Lightweight MarkUp Language) です。
|
18
18
|
コマンドulmul2html5でHTML5に、ulmul2xhtmlでXHTMLに変換できます。
|
@@ -65,7 +65,8 @@ Rubyで書かれています。ulmul.rbをライブラリとして利用する
|
|
65
65
|
Firefoxのバージョン3.0以上やIE+MathPlayerで読めるようです。
|
66
66
|
math_ml.rb <a href="http://www.hinet.mydns.jp/?mathml.rb">http://www.hinet.mydns.jp/?mathml.rb</a> を使っています。</li>
|
67
67
|
<li>ウェブ・ブラウザ+CSS+XHTML+JavaScriptを使ったプレゼン環境
|
68
|
-
Slidy <a href="http://www.w3.org/Talks/Tools/Slidy/">http://www.w3.org/Talks/Tools/Slidy/</a> に対応したxhtml
|
68
|
+
Slidy <a href="http://www.w3.org/Talks/Tools/Slidy/">http://www.w3.org/Talks/Tools/Slidy/</a> に対応したxhtmlが出力可能。
|
69
|
+
パッケージの中の ulmul-slidy.js と ulmul-slidy.css とを使ってください。</li>
|
69
70
|
<li>=begin, =end はあってもなくてもかまいません。</li>
|
70
71
|
<li>行を#ではじめるとコメントになります。</li>
|
71
72
|
<li>ulmul.rbをライブラリとしても使えます。</li>
|
@@ -218,6 +219,8 @@ Mass <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><mi>m</mi
|
|
218
219
|
<h2 id="LABEL-18">使用方法</h2>
|
219
220
|
<p>
|
220
221
|
ulmul2xhtmlとulmul2html5の2つのコマンドがあります。
|
222
|
+
特に指定がなければ ulmul2xhtml.css と ulmul2html5.css とがそれぞれのCSSファイルのなります。
|
223
|
+
これら2つのファイルはパッケージに同梱されています。
|
221
224
|
</p>
|
222
225
|
<p>
|
223
226
|
2010年4月現在、ulmul2xhtmlの出力を.htmlの拡張子を持ったファイルにリダイレクトして
|
@@ -235,7 +238,7 @@ IE8はMathMLで書かれた数式を含んだHTML5をうまく表示できない
|
|
235
238
|
<h3 id="LABEL-19">例</h3>
|
236
239
|
<pre>$ ulmul2xhtml without-equations.txt > without-equations.html # XHTML1.0 Transitional
|
237
240
|
$ ulmul2xhtml with-equations.txt > with-equations.html # XHTML1.1 + MathML2.0
|
238
|
-
$ ulmul2xhtml -n 'Takeshi Nishimatsu' -s ulmul-slidy.css -j slidy.js presentation.txt > presentation.xhtml
|
241
|
+
$ ulmul2xhtml -n 'Takeshi Nishimatsu' -s ulmul-slidy.css -j ulmul-slidy.js presentation.txt > presentation.xhtml
|
239
242
|
$ ulmul2html5 with-equations.txt > with-equations.html # HTML5
|
240
243
|
</pre>
|
241
244
|
<h3 id="LABEL-20">コマンド・ライン・オプション</h3>
|
@@ -312,8 +315,9 @@ but only under the conditions described in
|
|
312
315
|
the GNU General Public License (the "GPL").
|
313
316
|
</p>
|
314
317
|
<p>
|
315
|
-
W3C has copyrights for slidy.js and ulmul-slidy.css
|
316
|
-
|
318
|
+
W3C has copyrights for ulmul-slidy.js and ulmul-slidy.css.
|
319
|
+
Their original names were slidy.js and slidy.css, respectively.
|
320
|
+
Takeshi Nishimatsu slightly modified them.
|
317
321
|
You can download the original package, slidy.zip, from
|
318
322
|
<a href="http://www.w3.org/Talks/Tools/Slidy/">http://www.w3.org/Talks/Tools/Slidy/</a> . You can find
|
319
323
|
their licenses at <a href="http://www.w3.org/Consortium/Legal/copyright-documents">http://www.w3.org/Consortium/Legal/copyright-documents</a>
|
@@ -325,7 +329,7 @@ and <a href="http://www.w3.org/Consortium/Legal/copyright-software">http://www.w
|
|
325
329
|
<div class="slide">
|
326
330
|
<h2 id="LABEL-31">作者</h2>
|
327
331
|
<p>
|
328
|
-
西松タケシ (t_nissie{at}yahoo.co.jp)
|
332
|
+
西松タケシ (t_nissie{at}yahoo.co.jp) <a href="http://t-nissie.users.sourceforge.net/">http://t-nissie.users.sourceforge.net/</a>
|
329
333
|
</p>
|
330
334
|
</div>
|
331
335
|
</body>
|
data/lib/ulmul.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
# ulmul.rb
|
3
|
-
# Time-stamp: <2010-
|
3
|
+
# Time-stamp: <2010-05-26 17:04:08 takeshi>
|
4
4
|
# Author: Takeshi Nishimatsu
|
5
5
|
##
|
6
6
|
require "rubygems"
|
@@ -72,7 +72,7 @@ class Contents
|
|
72
72
|
end
|
73
73
|
|
74
74
|
class Ulmul
|
75
|
-
VERSION = '0.
|
75
|
+
VERSION = '0.4.0'
|
76
76
|
CONTENTS_HERE="<!-- Contents -->"
|
77
77
|
CONTENTS_RANGE_DEFAULT=2..3
|
78
78
|
TABLE={
|
data/{slidy.js → ulmul-slidy.js}
RENAMED
@@ -1,6 +1,6 @@
|
|
1
|
-
/* slidy.js
|
1
|
+
/* ulmul-slidy.js
|
2
2
|
|
3
|
-
Copyright (c) 2005 W3C (MIT, ERCIM, Keio), All Rights Reserved.
|
3
|
+
Copyright (c) 2005-2009 W3C (MIT, ERCIM, Keio), All Rights Reserved.
|
4
4
|
W3C liability, trademark, document use and software licensing
|
5
5
|
rules apply, see:
|
6
6
|
|
@@ -8,7 +8,7 @@
|
|
8
8
|
http://www.w3.org/Consortium/Legal/copyright-software
|
9
9
|
|
10
10
|
|
11
|
-
|
11
|
+
From slidy.js to ulmul-slidy.js, slightly modified by Takeshi Nishimatsu in 2007-09-21:
|
12
12
|
Original: if (node.nodeName == "H1" || node.nodeName == "h1")
|
13
13
|
This one: if (node.nodeName == "H1" || node.nodeName == "h1" || node.nodeName == "H2" || node.nodeName == "h2")
|
14
14
|
|
@@ -17,24 +17,54 @@
|
|
17
17
|
var ns_pos = (typeof window.pageYOffset!='undefined');
|
18
18
|
var khtml = ((navigator.userAgent).indexOf("KHTML") >= 0 ? true : false);
|
19
19
|
var opera = ((navigator.userAgent).indexOf("Opera") >= 0 ? true : false);
|
20
|
+
var ie = (typeof document.all != "undefined" && !opera);
|
20
21
|
var ie7 = (!ns_pos && navigator.userAgent.indexOf("MSIE 7") != -1);
|
22
|
+
var ie8 = (!ns_pos && navigator.userAgent.indexOf("MSIE 8") != -1);
|
23
|
+
var slidy_started = false;
|
21
24
|
|
22
|
-
|
25
|
+
if (ie && !ie8)
|
26
|
+
document.write("<iframe id='historyFrame' src='javascript:\"<html"+"></"+"html>\"' height='1' width='1' style='position:absolute;left:-800px'></iframe>");
|
23
27
|
|
24
28
|
// IE only event handlers to ensure all slides are printed
|
25
29
|
// I don't yet know how to emulate these for other browsers
|
26
|
-
|
27
|
-
|
30
|
+
if (typeof beforePrint != 'undefined')
|
31
|
+
{
|
32
|
+
window.onbeforeprint = beforePrint;
|
33
|
+
window.onafterprint = afterPrint;
|
34
|
+
}
|
35
|
+
|
36
|
+
// to avoid a clash with other scripts or onload attribute on <body>
|
37
|
+
// we use something smarter than window.onload
|
38
|
+
//window.onload = startup;
|
39
|
+
|
40
|
+
|
41
|
+
if (ie)
|
42
|
+
setTimeout(ieSlidyInit, 100);
|
43
|
+
else if (document.addEventListener)
|
44
|
+
document.addEventListener("DOMContentLoaded", startup, false);
|
45
|
+
|
46
|
+
function ieSlidyInit()
|
47
|
+
{
|
48
|
+
if (//document.readyState == "interactive" ||
|
49
|
+
document.readyState == "complete" ||
|
50
|
+
document.readyState == "loaded")
|
51
|
+
{
|
52
|
+
startup();
|
53
|
+
}
|
54
|
+
else
|
55
|
+
{
|
56
|
+
setTimeout(ieSlidyInit, 100);
|
57
|
+
}
|
58
|
+
}
|
28
59
|
|
29
|
-
|
30
|
-
setTimeout(hideAll, 50);
|
60
|
+
setTimeout(hideSlides, 50);
|
31
61
|
|
32
|
-
function
|
62
|
+
function hideSlides()
|
33
63
|
{
|
34
64
|
if (document.body)
|
35
65
|
document.body.style.visibility = "hidden";
|
36
66
|
else
|
37
|
-
setTimeout(
|
67
|
+
setTimeout(hideSlides, 50);
|
38
68
|
}
|
39
69
|
|
40
70
|
var slidenum = 0; // integer slide count: 0, 1, 2, ...
|
@@ -64,7 +94,6 @@ var sizeIndex = 0;
|
|
64
94
|
var sizeAdjustment = 0;
|
65
95
|
var sizes = new Array("10pt", "12pt", "14pt", "16pt", "18pt", "20pt",
|
66
96
|
"22pt", "24pt", "26pt", "28pt", "30pt", "32pt");
|
67
|
-
|
68
97
|
var okayForIncremental = incrementalElementList();
|
69
98
|
|
70
99
|
// needed for efficient resizing
|
@@ -81,104 +110,120 @@ var lang = "en";
|
|
81
110
|
|
82
111
|
//var localize = {};
|
83
112
|
|
84
|
-
// for each language there is an associative array
|
85
|
-
var strings_es = {
|
86
|
-
"slide":"pág.",
|
87
|
-
"help?":"Ayuda",
|
88
|
-
"contents?":"Índice",
|
89
|
-
"table of contents":"tabla de contenidos",
|
90
|
-
"Table of Contents":"Tabla de Contenidos",
|
91
|
-
"restart presentation":"Reiniciar presentación",
|
92
|
-
"restart?":"Inicio"
|
93
|
-
};
|
94
|
-
|
95
|
-
strings_es[helpText] =
|
96
|
-
"Utilice el ratón, barra espaciadora, teclas Izda/
|
97
|
-
"o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.";
|
98
|
-
|
99
|
-
var
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
var
|
114
|
-
"slide":"
|
115
|
-
"help?":"
|
116
|
-
"contents?":"
|
117
|
-
"table of contents":"
|
118
|
-
"Table of Contents":"
|
119
|
-
"restart presentation":"
|
120
|
-
"restart?":"
|
121
|
-
};
|
122
|
-
|
123
|
-
|
124
|
-
"
|
125
|
-
"
|
126
|
-
|
127
|
-
var
|
128
|
-
"slide":"
|
129
|
-
"help?":"
|
130
|
-
"contents?":"
|
131
|
-
"table of contents":"
|
132
|
-
"Table of Contents":"
|
133
|
-
"restart presentation":"
|
134
|
-
"restart?":"
|
135
|
-
};
|
136
|
-
|
137
|
-
|
138
|
-
"
|
139
|
-
"
|
140
|
-
|
141
|
-
var
|
142
|
-
"slide":"
|
143
|
-
"help?":"
|
144
|
-
"contents?":"
|
145
|
-
"table of contents":"
|
146
|
-
"Table of Contents":"
|
147
|
-
"restart presentation":"
|
148
|
-
"restart?":"
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
"
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
"
|
158
|
-
"
|
159
|
-
"contents
|
160
|
-
"
|
161
|
-
"
|
162
|
-
"restart
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
"
|
168
|
-
"
|
169
|
-
|
170
|
-
var
|
171
|
-
"slide":"
|
172
|
-
"help?":"
|
173
|
-
"contents?":"
|
174
|
-
"table of contents":"
|
175
|
-
"Table of Contents":"
|
176
|
-
"restart presentation":"
|
177
|
-
"restart?":"
|
178
|
-
};
|
179
|
-
|
180
|
-
|
181
|
-
"
|
113
|
+
// for each language there is an associative array
|
114
|
+
var strings_es = {
|
115
|
+
"slide":"pág.",
|
116
|
+
"help?":"Ayuda",
|
117
|
+
"contents?":"Índice",
|
118
|
+
"table of contents":"tabla de contenidos",
|
119
|
+
"Table of Contents":"Tabla de Contenidos",
|
120
|
+
"restart presentation":"Reiniciar presentación",
|
121
|
+
"restart?":"Inicio"
|
122
|
+
};
|
123
|
+
|
124
|
+
strings_es[helpText] =
|
125
|
+
"Utilice el ratón, barra espaciadora, teclas Izda/Dcha, " +
|
126
|
+
"o Re pág y Av pág. Use S y B para cambiar el tamaño de fuente.";
|
127
|
+
|
128
|
+
var strings_ca = {
|
129
|
+
"slide":"pàg..",
|
130
|
+
"help?":"Ajuda",
|
131
|
+
"contents?":"Índex",
|
132
|
+
"table of contents":"taula de continguts",
|
133
|
+
"Table of Contents":"Taula de Continguts",
|
134
|
+
"restart presentation":"Reiniciar presentació",
|
135
|
+
"restart?":"Inici"
|
136
|
+
};
|
137
|
+
|
138
|
+
strings_ca[helpText] =
|
139
|
+
"Utilitzi el ratolí, barra espaiadora, tecles Esq./Dta. " +
|
140
|
+
"o Re pàg y Av pàg. Usi S i B per canviar grandària de font.";
|
141
|
+
|
142
|
+
var strings_nl = {
|
143
|
+
"slide":"pagina",
|
144
|
+
"help?":"Help?",
|
145
|
+
"contents?":"Inhoud?",
|
146
|
+
"table of contents":"inhoudsopgave",
|
147
|
+
"Table of Contents":"Inhoudsopgave",
|
148
|
+
"restart presentation":"herstart presentatie",
|
149
|
+
"restart?":"Herstart?"
|
150
|
+
};
|
151
|
+
|
152
|
+
strings_nl[helpText] =
|
153
|
+
"Navigeer d.m.v. het muis, spatiebar, Links/Rechts toetsen, " +
|
154
|
+
"of PgUp en PgDn. Gebruik S en B om de karaktergrootte te veranderen.";
|
155
|
+
|
156
|
+
var strings_de = {
|
157
|
+
"slide":"Seite",
|
158
|
+
"help?":"Hilfe",
|
159
|
+
"contents?":"Übersicht",
|
160
|
+
"table of contents":"Inhaltsverzeichnis",
|
161
|
+
"Table of Contents":"Inhaltsverzeichnis",
|
162
|
+
"restart presentation":"Präsentation neu starten",
|
163
|
+
"restart?":"Neustart"
|
164
|
+
};
|
165
|
+
|
166
|
+
strings_de[helpText] =
|
167
|
+
"Benutzen Sie die Maus, Leerschlag, die Cursortasten links/rechts oder " +
|
168
|
+
"Page up/Page Down zum Wechseln der Seiten und S und B für die Schriftgrösse.";
|
169
|
+
|
170
|
+
var strings_pl = {
|
171
|
+
"slide":"slajd",
|
172
|
+
"help?":"pomoc?",
|
173
|
+
"contents?":"spis treści?",
|
174
|
+
"table of contents":"spis treści",
|
175
|
+
"Table of Contents":"Spis Treści",
|
176
|
+
"restart presentation":"Restartuj prezentację",
|
177
|
+
"restart?":"restart?"
|
178
|
+
};
|
179
|
+
|
180
|
+
strings_pl[helpText] =
|
181
|
+
"Zmieniaj slajdy klikając myszą, naciskając spację, strzałki lewo/prawo" +
|
182
|
+
"lub PgUp / PgDn. Użyj klawiszy S i B, aby zmienić rozmiar czczionki.";
|
183
|
+
|
184
|
+
var strings_fr = {
|
185
|
+
"slide":"page",
|
186
|
+
"help?":"Aide",
|
187
|
+
"contents?":"Index",
|
188
|
+
"table of contents":"table des matières",
|
189
|
+
"Table of Contents":"Table des matières",
|
190
|
+
"restart presentation":"Recommencer l'exposé",
|
191
|
+
"restart?":"Début"
|
192
|
+
};
|
193
|
+
|
194
|
+
strings_fr[helpText] =
|
195
|
+
"Naviguez avec la souris, la barre d'espace, les flèches " +
|
196
|
+
"gauche/droite ou les touches Pg Up, Pg Dn. Utilisez " +
|
197
|
+
"les touches S et B pour modifier la taille de la police.";
|
198
|
+
|
199
|
+
var strings_hu = {
|
200
|
+
"slide":"oldal",
|
201
|
+
"help?":"segítség",
|
202
|
+
"contents?":"tartalom",
|
203
|
+
"table of contents":"tartalomjegyzék",
|
204
|
+
"Table of Contents":"Tartalomjegyzék",
|
205
|
+
"restart presentation":"bemutató újraindítása",
|
206
|
+
"restart?":"újraindítás"
|
207
|
+
};
|
208
|
+
|
209
|
+
strings_hu[helpText] =
|
210
|
+
"Az oldalak közti lépkedéshez kattintson az egérrel, vagy " +
|
211
|
+
"használja a szóköz, a bal, vagy a jobb nyíl, illetve a Page Down, " +
|
212
|
+
"Page Up billentyűket. Az S és a B billentyűkkel változtathatja " +
|
213
|
+
"a szöveg méretét.";
|
214
|
+
|
215
|
+
var strings_it = {
|
216
|
+
"slide":"pag.",
|
217
|
+
"help?":"Aiuto",
|
218
|
+
"contents?":"Indice",
|
219
|
+
"table of contents":"indice",
|
220
|
+
"Table of Contents":"Indice",
|
221
|
+
"restart presentation":"Ricominciare la presentazione",
|
222
|
+
"restart?":"Inizio"
|
223
|
+
};
|
224
|
+
|
225
|
+
strings_it[helpText] =
|
226
|
+
"Navigare con mouse, barra spazio, frecce sinistra/destra o " +
|
182
227
|
"PgUp e PgDn. Usare S e B per cambiare la dimensione dei caratteri.";
|
183
228
|
|
184
229
|
var strings_el = {
|
@@ -194,7 +239,7 @@ var strings_el = {
|
|
194
239
|
strings_el[helpText] =
|
195
240
|
"Πλοηγηθείτε με το κλίκ του ποντικιού, το space, τα βέλη αριστερά/δεξιά, " +
|
196
241
|
"ή Page Up και Page Down. Χρησιμοποιήστε τα πλήκτρα S και B για να αλλάξετε " +
|
197
|
-
"το μέγεθος της γραμματοσειράς.";
|
242
|
+
"το μέγεθος της γραμματοσειράς.";
|
198
243
|
|
199
244
|
var strings_ja = {
|
200
245
|
"slide":"スライド",
|
@@ -210,24 +255,62 @@ strings_ja[helpText] =
|
|
210
255
|
"マウス左クリック ・ スペース ・ 左右キー " +
|
211
256
|
"または Page Up ・ Page Downで操作, S ・ Bでフォントサイズ変更";
|
212
257
|
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
258
|
+
var strings_zh = {
|
259
|
+
"slide":"幻灯片",
|
260
|
+
"help?":"帮助?",
|
261
|
+
"contents?":"内容?",
|
262
|
+
"table of contents":"目录",
|
263
|
+
"Table of Contents":"目录",
|
264
|
+
"restart presentation":"重新启动展示",
|
265
|
+
"restart?":"重新启动?"
|
266
|
+
};
|
267
|
+
|
268
|
+
strings_zh[helpText] =
|
269
|
+
"用鼠标点击, 空格条, 左右箭头, Pg Up 和 Pg Dn 导航. " +
|
270
|
+
"用 S, B 改变字体大小.";
|
271
|
+
|
272
|
+
var strings_ru = {
|
273
|
+
"slide":"слайд",
|
274
|
+
"help?":"помощь?",
|
275
|
+
"contents?":"содержание?",
|
276
|
+
"table of contents":"оглавление",
|
277
|
+
"Table of Contents":"Оглавление",
|
278
|
+
"restart presentation":"перезапустить презентацию",
|
279
|
+
"restart?":"перезапуск?"
|
280
|
+
};
|
281
|
+
|
282
|
+
strings_ru[helpText] =
|
283
|
+
"Перемещайтесь кликая мышкой, используя клавишу пробел, стрелки" +
|
284
|
+
"влево/вправо или Pg Up и Pg Dn. Клавиши S и B меняют размер шрифта.";
|
285
|
+
|
286
|
+
|
287
|
+
// each such language array is declared in the localize array
|
288
|
+
// used indirectly as in help.innerHTML = "help".localize();
|
289
|
+
var localize = {
|
290
|
+
"es":strings_es,
|
291
|
+
"ca":strings_ca,
|
292
|
+
"nl":strings_nl,
|
293
|
+
"de":strings_de,
|
294
|
+
"pl":strings_pl,
|
295
|
+
"fr":strings_fr,
|
296
|
+
"hu":strings_hu,
|
223
297
|
"it":strings_it,
|
224
298
|
"el":strings_el,
|
225
|
-
"jp":strings_ja
|
299
|
+
"jp":strings_ja,
|
300
|
+
"zh":strings_zh,
|
301
|
+
"ru":strings_ru
|
226
302
|
};
|
227
303
|
|
228
304
|
/* general initialization */
|
229
305
|
function startup()
|
230
306
|
{
|
307
|
+
if (slidy_started)
|
308
|
+
{
|
309
|
+
alert("already started");
|
310
|
+
return;
|
311
|
+
}
|
312
|
+
slidy_started = true;
|
313
|
+
|
231
314
|
// find human language from html element
|
232
315
|
// for use in localizing strings
|
233
316
|
lang = document.body.parentNode.getAttribute("lang");
|
@@ -284,8 +367,10 @@ function startup()
|
|
284
367
|
document.onkeydown = keyDown;
|
285
368
|
window.onresize = resized;
|
286
369
|
window.onscroll = scrolled;
|
370
|
+
window.onunload = unloaded;
|
287
371
|
singleSlideView();
|
288
372
|
|
373
|
+
|
289
374
|
setLocation();
|
290
375
|
resized();
|
291
376
|
|
@@ -293,6 +378,7 @@ function startup()
|
|
293
378
|
setTimeout("ieHack()", 100);
|
294
379
|
|
295
380
|
showToolbar();
|
381
|
+
setInterval("checkLocation()", 200); // for back button detection
|
296
382
|
}
|
297
383
|
|
298
384
|
// add localize method to all strings for use
|
@@ -353,6 +439,11 @@ function ieHack()
|
|
353
439
|
window.resizeBy(0, 1);
|
354
440
|
}
|
355
441
|
|
442
|
+
function unloaded(e)
|
443
|
+
{
|
444
|
+
//alert("unloaded");
|
445
|
+
}
|
446
|
+
|
356
447
|
// Firefox reload SVG bug work around
|
357
448
|
function reload(e)
|
358
449
|
{
|
@@ -520,23 +611,6 @@ function showToolbar()
|
|
520
611
|
}
|
521
612
|
}
|
522
613
|
|
523
|
-
function test()
|
524
|
-
{
|
525
|
-
var s = "docH: " + documentHeight() +
|
526
|
-
" winH: " + lastHeight +
|
527
|
-
" yoffset: " + scrollYOffset() +
|
528
|
-
" toolbot: " + (documentHeight() - lastHeight - scrollYOffset());
|
529
|
-
|
530
|
-
//alert(s);
|
531
|
-
|
532
|
-
var slide = slides[slidenum];
|
533
|
-
// IE getAttribute requires "class" to be "className"
|
534
|
-
var name = ns_pos ? "class" : "className";
|
535
|
-
var style = (slide.currentStyle ? slide.currentStyle["backgroundColor"] :
|
536
|
-
document.defaultView.getComputedStyle(slide, '').getPropertyValue("background-color"));
|
537
|
-
alert("class='" + slide.getAttribute(name) + "' backgroundColor: " + style);
|
538
|
-
}
|
539
|
-
|
540
614
|
function hideToolbar()
|
541
615
|
{
|
542
616
|
toolbar.style.display = "none";
|
@@ -771,11 +845,17 @@ function keyDown(event)
|
|
771
845
|
|
772
846
|
if (key == 34) // Page Down
|
773
847
|
{
|
848
|
+
if (viewAll)
|
849
|
+
return true;
|
850
|
+
|
774
851
|
nextSlide(false);
|
775
852
|
return cancel(event);
|
776
853
|
}
|
777
854
|
else if (key == 33) // Page Up
|
778
855
|
{
|
856
|
+
if (viewAll)
|
857
|
+
return true;
|
858
|
+
|
779
859
|
previousSlide(false);
|
780
860
|
return cancel(event);
|
781
861
|
}
|
@@ -935,8 +1015,7 @@ function mouseButtonClick(e)
|
|
935
1015
|
}
|
936
1016
|
else leftclick = true;
|
937
1017
|
|
938
|
-
//
|
939
|
-
hideTableOfContents();
|
1018
|
+
//alert("selected text length = "+selectedTextLen);
|
940
1019
|
|
941
1020
|
if (selectedTextLen > 0)
|
942
1021
|
{
|
@@ -946,12 +1025,16 @@ function mouseButtonClick(e)
|
|
946
1025
|
return false;
|
947
1026
|
}
|
948
1027
|
|
1028
|
+
// dismiss table of contents
|
1029
|
+
hideTableOfContents();
|
1030
|
+
|
949
1031
|
// check if target is something that probably want's clicks
|
950
1032
|
// e.g. embed, object, input, textarea, select, option
|
951
1033
|
|
952
1034
|
if (mouseClickEnabled && leftclick &&
|
953
1035
|
target.nodeName != "EMBED" &&
|
954
1036
|
target.nodeName != "OBJECT" &&
|
1037
|
+
target.nodeName != "VIDEO" &&
|
955
1038
|
target.nodeName != "INPUT" &&
|
956
1039
|
target.nodeName != "TEXTAREA" &&
|
957
1040
|
target.nodeName != "SELECT" &&
|
@@ -1088,6 +1171,22 @@ function lastSlide()
|
|
1088
1171
|
}
|
1089
1172
|
}
|
1090
1173
|
|
1174
|
+
// first slide is 0
|
1175
|
+
function gotoSlide(num)
|
1176
|
+
{
|
1177
|
+
//alert("going to slide " + (num+1));
|
1178
|
+
var slide = slides[slidenum];
|
1179
|
+
hideSlide(slide);
|
1180
|
+
slidenum = num;
|
1181
|
+
slide = slides[slidenum];
|
1182
|
+
lastShown = null;
|
1183
|
+
setVisibilityAllIncremental("hidden");
|
1184
|
+
setEosStatus(!nextIncrementalItem(lastShown));
|
1185
|
+
document.title = title + " (" + (slidenum+1) + ")";
|
1186
|
+
showSlide(slide);
|
1187
|
+
showSlideNumber();
|
1188
|
+
}
|
1189
|
+
|
1091
1190
|
function setEosStatus(state)
|
1092
1191
|
{
|
1093
1192
|
if (eos)
|
@@ -1248,35 +1347,49 @@ function hasToken(str, token)
|
|
1248
1347
|
|
1249
1348
|
function getClassList(element)
|
1250
1349
|
{
|
1251
|
-
if (typeof
|
1252
|
-
return element.
|
1350
|
+
if (typeof element.className != 'undefined')
|
1351
|
+
return element.className;
|
1253
1352
|
|
1254
|
-
|
1353
|
+
var clsname = (ns_pos||ie8) ? "class" : "className";
|
1354
|
+
return element.getAttribute(clsname);
|
1255
1355
|
}
|
1256
1356
|
|
1257
1357
|
function hasClass(element, name)
|
1258
1358
|
{
|
1259
1359
|
var regexp = new RegExp("(^| )" + name + "\W*");
|
1260
1360
|
|
1261
|
-
if (
|
1262
|
-
return
|
1263
|
-
|
1264
|
-
return false;
|
1361
|
+
if (typeof element.className != 'undefined')
|
1362
|
+
return regexp.test(element.className);
|
1265
1363
|
|
1364
|
+
var clsname = (ns_pos||ie8) ? "class" : "className";
|
1365
|
+
return regexp.test(element.getAttribute(clsname));
|
1266
1366
|
}
|
1267
1367
|
|
1268
1368
|
function removeClass(element, name)
|
1269
1369
|
{
|
1270
|
-
// IE getAttribute requires "class" to be "className"
|
1271
|
-
var clsname = ns_pos ? "class" : "className";
|
1272
|
-
var clsval = element.getAttribute(clsname);
|
1273
|
-
|
1274
1370
|
var regexp = new RegExp("(^| )" + name + "\W*");
|
1371
|
+
var clsval = "";
|
1275
1372
|
|
1276
|
-
if (
|
1373
|
+
if (typeof element.className != 'undefined')
|
1277
1374
|
{
|
1278
|
-
|
1279
|
-
|
1375
|
+
clsval = element.className;
|
1376
|
+
|
1377
|
+
if (clsval)
|
1378
|
+
{
|
1379
|
+
clsval = clsval.replace(regexp, "");
|
1380
|
+
element.className = clsval;
|
1381
|
+
}
|
1382
|
+
}
|
1383
|
+
else
|
1384
|
+
{
|
1385
|
+
var clsname = (ns_pos||ie8) ? "class" : "className";
|
1386
|
+
clsval = element.getAttribute(clsname);
|
1387
|
+
|
1388
|
+
if (clsval)
|
1389
|
+
{
|
1390
|
+
clsval = clsval.replace(regexp, "");
|
1391
|
+
element.setAttribute(clsname, clsval);
|
1392
|
+
}
|
1280
1393
|
}
|
1281
1394
|
}
|
1282
1395
|
|
@@ -1284,10 +1397,15 @@ function addClass(element, name)
|
|
1284
1397
|
{
|
1285
1398
|
if (!hasClass(element, name))
|
1286
1399
|
{
|
1287
|
-
|
1288
|
-
|
1289
|
-
|
1290
|
-
|
1400
|
+
if (typeof element.className != 'undefined')
|
1401
|
+
element.className += " " + name;
|
1402
|
+
else
|
1403
|
+
{
|
1404
|
+
var clsname = (ns_pos||ie8) ? "class" : "className";
|
1405
|
+
var clsval = element.getAttribute(clsname);
|
1406
|
+
clsval = clsval ? clsval + " " + name : name;
|
1407
|
+
element.setAttribute(clsname, clsval);
|
1408
|
+
}
|
1291
1409
|
}
|
1292
1410
|
}
|
1293
1411
|
|
@@ -1314,7 +1432,7 @@ function wrapImplicitSlides()
|
|
1314
1432
|
node = heading.nextSibling;
|
1315
1433
|
|
1316
1434
|
div = document.createElement("div");
|
1317
|
-
div
|
1435
|
+
addClass(div, "slide");
|
1318
1436
|
document.body.replaceChild(div, heading);
|
1319
1437
|
div.appendChild(heading);
|
1320
1438
|
|
@@ -1731,6 +1849,9 @@ function pageAddress(uri)
|
|
1731
1849
|
{
|
1732
1850
|
var i = uri.indexOf("#");
|
1733
1851
|
|
1852
|
+
if (i < 0)
|
1853
|
+
i = uri.indexOf("%23");
|
1854
|
+
|
1734
1855
|
// check if anchor is entire page
|
1735
1856
|
|
1736
1857
|
if (i < 0)
|
@@ -1745,22 +1866,73 @@ function showSlideNumber()
|
|
1745
1866
|
(slidenum + 1) + "/" + slides.length;
|
1746
1867
|
}
|
1747
1868
|
|
1869
|
+
// every 200mS check if the location has been changed as a
|
1870
|
+
// result of the user activating the Back button/menu item
|
1871
|
+
// doesn't work for Opera < 9.5
|
1872
|
+
function checkLocation()
|
1873
|
+
{
|
1874
|
+
var hash = location.hash;
|
1875
|
+
|
1876
|
+
if (slidenum > 0 && (hash == "" || hash == "#"))
|
1877
|
+
gotoSlide(0);
|
1878
|
+
else if (hash.length > 2 && hash != "#("+(slidenum+1)+")")
|
1879
|
+
{
|
1880
|
+
var num = parseInt(location.hash.substr(2));
|
1881
|
+
|
1882
|
+
if (!isNaN(num))
|
1883
|
+
gotoSlide(num-1);
|
1884
|
+
}
|
1885
|
+
}
|
1886
|
+
|
1887
|
+
// this doesn't push location onto history stack for IE
|
1888
|
+
// for which a hidden iframe hack is needed: load page into
|
1889
|
+
// the iframe with script that set's parent's location.hash
|
1890
|
+
// but that won't work for standalone use unless we can
|
1891
|
+
// create the page dynamically via a javascript: URL
|
1748
1892
|
function setLocation()
|
1749
1893
|
{
|
1750
1894
|
var uri = pageAddress(location.href);
|
1895
|
+
var hash = "#(" + (slidenum+1) + ")";
|
1751
1896
|
|
1752
|
-
|
1753
|
-
uri = uri +
|
1897
|
+
if (slidenum >= 0)
|
1898
|
+
uri = uri + hash;
|
1754
1899
|
|
1755
|
-
if (
|
1900
|
+
if (ie && !ie8)
|
1901
|
+
pushHash(hash);
|
1902
|
+
|
1903
|
+
if (uri != location.href /*&& !khtml */)
|
1756
1904
|
location.href = uri;
|
1757
1905
|
|
1758
|
-
|
1759
|
-
|
1906
|
+
if (khtml)
|
1907
|
+
hash = "(" + (slidenum+1) + ")";
|
1760
1908
|
|
1909
|
+
if (!ie && location.hash != hash && location.hash != "")
|
1910
|
+
location.hash = hash;
|
1911
|
+
|
1912
|
+
document.title = title + " (" + (slidenum+1) + ")";
|
1761
1913
|
showSlideNumber();
|
1762
1914
|
}
|
1763
1915
|
|
1916
|
+
// only used for IE6 and IE7
|
1917
|
+
function onFrameLoaded(hash)
|
1918
|
+
{
|
1919
|
+
location.hash = hash;
|
1920
|
+
var uri = pageAddress(location.href);
|
1921
|
+
location.href = uri + hash;
|
1922
|
+
}
|
1923
|
+
|
1924
|
+
// history hack with thanks to Bertrand Le Roy
|
1925
|
+
function pushHash(hash)
|
1926
|
+
{
|
1927
|
+
if (hash == "") hash = "#(1)";
|
1928
|
+
window.location.hash = hash;
|
1929
|
+
var doc = document.getElementById("historyFrame").contentWindow.document;
|
1930
|
+
doc.open("javascript:'<html></html>'");
|
1931
|
+
doc.write("<html><head><script type=\"text/javascript\">parent.onFrameLoaded('"+
|
1932
|
+
(hash) + "');</script></head><body>hello mum</body></html>");
|
1933
|
+
doc.close();
|
1934
|
+
}
|
1935
|
+
|
1764
1936
|
// find current slide based upon location
|
1765
1937
|
// first find target anchor and then look
|
1766
1938
|
// for associated div element enclosing it
|
@@ -1876,8 +2048,7 @@ function slideName(index)
|
|
1876
2048
|
|
1877
2049
|
// find first h1 element in DOM tree
|
1878
2050
|
function findHeading(node)
|
1879
|
-
{
|
1880
|
-
if (!node || node.nodeType != 1)
|
2051
|
+
{ if (!node || node.nodeType != 1)
|
1881
2052
|
return null;
|
1882
2053
|
|
1883
2054
|
if (node.nodeName == "H1" || node.nodeName == "h1" || node.nodeName == "H2" || node.nodeName == "h2")
|
@@ -1959,7 +2130,7 @@ function findSizeAdjust()
|
|
1959
2130
|
return 1 * content;
|
1960
2131
|
}
|
1961
2132
|
|
1962
|
-
return
|
2133
|
+
return 1;
|
1963
2134
|
}
|
1964
2135
|
|
1965
2136
|
function addToolbar()
|
@@ -2006,17 +2177,8 @@ function addToolbar()
|
|
2006
2177
|
var gap2 = document.createTextNode(" ");
|
2007
2178
|
left.appendChild(gap2);
|
2008
2179
|
|
2009
|
-
var i = location.href.indexOf("#");
|
2010
|
-
|
2011
|
-
// check if anchor is entire page
|
2012
|
-
|
2013
|
-
if (i > 0)
|
2014
|
-
page = location.href.substr(0, i);
|
2015
|
-
else
|
2016
|
-
page = location.href;
|
2017
|
-
|
2018
2180
|
var start = document.createElement("a");
|
2019
|
-
start.setAttribute("href",
|
2181
|
+
start.setAttribute("href", "javascript:firstSlide()");
|
2020
2182
|
start.setAttribute("title", "restart presentation".localize());
|
2021
2183
|
start.innerHTML = "restart?".localize();
|
2022
2184
|
// start.setAttribute("href", "javascript:printSlides()");
|
@@ -2082,17 +2244,8 @@ function addToolbar()
|
|
2082
2244
|
var gap2 = document.createTextNode(" ");
|
2083
2245
|
toolbar.appendChild(gap2);
|
2084
2246
|
|
2085
|
-
var i = location.href.indexOf("#");
|
2086
|
-
|
2087
|
-
// check if anchor is entire page
|
2088
|
-
|
2089
|
-
if (i > 0)
|
2090
|
-
page = location.href.substr(0, i);
|
2091
|
-
else
|
2092
|
-
page = location.href;
|
2093
|
-
|
2094
2247
|
var start = document.createElement("a");
|
2095
|
-
start.setAttribute("href",
|
2248
|
+
start.setAttribute("href", "javascript:firstSlide()");
|
2096
2249
|
start.setAttribute("title", "restart presentation".localize());
|
2097
2250
|
start.innerHTML = "restart?".localize();
|
2098
2251
|
// start.setAttribute("href", "javascript:printSlides()");
|
@@ -2385,9 +2538,14 @@ function tableOfContents()
|
|
2385
2538
|
this.first.focus();
|
2386
2539
|
}
|
2387
2540
|
|
2541
|
+
toc.onmouseup = mouseButtonUp;
|
2542
|
+
|
2388
2543
|
toc.onclick = function (e) {
|
2389
2544
|
e||(e=window.event);
|
2390
|
-
|
2545
|
+
|
2546
|
+
if (selectedTextLen <= 0)
|
2547
|
+
hideTableOfContents();
|
2548
|
+
|
2391
2549
|
stopPropagation(e);
|
2392
2550
|
|
2393
2551
|
if (e.cancel != undefined)
|
data/ulmul.gemspec
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# ulmul.gemspec -*-ruby-*-
|
2
|
-
# Time-stamp: <2010-
|
2
|
+
# Time-stamp: <2010-05-25 21:34:42 takeshi>
|
3
3
|
# Author: Takeshi Nishimatsu
|
4
4
|
##
|
5
5
|
Gem::Specification.new do |s|
|
@@ -18,7 +18,9 @@ Gem::Specification.new do |s|
|
|
18
18
|
'README-en' << 'index.en.html' <<
|
19
19
|
'README-ja' << 'index.ja.html' <<
|
20
20
|
'Rakefile' << 'ulmul.gemspec' << 'setup.rb' <<
|
21
|
-
'ruby.jpg' <<
|
21
|
+
'ruby.jpg' <<
|
22
|
+
'ulmul-slidy.js' <<
|
23
|
+
'ulmul-slidy.css'
|
22
24
|
s.author = 'Takeshi Nishimatsu'
|
23
25
|
s.email = 't-nissie@imr.tohoku.ac.jp'
|
24
26
|
s.rubyforge_project = 'ulmul'
|
data/ulmul2html5.css
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*-CSS-*-
|
2
2
|
* style.css for index.??.html of ulmul
|
3
|
-
* Time-stamp: <2010-
|
3
|
+
* Time-stamp: <2010-04-10 17:45:09 takeshi>
|
4
4
|
* Author: Takeshi NISHIMATSU
|
5
5
|
*/
|
6
6
|
body
|
@@ -77,3 +77,6 @@ figure figcaption{
|
|
77
77
|
margin-right: auto;
|
78
78
|
display: block;
|
79
79
|
}
|
80
|
+
|
81
|
+
div.navi { text-align: right;
|
82
|
+
margin-right: 1.0em; }
|
data/ulmul2xhtml.css
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/* -*-CSS-*-
|
2
2
|
* style.css for index.??.html of ulmul
|
3
|
-
* Time-stamp: <2010-
|
3
|
+
* Time-stamp: <2010-04-10 17:45:16 takeshi>
|
4
4
|
* Author: Takeshi NISHIMATSU
|
5
5
|
*/
|
6
6
|
body
|
@@ -77,3 +77,6 @@ div.figure div.figcaption{
|
|
77
77
|
margin-right: auto;
|
78
78
|
display: block;
|
79
79
|
}
|
80
|
+
|
81
|
+
div.navi { text-align: right;
|
82
|
+
margin-right: 1.0em; }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ulmul
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Takeshi Nishimatsu
|
@@ -9,7 +9,7 @@ autorequire: lib/ulmul.rb
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-
|
12
|
+
date: 2010-05-27 00:00:00 +09:00
|
13
13
|
default_executable: ulmul2html5
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -47,7 +47,7 @@ files:
|
|
47
47
|
- ulmul.gemspec
|
48
48
|
- setup.rb
|
49
49
|
- ruby.jpg
|
50
|
-
- slidy.js
|
50
|
+
- ulmul-slidy.js
|
51
51
|
- ulmul-slidy.css
|
52
52
|
has_rdoc: true
|
53
53
|
homepage: http://ulmul.rubyforge.org/
|