shining 2.0.0 → 2.0.1
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/Gemfile +12 -0
- data/Gemfile.lock +40 -0
- data/Rakefile +6 -13
- data/VERSION +1 -1
- data/bin/shine +0 -7
- data/css/base.css +10 -9
- data/lib/config.ru +28 -8
- data/lib/ext/filemethods.rb +5 -4
- data/lib/jquery-1.4.4.min.js +167 -0
- data/lib/plugins/iphone.js +47 -49
- data/lib/plugins/resize.js +5 -5
- data/lib/shining.js +30 -55
- data/lib/shining/preso.rb +4 -4
- data/shining.gemspec +92 -72
- data/spec/cli_spec.rb +2 -17
- data/spec/preso_spec.rb +9 -10
- data/spec/spec_helper.rb +4 -6
- data/templates/index.html +1 -3
- data/themes/retro.css +48 -0
- data/themes/slidedown.css +3 -3
- metadata +114 -34
- data/lib/jquery-1.4.2.min.js +0 -154
data/lib/plugins/resize.js
CHANGED
@@ -2,14 +2,14 @@
|
|
2
2
|
Shining.pluginProcesses['resize'] = setInterval(function() {
|
3
3
|
var width = $(window).width();
|
4
4
|
if (width >= 640 && width < 800) {
|
5
|
-
$('
|
5
|
+
$('body').css({fontSize: '100%'});
|
6
6
|
} else if (width >= 800 && width < 1024) {
|
7
|
-
$('
|
7
|
+
$('body').css({fontSize: '110%'});
|
8
8
|
} else if (width >= 1024 && width < 1280) {
|
9
|
-
$('
|
9
|
+
$('body').css({fontSize: '120%'});
|
10
10
|
} else if (width >= 1280 && width < 1440) {
|
11
|
-
$('
|
11
|
+
$('body').css({fontSize: '130%'});
|
12
12
|
} else if (width > 1440) {
|
13
|
-
$('
|
13
|
+
$('body').css({fontSize: '140%'});
|
14
14
|
}
|
15
15
|
}, 500);
|
data/lib/shining.js
CHANGED
@@ -43,7 +43,7 @@
|
|
43
43
|
when: when,
|
44
44
|
trigger: trigger,
|
45
45
|
pluginProcesses: {},
|
46
|
-
|
46
|
+
centerSlide: centerSlide,
|
47
47
|
|
48
48
|
// slide scripts
|
49
49
|
scripts: {
|
@@ -93,16 +93,12 @@
|
|
93
93
|
// Transitions
|
94
94
|
var Transitions = {
|
95
95
|
'fade': {
|
96
|
-
enter: function() { $('
|
97
|
-
leave: function() { $('
|
98
|
-
},
|
99
|
-
'slide': {
|
100
|
-
enter: function() { $('#stage').css({ marginLeft: null, marginRight: '-200px' }).animate({ opacity: 1, marginRight: '0' }, 200); },
|
101
|
-
leave: function() { $('#stage').animate({ opacity: 0, marginLeft: '-200' }, 200); }
|
96
|
+
enter: function() { $('div.slide').fadeIn(200); },
|
97
|
+
leave: function() { $('div.slide').fadeOut(200); }
|
102
98
|
},
|
103
99
|
'none': {
|
104
|
-
enter:
|
105
|
-
leave:
|
100
|
+
enter: function() { $('div.slide').show(); },
|
101
|
+
leave: function() { $('div.slide').hide(); }
|
106
102
|
}
|
107
103
|
}
|
108
104
|
|
@@ -168,40 +164,34 @@
|
|
168
164
|
}
|
169
165
|
return name;
|
170
166
|
}
|
171
|
-
|
172
|
-
function
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
if ($.isFunction(callback)) callback.call();
|
185
|
-
}
|
186
|
-
}
|
187
|
-
|
188
|
-
function preloadSlides() {
|
189
|
-
$(Shining.config.slides).each(function() { loadSlide(this); })
|
167
|
+
|
168
|
+
function loadSlides(callback) {
|
169
|
+
$.getJSON(
|
170
|
+
'/slides.json',
|
171
|
+
function(slides) {
|
172
|
+
Shining.slides._loaded = slides;
|
173
|
+
for (slide in slides) {
|
174
|
+
slides[slide].markup = compileSlide(slide, slides[slide].markup)
|
175
|
+
};
|
176
|
+
trigger('slidesloaded');
|
177
|
+
if ($.isFunction(callback)) callback();
|
178
|
+
}
|
179
|
+
);
|
190
180
|
}
|
191
181
|
|
192
182
|
function playSlide(name) {
|
193
|
-
$('
|
183
|
+
$('body')
|
194
184
|
.queue(function() { Transitions[Shining.config.transitions].leave(); $(this).dequeue(); })
|
195
185
|
.queue(function() {
|
196
186
|
Shining.scripts.reap();
|
197
187
|
var slide = Shining.slides._loaded[name];
|
198
188
|
Shining.slides.current(name);
|
199
|
-
$('
|
200
|
-
setTimeout(
|
189
|
+
$('body').html('<div class="slide">' + slide.markup + '</div>');
|
190
|
+
setTimeout(centerSlide, 500);
|
201
191
|
trigger('slideplay', [name]);
|
202
192
|
$(this).dequeue();
|
203
193
|
})
|
204
|
-
.queue(function() { Transitions[Shining.config.transitions].enter(); $(this).dequeue();
|
194
|
+
.queue(function() { Transitions[Shining.config.transitions].enter(); $(this).dequeue(); centerSlide(); });
|
205
195
|
}
|
206
196
|
|
207
197
|
function loadPlugins() {
|
@@ -212,16 +202,6 @@
|
|
212
202
|
}
|
213
203
|
}
|
214
204
|
|
215
|
-
function loadSlideScript(name, callback) {
|
216
|
-
$.ajax({
|
217
|
-
url: 'slides/' + slidePlusExtension(name, 'js'),
|
218
|
-
dataType: 'text',
|
219
|
-
type: 'GET',
|
220
|
-
success: function(script) { Shining.slides._loaded[name].script = script },
|
221
|
-
complete: function() { if ($.isFunction(callback)) callback.call() }
|
222
|
-
})
|
223
|
-
}
|
224
|
-
|
225
205
|
function loadSlideStyle(name) {
|
226
206
|
$('link.slide').remove();
|
227
207
|
$('head').append('<link rel="stylesheet" type="text/css" href="slides/' + slidePlusExtension(name, 'css') + '" media="all" class="slide"/>')
|
@@ -236,18 +216,18 @@
|
|
236
216
|
});
|
237
217
|
}
|
238
218
|
|
239
|
-
function
|
240
|
-
var top = ($(window).height() - $('
|
219
|
+
function centerSlide() {
|
220
|
+
var top = ($(window).height() - $('div.slide:visible').outerHeight()) / 2;
|
241
221
|
if (top < 0) top = 0;
|
242
|
-
$('
|
222
|
+
$('div.slide').css({ top: top });
|
243
223
|
}
|
244
224
|
|
245
225
|
function hasPendingStep() {
|
246
|
-
return !!$('
|
226
|
+
return !!$('div.slide .step:not(:visible)').length;
|
247
227
|
}
|
248
228
|
|
249
229
|
function runPendingStep() {
|
250
|
-
$('
|
230
|
+
$('div.slide .step:not(:visible):first').show();
|
251
231
|
}
|
252
232
|
|
253
233
|
// Now configure everything!
|
@@ -274,20 +254,15 @@
|
|
274
254
|
loadSlideStyle(name);
|
275
255
|
Shining.scripts.runSlide(name);
|
276
256
|
if (SyntaxHighlighter) SyntaxHighlighter.highlight({gutter: false, toolbar: false});
|
277
|
-
if ($('
|
257
|
+
if ($('body aside').length) setTimeout(function() { note($('body aside').html(), 5000) }, 500);
|
278
258
|
});
|
279
259
|
|
280
|
-
when('slideloaded', function(event, name) {
|
281
|
-
help('Loaded ' + Shining.slides.totalLoaded() + '/' + Shining.slides._slides.length, 5000);
|
282
|
-
if (Shining.slides.totalLoaded() == Shining.config.slides.length) trigger('slidesloaded');
|
283
|
-
})
|
284
|
-
|
285
260
|
when('slidesloaded', function() {
|
286
261
|
help('← (previous slide), → or SPACE BAR (next slide)', 3000);
|
287
262
|
})
|
288
263
|
|
289
264
|
$(window)
|
290
|
-
.resize(function() {
|
265
|
+
.resize(function() { centerSlide(); })
|
291
266
|
.bind('hashchange', function() {
|
292
267
|
var slide = document.location.hash.replace('#', '');
|
293
268
|
if (slide) Shining.playSlide(slide);
|
@@ -309,7 +284,7 @@
|
|
309
284
|
loadConfig(function() {
|
310
285
|
loadPlugins();
|
311
286
|
var startAt = document.location.hash.replace('#', ''), first = startAt || Shining.slides.current();
|
312
|
-
|
287
|
+
loadSlides(function() { playSlide(first); });
|
313
288
|
setTitle(Shining.config.title);
|
314
289
|
setTheme(Shining.config.theme);
|
315
290
|
});
|
data/lib/shining/preso.rb
CHANGED
@@ -7,7 +7,7 @@ class Preso
|
|
7
7
|
include FileMethods and extend FileMethods
|
8
8
|
attr_reader :path, :name
|
9
9
|
|
10
|
-
SLIDE_FORMATS = %w(markdown html
|
10
|
+
SLIDE_FORMATS = %w(markdown md html)
|
11
11
|
|
12
12
|
def initialize dir, fresh = true
|
13
13
|
@path = expand(dir)
|
@@ -53,9 +53,9 @@ class Preso
|
|
53
53
|
def remove_slide file
|
54
54
|
file = basename(file)
|
55
55
|
name, format = basename(file, extname(file)), extname(file).sub(/^./, '')
|
56
|
-
delete! file
|
57
|
-
delete! "#{name}.css"
|
58
|
-
delete! "#{name}.js"
|
56
|
+
delete! path/'slides'/file
|
57
|
+
delete! path/'slides'/"#{name}.css"
|
58
|
+
delete! path/'slides'/"#{name}.js"
|
59
59
|
config['slides'].delete file and save_config!
|
60
60
|
end
|
61
61
|
|
data/shining.gemspec
CHANGED
@@ -1,97 +1,99 @@
|
|
1
1
|
# Generated by jeweler
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{shining}
|
8
|
-
s.version = "2.0.
|
8
|
+
s.version = "2.0.1"
|
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{
|
12
|
+
s.date = %q{2011-02-25}
|
13
13
|
s.default_executable = %q{shine}
|
14
14
|
s.description = %q{HTML + CSS + Javascript = awesome presos}
|
15
15
|
s.email = %q{julio.ody@gmail.com}
|
16
16
|
s.executables = ["shine"]
|
17
17
|
s.extra_rdoc_files = [
|
18
18
|
"LICENSE.txt",
|
19
|
-
|
19
|
+
"README.markdown"
|
20
20
|
]
|
21
21
|
s.files = [
|
22
22
|
"CHANGELOG.txt",
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
23
|
+
"Gemfile",
|
24
|
+
"Gemfile.lock",
|
25
|
+
"LICENSE.txt",
|
26
|
+
"README.markdown",
|
27
|
+
"Rakefile",
|
28
|
+
"TODO.txt",
|
29
|
+
"VERSION",
|
30
|
+
"bin/shine",
|
31
|
+
"css/base.css",
|
32
|
+
"css/effects.css",
|
33
|
+
"css/shAll.css",
|
34
|
+
"css/shThemeFadeToGrey.css",
|
35
|
+
"images/default-noise.png",
|
36
|
+
"lib/config.ru",
|
37
|
+
"lib/deps.js",
|
38
|
+
"lib/ext/filemethods.rb",
|
39
|
+
"lib/ext/string.rb",
|
40
|
+
"lib/jquery-1.4.4.min.js",
|
41
|
+
"lib/plugins/iphone.js",
|
42
|
+
"lib/plugins/resize.js",
|
43
|
+
"lib/shining.js",
|
44
|
+
"lib/shining.rb",
|
45
|
+
"lib/shining/errors.rb",
|
46
|
+
"lib/shining/heroku.rb",
|
47
|
+
"lib/shining/player.rb",
|
48
|
+
"lib/shining/preso.rb",
|
49
|
+
"shining.gemspec",
|
50
|
+
"spec/cli_spec.rb",
|
51
|
+
"spec/filemethods_spec.rb",
|
52
|
+
"spec/heroku_spec.rb",
|
53
|
+
"spec/javascripts/dom.html",
|
54
|
+
"spec/javascripts/rhino.js",
|
55
|
+
"spec/javascripts/sample/config.json",
|
56
|
+
"spec/javascripts/sample/index.html",
|
57
|
+
"spec/javascripts/sample/slides/slide1.css",
|
58
|
+
"spec/javascripts/sample/slides/slide1.html",
|
59
|
+
"spec/javascripts/sample/slides/slide1.js",
|
60
|
+
"spec/javascripts/sample/slides/slide2.css",
|
61
|
+
"spec/javascripts/sample/slides/slide2.html",
|
62
|
+
"spec/javascripts/sample/slides/slide2.js",
|
63
|
+
"spec/javascripts/sample/slides/welcome.html",
|
64
|
+
"spec/javascripts/unit/spec.helper.js",
|
65
|
+
"spec/javascripts/unit/spec.js",
|
66
|
+
"spec/preso_spec.rb",
|
67
|
+
"spec/sample/base.css",
|
68
|
+
"spec/sample/config.json",
|
69
|
+
"spec/sample/effects.css",
|
70
|
+
"spec/sample/index.html",
|
71
|
+
"spec/sample/slides/first.html",
|
72
|
+
"spec/sample/slides/first.js",
|
73
|
+
"spec/sample/slides/second.html",
|
74
|
+
"spec/sample/slides/second.js",
|
75
|
+
"spec/sample/slides/third.html",
|
76
|
+
"spec/sample/slides/third.js",
|
77
|
+
"spec/shining_spec.rb",
|
78
|
+
"spec/spec_helper.rb",
|
79
|
+
"templates/config.json",
|
80
|
+
"templates/index.html",
|
81
|
+
"templates/slides/welcome.html",
|
82
|
+
"themes/default.css",
|
83
|
+
"themes/retro.css",
|
84
|
+
"themes/slidedown.css"
|
82
85
|
]
|
83
86
|
s.homepage = %q{http://shining.heroku.com}
|
84
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
85
87
|
s.require_paths = ["lib"]
|
86
88
|
s.rubygems_version = %q{1.3.7}
|
87
89
|
s.summary = %q{HTML + CSS + Javascript = awesome presos}
|
88
90
|
s.test_files = [
|
89
91
|
"spec/cli_spec.rb",
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
92
|
+
"spec/filemethods_spec.rb",
|
93
|
+
"spec/heroku_spec.rb",
|
94
|
+
"spec/preso_spec.rb",
|
95
|
+
"spec/shining_spec.rb",
|
96
|
+
"spec/spec_helper.rb"
|
95
97
|
]
|
96
98
|
|
97
99
|
if s.respond_to? :specification_version then
|
@@ -99,30 +101,48 @@ Gem::Specification.new do |s|
|
|
99
101
|
s.specification_version = 3
|
100
102
|
|
101
103
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
104
|
+
s.add_runtime_dependency(%q<json_pure>, ["= 1.4.6"])
|
105
|
+
s.add_runtime_dependency(%q<rack>, ["= 1.2.1"])
|
106
|
+
s.add_runtime_dependency(%q<rainbow>, ["= 1.1"])
|
107
|
+
s.add_runtime_dependency(%q<heroku>, ["= 1.15.1"])
|
108
|
+
s.add_runtime_dependency(%q<stringex>, ["= 1.2.0"])
|
102
109
|
s.add_runtime_dependency(%q<json_pure>, [">= 1.1.9"])
|
103
110
|
s.add_runtime_dependency(%q<heroku>, [">= 1.9.9"])
|
104
|
-
s.add_runtime_dependency(%q<rack>, [">= 0
|
111
|
+
s.add_runtime_dependency(%q<rack>, [">= 1.0"])
|
105
112
|
s.add_runtime_dependency(%q<stringex>, [">= 1.1.0"])
|
106
113
|
s.add_runtime_dependency(%q<jeweler>, [">= 1.4.0"])
|
114
|
+
s.add_runtime_dependency(%q<rainbow>, ["= 1.1"])
|
107
115
|
s.add_development_dependency(%q<rspec>, ["= 1.3.0"])
|
108
116
|
s.add_development_dependency(%q<jspec>, ["= 4.2.0"])
|
109
117
|
s.add_development_dependency(%q<rake>, ["= 0.8.7"])
|
110
118
|
else
|
119
|
+
s.add_dependency(%q<json_pure>, ["= 1.4.6"])
|
120
|
+
s.add_dependency(%q<rack>, ["= 1.2.1"])
|
121
|
+
s.add_dependency(%q<rainbow>, ["= 1.1"])
|
122
|
+
s.add_dependency(%q<heroku>, ["= 1.15.1"])
|
123
|
+
s.add_dependency(%q<stringex>, ["= 1.2.0"])
|
111
124
|
s.add_dependency(%q<json_pure>, [">= 1.1.9"])
|
112
125
|
s.add_dependency(%q<heroku>, [">= 1.9.9"])
|
113
|
-
s.add_dependency(%q<rack>, [">= 0
|
126
|
+
s.add_dependency(%q<rack>, [">= 1.0"])
|
114
127
|
s.add_dependency(%q<stringex>, [">= 1.1.0"])
|
115
128
|
s.add_dependency(%q<jeweler>, [">= 1.4.0"])
|
129
|
+
s.add_dependency(%q<rainbow>, ["= 1.1"])
|
116
130
|
s.add_dependency(%q<rspec>, ["= 1.3.0"])
|
117
131
|
s.add_dependency(%q<jspec>, ["= 4.2.0"])
|
118
132
|
s.add_dependency(%q<rake>, ["= 0.8.7"])
|
119
133
|
end
|
120
134
|
else
|
135
|
+
s.add_dependency(%q<json_pure>, ["= 1.4.6"])
|
136
|
+
s.add_dependency(%q<rack>, ["= 1.2.1"])
|
137
|
+
s.add_dependency(%q<rainbow>, ["= 1.1"])
|
138
|
+
s.add_dependency(%q<heroku>, ["= 1.15.1"])
|
139
|
+
s.add_dependency(%q<stringex>, ["= 1.2.0"])
|
121
140
|
s.add_dependency(%q<json_pure>, [">= 1.1.9"])
|
122
141
|
s.add_dependency(%q<heroku>, [">= 1.9.9"])
|
123
|
-
s.add_dependency(%q<rack>, [">= 0
|
142
|
+
s.add_dependency(%q<rack>, [">= 1.0"])
|
124
143
|
s.add_dependency(%q<stringex>, [">= 1.1.0"])
|
125
144
|
s.add_dependency(%q<jeweler>, [">= 1.4.0"])
|
145
|
+
s.add_dependency(%q<rainbow>, ["= 1.1"])
|
126
146
|
s.add_dependency(%q<rspec>, ["= 1.3.0"])
|
127
147
|
s.add_dependency(%q<jspec>, ["= 4.2.0"])
|
128
148
|
s.add_dependency(%q<rake>, ["= 0.8.7"])
|
data/spec/cli_spec.rb
CHANGED
@@ -20,10 +20,6 @@ describe 'shine' do
|
|
20
20
|
quiet "cd #{PRESO} && #{SHINE} slide #{name} #{format}"
|
21
21
|
end
|
22
22
|
|
23
|
-
def compile_templates
|
24
|
-
quiet "cd #{PRESO} && #{SHINE} compile"
|
25
|
-
end
|
26
|
-
|
27
23
|
def make_markdown_template!(name)
|
28
24
|
File.open(PRESO/'slides'/"#{name}.md", 'w') { |f| f << "# Look ma\n\nNo hands" }
|
29
25
|
end
|
@@ -38,7 +34,7 @@ describe 'shine' do
|
|
38
34
|
new_preso
|
39
35
|
end
|
40
36
|
|
41
|
-
it "creates a new shining preso when passing an argument thats not 'build',
|
37
|
+
it "creates a new shining preso when passing an argument thats not 'build', or 'slide'" do
|
42
38
|
File.directory?(PRESO).should == true
|
43
39
|
end
|
44
40
|
|
@@ -53,16 +49,5 @@ describe 'shine' do
|
|
53
49
|
new_slide 'test', 'md'
|
54
50
|
File.exists?(PRESO/'slides'/'test.md').should be_true
|
55
51
|
end
|
56
|
-
end
|
57
|
-
|
58
|
-
context 'go' do
|
59
|
-
it "for now it only works on Mac OSX" do
|
60
|
-
player = Shining::Player.new Shining::Preso.open(PRESO)
|
61
|
-
player.should_receive(:osx?).and_return(false)
|
62
|
-
lambda { player.go! }.should raise_error
|
63
|
-
end
|
64
|
-
|
65
|
-
it "downloads and decompresses Plainview and if it's not found #{'PRESO_ROOT'/'vendor'/'Plainview.app'}"
|
66
|
-
it "fires up Plainview"
|
67
|
-
end
|
52
|
+
end
|
68
53
|
end
|