showoff 0.1.0 → 0.1.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/README.txt +66 -17
- data/lib/showoff.rb +20 -17
- data/public/css/onepage.css +1 -1
- data/public/css/pdf.css +1 -1
- data/public/css/reset.css +53 -0
- data/public/css/showoff.css +17 -27
- data/public/js/jquery.batchImageLoad.js +56 -0
- data/public/js/jquery.cycle.all.js +1284 -0
- data/public/js/onepage.js +1 -6
- data/public/js/showoff.js +66 -29
- data/views/index.erb +6 -3
- data/views/onepage.erb +2 -2
- metadata +6 -3
data/public/js/onepage.js
CHANGED
@@ -1,10 +1,5 @@
|
|
1
1
|
function setupOnePage() {
|
2
2
|
sh_highlightDocument('/js/sh_lang/', '.min.js')
|
3
3
|
|
4
|
-
$("
|
5
|
-
var slide_height = $(elem).height()
|
6
|
-
var mar_top = (0.5 * parseFloat($(elem).parent().height())) - (0.5 * parseFloat(slide_height))
|
7
|
-
$(elem).css('margin-top', mar_top)
|
8
|
-
})
|
9
|
-
|
4
|
+
centerSlides($("#slides > .slide"))
|
10
5
|
}
|
data/public/js/showoff.js
CHANGED
@@ -4,6 +4,7 @@ var preso_started = false
|
|
4
4
|
var slidenum = 0
|
5
5
|
var slideTotal = 0
|
6
6
|
var slides
|
7
|
+
var currentSlide
|
7
8
|
var totalslides = 0
|
8
9
|
var slidesLoaded = false
|
9
10
|
var incrSteps = 0
|
@@ -31,20 +32,56 @@ function setupPreso() {
|
|
31
32
|
}
|
32
33
|
|
33
34
|
function loadSlides() {
|
34
|
-
|
35
|
+
//load slides offscreen, wait for images and then initialize
|
35
36
|
$("#slides").load("/slides", false, function(){
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
37
|
+
$("#slides img").batchImageLoad({
|
38
|
+
loadingCompleteCallback: initializePresentation
|
39
|
+
})
|
40
|
+
})
|
41
|
+
}
|
42
|
+
|
43
|
+
function initializePresentation() {
|
44
|
+
//center slides offscreen
|
45
|
+
centerSlides($('#slides > .slide'))
|
46
|
+
|
47
|
+
//copy into presentation area
|
48
|
+
$("#preso").empty()
|
49
|
+
$('#slides > .slide').appendTo($("#preso"))
|
50
|
+
|
51
|
+
//populate vars
|
52
|
+
slides = $('#preso > .slide')
|
53
|
+
slideTotal = slides.size()
|
54
|
+
|
55
|
+
//setup manual jquery cycle
|
56
|
+
$('#preso').cycle({
|
57
|
+
timeout: 0
|
58
|
+
})
|
59
|
+
|
60
|
+
setupMenu()
|
61
|
+
if (slidesLoaded) {
|
62
|
+
showSlide()
|
63
|
+
alert('slides loaded')
|
64
|
+
} else {
|
65
|
+
showFirstSlide()
|
66
|
+
slidesLoaded = true
|
67
|
+
}
|
68
|
+
sh_highlightDocument('/js/sh_lang/', '.min.js')
|
69
|
+
}
|
70
|
+
|
71
|
+
function centerSlides(slides) {
|
72
|
+
slides.each(function(s, slide) {
|
73
|
+
centerSlide(slide)
|
74
|
+
})
|
75
|
+
}
|
76
|
+
|
77
|
+
function centerSlide(slide) {
|
78
|
+
var slide_content = $(slide).children(".content").first()
|
79
|
+
var height = slide_content.height()
|
80
|
+
var mar_top = (0.5 * parseFloat($(slide).height())) - (0.5 * parseFloat(height))
|
81
|
+
if (mar_top < 0) {
|
82
|
+
mar_top = 0
|
83
|
+
}
|
84
|
+
slide_content.css('margin-top', mar_top)
|
48
85
|
}
|
49
86
|
|
50
87
|
function setupMenu() {
|
@@ -52,16 +89,17 @@ function setupMenu() {
|
|
52
89
|
|
53
90
|
var currSlide = 0
|
54
91
|
var menu = new ListMenu()
|
55
|
-
|
92
|
+
|
56
93
|
slides.each(function(s, elem) {
|
57
|
-
|
58
|
-
|
94
|
+
content = $(elem).children(".content")
|
95
|
+
shortTxt = $(content).text().substr(0, 20)
|
96
|
+
path = $(content).attr('ref').split('/')
|
59
97
|
currSlide += 1
|
60
98
|
menu.addItem(path, shortTxt, currSlide)
|
61
99
|
})
|
62
100
|
|
63
101
|
$('#navigation').html(menu.getList())
|
64
|
-
$('#navmenu').menu({
|
102
|
+
$('#navmenu').menu({
|
65
103
|
content: $('#navigation').html(),
|
66
104
|
flyOut: true
|
67
105
|
});
|
@@ -91,13 +129,12 @@ function showSlide(back_step) {
|
|
91
129
|
return
|
92
130
|
}
|
93
131
|
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
$("#preso > .slide").css('margin-top', mar_top)
|
132
|
+
currentSlide = slides.eq(slidenum)
|
133
|
+
var transition = currentSlide.attr('data-transition')
|
134
|
+
if (back_step) {
|
135
|
+
transition = 'none'
|
136
|
+
}
|
137
|
+
$('#preso').cycle(slidenum, transition)
|
101
138
|
|
102
139
|
percent = getSlidePercent()
|
103
140
|
$("#slideInfo").text((slidenum + 1) + '/' + slideTotal + ' - ' + percent + '%')
|
@@ -123,11 +160,11 @@ function determineIncremental()
|
|
123
160
|
{
|
124
161
|
incrCurr = 0
|
125
162
|
incrCode = false
|
126
|
-
incrElem =
|
163
|
+
incrElem = currentSlide.find(".incremental > ul > li")
|
127
164
|
incrSteps = incrElem.size()
|
128
165
|
if(incrSteps == 0) {
|
129
166
|
// also look for commandline
|
130
|
-
incrElem =
|
167
|
+
incrElem = currentSlide.find(".incremental > pre > code > code")
|
131
168
|
incrSteps = incrElem.size()
|
132
169
|
incrCode = true
|
133
170
|
}
|
@@ -158,7 +195,7 @@ function doDebugStuff()
|
|
158
195
|
$('#debugInfo').show()
|
159
196
|
debug('debug mode on')
|
160
197
|
} else {
|
161
|
-
$('#debugInfo').hide()
|
198
|
+
$('#debugInfo').hide()
|
162
199
|
}
|
163
200
|
}
|
164
201
|
|
@@ -255,7 +292,7 @@ function ListMenu(s)
|
|
255
292
|
}
|
256
293
|
newMenu.append(domItem)
|
257
294
|
}
|
258
|
-
return newMenu
|
295
|
+
return newMenu
|
259
296
|
}
|
260
297
|
}
|
261
298
|
|
@@ -267,7 +304,7 @@ function ListMenuItem(t, s)
|
|
267
304
|
}
|
268
305
|
|
269
306
|
var removeResults = function() {
|
270
|
-
$('.results').remove();
|
307
|
+
$('.results').remove();
|
271
308
|
};
|
272
309
|
|
273
310
|
var print = function(text) {
|
data/views/index.erb
CHANGED
@@ -7,9 +7,12 @@
|
|
7
7
|
|
8
8
|
<title>Presentation</title>
|
9
9
|
|
10
|
+
<link rel="stylesheet" href="css/reset.css" type="text/css"/>
|
10
11
|
<link rel="stylesheet" href="css/showoff.css" type="text/css"/>
|
11
12
|
|
12
13
|
<script type="text/javascript" src="/js/jquery-1.4.min.js"></script>
|
14
|
+
<script type="text/javascript" src="/js/jquery.cycle.all.js"></script>
|
15
|
+
<script type="text/javascript" src="/js/jquery.batchImageLoad.js"></script>
|
13
16
|
<script type="text/javascript" src="/js/jquery-print.js"></script>
|
14
17
|
<script type="text/javascript" src="/js/fg.menu.js"></script>
|
15
18
|
<script type="text/javascript" src="/js/showoff.js"></script>
|
@@ -30,8 +33,8 @@
|
|
30
33
|
<% end %>
|
31
34
|
|
32
35
|
<script type="text/javascript">
|
33
|
-
$(function(){
|
34
|
-
setupPreso()
|
36
|
+
$(document).ready(function() {
|
37
|
+
setupPreso();
|
35
38
|
});
|
36
39
|
</script>
|
37
40
|
</head>
|
@@ -59,7 +62,7 @@
|
|
59
62
|
<span id="debugInfo"></span>
|
60
63
|
</div>
|
61
64
|
|
62
|
-
<div id="slides"></div>
|
65
|
+
<div id="slides" class="offscreen"></div>
|
63
66
|
|
64
67
|
</body>
|
65
68
|
</html>
|
data/views/onepage.erb
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
<% else %>
|
13
13
|
<%= inline_css(['onepage.css'], 'public/css') %>
|
14
14
|
<% end %>
|
15
|
-
<%= inline_css(['showoff.css', 'theme/ui.all.css', 'sh_style.css'], 'public/css') %>
|
15
|
+
<%= inline_css(['reset.css', 'showoff.css', 'theme/ui.all.css', 'sh_style.css'], 'public/css') %>
|
16
16
|
<% css_files.each do |css_file| %>
|
17
17
|
<%= inline_css(css_file) %>
|
18
18
|
<% end %>
|
@@ -20,7 +20,7 @@
|
|
20
20
|
<% if !@no_js %>
|
21
21
|
<%= inline_js(['jquery-1.4.min.js', 'jquery-print.js', 'showoff.js', 'onepage.js', 'sh_main.min.js'], 'public/js') %>
|
22
22
|
<script type="text/javascript">
|
23
|
-
$(function(){
|
23
|
+
$(document).ready(function() {
|
24
24
|
setupOnePage()
|
25
25
|
});
|
26
26
|
</script>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: showoff
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scott Chacon
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-
|
12
|
+
date: 2010-03-15 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -73,6 +73,7 @@ files:
|
|
73
73
|
- public/css/fg.menu.css
|
74
74
|
- public/css/onepage.css
|
75
75
|
- public/css/pdf.css
|
76
|
+
- public/css/reset.css
|
76
77
|
- public/css/sh_style.css
|
77
78
|
- public/css/showoff.css
|
78
79
|
- public/css/theme/images/ui-bg_diagonals-small_100_f0efea_40x40.png
|
@@ -104,6 +105,8 @@ files:
|
|
104
105
|
- public/js/fg.menu.js
|
105
106
|
- public/js/jquery-1.4.min.js
|
106
107
|
- public/js/jquery-print.js
|
108
|
+
- public/js/jquery.batchImageLoad.js
|
109
|
+
- public/js/jquery.cycle.all.js
|
107
110
|
- public/js/jTypeWriter.js
|
108
111
|
- public/js/onepage.js
|
109
112
|
- public/js/sh_lang/sh_bison.min.js
|
@@ -147,7 +150,7 @@ files:
|
|
147
150
|
- public/js/sh_lang/sh_xorg.min.js
|
148
151
|
- public/js/sh_main.min.js
|
149
152
|
- public/js/showoff.js
|
150
|
-
has_rdoc:
|
153
|
+
has_rdoc: false
|
151
154
|
homepage: http://github.com/schacon/showoff
|
152
155
|
licenses: []
|
153
156
|
|