shining 1.1.3 → 1.1.4
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/VERSION +1 -1
- data/lib/jquery.shining.js +38 -24
- data/shining.gemspec +2 -2
- data/templates/config.json +1 -0
- data/templates/index.html +0 -1
- data/templates/slides/welcome.html +1 -1
- data/themes/default.css +7 -0
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.4
|
data/lib/jquery.shining.js
CHANGED
@@ -14,9 +14,13 @@
|
|
14
14
|
first: function() { return this._slides[0] },
|
15
15
|
last: function() { return this._slides[ this._slides.length - 1 ] },
|
16
16
|
next: function() { return this._slides[ this._slides.indexOf(this.current()) + 1 ] },
|
17
|
-
previous: function() {
|
17
|
+
previous: function() {
|
18
|
+
var previous = this._slides[ this._slides.indexOf(this.current()) - 1 ];
|
19
|
+
return previous ? previous : this.first();
|
20
|
+
},
|
18
21
|
add: function(slides) { return Array.prototype.push.apply(this._slides, slides) },
|
19
22
|
_slides: [],
|
23
|
+
_loaded: {},
|
20
24
|
_current: 0
|
21
25
|
};
|
22
26
|
|
@@ -122,8 +126,9 @@
|
|
122
126
|
});
|
123
127
|
$(window).resize(function() { $('#stage').centralize() });
|
124
128
|
loadConfig(function() {
|
125
|
-
var startAt = document.location.hash.replace('#', '')
|
126
|
-
|
129
|
+
var startAt = document.location.hash.replace('#', ''),
|
130
|
+
firstSlide = startAt ? startAt : $.shining.slides.current();
|
131
|
+
loadSlide(firstSlide, function() { playSlide(firstSlide) });
|
127
132
|
setTitle($.shining.config.title);
|
128
133
|
setTheme($.shining.config.theme);
|
129
134
|
parseEffects();
|
@@ -142,9 +147,9 @@
|
|
142
147
|
function getSlide(name) {
|
143
148
|
if (!name) return false;
|
144
149
|
applyTransition(
|
145
|
-
function() { loadSlide(name) },
|
150
|
+
function() { loadSlide(name, function() { playSlide(name) }) },
|
146
151
|
function() {
|
147
|
-
$.shining.scripts.run($.shining.
|
152
|
+
$.shining.scripts.run($.shining.slides._loaded[$.shining.slides.current()].script)
|
148
153
|
}
|
149
154
|
)
|
150
155
|
}
|
@@ -160,37 +165,41 @@
|
|
160
165
|
return $('link.theme').attr('href', path);
|
161
166
|
}
|
162
167
|
|
163
|
-
// private
|
164
168
|
function slide(name) {
|
165
169
|
return 'slides/' + name;
|
166
170
|
}
|
167
|
-
|
168
|
-
function
|
169
|
-
|
170
|
-
}
|
171
|
-
|
172
|
-
function loadSlide(name, runScript) {
|
173
|
-
$('#stage .contents').load(
|
171
|
+
|
172
|
+
function loadSlide(name, afterLoad) {
|
173
|
+
$.get(
|
174
174
|
slide(name).markup(),
|
175
175
|
function(data) {
|
176
|
-
$.shining.slides.
|
177
|
-
|
178
|
-
if (SyntaxHighlighter) SyntaxHighlighter.highlight();
|
179
|
-
$('#stage').centralize();
|
180
|
-
$.shining.scripts.reap();
|
181
|
-
updateControlAnchors();
|
176
|
+
$.shining.slides._loaded[name] = {};
|
177
|
+
$.shining.slides._loaded[name].markup = data;
|
182
178
|
if (data) {
|
183
|
-
loadSlideScript(name,
|
179
|
+
loadSlideScript(name, afterLoad);
|
184
180
|
loadSlideStyle(name);
|
185
181
|
}
|
186
182
|
}
|
187
183
|
);
|
188
184
|
}
|
185
|
+
|
186
|
+
function playSlide(name) {
|
187
|
+
var slide = $.shining.slides._loaded[name];
|
188
|
+
$('#stage .contents').html(slide.markup);
|
189
|
+
$.shining.scripts.run(slide.script);
|
190
|
+
updateControlAnchors();
|
191
|
+
}
|
189
192
|
|
190
|
-
function loadSlideScript(name,
|
191
|
-
$.
|
192
|
-
|
193
|
-
|
193
|
+
function loadSlideScript(name, afterLoad) {
|
194
|
+
$.ajax({
|
195
|
+
url: slide(name).script(),
|
196
|
+
type: 'GET',
|
197
|
+
success: function(script) {
|
198
|
+
$.shining.slides._loaded[name].script = script;
|
199
|
+
},
|
200
|
+
complete: function() {
|
201
|
+
if ($.isFunction(afterLoad)) afterLoad.call();
|
202
|
+
}
|
194
203
|
})
|
195
204
|
}
|
196
205
|
|
@@ -205,6 +214,10 @@
|
|
205
214
|
callback.call();
|
206
215
|
});
|
207
216
|
}
|
217
|
+
|
218
|
+
function local() {
|
219
|
+
document.location.protocol == 'file:'
|
220
|
+
}
|
208
221
|
|
209
222
|
function parseEffects() {
|
210
223
|
$.get($('link[href$=effects.css]').attr('href'),
|
@@ -246,6 +259,7 @@
|
|
246
259
|
return parsed;
|
247
260
|
},
|
248
261
|
run: function(script) {
|
262
|
+
if (typeof script == 'undefined' || script == '') return false;
|
249
263
|
var parsed = $.shining.scripts.parse(script), all = [];
|
250
264
|
for (var i = 0; parsed.length > i; i += 2) {
|
251
265
|
all.push(["at(", parsed[i], ", function() { ", parsed[i+1], " })"].join(''));
|
data/shining.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{shining}
|
8
|
-
s.version = "1.1.
|
8
|
+
s.version = "1.1.4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Julio Cesar Ody"]
|
12
|
-
s.date = %q{2010-04-
|
12
|
+
s.date = %q{2010-04-16}
|
13
13
|
s.description = %q{Webkit + CSS + Javascript = awesome presos}
|
14
14
|
s.email = %q{julio.ody@gmail.com}
|
15
15
|
s.executables = ["console", "shine"]
|
data/templates/config.json
CHANGED
data/templates/index.html
CHANGED
data/themes/default.css
CHANGED
@@ -2,6 +2,10 @@ body { background-color: rgb(48, 48, 48) }
|
|
2
2
|
#stage {
|
3
3
|
-webkit-box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.6);
|
4
4
|
-webkit-border-radius: 5px;
|
5
|
+
-moz-box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.6);
|
6
|
+
-moz-border-radius: 5px;
|
7
|
+
box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.6);
|
8
|
+
border-radius: 5px;
|
5
9
|
}
|
6
10
|
|
7
11
|
h1, h2, h3, p, li { color: rgb(238, 238, 238); text-shadow: rgb(0, 0, 0) 2px 2px 4px }
|
@@ -16,6 +20,9 @@ ul { list-style-type: disc }
|
|
16
20
|
background-color: rgba(0, 0, 0, 0.5);
|
17
21
|
-webkit-border-top-left-radius: 5px;
|
18
22
|
-webkit-border-top-right-radius: 5px;
|
23
|
+
-moz-border-radius-topleft: 5px;
|
24
|
+
-moz-border-radius-topright: 5px;
|
25
|
+
|
19
26
|
}
|
20
27
|
#controls a { display: inline-block; width: 75px; padding: 5px 0; font-weight: bold; color: #fff; }
|
21
28
|
em { color: rgb(73, 255, 80) }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shining
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julio Cesar Ody
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-04-
|
12
|
+
date: 2010-04-16 00:00:00 +10:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|