slide-em-up 0.2.4 → 0.3.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 +16 -23
- data/lib/slide-em-up.rb +1 -0
- data/lib/slide-em-up/markdown.rb +41 -0
- data/lib/slide-em-up/presentation.rb +14 -32
- data/lib/slide-em-up/remote_api.rb +2 -1
- data/lib/slide-em-up/version.rb +1 -1
- data/themes/CSSS/css/slideshow.css +69 -123
- data/themes/CSSS/css/theme.css +11 -36
- data/themes/CSSS/index.erb +1 -0
- data/themes/CSSS/js/prefixfree.min.js +13 -0
- data/themes/CSSS/js/slideshow.js +319 -234
- data/themes/common/css/pygments/manni.css +61 -0
- data/themes/common/fonts/Lato-BoldItalic.woff +0 -0
- data/themes/common/fonts/Lato-Italic.woff +0 -0
- data/themes/common/fonts/Lato-bold.woff +0 -0
- data/themes/common/fonts/Lato.woff +0 -0
- data/themes/common/fonts/OpenSans-Bold.woff +0 -0
- data/themes/common/fonts/OpenSans-BoldItalic.woff +0 -0
- data/themes/common/fonts/OpenSans-Italic.woff +0 -0
- data/themes/common/fonts/OpenSans.woff +0 -0
- data/themes/common/fonts/PTMono.woff +0 -0
- data/themes/common/fonts/PTSans.Bold.Italic.woff +0 -0
- data/themes/common/fonts/PTSans.Bold.woff +0 -0
- data/themes/common/fonts/PTSans.Italic.woff +0 -0
- data/themes/common/fonts/PTSans.Narrow.Bold.woff +0 -0
- data/themes/common/fonts/PTSans.Narrow.woff +0 -0
- data/themes/common/fonts/PTSans.woff +0 -0
- data/themes/io2012/README +2 -0
- data/themes/io2012/css/default.css +1481 -0
- data/themes/io2012/css/fonts.css +24 -0
- data/themes/io2012/css/phone.css +27 -0
- data/themes/io2012/images/google_developers_icon_128.png +0 -0
- data/themes/io2012/images/io2012_logo.png +0 -0
- data/themes/io2012/index.erb +73 -0
- data/themes/io2012/js/hammer.js +586 -0
- data/themes/io2012/js/modernizr.custom.45394.js +4 -0
- data/themes/io2012/js/order.js +8 -0
- data/themes/io2012/js/polyfills/classList.min.js +2 -0
- data/themes/io2012/js/polyfills/dataset.min.js +2 -0
- data/themes/io2012/js/polyfills/history.min.js +1 -0
- data/themes/io2012/js/prettify/lang-apollo.js +2 -0
- data/themes/io2012/js/prettify/lang-clj.js +18 -0
- data/themes/io2012/js/prettify/lang-css.js +2 -0
- data/themes/io2012/js/prettify/lang-go.js +1 -0
- data/themes/io2012/js/prettify/lang-hs.js +2 -0
- data/themes/io2012/js/prettify/lang-lisp.js +3 -0
- data/themes/io2012/js/prettify/lang-lua.js +2 -0
- data/themes/io2012/js/prettify/lang-ml.js +2 -0
- data/themes/io2012/js/prettify/lang-n.js +4 -0
- data/themes/io2012/js/prettify/lang-proto.js +1 -0
- data/themes/io2012/js/prettify/lang-scala.js +2 -0
- data/themes/io2012/js/prettify/lang-sql.js +2 -0
- data/themes/io2012/js/prettify/lang-tex.js +1 -0
- data/themes/io2012/js/prettify/lang-vb.js +2 -0
- data/themes/io2012/js/prettify/lang-vhdl.js +3 -0
- data/themes/io2012/js/prettify/lang-wiki.js +2 -0
- data/themes/io2012/js/prettify/lang-xq.js +3 -0
- data/themes/io2012/js/prettify/lang-yaml.js +2 -0
- data/themes/io2012/js/prettify/prettify.css +1 -0
- data/themes/io2012/js/prettify/prettify.js +28 -0
- data/themes/io2012/js/require-1.0.8.min.js +33 -0
- data/themes/io2012/js/slide-controller.js +109 -0
- data/themes/io2012/js/slide-deck.js +768 -0
- data/themes/io2012/js/slides.js +5 -0
- data/themes/memories/css/slideshow.css +191 -50
- data/themes/memories/css/theme.css +10 -4
- data/themes/memories/index.erb +2 -0
- data/themes/memories/js/prefixfree.min.js +13 -0
- data/themes/memories/js/slideshow.js +526 -371
- data/themes/reveal/README +2 -0
- data/themes/reveal/css/main.css +1029 -0
- data/themes/reveal/css/reset.css +57 -0
- data/themes/reveal/index.erb +102 -0
- data/themes/reveal/js/classList.js +2 -0
- data/themes/reveal/js/head.min.js +8 -0
- data/themes/reveal/js/reveal.js +951 -0
- data/themes/shower/css/fonts.css +39 -7
- data/themes/shower/css/reset.css +21 -21
- data/themes/shower/css/style.css +108 -75
- data/themes/shower/index.erb +3 -0
- data/themes/shower/js/script.js +160 -92
- metadata +80 -18
data/README.md
CHANGED
|
@@ -38,6 +38,15 @@ How to do your first presentation with Slide'em up?
|
|
|
38
38
|
8. Use the arrows keys to navigate between the slides
|
|
39
39
|
|
|
40
40
|
|
|
41
|
+
Themes
|
|
42
|
+
------
|
|
43
|
+
|
|
44
|
+
Several themes are available: `io2012`, `shower`, `3d_slideshow`, `reveal`,
|
|
45
|
+
`html5rocks`, `CSSS` and `memories`. To choose the theme for your
|
|
46
|
+
presentation, edit the `presentation.json` file and change the `"theme"`
|
|
47
|
+
element.
|
|
48
|
+
|
|
49
|
+
|
|
41
50
|
Markup for the slides
|
|
42
51
|
---------------------
|
|
43
52
|
|
|
@@ -82,14 +91,6 @@ like this:
|
|
|
82
91
|
```
|
|
83
92
|
|
|
84
93
|
|
|
85
|
-
Themes
|
|
86
|
-
------
|
|
87
|
-
|
|
88
|
-
Several themes are available: shower, 3d_slideshow, html5rocks, CSSS
|
|
89
|
-
and memories. To choose the theme for your presentation, edit the
|
|
90
|
-
`presentation.json` file and change the `"theme"` element.
|
|
91
|
-
|
|
92
|
-
|
|
93
94
|
Remote Control
|
|
94
95
|
--------------
|
|
95
96
|
|
|
@@ -111,16 +112,6 @@ setting the `APIKEY` environment variable:
|
|
|
111
112
|
APIKEY=foobar slide-em-up
|
|
112
113
|
|
|
113
114
|
|
|
114
|
-
TODO
|
|
115
|
-
----
|
|
116
|
-
|
|
117
|
-
* Same command line stuff than showoff
|
|
118
|
-
* Add a showoff theme for compatibility
|
|
119
|
-
* Many more themes and features
|
|
120
|
-
* Favicon
|
|
121
|
-
* Optimize process_code (pygments.rb?)
|
|
122
|
-
|
|
123
|
-
|
|
124
115
|
Issues or Suggestions
|
|
125
116
|
---------------------
|
|
126
117
|
|
|
@@ -129,21 +120,23 @@ Found an issue or have a suggestion? Please report it on
|
|
|
129
120
|
|
|
130
121
|
If you wants to make a pull request, please check the specs before:
|
|
131
122
|
|
|
132
|
-
|
|
123
|
+
bundle exec spec/slide-em-up_spec.rb
|
|
133
124
|
|
|
134
125
|
|
|
135
126
|
Credits
|
|
136
127
|
-------
|
|
137
128
|
|
|
138
129
|
Scott Chacon is the guy who made [ShowOff](https://github.com/schacon/showoff).
|
|
139
|
-
Slide'em up is only a copy of ShowOff
|
|
130
|
+
Slide'em up is only a copy of ShowOff with multiple themes and sinatra
|
|
131
|
+
replaced by Goliath.
|
|
140
132
|
|
|
141
133
|
Themes were picked from the internet. Thanks to:
|
|
142
134
|
|
|
143
|
-
- Hakim El Hattab for 3d_slideshow
|
|
135
|
+
- Hakim El Hattab for 3d_slideshow and reveal
|
|
144
136
|
- Google for html5rocks
|
|
145
137
|
- Vadim Makeev for shower
|
|
146
|
-
- Lea Verou for CSSS
|
|
138
|
+
- Lea Verou for CSSS (and its modified version, memories)
|
|
139
|
+
- Google for io2012
|
|
147
140
|
|
|
148
|
-
|
|
141
|
+
♡2011 by Bruno Michel. Copying is an act of love. Please copy and share.
|
|
149
142
|
Released under the MIT license
|
data/lib/slide-em-up.rb
CHANGED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Encoding: utf-8
|
|
2
|
+
require "albino"
|
|
3
|
+
require "redcarpet"
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
module SlideEmUp
|
|
7
|
+
class Markdown < Redcarpet::Render::HTML
|
|
8
|
+
PARSER_OPTIONS = {
|
|
9
|
+
:no_intra_emphasis => true,
|
|
10
|
+
:tables => true,
|
|
11
|
+
:fenced_code_blocks => true,
|
|
12
|
+
:autolink => true,
|
|
13
|
+
:strikethrough => true,
|
|
14
|
+
:superscript => true
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
def self.render(text)
|
|
18
|
+
text ||= ""
|
|
19
|
+
markdown = Redcarpet::Markdown.new(self, PARSER_OPTIONS)
|
|
20
|
+
markdown.render(text)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def block_code(code, lang)
|
|
24
|
+
colorized = Albino.new(code, lang || "text").colorize(:P => "nowrap")
|
|
25
|
+
"<pre><code class=\"#{lang}\">#{colorized}</code></pre>"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def strikethrough(text)
|
|
29
|
+
"<s>#{text}</s>"
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def normal_text(text)
|
|
33
|
+
text.gsub!('« ', '« ')
|
|
34
|
+
text.gsub!(/ ([:;»!?])/, ' \1')
|
|
35
|
+
text.gsub!(' -- ', '—')
|
|
36
|
+
text.gsub!('...', '…')
|
|
37
|
+
text
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -1,23 +1,27 @@
|
|
|
1
|
-
require "albino"
|
|
2
|
-
require "digest/sha1"
|
|
3
1
|
require "erubis"
|
|
4
|
-
require "redcarpet"
|
|
5
2
|
require "yajl"
|
|
6
3
|
|
|
7
4
|
|
|
8
5
|
module SlideEmUp
|
|
9
6
|
class Presentation
|
|
10
|
-
Meta = Struct.new(:title, :dir, :css, :js, :duration)
|
|
7
|
+
Meta = Struct.new(:title, :dir, :css, :js, :author, :duration)
|
|
11
8
|
Theme = Struct.new(:title, :dir, :css, :js)
|
|
12
9
|
Section = Struct.new(:number, :title, :dir, :slides)
|
|
13
|
-
|
|
10
|
+
|
|
11
|
+
class Slide < Struct.new(:number, :classes, :html)
|
|
12
|
+
def extract_title
|
|
13
|
+
return @title if @title
|
|
14
|
+
html.sub!(/<h(\d)>(.*)<\/h\1>/) { @title = $2; "" }
|
|
15
|
+
@title
|
|
16
|
+
end
|
|
17
|
+
end
|
|
14
18
|
|
|
15
19
|
attr_accessor :meta, :theme, :common, :parts
|
|
16
20
|
|
|
17
21
|
def initialize(dir)
|
|
18
22
|
infos = extract_normal_infos(dir) || extract_infos_from_showoff(dir) || {}
|
|
19
23
|
infos = { "title" => "No title", "theme" => "shower", "duration" => 60 }.merge(infos)
|
|
20
|
-
@meta = build_meta(infos["title"], dir, infos["duration"])
|
|
24
|
+
@meta = build_meta(infos["title"], dir, infos["author"], infos["duration"])
|
|
21
25
|
@theme = build_theme(infos["theme"])
|
|
22
26
|
@common = build_theme("common")
|
|
23
27
|
@parts = infos["sections"] || raise(Exception, "check your presentation.json or showoff.json file")
|
|
@@ -52,7 +56,7 @@ module SlideEmUp
|
|
|
52
56
|
{ "title" => infos["name"], "theme" => "showoff", "sections" => sections }
|
|
53
57
|
end
|
|
54
58
|
|
|
55
|
-
def build_meta(title, dir, duration)
|
|
59
|
+
def build_meta(title, dir, author, duration)
|
|
56
60
|
Meta.new.tap do |m|
|
|
57
61
|
m.title = title
|
|
58
62
|
m.dir = dir
|
|
@@ -60,6 +64,7 @@ module SlideEmUp
|
|
|
60
64
|
m.css = Dir["**/*.css"]
|
|
61
65
|
m.js = Dir["**/*.js"]
|
|
62
66
|
end
|
|
67
|
+
m.author = author
|
|
63
68
|
m.duration = duration
|
|
64
69
|
end
|
|
65
70
|
end
|
|
@@ -83,34 +88,11 @@ module SlideEmUp
|
|
|
83
88
|
slides = parts.map.with_index do |slide,j|
|
|
84
89
|
@codemap = {}
|
|
85
90
|
classes, md = slide.split("\n", 2)
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
html = process_code(html)
|
|
89
|
-
Slide.new(j, classes, md, html)
|
|
91
|
+
html = Markdown.render(md)
|
|
92
|
+
Slide.new(j, classes, html)
|
|
90
93
|
end
|
|
91
94
|
Section.new(i, title, dir, slides)
|
|
92
95
|
end
|
|
93
96
|
end
|
|
94
|
-
|
|
95
|
-
# Code taken from gollum (http://github.com/github/gollum)
|
|
96
|
-
def extract_code(md)
|
|
97
|
-
md.gsub(/^``` ?(.+?)\r?\n(.+?)\r?\n```\r?$/m) do
|
|
98
|
-
id = Digest::SHA1.hexdigest($2)
|
|
99
|
-
@codemap[id] = { :lang => $1, :code => $2 }
|
|
100
|
-
id
|
|
101
|
-
end
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
def process_code(data)
|
|
105
|
-
@codemap.each do |id, spec|
|
|
106
|
-
lang, code = spec[:lang], spec[:code]
|
|
107
|
-
if code.lines.all? { |line| line =~ /\A\r?\n\Z/ || line =~ /^( |\t)/ }
|
|
108
|
-
code.gsub!(/^( |\t)/m, '')
|
|
109
|
-
end
|
|
110
|
-
output = Albino.new(code, lang).colorize(:P => "nowrap")
|
|
111
|
-
data.gsub!(id, "<pre><code class=\"#{lang}\">#{output}</code></pre>")
|
|
112
|
-
end
|
|
113
|
-
data
|
|
114
|
-
end
|
|
115
97
|
end
|
|
116
98
|
end
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require "goliath/api"
|
|
2
2
|
|
|
3
|
+
|
|
3
4
|
module SlideEmUp
|
|
4
5
|
class RemoteAPI < Goliath::API
|
|
5
6
|
def initialize(key)
|
|
@@ -39,7 +40,7 @@ module SlideEmUp
|
|
|
39
40
|
env['subscription'] = @chan.subscribe do |msg|
|
|
40
41
|
env.stream_send("data: #{msg}\n\n")
|
|
41
42
|
end
|
|
42
|
-
streaming_response(
|
|
43
|
+
streaming_response(202, {"Content-Type" => "text/event-stream"})
|
|
43
44
|
end
|
|
44
45
|
|
|
45
46
|
def forbidden
|
data/lib/slide-em-up/version.rb
CHANGED
|
@@ -10,16 +10,8 @@
|
|
|
10
10
|
.slide,
|
|
11
11
|
.delayed,
|
|
12
12
|
.delayed-children > * {
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
-moz-transition:1s;
|
|
16
|
-
-o-transition:1s;
|
|
17
|
-
transition:1s;
|
|
18
|
-
-moz-transition-property: -webkit-transform, opacity, left, top, right, bottom;
|
|
19
|
-
-ms-transition-property: -webkit-transform, opacity, left, top, right, bottom;
|
|
20
|
-
-o-transition-property: -webkit-transform, opacity, left, top, right, bottom;
|
|
21
|
-
-webkit-transition-property: -webkit-transform, opacity, left, top, right, bottom;
|
|
22
|
-
transition-property: -webkit-transform, opacity, left, top, right, bottom;
|
|
13
|
+
transition:.5s;
|
|
14
|
+
transition-property: transform, opacity, left, top, right, bottom, background;
|
|
23
15
|
}
|
|
24
16
|
|
|
25
17
|
/**
|
|
@@ -31,50 +23,40 @@
|
|
|
31
23
|
}
|
|
32
24
|
|
|
33
25
|
body {
|
|
34
|
-
counter-reset: slide;
|
|
35
26
|
margin: 0;
|
|
36
27
|
}
|
|
37
28
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
opacity:0;
|
|
51
|
-
height:0;
|
|
52
|
-
width:0;
|
|
53
|
-
overflow:hidden;
|
|
54
|
-
|
|
55
|
-
counter-increment: slide;
|
|
56
|
-
}
|
|
29
|
+
.slide {
|
|
30
|
+
display: none;
|
|
31
|
+
position:absolute;
|
|
32
|
+
top:0;
|
|
33
|
+
right:0;
|
|
34
|
+
bottom:0;
|
|
35
|
+
left:0;
|
|
36
|
+
z-index:1;
|
|
37
|
+
|
|
38
|
+
font-size:250%;
|
|
39
|
+
line-height:1.6;
|
|
40
|
+
}
|
|
57
41
|
|
|
58
42
|
.slide.previous,
|
|
59
43
|
.slide:target,
|
|
60
|
-
.slide:target + .slide, /* just in case, not really needed */
|
|
61
44
|
.slide.next {
|
|
62
|
-
|
|
45
|
+
display: block;
|
|
46
|
+
opacity:0;
|
|
47
|
+
overflow:hidden;
|
|
63
48
|
}
|
|
64
49
|
|
|
65
50
|
.slide:target {
|
|
66
51
|
z-index:100;
|
|
67
52
|
opacity:1;
|
|
68
|
-
height:auto;
|
|
69
|
-
width: auto;
|
|
70
53
|
overflow: visible;
|
|
71
54
|
}
|
|
72
55
|
|
|
73
56
|
/**
|
|
74
57
|
Slide numbers
|
|
75
58
|
*/
|
|
76
|
-
|
|
77
|
-
content: counter(slide);
|
|
59
|
+
#indicator {
|
|
78
60
|
position: absolute;
|
|
79
61
|
top: .05in;
|
|
80
62
|
right: .5em;
|
|
@@ -88,12 +70,7 @@
|
|
|
88
70
|
text-align: center;
|
|
89
71
|
padding: .1em .3em 0;
|
|
90
72
|
min-width: 1.6em;
|
|
91
|
-
-moz-box-sizing: border-box;
|
|
92
|
-
-webkit-box-sizing: border-box;
|
|
93
73
|
box-sizing: border-box;
|
|
94
|
-
|
|
95
|
-
-moz-border-radius: 999px;
|
|
96
|
-
-webkit-border-radius: 999px;
|
|
97
74
|
border-radius: 999px;
|
|
98
75
|
}
|
|
99
76
|
|
|
@@ -116,10 +93,48 @@
|
|
|
116
93
|
.delayed.current,
|
|
117
94
|
.delayed-children > .current,
|
|
118
95
|
.delayed.displayed.non-dismissable,
|
|
119
|
-
.delayed-children > .displayed.non-dismissable
|
|
96
|
+
.delayed-children > .displayed.non-dismissable, /* non-dismissable name is deprecated */
|
|
97
|
+
.delayed.displayed.persistent,
|
|
98
|
+
.delayed-children > .displayed.persistent,
|
|
99
|
+
.delayed-children.persistent > .displayed {
|
|
120
100
|
opacity: 1;
|
|
121
101
|
}
|
|
122
102
|
|
|
103
|
+
/**
|
|
104
|
+
iframe slides
|
|
105
|
+
*/
|
|
106
|
+
.iframe.slide {
|
|
107
|
+
padding: 0 !important;
|
|
108
|
+
text-align: center;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.iframe.slide > h1 {
|
|
112
|
+
position: absolute;
|
|
113
|
+
bottom: 0; right: 0; left: 0;
|
|
114
|
+
background: rgba(0,0,0,.5);
|
|
115
|
+
font-size: 100%;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.iframe.slide > h1 > a {
|
|
119
|
+
display: inline-block;
|
|
120
|
+
padding: .2em .5em;
|
|
121
|
+
|
|
122
|
+
color: white;
|
|
123
|
+
text-align: center;
|
|
124
|
+
text-decoration: none;
|
|
125
|
+
text-shadow: 0 -.05em .05em black;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.slide > iframe:only-of-type {
|
|
129
|
+
position: absolute;
|
|
130
|
+
top: 0;
|
|
131
|
+
left: 0;
|
|
132
|
+
border: 0;
|
|
133
|
+
width: 100%;
|
|
134
|
+
height: 100%;
|
|
135
|
+
margin: 0;
|
|
136
|
+
}
|
|
137
|
+
|
|
123
138
|
/**
|
|
124
139
|
Show thumbnails
|
|
125
140
|
*/
|
|
@@ -132,9 +147,6 @@
|
|
|
132
147
|
.presenter .slide.next {
|
|
133
148
|
width: 1024px;
|
|
134
149
|
height: 768px;
|
|
135
|
-
|
|
136
|
-
-moz-box-sizing: border-box;
|
|
137
|
-
-webkit-box-sizing: border-box;
|
|
138
150
|
box-sizing: border-box;
|
|
139
151
|
|
|
140
152
|
float: left;
|
|
@@ -144,14 +156,7 @@
|
|
|
144
156
|
margin:-292px -395px;
|
|
145
157
|
cursor: pointer;
|
|
146
158
|
|
|
147
|
-
-moz-transform: scale(.2, .2);
|
|
148
|
-
-o-transform: scale(.2, .2);
|
|
149
|
-
-webkit-transform: scale(.2, .2);
|
|
150
159
|
transform: scale(.2, .2);
|
|
151
|
-
|
|
152
|
-
-webkit-transition:1s -webkit-transform;
|
|
153
|
-
-moz-transition:1s -moz-transform;
|
|
154
|
-
-o-transition:1s -o-transform;
|
|
155
160
|
transition:1s transform;
|
|
156
161
|
}
|
|
157
162
|
|
|
@@ -172,7 +177,7 @@
|
|
|
172
177
|
.show-thumbnails .slide:target,
|
|
173
178
|
.presenter .slide:target + .slide {
|
|
174
179
|
outline: 20px solid rgba(255, 255, 255, .6);
|
|
175
|
-
|
|
180
|
+
outline-radius:5px;
|
|
176
181
|
|
|
177
182
|
box-shadow: 5px 5px 10px black;
|
|
178
183
|
}
|
|
@@ -198,46 +203,15 @@
|
|
|
198
203
|
font-size: 250%;
|
|
199
204
|
text-align: center;
|
|
200
205
|
text-shadow: .05em .05em .1em black;
|
|
201
|
-
|
|
202
|
-
-moz-transform: none;
|
|
203
|
-
-ms-transform: none;
|
|
204
|
-
-o-transform: none;
|
|
205
|
-
-webkit-transform: none;
|
|
206
206
|
transform: none;
|
|
207
207
|
}
|
|
208
208
|
|
|
209
209
|
/* Hide all elements in slide by hitting Ctrl + J or Shift + J */
|
|
210
210
|
.hide-elements .slide:target > * {
|
|
211
211
|
opacity: 0;
|
|
212
|
-
|
|
213
|
-
-moz-transition:.5s;
|
|
214
|
-
-webkit-transition:.5s;
|
|
215
|
-
-o-transition:.5s;
|
|
216
212
|
transition:.5s;
|
|
217
213
|
}
|
|
218
214
|
|
|
219
|
-
/* Mark slides as incomplete to spot them easier */
|
|
220
|
-
.incomplete.slide::after {
|
|
221
|
-
content: 'INCOMPLETE';
|
|
222
|
-
font-weight: bold;
|
|
223
|
-
position: absolute;
|
|
224
|
-
top: 40%;
|
|
225
|
-
left: 30%;
|
|
226
|
-
padding: .1em .4em 0;
|
|
227
|
-
border: .1em solid;
|
|
228
|
-
color: rgba(255, 0, 0, .8);
|
|
229
|
-
font-size: 140%;
|
|
230
|
-
|
|
231
|
-
-moz-border-radius: .2em;
|
|
232
|
-
-webkit-border-radius: .2em;
|
|
233
|
-
border-radius: .2em;
|
|
234
|
-
|
|
235
|
-
-moz-transform: rotate(30deg);
|
|
236
|
-
-o-transform: rotate(30deg);
|
|
237
|
-
-webkit-transform: rotate(30deg);
|
|
238
|
-
transform: rotate(30deg);
|
|
239
|
-
}
|
|
240
|
-
|
|
241
215
|
/* Timer */
|
|
242
216
|
|
|
243
217
|
#timer {
|
|
@@ -252,50 +226,25 @@
|
|
|
252
226
|
background:rgba(0,0,0,.5);
|
|
253
227
|
overflow: hidden;
|
|
254
228
|
text-align: right;
|
|
255
|
-
|
|
256
|
-
-moz-box-sizing: border-box;
|
|
257
|
-
-webkit-box-sizing: border-box;
|
|
258
229
|
box-sizing: border-box;
|
|
230
|
+
transition: linear;
|
|
259
231
|
}
|
|
260
232
|
|
|
261
|
-
#timer:before {
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
}
|
|
233
|
+
#timer:before {
|
|
234
|
+
content: 'Progress ';
|
|
235
|
+
text-transform: uppercase;
|
|
236
|
+
color: white;
|
|
237
|
+
font-size: 9px;
|
|
238
|
+
}
|
|
267
239
|
|
|
268
240
|
#timer.end {
|
|
269
241
|
width: 100%;
|
|
270
242
|
}
|
|
271
243
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
position: fixed;
|
|
276
|
-
top: 0;
|
|
244
|
+
#timer.end.overtime {
|
|
245
|
+
width: 0%;
|
|
246
|
+
left: auto;
|
|
277
247
|
right: 0;
|
|
278
|
-
color: white;
|
|
279
|
-
font-size: 50%;
|
|
280
|
-
text-align: center;
|
|
281
|
-
text-transform: uppercase;
|
|
282
|
-
font-weight: bold;
|
|
283
|
-
background: hsl(40,100%,50%);
|
|
284
|
-
background-image: -webkit-linear-gradient(rgba(255, 255, 255, .3), rgba(255, 255, 255, 0));
|
|
285
|
-
background-image: -moz-linear-gradient(rgba(255, 255, 255, .3), rgba(255, 255, 255, 0));
|
|
286
|
-
background-image: -o-linear-gradient(rgba(255, 255, 255, .3), rgba(255, 255, 255, 0));
|
|
287
|
-
line-height: 1.6;
|
|
288
|
-
min-width: 20em;
|
|
289
|
-
|
|
290
|
-
-moz-box-shadow: 0 10px 5px -5px rgba(0,0,0,.3);
|
|
291
|
-
-webkit-box-shadow: 0 10px 5px -5px rgba(0,0,0,.3);
|
|
292
|
-
box-shadow: 0 10px 5px -5px rgba(0,0,0,.3);
|
|
293
|
-
|
|
294
|
-
-moz-transform: rotate(45deg) translate(6em, -2em);
|
|
295
|
-
-ms-transform: rotate(45deg) translate(6em, -2em);
|
|
296
|
-
-webkit-transform: rotate(45deg) translate(6em, -2em);
|
|
297
|
-
-o-transform: rotate(45deg) translate(6em, -2em);
|
|
298
|
-
transform: rotate(45deg) translate(6em, -2em);
|
|
299
248
|
}
|
|
300
249
|
|
|
301
250
|
/* Presenter & projector views */
|
|
@@ -320,9 +269,6 @@
|
|
|
320
269
|
background: rgba(255, 255, 255, .5);
|
|
321
270
|
color: black;
|
|
322
271
|
text-shadow: 0 1px white;
|
|
323
|
-
|
|
324
|
-
-moz-box-shadow: .1em .1em .3em rgba(0,0,0,.5) inset;
|
|
325
|
-
-webkit-box-shadow: .1em .1em .3em rgba(0,0,0,.5) inset;
|
|
326
272
|
box-shadow: .1em .1em .3em rgba(0,0,0,.5) inset;
|
|
327
273
|
}
|
|
328
274
|
|
|
@@ -337,4 +283,4 @@
|
|
|
337
283
|
|
|
338
284
|
.presenter .slide:target > .presenter-notes {
|
|
339
285
|
display: block;
|
|
340
|
-
}
|
|
286
|
+
}
|