shining 1.1.4 → 1.1.5
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/css/base.css +16 -3
- data/lib/config.ru +4 -0
- data/lib/jquery.shining.js +80 -16
- data/shining.gemspec +3 -2
- data/templates/index.html +1 -1
- metadata +3 -2
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.1.
|
|
1
|
+
1.1.5
|
data/css/base.css
CHANGED
|
@@ -4,17 +4,17 @@ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockq
|
|
|
4
4
|
margin : 0; padding : 0; border : 0; outline : 0; font-size : 100%; vertical-align : baseline; background : transparent; }
|
|
5
5
|
body { line-height : 1; }
|
|
6
6
|
ol, ul { list-style-type : none; }
|
|
7
|
-
:focus { outline : 0 }
|
|
7
|
+
:focus { outline : 0 }
|
|
8
8
|
ins { text-decoration : none; }
|
|
9
9
|
del { text-decoration : line-through }
|
|
10
10
|
|
|
11
|
-
body {
|
|
11
|
+
body {
|
|
12
12
|
font: 12px/1.5 "Lucida Grande", Tahoma, serif;
|
|
13
13
|
overflow: hidden;
|
|
14
14
|
text-align: center;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
#stage {
|
|
17
|
+
#stage {
|
|
18
18
|
position: relative;
|
|
19
19
|
display: inline-block;
|
|
20
20
|
padding: 40px 20px;
|
|
@@ -41,6 +41,19 @@ a { cursor: pointer }
|
|
|
41
41
|
|
|
42
42
|
div.slice { position: absolute; display: block; width: 0; top: -10px; bottom: -10px }
|
|
43
43
|
|
|
44
|
+
#help {
|
|
45
|
+
display: inline-block;
|
|
46
|
+
font-size: 200%;
|
|
47
|
+
opacity: 0;
|
|
48
|
+
position: fixed;
|
|
49
|
+
right: 10px;
|
|
50
|
+
top: 10px;
|
|
51
|
+
background-color: #000;
|
|
52
|
+
background-color: rgba(0, 0, 0, 0.2);
|
|
53
|
+
color: #fff;
|
|
54
|
+
padding: 10px;
|
|
55
|
+
}
|
|
56
|
+
|
|
44
57
|
@media all and (min-width: 480px) { #stage { font-size: 80% } }
|
|
45
58
|
@media all and (min-width: 640px) { #stage { font-size: 100% } }
|
|
46
59
|
@media all and (min-width: 800px) { #stage { font-size: 130% } }
|
data/lib/config.ru
ADDED
data/lib/jquery.shining.js
CHANGED
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
var previous = this._slides[ this._slides.indexOf(this.current()) - 1 ];
|
|
19
19
|
return previous ? previous : this.first();
|
|
20
20
|
},
|
|
21
|
-
add: function(slides)
|
|
21
|
+
add: function(slides) { return Array.prototype.push.apply(this._slides, slides) },
|
|
22
|
+
loaded: function(name) { return !!$.shining.slides._loaded[name] },
|
|
22
23
|
_slides: [],
|
|
23
24
|
_loaded: {},
|
|
24
25
|
_current: 0
|
|
@@ -94,6 +95,8 @@
|
|
|
94
95
|
String.prototype.markup = function() { return this + '.html' };
|
|
95
96
|
String.prototype.script = function() { return this + '.js' };
|
|
96
97
|
String.prototype.style = function() { return this + '.css' };
|
|
98
|
+
|
|
99
|
+
var KEY = { SPACE: 32, RIGHT: 39, LEFT: 37 };
|
|
97
100
|
|
|
98
101
|
$.fn.effect = function(name) { return this.each(function() { applyEffect(this, name) }); }
|
|
99
102
|
$.fn.hasClasses = function(classes) {
|
|
@@ -105,8 +108,14 @@
|
|
|
105
108
|
$.extend($.shining, {
|
|
106
109
|
firstSlide: function() { getSlide($.shining.slides.first()) },
|
|
107
110
|
lastSlide: function() { getSlide($.shining.slides.last() ) },
|
|
108
|
-
nextSlide: function() {
|
|
109
|
-
|
|
111
|
+
nextSlide: function() {
|
|
112
|
+
getSlide($.shining.slides.next());
|
|
113
|
+
trigger('next');
|
|
114
|
+
},
|
|
115
|
+
previousSlide: function() {
|
|
116
|
+
getSlide($.shining.slides.previous());
|
|
117
|
+
trigger('previous');
|
|
118
|
+
},
|
|
110
119
|
getSlide: function(slide) { getSlide(slide) }
|
|
111
120
|
});
|
|
112
121
|
|
|
@@ -125,17 +134,31 @@
|
|
|
125
134
|
$('#stage').centralize();
|
|
126
135
|
});
|
|
127
136
|
$(window).resize(function() { $('#stage').centralize() });
|
|
137
|
+
bindKeys();
|
|
128
138
|
loadConfig(function() {
|
|
129
139
|
var startAt = document.location.hash.replace('#', ''),
|
|
130
140
|
firstSlide = startAt ? startAt : $.shining.slides.current();
|
|
131
141
|
loadSlide(firstSlide, function() { playSlide(firstSlide) });
|
|
142
|
+
if (!local() && !$.shining.config.preventPreload) preloadSlides();
|
|
132
143
|
setTitle($.shining.config.title);
|
|
133
|
-
setTheme($.shining.config.theme);
|
|
144
|
+
setTheme($.shining.config.theme);
|
|
134
145
|
parseEffects();
|
|
135
146
|
updateControlAnchors();
|
|
147
|
+
trigger('init.shining');
|
|
148
|
+
help('← (previous slide), → or SPACE BAR (next slide)', 3000);
|
|
136
149
|
});
|
|
137
150
|
}
|
|
138
|
-
|
|
151
|
+
|
|
152
|
+
function trigger(event, data) {
|
|
153
|
+
$(document).trigger(event + '.shining', data);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
function bind(event, method) {
|
|
157
|
+
$(document).bind(event + '.shining', method);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
$.shining.help = help;
|
|
161
|
+
|
|
139
162
|
function applyEffect(element, name) {
|
|
140
163
|
if (name in FILTERS) {
|
|
141
164
|
if ($(element).hasClasses(FILTERS[name].when)) $(element).removeClass(FILTERS[name].remove)
|
|
@@ -170,17 +193,28 @@
|
|
|
170
193
|
}
|
|
171
194
|
|
|
172
195
|
function loadSlide(name, afterLoad) {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
196
|
+
if (!$.shining.slides.loaded(name)) {
|
|
197
|
+
$.get(
|
|
198
|
+
slide(name).markup(),
|
|
199
|
+
function(data) {
|
|
200
|
+
$.shining.slides._loaded[name] = {};
|
|
201
|
+
$.shining.slides._loaded[name].markup = data;
|
|
202
|
+
if (data) {
|
|
203
|
+
loadSlideScript(name, afterLoad);
|
|
204
|
+
loadSlideStyle(name);
|
|
205
|
+
}
|
|
181
206
|
}
|
|
182
|
-
|
|
183
|
-
|
|
207
|
+
);
|
|
208
|
+
} else {
|
|
209
|
+
afterLoad.call()
|
|
210
|
+
loadSlideStyle(name);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
function preloadSlides() {
|
|
215
|
+
$($.shining.config.slides).each(function() {
|
|
216
|
+
loadSlide(this);
|
|
217
|
+
})
|
|
184
218
|
}
|
|
185
219
|
|
|
186
220
|
function playSlide(name) {
|
|
@@ -204,6 +238,7 @@
|
|
|
204
238
|
}
|
|
205
239
|
|
|
206
240
|
function loadSlideStyle(name) {
|
|
241
|
+
$('link.slide').remove();
|
|
207
242
|
$('head').append('<link rel="stylesheet" type="text/css" href="' + slide(name).style() + '" media="all" class="slide"/>')
|
|
208
243
|
}
|
|
209
244
|
|
|
@@ -215,6 +250,33 @@
|
|
|
215
250
|
});
|
|
216
251
|
}
|
|
217
252
|
|
|
253
|
+
function bindKeys() {
|
|
254
|
+
$(window).keydown(function(event) {
|
|
255
|
+
switch(event.keyCode) {
|
|
256
|
+
case KEY.RIGHT:
|
|
257
|
+
case KEY.SPACE:
|
|
258
|
+
$.shining.nextSlide();
|
|
259
|
+
break;
|
|
260
|
+
case KEY.LEFT:
|
|
261
|
+
$.shining.previousSlide();
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
264
|
+
})
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
function help(message, duration) {
|
|
268
|
+
if ($.shining.config.help == false) return false;
|
|
269
|
+
var duration = duration || 500;
|
|
270
|
+
$('#help').remove();
|
|
271
|
+
$('<div id="help"></div>')
|
|
272
|
+
.html(message)
|
|
273
|
+
.css({display: 'inline-block'})
|
|
274
|
+
.appendTo('body')
|
|
275
|
+
.animate({opacity: 1})
|
|
276
|
+
.delay(duration)
|
|
277
|
+
.fadeOut(200, function() { $('#help').remove() })
|
|
278
|
+
}
|
|
279
|
+
|
|
218
280
|
function local() {
|
|
219
281
|
document.location.protocol == 'file:'
|
|
220
282
|
}
|
|
@@ -271,12 +333,14 @@
|
|
|
271
333
|
return $.shining.scripts.processes = [];
|
|
272
334
|
}
|
|
273
335
|
}
|
|
336
|
+
|
|
337
|
+
bind('previous', function() { help('←') });
|
|
338
|
+
bind('next', function() { help('→') });
|
|
274
339
|
|
|
275
340
|
init();
|
|
276
341
|
}
|
|
277
342
|
// boots!
|
|
278
343
|
$.shining();
|
|
279
|
-
|
|
280
344
|
})(jQuery);
|
|
281
345
|
|
|
282
346
|
// Dependencies!!
|
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.5"
|
|
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-20}
|
|
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"]
|
|
@@ -31,6 +31,7 @@ Gem::Specification.new do |s|
|
|
|
31
31
|
"images/page_white_code.png",
|
|
32
32
|
"images/page_white_copy.png",
|
|
33
33
|
"images/printer.png",
|
|
34
|
+
"lib/config.ru",
|
|
34
35
|
"lib/ext/filemethods.rb",
|
|
35
36
|
"lib/ext/string.rb",
|
|
36
37
|
"lib/jquery-1.4.1.min.js",
|
data/templates/index.html
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<link rel="stylesheet" type="text/css" href="<%= vendorized? ? 'vendor' : Shining.root %>/css/effects.css" media="all"/>
|
|
8
8
|
<link rel="stylesheet" type="text/css" href="<%= vendorized? ? 'vendor' : Shining.root %>/css/shCore.css" media="all"/>
|
|
9
9
|
<link rel="stylesheet" type="text/css" href="<%= vendorized? ? 'vendor' : Shining.root %>/css/shThemeFadeToGrey.css" media="all"/>
|
|
10
|
-
<link rel="stylesheet" type="text/css" href="<%= vendorized? ? 'vendor' : Shining.root %>/themes/default.css" media="all"/>
|
|
10
|
+
<link rel="stylesheet" type="text/css" href="<%= vendorized? ? 'vendor' : Shining.root %>/themes/default.css" media="all" class="theme"/>
|
|
11
11
|
<script type="text/javascript" charset="utf-8" src="<%= vendorized? ? 'vendor' : Shining.root %>/lib/jquery-1.4.1.min.js"></script>
|
|
12
12
|
<script type="text/javascript" charset="utf-8" src="<%= vendorized? ? 'vendor' : Shining.root %>/lib/shCore.js"></script>
|
|
13
13
|
<script type="text/javascript" charset="utf-8" src="<%= vendorized? ? 'vendor' : Shining.root %>/lib/shBrushAll.js"></script>
|
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.5
|
|
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-20 00:00:00 +10:00
|
|
13
13
|
default_executable:
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
@@ -116,6 +116,7 @@ files:
|
|
|
116
116
|
- images/page_white_code.png
|
|
117
117
|
- images/page_white_copy.png
|
|
118
118
|
- images/printer.png
|
|
119
|
+
- lib/config.ru
|
|
119
120
|
- lib/ext/filemethods.rb
|
|
120
121
|
- lib/ext/string.rb
|
|
121
122
|
- lib/jquery-1.4.1.min.js
|