deckrb 0.1.0
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.md +63 -0
- data/bin/deck +59 -0
- data/deck/GPL-license.txt +278 -0
- data/deck/MIT-license.txt +21 -0
- data/deck/README.md +57 -0
- data/deck/core/deck.core.css +404 -0
- data/deck/core/deck.core.html +39 -0
- data/deck/core/deck.core.js +498 -0
- data/deck/core/deck.core.scss +447 -0
- data/deck/extensions/goto/deck.goto.css +41 -0
- data/deck/extensions/goto/deck.goto.html +7 -0
- data/deck/extensions/goto/deck.goto.js +134 -0
- data/deck/extensions/goto/deck.goto.scss +46 -0
- data/deck/extensions/hash/deck.hash.css +13 -0
- data/deck/extensions/hash/deck.hash.html +2 -0
- data/deck/extensions/hash/deck.hash.js +129 -0
- data/deck/extensions/hash/deck.hash.scss +15 -0
- data/deck/extensions/menu/deck.menu.css +47 -0
- data/deck/extensions/menu/deck.menu.js +187 -0
- data/deck/extensions/menu/deck.menu.scss +58 -0
- data/deck/extensions/navigation/deck.navigation.css +43 -0
- data/deck/extensions/navigation/deck.navigation.html +3 -0
- data/deck/extensions/navigation/deck.navigation.js +91 -0
- data/deck/extensions/navigation/deck.navigation.scss +56 -0
- data/deck/extensions/scale/deck.scale.css +16 -0
- data/deck/extensions/scale/deck.scale.js +155 -0
- data/deck/extensions/scale/deck.scale.scss +17 -0
- data/deck/extensions/status/deck.status.css +18 -0
- data/deck/extensions/status/deck.status.html +6 -0
- data/deck/extensions/status/deck.status.js +95 -0
- data/deck/extensions/status/deck.status.scss +22 -0
- data/deck/extensions/theme-picker/deck.theme-picker.css +55 -0
- data/deck/extensions/theme-picker/deck.theme-picker.js +13 -0
- data/deck/introduction/index.html +221 -0
- data/deck/introduction/index.rb +101 -0
- data/deck/jquery-1.7.min.js +4 -0
- data/deck/modernizr.custom.js +4 -0
- data/deck/test/fixtures/complex.html +24 -0
- data/deck/test/fixtures/empty.html +19 -0
- data/deck/test/fixtures/iframe_simple.html +10 -0
- data/deck/test/fixtures/iframes.html +32 -0
- data/deck/test/fixtures/nesteds.html +36 -0
- data/deck/test/fixtures/standard.html +42 -0
- data/deck/test/index.html +39 -0
- data/deck/test/lib/jasmine-html.js +190 -0
- data/deck/test/lib/jasmine-jquery.js +288 -0
- data/deck/test/lib/jasmine.css +166 -0
- data/deck/test/lib/jasmine.js +2477 -0
- data/deck/test/settings.js +3 -0
- data/deck/test/spec.core.js +434 -0
- data/deck/test/spec.goto.js +119 -0
- data/deck/test/spec.hash.js +81 -0
- data/deck/test/spec.menu.js +66 -0
- data/deck/test/spec.navigation.js +51 -0
- data/deck/test/spec.scale.js +57 -0
- data/deck/test/spec.status.js +58 -0
- data/deck/themes/style/neon.css +114 -0
- data/deck/themes/style/neon.scss +139 -0
- data/deck/themes/style/swiss.css +75 -0
- data/deck/themes/style/swiss.scss +91 -0
- data/deck/themes/style/web-2.0.css +205 -0
- data/deck/themes/style/web-2.0.scss +236 -0
- data/deck/themes/transition/fade.css +44 -0
- data/deck/themes/transition/fade.scss +70 -0
- data/deck/themes/transition/horizontal-slide.css +79 -0
- data/deck/themes/transition/horizontal-slide.scss +94 -0
- data/deck/themes/transition/vertical-slide.css +97 -0
- data/deck/themes/transition/vertical-slide.scss +116 -0
- data/lib/deck.rb +7 -0
- data/lib/deck/app.rb +16 -0
- data/lib/deck/deck.rb +166 -0
- data/lib/deck/rack_static_patch.rb +13 -0
- data/lib/deck/slide.rb +120 -0
- data/lib/deck/version.rb +3 -0
- data/spec/deck_spec.rb +98 -0
- data/spec/javascripts/support/jasmine_config.rb +23 -0
- data/spec/javascripts/support/jasmine_runner.rb +32 -0
- data/spec/slide_spec.rb +285 -0
- data/spec/spec_helper.rb +7 -0
- metadata +172 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
.deck-container .deck-status {
|
2
|
+
position: absolute;
|
3
|
+
bottom: 10px;
|
4
|
+
right: 5px;
|
5
|
+
color: #888;
|
6
|
+
z-index: 3;
|
7
|
+
margin: 0;
|
8
|
+
}
|
9
|
+
|
10
|
+
body.deck-container .deck-status {
|
11
|
+
position: fixed;
|
12
|
+
}
|
13
|
+
|
14
|
+
@media print {
|
15
|
+
.deck-status {
|
16
|
+
display: none;
|
17
|
+
}
|
18
|
+
}
|
@@ -0,0 +1,95 @@
|
|
1
|
+
/*!
|
2
|
+
Deck JS - deck.status
|
3
|
+
Copyright (c) 2011 Caleb Troughton
|
4
|
+
Dual licensed under the MIT license and GPL license.
|
5
|
+
https://github.com/imakewebthings/deck.js/blob/master/MIT-license.txt
|
6
|
+
https://github.com/imakewebthings/deck.js/blob/master/GPL-license.txt
|
7
|
+
*/
|
8
|
+
|
9
|
+
/*
|
10
|
+
This module adds a (current)/(total) style status indicator to the deck.
|
11
|
+
*/
|
12
|
+
(function($, deck, undefined) {
|
13
|
+
var $d = $(document),
|
14
|
+
|
15
|
+
updateCurrent = function(e, from, to) {
|
16
|
+
var opts = $[deck]('getOptions');
|
17
|
+
|
18
|
+
$(opts.selectors.statusCurrent).text(opts.countNested ?
|
19
|
+
to + 1 :
|
20
|
+
$[deck]('getSlide', to).data('rootSlide')
|
21
|
+
);
|
22
|
+
};
|
23
|
+
|
24
|
+
/*
|
25
|
+
Extends defaults/options.
|
26
|
+
|
27
|
+
options.selectors.statusCurrent
|
28
|
+
The element matching this selector displays the current slide number.
|
29
|
+
|
30
|
+
options.selectors.statusTotal
|
31
|
+
The element matching this selector displays the total number of slides.
|
32
|
+
|
33
|
+
options.countNested
|
34
|
+
If false, only top level slides will be counted in the current and
|
35
|
+
total numbers.
|
36
|
+
*/
|
37
|
+
$.extend(true, $[deck].defaults, {
|
38
|
+
selectors: {
|
39
|
+
statusCurrent: '.deck-status-current',
|
40
|
+
statusTotal: '.deck-status-total'
|
41
|
+
},
|
42
|
+
|
43
|
+
countNested: true
|
44
|
+
});
|
45
|
+
|
46
|
+
$d.bind('deck.init', function() {
|
47
|
+
var opts = $[deck]('getOptions'),
|
48
|
+
slides = $[deck]('getSlides'),
|
49
|
+
$current = $[deck]('getSlide'),
|
50
|
+
ndx;
|
51
|
+
|
52
|
+
// Set total slides once
|
53
|
+
if (opts.countNested) {
|
54
|
+
$(opts.selectors.statusTotal).text(slides.length);
|
55
|
+
}
|
56
|
+
else {
|
57
|
+
/* Determine root slides by checking each slide's ancestor tree for
|
58
|
+
any of the slide classes. */
|
59
|
+
var rootIndex = 1,
|
60
|
+
slideTest = $.map([
|
61
|
+
opts.classes.before,
|
62
|
+
opts.classes.previous,
|
63
|
+
opts.classes.current,
|
64
|
+
opts.classes.next,
|
65
|
+
opts.classes.after
|
66
|
+
], function(el, i) {
|
67
|
+
return '.' + el;
|
68
|
+
}).join(', ');
|
69
|
+
|
70
|
+
/* Store the 'real' root slide number for use during slide changes. */
|
71
|
+
$.each(slides, function(i, $el) {
|
72
|
+
var $parentSlides = $el.parentsUntil(opts.selectors.container, slideTest);
|
73
|
+
|
74
|
+
$el.data('rootSlide', $parentSlides.length ?
|
75
|
+
$parentSlides.last().data('rootSlide') :
|
76
|
+
rootIndex++
|
77
|
+
);
|
78
|
+
});
|
79
|
+
|
80
|
+
$(opts.selectors.statusTotal).text(rootIndex - 1);
|
81
|
+
}
|
82
|
+
|
83
|
+
// Find where we started in the deck and set initial state
|
84
|
+
$.each(slides, function(i, $el) {
|
85
|
+
if ($el === $current) {
|
86
|
+
ndx = i;
|
87
|
+
return false;
|
88
|
+
}
|
89
|
+
});
|
90
|
+
updateCurrent(null, ndx, ndx);
|
91
|
+
})
|
92
|
+
/* Update current slide number with each change event */
|
93
|
+
.bind('deck.change', updateCurrent);
|
94
|
+
})(jQuery, 'deck');
|
95
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
.deck-container {
|
2
|
+
.deck-status {
|
3
|
+
position:absolute;
|
4
|
+
bottom:10px;
|
5
|
+
right:5px;
|
6
|
+
color:#888;
|
7
|
+
z-index:3;
|
8
|
+
margin:0;
|
9
|
+
}
|
10
|
+
}
|
11
|
+
|
12
|
+
body.deck-container {
|
13
|
+
.deck-status {
|
14
|
+
position:fixed;
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
@media print {
|
19
|
+
.deck-status {
|
20
|
+
display:none;
|
21
|
+
}
|
22
|
+
}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
.deck-container .theme-picker {
|
2
|
+
display: none;
|
3
|
+
position: fixed;
|
4
|
+
z-index: 3;
|
5
|
+
bottom: -20px;
|
6
|
+
right: 10px;
|
7
|
+
height: 20px;
|
8
|
+
line-height: 20px;
|
9
|
+
padding: 5px;
|
10
|
+
border: 1px solid #ddd;
|
11
|
+
-webkit-border-radius: 5px;
|
12
|
+
-moz-border-radius: 5px;
|
13
|
+
border-radius: 5px;
|
14
|
+
overflow: hidden;
|
15
|
+
background: #fff;
|
16
|
+
font-family: sans-serif;
|
17
|
+
color: #888;
|
18
|
+
}
|
19
|
+
.js .deck-container .theme-picker {
|
20
|
+
display: block;
|
21
|
+
}
|
22
|
+
.deck-container .theme-picker h2 {
|
23
|
+
float: left;
|
24
|
+
font-size: 12px;
|
25
|
+
border: 0;
|
26
|
+
padding: 5px 10px;
|
27
|
+
margin: 0;
|
28
|
+
height: 20px;
|
29
|
+
position: relative;
|
30
|
+
top: -5px;
|
31
|
+
left: -5px;
|
32
|
+
background: #ccc;
|
33
|
+
color: #444;
|
34
|
+
text-shadow: none;
|
35
|
+
font-family: sans-serif;
|
36
|
+
font-weight: bold;
|
37
|
+
}
|
38
|
+
.deck-container .theme-picker label {
|
39
|
+
float: left;
|
40
|
+
display: block;
|
41
|
+
font-size: 12px;
|
42
|
+
vertical-align: baseline;
|
43
|
+
margin: 0 4px 0 15px;
|
44
|
+
}
|
45
|
+
.deck-container .theme-picker select {
|
46
|
+
float: left;
|
47
|
+
display: block;
|
48
|
+
font-size: 14px;
|
49
|
+
}
|
50
|
+
|
51
|
+
@media print {
|
52
|
+
.theme-picker {
|
53
|
+
display: none !important;
|
54
|
+
}
|
55
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
$(function() {
|
2
|
+
|
3
|
+
$('.deck-container').prepend('<div class="theme-picker"><h2>Themes</h2><label for="style-themes">Style:</label><select id="style-themes"><option selected="selected" value="deck/themes/style/web-2.0.css">Web 2.0</option><option value="deck/themes/style/swiss.css">Swiss</option><option value="deck/themes/style/neon.css">Neon</option><option value="">None</option></select><label for="transition-themes">Transition:</label><select id="transition-themes"><option value="deck/themes/transition/horizontal-slide.css">Horizontal Slide</option><option value="deck/themes/transition/vertical-slide.css">Vertical Slide</option><option value="deck/themes/transition/fade.css">Fade</option><option selected="selected" value="">None</option></select></div>');
|
4
|
+
|
5
|
+
$('#style-themes').change(function() {
|
6
|
+
$('#style-theme-link').attr('href', $(this).val());
|
7
|
+
});
|
8
|
+
|
9
|
+
$('#transition-themes').change(function() {
|
10
|
+
$('#transition-theme-link').attr('href', $(this).val());
|
11
|
+
});
|
12
|
+
});
|
13
|
+
|
@@ -0,0 +1,221 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<!--[if lt IE 7]> <html class="no-js ie6" lang="en"> <![endif]-->
|
3
|
+
<!--[if IE 7]> <html class="no-js ie7" lang="en"> <![endif]-->
|
4
|
+
<!--[if IE 8]> <html class="no-js ie8" lang="en"> <![endif]-->
|
5
|
+
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
|
6
|
+
<head>
|
7
|
+
<meta charset="utf-8">
|
8
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
9
|
+
|
10
|
+
<title>Getting Started with deck.js</title>
|
11
|
+
|
12
|
+
<meta name="description" content="A jQuery library for modern HTML presentations">
|
13
|
+
<meta name="author" content="Caleb Troughton">
|
14
|
+
<meta name="viewport" content="width=1024, user-scalable=no">
|
15
|
+
|
16
|
+
<!-- Core and extension CSS files -->
|
17
|
+
<link rel="stylesheet" href="../core/deck.core.css">
|
18
|
+
<link rel="stylesheet" href="../extensions/goto/deck.goto.css">
|
19
|
+
<link rel="stylesheet" href="../extensions/menu/deck.menu.css">
|
20
|
+
<link rel="stylesheet" href="../extensions/navigation/deck.navigation.css">
|
21
|
+
<link rel="stylesheet" href="../extensions/status/deck.status.css">
|
22
|
+
<link rel="stylesheet" href="../extensions/hash/deck.hash.css">
|
23
|
+
|
24
|
+
<!-- Theme CSS files (menu swaps these out) -->
|
25
|
+
<link rel="stylesheet" id="style-theme-link" href="../themes/style/web-2.0.css">
|
26
|
+
<link rel="stylesheet" id="transition-theme-link" href="../themes/transition/horizontal-slide.css">
|
27
|
+
|
28
|
+
<!-- Custom CSS just for this page -->
|
29
|
+
<link rel="stylesheet" href="introduction.css">
|
30
|
+
|
31
|
+
<script src="../modernizr.custom.js"></script>
|
32
|
+
</head>
|
33
|
+
|
34
|
+
<body class="deck-container">
|
35
|
+
|
36
|
+
<div class="theme-picker">
|
37
|
+
<h2>Themes</h2>
|
38
|
+
|
39
|
+
<label for="style-themes">Style:</label>
|
40
|
+
<select id="style-themes">
|
41
|
+
<option selected="selected" value="../themes/style/web-2.0.css">Web 2.0</option>
|
42
|
+
<option value="../themes/style/swiss.css">Swiss</option>
|
43
|
+
<option value="../themes/style/neon.css">Neon</option>
|
44
|
+
<option value="">None</option>
|
45
|
+
</select>
|
46
|
+
|
47
|
+
<label for="transition-themes">Transition:</label>
|
48
|
+
<select id="transition-themes">
|
49
|
+
<option selected="selected" value="../themes/transition/horizontal-slide.css">Horizontal Slide</option>
|
50
|
+
<option value="../themes/transition/vertical-slide.css">Vertical Slide</option>
|
51
|
+
<option value="../themes/transition/fade.css">Fade</option>
|
52
|
+
<option value="">None</option>
|
53
|
+
</select>
|
54
|
+
</div>
|
55
|
+
|
56
|
+
<section class="slide" id="title-slide">
|
57
|
+
<h1>Getting Started with deck.js</h1>
|
58
|
+
</section>
|
59
|
+
|
60
|
+
<section class="slide" id="how-to-overview">
|
61
|
+
<h2>How to Make a Deck</h2>
|
62
|
+
<ol>
|
63
|
+
<li>
|
64
|
+
<h3>Write Slides</h3>
|
65
|
+
<p>Slide content is simple HTML.</p>
|
66
|
+
</li>
|
67
|
+
<li>
|
68
|
+
<h3>Choose Themes</h3>
|
69
|
+
<p>One for slide styles and one for deck transitions.</p>
|
70
|
+
</li>
|
71
|
+
<li>
|
72
|
+
<h3>Include Extensions</h3>
|
73
|
+
<p>Add extra functionality to your deck, or leave it stripped down.</p>
|
74
|
+
</li>
|
75
|
+
</ol>
|
76
|
+
</section>
|
77
|
+
|
78
|
+
<section class="slide" id="markup">
|
79
|
+
<h2>The Markup</h2>
|
80
|
+
<p>Slides are just HTML elements with a class of <code>slide</code>.</p>
|
81
|
+
<pre><code><section class="slide">
|
82
|
+
<h2>How to Make a Deck</h2>
|
83
|
+
<ol>
|
84
|
+
<li>
|
85
|
+
<h3>Write Slides</h3>
|
86
|
+
<p>Slide content is simple HTML.</p>
|
87
|
+
</li>
|
88
|
+
<li>
|
89
|
+
<h3>Choose Themes</h3>
|
90
|
+
<p>One for slide styles and one for deck transitions.</p>
|
91
|
+
</li>
|
92
|
+
…
|
93
|
+
</ol>
|
94
|
+
</section></code></pre>
|
95
|
+
</section>
|
96
|
+
|
97
|
+
<section class="slide" id="themes">
|
98
|
+
<h2>Style Themes</h2>
|
99
|
+
<p>Customizes the colors, typography, and layout of slide content.</p>
|
100
|
+
<pre><code><link rel="stylesheet" href="/path/to/css/style-theme.css"></code></pre>
|
101
|
+
<h2>Transition Themes</h2>
|
102
|
+
<p>Defines transitions between slides using CSS3 transitions. Less capable browsers fall back to cutaways. But <strong>you</strong> aren’t using <em>those</em> browsers to give your presentations, are you…</p>
|
103
|
+
<pre><code><link rel="stylesheet" href="/path/to/css/transition-theme.css"></code></pre>
|
104
|
+
</section>
|
105
|
+
|
106
|
+
<section class="slide" id="extensions">
|
107
|
+
<h2>Extensions</h2>
|
108
|
+
<p>Core gives you basic slide functionality with left and right arrow navigation, but you may want more. Here are the ones included in this deck:</p>
|
109
|
+
|
110
|
+
<ul>
|
111
|
+
<li class="slide" id="extensions-goto">
|
112
|
+
<strong>deck.goto</strong>: Adds a shortcut key to jump to any slide number. Hit g, type in the slide number, and hit enter.
|
113
|
+
</li>
|
114
|
+
|
115
|
+
<li class="slide" id="extensions-hash">
|
116
|
+
<strong>deck.hash</strong>: Enables internal linking within slides, deep linking to individual slides, and updates the address bar & a permalink anchor with each slide change.
|
117
|
+
</li>
|
118
|
+
|
119
|
+
<li class="slide" id="extensions-menu">
|
120
|
+
<strong>deck.menu</strong>: Adds a menu view, letting you see all slides in a grid. Hit m to toggle to menu view, continue navigating your deck, and hit m to return to normal view. Touch devices can double-tap the deck to switch between views.
|
121
|
+
</li>
|
122
|
+
|
123
|
+
<li class="slide" id="extensions-navigation">
|
124
|
+
<strong>deck.navigation</strong>: Adds clickable left and right buttons for the less keyboard inclined.
|
125
|
+
</li>
|
126
|
+
|
127
|
+
<li class="slide" id="extensions-status">
|
128
|
+
<strong>deck.status</strong>: Adds a page number indicator. (current/total)
|
129
|
+
</li>
|
130
|
+
</ul>
|
131
|
+
|
132
|
+
<p class="slide" id="extension-folders">Each extension folder in the download package contains the necessary JavaScript, CSS, and HTML files. For a complete list of extension modules included in deck.js, check out the <a href="http://imakewebthings.github.com/deck.js/docs">documentation</a>.</p>
|
133
|
+
</section>
|
134
|
+
|
135
|
+
<section class="slide" id="nested">
|
136
|
+
<h2>Nested Slides</h2>
|
137
|
+
<p>That last slide had a few steps. To create substeps in slides, just nest them:</p>
|
138
|
+
<pre><code><section class="slide">
|
139
|
+
<h2>Extensions</h2>
|
140
|
+
<p>Core gives you basic slide functionality...</p>
|
141
|
+
<ul>
|
142
|
+
<li class="slide">
|
143
|
+
<h3>deck.goto</h3>
|
144
|
+
<p>Adds a shortcut key to jump to any slide number...</p>
|
145
|
+
</li>
|
146
|
+
<li class="slide">...</li>
|
147
|
+
<li class="slide">...</li>
|
148
|
+
<li class="slide">...</li>
|
149
|
+
</ul>
|
150
|
+
</section></code></pre>
|
151
|
+
</section>
|
152
|
+
|
153
|
+
<section class="slide" id="elements-images">
|
154
|
+
<h2>Other Elements: Images</h2>
|
155
|
+
<img src="http://placekitten.com/600/375" alt="Kitties">
|
156
|
+
<pre><code><img src="http://placekitten.com/600/375" alt="Kitties"></code></pre>
|
157
|
+
</section>
|
158
|
+
|
159
|
+
<section class="slide" id="elements-blockquotes">
|
160
|
+
<h2>Other Elements: Blockquotes</h2>
|
161
|
+
<blockquote cite="http://example.org">
|
162
|
+
<p>Food is an important part of a balanced diet.</p>
|
163
|
+
<p><cite>Fran Lebowitz</cite></p>
|
164
|
+
</blockquote>
|
165
|
+
<pre><code><blockquote cite="http://example.org">
|
166
|
+
<p>Food is an important part of a balanced diet.</p>
|
167
|
+
<p><cite>Fran Lebowitz</cite></p>
|
168
|
+
</blockquote></code></pre>
|
169
|
+
</section>
|
170
|
+
|
171
|
+
|
172
|
+
<section class="slide" id="elements-videos">
|
173
|
+
<h2>Other Elements: Video Embeds</h2>
|
174
|
+
<p>Embed videos from your favorite online video service or with an HTML5 video element.</p>
|
175
|
+
|
176
|
+
<iframe src="http://player.vimeo.com/video/1063136?title=0&byline=0&portrait=0" width="400" height="225" frameborder="0"></iframe>
|
177
|
+
|
178
|
+
<pre><code><iframe src="http://player.vimeo.com/video/1063136?title=0&amp;byline=0&amp;portrait=0" width="400" height="225" frameborder="0"></iframe></code></pre>
|
179
|
+
</section>
|
180
|
+
|
181
|
+
<section class="slide" id="digging-deeper">
|
182
|
+
<h2>Digging Deeper</h2>
|
183
|
+
<p>If you want to learn about making your own themes, extending deck.js, and more, check out the <a href="../docs/">documentation</a>.</p>
|
184
|
+
</section>
|
185
|
+
|
186
|
+
<a href="#" class="deck-prev-link" title="Previous">←</a>
|
187
|
+
<a href="#" class="deck-next-link" title="Next">→</a>
|
188
|
+
|
189
|
+
<p class="deck-status">
|
190
|
+
<span class="deck-status-current"></span>
|
191
|
+
/
|
192
|
+
<span class="deck-status-total"></span>
|
193
|
+
</p>
|
194
|
+
|
195
|
+
<form action="." method="get" class="goto-form">
|
196
|
+
<label for="goto-slide">Go to slide:</label>
|
197
|
+
<input type="text" name="slidenum" id="goto-slide" list="goto-datalist">
|
198
|
+
<datalist id="goto-datalist"></datalist>
|
199
|
+
<input type="submit" value="Go">
|
200
|
+
</form>
|
201
|
+
|
202
|
+
<a href="." title="Permalink to this slide" class="deck-permalink">#</a>
|
203
|
+
|
204
|
+
|
205
|
+
<!-- Grab CDN jQuery, with a protocol relative URL; fall back to local if offline -->
|
206
|
+
<script src="//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.min.js"></script>
|
207
|
+
<script>window.jQuery || document.write('<script src="../jquery-1.7.min.js"><\/script>')</script>
|
208
|
+
|
209
|
+
<!-- Deck Core and extensions -->
|
210
|
+
<script src="../core/deck.core.js"></script>
|
211
|
+
<script src="../extensions/hash/deck.hash.js"></script>
|
212
|
+
<script src="../extensions/menu/deck.menu.js"></script>
|
213
|
+
<script src="../extensions/goto/deck.goto.js"></script>
|
214
|
+
<script src="../extensions/status/deck.status.js"></script>
|
215
|
+
<script src="../extensions/navigation/deck.navigation.js"></script>
|
216
|
+
|
217
|
+
<!-- Specific to this page -->
|
218
|
+
<script src="introduction.js"></script>
|
219
|
+
|
220
|
+
</body>
|
221
|
+
</html>
|
@@ -0,0 +1,101 @@
|
|
1
|
+
class Index < Erector::Widget
|
2
|
+
def content
|
3
|
+
rawtext '<!DOCTYPE html>'
|
4
|
+
rawtext '<!--[if lt IE 7]>'
|
5
|
+
html :class => 'no-js ie6', :lang => 'en' do
|
6
|
+
rawtext '<![endif]-->'
|
7
|
+
rawtext '<!--[if IE 7]>'
|
8
|
+
html :class => 'no-js ie7', :lang => 'en' do
|
9
|
+
rawtext '<![endif]-->'
|
10
|
+
rawtext '<!--[if IE 8]>'
|
11
|
+
html :class => 'no-js ie8', :lang => 'en' do
|
12
|
+
rawtext '<![endif]-->'
|
13
|
+
rawtext '<!--[if gt IE 8]>'
|
14
|
+
rawtext '<!-->'
|
15
|
+
html :class => 'no-js', :lang => 'en' do
|
16
|
+
rawtext '<!--<![endif]-->'
|
17
|
+
head do
|
18
|
+
meta :charset => 'utf-8' do
|
19
|
+
meta 'http-equiv' => 'X-UA-Compatible', :content => 'IE=edge,chrome=1' do
|
20
|
+
title do
|
21
|
+
text 'Getting Started with deck.js'
|
22
|
+
end
|
23
|
+
meta :name => 'description', :content => 'A jQuery library for modern HTML presentations' do
|
24
|
+
meta :name => 'author', :content => 'Caleb Troughton' do
|
25
|
+
meta :name => 'viewport', :content => 'width=1024, user-scalable=no' do
|
26
|
+
rawtext '<!-- Core and extension CSS files -->'
|
27
|
+
link :rel => 'stylesheet', :href => '../core/deck.core.css' do
|
28
|
+
link :rel => 'stylesheet', :href => '../extensions/goto/deck.goto.css' do
|
29
|
+
link :rel => 'stylesheet', :href => '../extensions/menu/deck.menu.css' do
|
30
|
+
link :rel => 'stylesheet', :href => '../extensions/navigation/deck.navigation.css' do
|
31
|
+
link :rel => 'stylesheet', :href => '../extensions/status/deck.status.css' do
|
32
|
+
link :rel => 'stylesheet', :href => '../extensions/hash/deck.hash.css' do
|
33
|
+
rawtext '<!-- Theme CSS files (menu swaps these out) -->'
|
34
|
+
link :rel => 'stylesheet', :id => 'style-theme-link', :href => '../themes/style/web-2.0.css' do
|
35
|
+
link :rel => 'stylesheet', :id => 'transition-theme-link', :href => '../themes/transition/horizontal-slide.css' do
|
36
|
+
rawtext '<!-- Custom CSS just for this page -->'
|
37
|
+
link :rel => 'stylesheet', :href => 'introduction.css' do
|
38
|
+
script :src => '../modernizr.custom.js' do
|
39
|
+
end
|
40
|
+
end
|
41
|
+
body :class => 'deck-container' do
|
42
|
+
section :class => 'slide', :id => 'title-slide' do
|
43
|
+
h1 do
|
44
|
+
text 'Getting Started with deck.js'
|
45
|
+
end
|
46
|
+
end
|
47
|
+
a :href => '#', :class => 'deck-prev-link', :title => 'Previous' do
|
48
|
+
text '←'
|
49
|
+
end
|
50
|
+
a :href => '#', :class => 'deck-next-link', :title => 'Next' do
|
51
|
+
text '→'
|
52
|
+
end
|
53
|
+
p :class => 'deck-status' do
|
54
|
+
span :class => 'deck-status-current' do
|
55
|
+
end
|
56
|
+
text '/'
|
57
|
+
span :class => 'deck-status-total' do
|
58
|
+
end
|
59
|
+
end
|
60
|
+
form :action => '.', :method => 'get', :class => 'goto-form' do
|
61
|
+
label :for => 'goto-slide' do
|
62
|
+
text 'Go to slide:'
|
63
|
+
end
|
64
|
+
input :type => 'text', :name => 'slidenum', :id => 'goto-slide', :list => 'goto-datalist' do
|
65
|
+
datalist :id => 'goto-datalist' do
|
66
|
+
end
|
67
|
+
input :type => 'submit', :value => 'Go' do
|
68
|
+
end
|
69
|
+
|
70
|
+
|
71
|
+
a :href => '.', :title => 'Permalink to this slide', :class => 'deck-permalink' do
|
72
|
+
text '#'
|
73
|
+
end
|
74
|
+
rawtext '<!-- Grab CDN jQuery, with a protocol relative URL; fall back to local if offline -->'
|
75
|
+
script :src => '//ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.min.js' do
|
76
|
+
end
|
77
|
+
script do
|
78
|
+
text 'window.jQuery || document.write(\''
|
79
|
+
script :src => '../jquery-1.7.min.js' do
|
80
|
+
text '<\/script>\')'
|
81
|
+
end
|
82
|
+
rawtext '<!-- Deck Core and extensions -->'
|
83
|
+
script :src => '../core/deck.core.js' do
|
84
|
+
end
|
85
|
+
script :src => '../extensions/hash/deck.hash.js' do
|
86
|
+
end
|
87
|
+
script :src => '../extensions/menu/deck.menu.js' do
|
88
|
+
end
|
89
|
+
script :src => '../extensions/goto/deck.goto.js' do
|
90
|
+
end
|
91
|
+
script :src => '../extensions/status/deck.status.js' do
|
92
|
+
end
|
93
|
+
script :src => '../extensions/navigation/deck.navigation.js' do
|
94
|
+
end
|
95
|
+
rawtext '<!-- Specific to this page -->'
|
96
|
+
script :src => 'introduction.js' do
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|