slideoff 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.
- checksums.yaml +7 -0
- data/Gemfile +3 -0
- data/MIT-LICENSE +20 -0
- data/README.md +218 -0
- data/bin/slideoff +127 -0
- data/lib/slideoff/config_builder.rb +60 -0
- data/lib/slideoff/flickr_api.rb +50 -0
- data/lib/slideoff/flickr_image.rb +92 -0
- data/lib/slideoff/markdown.rb +145 -0
- data/lib/slideoff/presentation.rb +90 -0
- data/lib/slideoff/remote_api.rb +53 -0
- data/lib/slideoff/routes.rb +20 -0
- data/lib/slideoff/server.rb +50 -0
- data/lib/slideoff/slides_api.rb +59 -0
- data/lib/slideoff/utils.rb +453 -0
- data/lib/slideoff.rb +15 -0
- data/themes/3d_slideshow/README +2 -0
- data/themes/3d_slideshow/css/main.css +232 -0
- data/themes/3d_slideshow/css/reset.css +57 -0
- data/themes/3d_slideshow/index.erb +31 -0
- data/themes/3d_slideshow/js/slideshow.js +288 -0
- data/themes/CSSS/README +2 -0
- data/themes/CSSS/css/slideshow.css +304 -0
- data/themes/CSSS/css/theme.css +250 -0
- data/themes/CSSS/images/rainbow-wood.jpg +0 -0
- data/themes/CSSS/index.erb +36 -0
- data/themes/CSSS/js/classList.js +116 -0
- data/themes/CSSS/js/prefixfree.min.js +5 -0
- data/themes/CSSS/js/slideshow.js +621 -0
- data/themes/common/css/pygments/colorful.css +62 -0
- data/themes/common/css/pygments/manni.css +61 -0
- data/themes/common/css/pygments/native.css +70 -0
- data/themes/common/css/pygments/solarized.css +66 -0
- data/themes/common/fonts/DroidSansMono.svg +626 -0
- data/themes/common/fonts/DroidSansMono.ttf +0 -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/common/fonts/TargetBlank.otf +0 -0
- data/themes/common/fonts/TargetBlank.svg +14 -0
- data/themes/common/fonts/YanoneKaffeesatz-Bold.woff +0 -0
- data/themes/common/fonts/YanoneKaffeesatz-Regular.woff +0 -0
- data/themes/common/fonts/crimson_text.ttf +0 -0
- data/themes/common/fonts/crimson_text_bold.ttf +0 -0
- data/themes/common/fonts/crimson_text_semibold.ttf +0 -0
- data/themes/common/fonts/league_gothic-webfont.ttf +0 -0
- data/themes/html5rocks/README +2 -0
- data/themes/html5rocks/css/default.css +501 -0
- data/themes/html5rocks/css/moon.css +543 -0
- data/themes/html5rocks/css/sand.css +508 -0
- data/themes/html5rocks/css/sea_wave.css +492 -0
- data/themes/html5rocks/index.erb +64 -0
- data/themes/html5rocks/js/slides.js +464 -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/README +5 -0
- data/themes/memories/css/fonts.css +25 -0
- data/themes/memories/css/slideshow.css +286 -0
- data/themes/memories/css/theme.css +183 -0
- data/themes/memories/index.erb +37 -0
- data/themes/memories/js/prefixfree.min.js +13 -0
- data/themes/memories/js/slideshow.js +577 -0
- data/themes/modern/LICENSE +20 -0
- data/themes/modern/README.md +52 -0
- data/themes/modern/css/GENERATED_CONTENT +0 -0
- data/themes/modern/css/defaults.css +0 -0
- data/themes/modern/css/fonts.css +166 -0
- data/themes/modern/css/pygments/colorful.css +215 -0
- data/themes/modern/css/pygments/github.css +208 -0
- data/themes/modern/css/pygments/solarized-dark.css +213 -0
- data/themes/modern/css/pygments/solarized-light.css +213 -0
- data/themes/modern/css/reset.css +41 -0
- data/themes/modern/css/screen.css +1183 -0
- data/themes/modern/fonts/Collegiate.woff +0 -0
- data/themes/modern/fonts/GoudyBookletter.1911.woff +0 -0
- data/themes/modern/fonts/Inconsolata.Bold.woff +0 -0
- data/themes/modern/fonts/Inconsolata.woff +0 -0
- data/themes/modern/fonts/Junction.woff +0 -0
- data/themes/modern/fonts/LiberationMono.Bold.woff +0 -0
- data/themes/modern/fonts/LiberationMono.BoldItalic.woff +0 -0
- data/themes/modern/fonts/LiberationMono.Italic.woff +0 -0
- data/themes/modern/fonts/LiberationMono.Regular.woff +0 -0
- data/themes/modern/fonts/OpenSans.Bold.woff +0 -0
- data/themes/modern/fonts/OpenSans.BoldItalic.woff +0 -0
- data/themes/modern/fonts/OpenSans.ExtraBold.woff +0 -0
- data/themes/modern/fonts/OpenSans.ExtraBoldItalic.woff +0 -0
- data/themes/modern/fonts/OpenSans.Italic.woff +0 -0
- data/themes/modern/fonts/OpenSans.Light.woff +0 -0
- data/themes/modern/fonts/OpenSans.LightItalic.woff +0 -0
- data/themes/modern/fonts/OpenSans.Regular.woff +0 -0
- data/themes/modern/fonts/OpenSans.Semibold.woff +0 -0
- data/themes/modern/fonts/OpenSans.SemiboldItalic.woff +0 -0
- data/themes/modern/fonts/PTMono.woff +0 -0
- data/themes/modern/fonts/PTSans.Bold.Italic.woff +0 -0
- data/themes/modern/fonts/PTSans.Bold.woff +0 -0
- data/themes/modern/fonts/PTSans.Italic.woff +0 -0
- data/themes/modern/fonts/PTSans.Narrow.Bold.woff +0 -0
- data/themes/modern/fonts/PTSans.woff +0 -0
- data/themes/modern/fonts/Raleway.Thin.woff +0 -0
- data/themes/modern/fonts/STIXGeneral.Bold.woff +0 -0
- data/themes/modern/fonts/STIXGeneral.BoldItalic.woff +0 -0
- data/themes/modern/fonts/STIXGeneral.Italic.woff +0 -0
- data/themes/modern/fonts/STIXGeneral.Regular.woff +0 -0
- data/themes/modern/fonts/YanoneKaffeesatz.Bold.woff +0 -0
- data/themes/modern/fonts/YanoneKaffeesatz.ExtraLight.woff +0 -0
- data/themes/modern/fonts/YanoneKaffeesatz.Light.woff +0 -0
- data/themes/modern/fonts/YanoneKaffeesatz.Regular.woff +0 -0
- data/themes/modern/images/cc/by.svg +29 -0
- data/themes/modern/images/cc/cc-white.svg +23 -0
- data/themes/modern/images/cc/cc.svg +23 -0
- data/themes/modern/images/cc/nc-eu.svg +21 -0
- data/themes/modern/images/cc/nc-jp.svg +18 -0
- data/themes/modern/images/cc/nc.svg +23 -0
- data/themes/modern/images/cc/nd.svg +20 -0
- data/themes/modern/images/cc/pd.svg +24 -0
- data/themes/modern/images/cc/remix.svg +20 -0
- data/themes/modern/images/cc/sa.svg +22 -0
- data/themes/modern/images/cc/sampling.plus.svg +33 -0
- data/themes/modern/images/cc/sampling.svg +36 -0
- data/themes/modern/images/cc/share.svg +22 -0
- data/themes/modern/images/cc/zero.svg +24 -0
- data/themes/modern/images/flickr.svg +65 -0
- data/themes/modern/images/mesh.png +0 -0
- data/themes/modern/images/mesh@2x.png +0 -0
- data/themes/modern/images/progress-grayDark.svg +55 -0
- data/themes/modern/images/progress.svg +3 -0
- data/themes/modern/index.erb +76 -0
- data/themes/modern/js/highcharts.js +294 -0
- data/themes/modern/js/jquery-2.1.0.min.js +4 -0
- data/themes/modern/js/script.coffee +480 -0
- data/themes/modern/js/script.js +678 -0
- data/themes/modern/styles/_box.scss +89 -0
- data/themes/modern/styles/_figure.scss +81 -0
- data/themes/modern/styles/_full.scss +74 -0
- data/themes/modern/styles/_increment.scss +38 -0
- data/themes/modern/styles/_list.scss +129 -0
- data/themes/modern/styles/_progress.scss +19 -0
- data/themes/modern/styles/defaults.scss +46 -0
- data/themes/modern/styles/fonts.scss +197 -0
- data/themes/modern/styles/pygments/_solarized.scss +82 -0
- data/themes/modern/styles/pygments/colorful.scss +67 -0
- data/themes/modern/styles/pygments/github.scss +67 -0
- data/themes/modern/styles/pygments/solarized-dark.scss +15 -0
- data/themes/modern/styles/pygments/solarized-light.scss +15 -0
- data/themes/modern/styles/reset.scss +46 -0
- data/themes/modern/styles/screen.scss +841 -0
- 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/README +2 -0
- data/themes/shower/css/fonts.css +50 -0
- data/themes/shower/css/reset.css +42 -0
- data/themes/shower/css/style.css +418 -0
- data/themes/shower/images/grid.png +0 -0
- data/themes/shower/images/linen.png +0 -0
- data/themes/shower/images/ribbon.svg +4 -0
- data/themes/shower/index.erb +35 -0
- data/themes/shower/js/script.js +325 -0
- data/themes/template/README +5 -0
- data/themes/template/css/reset.css +42 -0
- data/themes/template/index.erb +35 -0
- data/themes/template/js/prefixfree.min.js +13 -0
- metadata +343 -0
@@ -0,0 +1,250 @@
|
|
1
|
+
/**
|
2
|
+
CSSS basic slideshow theme
|
3
|
+
|
4
|
+
@author Lea Verou
|
5
|
+
@version 1.0
|
6
|
+
*/
|
7
|
+
|
8
|
+
/**
|
9
|
+
* Variables
|
10
|
+
*/
|
11
|
+
.slide h2,
|
12
|
+
section > header.slide > h1 {
|
13
|
+
font-family: 'Helvetica Neue', Helvetica, sans-serif;
|
14
|
+
font-weight: 100;
|
15
|
+
}
|
16
|
+
|
17
|
+
/**
|
18
|
+
* Styles
|
19
|
+
*/
|
20
|
+
|
21
|
+
* {
|
22
|
+
padding:0;
|
23
|
+
margin:0;
|
24
|
+
font:inherit;
|
25
|
+
color:inherit;
|
26
|
+
}
|
27
|
+
|
28
|
+
html {
|
29
|
+
background: black url(/images/rainbow-wood.jpg) bottom center;
|
30
|
+
background-size: cover;
|
31
|
+
}
|
32
|
+
|
33
|
+
body {
|
34
|
+
font-family: sans-serif;
|
35
|
+
}
|
36
|
+
|
37
|
+
button {
|
38
|
+
padding:.2em .5em;
|
39
|
+
}
|
40
|
+
|
41
|
+
a:hover {
|
42
|
+
text-shadow: 0 0 .5em white, 0 0 1em white;
|
43
|
+
}
|
44
|
+
|
45
|
+
select {
|
46
|
+
color: black;
|
47
|
+
}
|
48
|
+
|
49
|
+
code, pre, style, textarea, input {
|
50
|
+
font-family: Consolas, 'Andale Mono', 'Courier New', monospace;
|
51
|
+
background:rgba(0,0,0,.4);
|
52
|
+
}
|
53
|
+
|
54
|
+
code {
|
55
|
+
padding:.2em .2em .1em;
|
56
|
+
white-space: nowrap;
|
57
|
+
border-radius:.2em;
|
58
|
+
border: 1px solid rgba(0,0,0,0.5);
|
59
|
+
background: rgba(0,0,0,0.25);
|
60
|
+
box-shadow: 0 2px 6px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3), inset 0 12px rgba(255,255,255,0.15), inset 0 10px 20px rgba(255,255,255,0.25), inset 0 -15px 30px rgba(0,0,0,0.3);
|
61
|
+
}
|
62
|
+
|
63
|
+
pre, style, textarea {
|
64
|
+
padding:.3em .5em;
|
65
|
+
margin-left: -.1em;
|
66
|
+
border:2px solid rgba(255, 255, 255, .1);
|
67
|
+
box-shadow:.1em .1em .5em black inset;
|
68
|
+
}
|
69
|
+
|
70
|
+
pre > code {
|
71
|
+
padding: 0;
|
72
|
+
white-space: pre;
|
73
|
+
border: 0;
|
74
|
+
background: 0;
|
75
|
+
box-shadow: none;
|
76
|
+
}
|
77
|
+
|
78
|
+
textarea {
|
79
|
+
width: 100%;
|
80
|
+
box-sizing: border-box;
|
81
|
+
}
|
82
|
+
|
83
|
+
strong, b {
|
84
|
+
font-weight:bold;
|
85
|
+
}
|
86
|
+
|
87
|
+
pre strong {
|
88
|
+
text-shadow: 0 0 .6em white;
|
89
|
+
}
|
90
|
+
|
91
|
+
.slide {
|
92
|
+
padding:0 2.5% 2%;
|
93
|
+
background: rgba(0,0,0,.5);
|
94
|
+
background-clip: padding-box;
|
95
|
+
text-shadow:.05em .05em .1em rgba(0,0,0,.4);
|
96
|
+
color: white;
|
97
|
+
border:30px solid transparent;
|
98
|
+
}
|
99
|
+
|
100
|
+
#indicator {
|
101
|
+
background: rgba(255, 255, 255, .6);
|
102
|
+
color: black;
|
103
|
+
text-shadow: .03em .03em .1em white;
|
104
|
+
}
|
105
|
+
|
106
|
+
section.slide h1 {
|
107
|
+
font-family: 'Helvetica Neue', Helvetica, sans-serif;
|
108
|
+
font-weight: 100;
|
109
|
+
font-size: 1.1in;
|
110
|
+
}
|
111
|
+
|
112
|
+
.slide h2 {
|
113
|
+
font-family: 'Helvetica Neue', Helvetica, sans-serif;
|
114
|
+
font-weight: 100;
|
115
|
+
font-size: 0.8in;
|
116
|
+
}
|
117
|
+
|
118
|
+
.slide p,
|
119
|
+
.slide li {
|
120
|
+
font-weight: bold;
|
121
|
+
letter-spacing: -.03em;
|
122
|
+
}
|
123
|
+
|
124
|
+
.slide > ul {
|
125
|
+
list-style:none;
|
126
|
+
}
|
127
|
+
|
128
|
+
.slide ol {
|
129
|
+
margin-left:2em;
|
130
|
+
}
|
131
|
+
|
132
|
+
.slide > ul ul {
|
133
|
+
margin-left:2em;
|
134
|
+
list-style: none;
|
135
|
+
}
|
136
|
+
|
137
|
+
.slide li li {
|
138
|
+
font-size:80%;
|
139
|
+
}
|
140
|
+
|
141
|
+
.slide li {
|
142
|
+
margin:.2em 0;
|
143
|
+
}
|
144
|
+
|
145
|
+
.slide > ul > li:before {
|
146
|
+
content:'\2714';
|
147
|
+
color: #a0c12c;
|
148
|
+
padding-right: .2em;
|
149
|
+
}
|
150
|
+
|
151
|
+
.slide li li:before {
|
152
|
+
content: '\279C';
|
153
|
+
color: #28bcbc;
|
154
|
+
padding-right: .2em;
|
155
|
+
}
|
156
|
+
|
157
|
+
section > header.slide {
|
158
|
+
background-color: rgba(0,0,0,.8);
|
159
|
+
}
|
160
|
+
|
161
|
+
section > header.slide > h1 {
|
162
|
+
position: absolute;
|
163
|
+
top: 50%;
|
164
|
+
left: 0;
|
165
|
+
right: 0;
|
166
|
+
margin-top: -.6em;
|
167
|
+
font-size: 400%;
|
168
|
+
line-height: 1;
|
169
|
+
text-align: center;
|
170
|
+
}
|
171
|
+
|
172
|
+
.slide .emphasis {
|
173
|
+
padding: .4em .5em .3em;
|
174
|
+
margin: .3em 0;
|
175
|
+
background: #f80;
|
176
|
+
background: linear-gradient(#fa0, #f80);
|
177
|
+
color: white;
|
178
|
+
font-weight: bold;
|
179
|
+
letter-spacing: -.05em;
|
180
|
+
line-height: .85;
|
181
|
+
text-shadow: .05em .05em .1em rgba(0,0,0,.4);
|
182
|
+
border-radius: .3em;
|
183
|
+
box-shadow:.1em .1em .5em black;
|
184
|
+
}
|
185
|
+
|
186
|
+
.light.slide .emphasis {
|
187
|
+
box-shadow:.1em .1em .5em rgba(0,0,0,.4);
|
188
|
+
}
|
189
|
+
|
190
|
+
.slide .emphasis::before {
|
191
|
+
content: '\279C';
|
192
|
+
color: rgba(255,255,255,.5);
|
193
|
+
float: left;
|
194
|
+
width: .75em;
|
195
|
+
height: 0;
|
196
|
+
padding: .45em 0 .3em;
|
197
|
+
margin: -.2em .2em 0 -.25em;
|
198
|
+
border: .12em solid;
|
199
|
+
text-align: center;
|
200
|
+
line-height: 0;
|
201
|
+
font-size: 120%;
|
202
|
+
font-family: inherit;
|
203
|
+
text-shadow: none;
|
204
|
+
border-radius:999px;
|
205
|
+
transform: rotate(45deg);
|
206
|
+
}
|
207
|
+
|
208
|
+
.attribution {
|
209
|
+
background: rgba(0,0,0,.8);
|
210
|
+
color: white;
|
211
|
+
display: block;
|
212
|
+
position: absolute;
|
213
|
+
left: 0;
|
214
|
+
right: 0;
|
215
|
+
bottom: 1em;
|
216
|
+
padding: .5em 1em;
|
217
|
+
font-size: 30%;
|
218
|
+
text-shadow: .05em .05em .1em black;
|
219
|
+
}
|
220
|
+
|
221
|
+
.attribution a {
|
222
|
+
text-decoration: none;
|
223
|
+
}
|
224
|
+
|
225
|
+
.attribution a::after {
|
226
|
+
content: ' (' attr(href) ')';
|
227
|
+
}
|
228
|
+
|
229
|
+
/* Syntax highlighting */
|
230
|
+
|
231
|
+
.comment {
|
232
|
+
color: #999;
|
233
|
+
}
|
234
|
+
|
235
|
+
.string {
|
236
|
+
color: yellow;
|
237
|
+
}
|
238
|
+
|
239
|
+
.keyword {
|
240
|
+
font-weight: bold;
|
241
|
+
color: deeppink;
|
242
|
+
}
|
243
|
+
|
244
|
+
.number, .boolean {
|
245
|
+
color: #0cf;
|
246
|
+
}
|
247
|
+
|
248
|
+
.regex {
|
249
|
+
color: orange;
|
250
|
+
}
|
Binary file
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8" />
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
6
|
+
<title><%= meta.title %></title>
|
7
|
+
<% (theme.css + meta.css).each do |css| %>
|
8
|
+
<link rel="stylesheet" href="<%= css%>">
|
9
|
+
<% end %>
|
10
|
+
<link rel="stylesheet" href="css/pygments/native.css">
|
11
|
+
<script src="js/prefixfree.min.js"></script>
|
12
|
+
</head>
|
13
|
+
<body data-duration="<%= meta.duration %>">
|
14
|
+
<section>
|
15
|
+
<header class="slide">
|
16
|
+
<h1><%= meta.title %></h1>
|
17
|
+
</header>
|
18
|
+
</section>
|
19
|
+
<% sections.each do |section| %>
|
20
|
+
<section>
|
21
|
+
<header class="slide">
|
22
|
+
<h1><%= section.title %></h1>
|
23
|
+
</header>
|
24
|
+
<% section.slides.each do |slide| %>
|
25
|
+
<section class="slide <%= slide.classes %>">
|
26
|
+
<%= slide.html %>
|
27
|
+
</section>
|
28
|
+
<% end %>
|
29
|
+
</section>
|
30
|
+
<% end %>
|
31
|
+
<% (theme.js + meta.js).each do |js| %>
|
32
|
+
<script src="<%= js %>"></script>
|
33
|
+
<% end %>
|
34
|
+
<script>var slideshow = new SlideShow();</script>
|
35
|
+
</body>
|
36
|
+
</html>
|
@@ -0,0 +1,116 @@
|
|
1
|
+
/*
|
2
|
+
* classList.js: Implements a cross-browser element.classList getter.
|
3
|
+
* 2010-09-06
|
4
|
+
*
|
5
|
+
* By Eli Grey, http://eligrey.com
|
6
|
+
* Public Domain.
|
7
|
+
* NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
|
8
|
+
*/
|
9
|
+
|
10
|
+
"use strict";
|
11
|
+
|
12
|
+
if (typeof Element !== "undefined") {
|
13
|
+
|
14
|
+
(function () {
|
15
|
+
|
16
|
+
var
|
17
|
+
classListProp = "classList"
|
18
|
+
, protoProp = "prototype"
|
19
|
+
, elemCtrProto = Element[protoProp]
|
20
|
+
, objCtr = Object
|
21
|
+
;
|
22
|
+
if (!objCtr.hasOwnProperty.call(elemCtrProto, classListProp)) {
|
23
|
+
var
|
24
|
+
strTrim = String[protoProp].trim || function () {
|
25
|
+
return this.replace(/^\s+|\s+$/g, "");
|
26
|
+
}
|
27
|
+
, arrIndexOf = Array[protoProp].indexOf || function (item) {
|
28
|
+
for (var i = 0, len = this.length; i < len; i++) {
|
29
|
+
if (i in this && this[i] === item) {
|
30
|
+
return i;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
return -1;
|
34
|
+
}
|
35
|
+
, checkTokenAndGetIndex = function (classList, token) {
|
36
|
+
if (token === "") {
|
37
|
+
throw "SYNTAX_ERR";
|
38
|
+
}
|
39
|
+
if (/\s/.test(token)) {
|
40
|
+
throw "INVALID_CHARACTER_ERR";
|
41
|
+
}
|
42
|
+
return arrIndexOf.call(classList, token);
|
43
|
+
}
|
44
|
+
, ClassList = function (elem) {
|
45
|
+
var
|
46
|
+
trimmedClasses = strTrim.call(elem.className)
|
47
|
+
, classes = trimmedClasses ? trimmedClasses.split(/\s+/) : []
|
48
|
+
;
|
49
|
+
for (var i = 0, len = classes.length; i < len; i++) {
|
50
|
+
this.push(classes[i]);
|
51
|
+
}
|
52
|
+
this.updateClassName = function () {
|
53
|
+
elem.className = this.toString();
|
54
|
+
};
|
55
|
+
}
|
56
|
+
, classListProto = ClassList[protoProp] = []
|
57
|
+
, classListGetter = function () {
|
58
|
+
return new ClassList(this);
|
59
|
+
}
|
60
|
+
;
|
61
|
+
classListProto.item = function (i) {
|
62
|
+
return this[i] || null;
|
63
|
+
};
|
64
|
+
classListProto.contains = function (token) {
|
65
|
+
token += "";
|
66
|
+
return checkTokenAndGetIndex(this, token) !== -1;
|
67
|
+
};
|
68
|
+
classListProto.add = function (token) {
|
69
|
+
token += "";
|
70
|
+
if (checkTokenAndGetIndex(this, token) === -1) {
|
71
|
+
this.push(token);
|
72
|
+
this.updateClassName();
|
73
|
+
}
|
74
|
+
};
|
75
|
+
classListProto.remove = function (token) {
|
76
|
+
token += "";
|
77
|
+
var index = checkTokenAndGetIndex(this, token);
|
78
|
+
if (index !== -1) {
|
79
|
+
this.splice(index, 1);
|
80
|
+
this.updateClassName();
|
81
|
+
}
|
82
|
+
};
|
83
|
+
classListProto.toggle = function (token) {
|
84
|
+
token += "";
|
85
|
+
if (checkTokenAndGetIndex(this, token) === -1) {
|
86
|
+
this.add(token);
|
87
|
+
} else {
|
88
|
+
this.remove(token);
|
89
|
+
}
|
90
|
+
};
|
91
|
+
classListProto.toString = function () {
|
92
|
+
return this.join(" ");
|
93
|
+
};
|
94
|
+
|
95
|
+
if (objCtr.defineProperty) {
|
96
|
+
var classListDescriptor = {
|
97
|
+
get: classListGetter
|
98
|
+
, enumerable: true
|
99
|
+
, configurable: true
|
100
|
+
};
|
101
|
+
try {
|
102
|
+
objCtr.defineProperty(elemCtrProto, classListProp, classListDescriptor);
|
103
|
+
} catch (ex) { // IE 8 doesn't support enumerable:true
|
104
|
+
if (ex.number === -0x7FF5EC54) {
|
105
|
+
classListDescriptor.enumerable = false;
|
106
|
+
objCtr.defineProperty(elemCtrProto, classListProp, classListDescriptor);
|
107
|
+
}
|
108
|
+
}
|
109
|
+
} else if (objCtr[protoProp].__defineGetter__) {
|
110
|
+
elemCtrProto.__defineGetter__(classListProp, classListGetter);
|
111
|
+
}
|
112
|
+
}
|
113
|
+
|
114
|
+
}());
|
115
|
+
|
116
|
+
}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* StyleFix 1.0.3 & PrefixFree 1.0.7
|
3
|
+
* @author Lea Verou
|
4
|
+
* MIT license
|
5
|
+
*/(function(){function t(e,t){return[].slice.call((t||document).querySelectorAll(e))}if(!window.addEventListener)return;var e=window.StyleFix={link:function(t){try{if(t.rel!=="stylesheet"||t.hasAttribute("data-noprefix"))return}catch(n){return}var r=t.href||t.getAttribute("data-href"),i=r.replace(/[^\/]+$/,""),s=t.parentNode,o=new XMLHttpRequest,u;o.onreadystatechange=function(){o.readyState===4&&u()};u=function(){var n=o.responseText;if(n&&t.parentNode&&(!o.status||o.status<400||o.status>600)){n=e.fix(n,!0,t);if(i){n=n.replace(/url\(\s*?((?:"|')?)(.+?)\1\s*?\)/gi,function(e,t,n){return/^([a-z]{3,10}:|\/|#)/i.test(n)?e:'url("'+i+n+'")'});var r=i.replace(/([\\\^\$*+[\]?{}.=!:(|)])/g,"\\$1");n=n.replace(RegExp("\\b(behavior:\\s*?url\\('?\"?)"+r,"gi"),"$1")}var u=document.createElement("style");u.textContent=n;u.media=t.media;u.disabled=t.disabled;u.setAttribute("data-href",t.getAttribute("href"));s.insertBefore(u,t);s.removeChild(t);u.media=t.media}};try{o.open("GET",r);o.send(null)}catch(n){if(typeof XDomainRequest!="undefined"){o=new XDomainRequest;o.onerror=o.onprogress=function(){};o.onload=u;o.open("GET",r);o.send(null)}}t.setAttribute("data-inprogress","")},styleElement:function(t){if(t.hasAttribute("data-noprefix"))return;var n=t.disabled;t.textContent=e.fix(t.textContent,!0,t);t.disabled=n},styleAttribute:function(t){var n=t.getAttribute("style");n=e.fix(n,!1,t);t.setAttribute("style",n)},process:function(){t('link[rel="stylesheet"]:not([data-inprogress])').forEach(StyleFix.link);t("style").forEach(StyleFix.styleElement);t("[style]").forEach(StyleFix.styleAttribute)},register:function(t,n){(e.fixers=e.fixers||[]).splice(n===undefined?e.fixers.length:n,0,t)},fix:function(t,n,r){for(var i=0;i<e.fixers.length;i++)t=e.fixers[i](t,n,r)||t;return t},camelCase:function(e){return e.replace(/-([a-z])/g,function(e,t){return t.toUpperCase()}).replace("-","")},deCamelCase:function(e){return e.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()})}};(function(){setTimeout(function(){t('link[rel="stylesheet"]').forEach(StyleFix.link)},10);document.addEventListener("DOMContentLoaded",StyleFix.process,!1)})()})();(function(e){function t(e,t,r,i,s){e=n[e];if(e.length){var o=RegExp(t+"("+e.join("|")+")"+r,"gi");s=s.replace(o,i)}return s}if(!window.StyleFix||!window.getComputedStyle)return;var n=window.PrefixFree={prefixCSS:function(e,r,i){var s=n.prefix;n.functions.indexOf("linear-gradient")>-1&&(e=e.replace(/(\s|:|,)(repeating-)?linear-gradient\(\s*(-?\d*\.?\d*)deg/ig,function(e,t,n,r){r=Math.abs(r-450)%360;return t+(n||"")+"linear-gradient("+r+"deg"}));e=t("functions","(\\s|:|,)","\\s*\\(","$1"+s+"$2(",e);e=t("keywords","(\\s|:)","(\\s|;|\\}|$)","$1"+s+"$2$3",e);e=t("properties","(^|\\{|\\s|;)","\\s*:","$1"+s+"$2:",e);if(n.properties.length){var o=RegExp("\\b("+n.properties.join("|")+")(?!:)","gi");e=t("valueProperties","\\b",":(.+?);",function(e){return e.replace(o,s+"$1")},e)}if(r){e=t("selectors","","\\b",n.prefixSelector,e);e=t("atrules","@","\\b","@"+s+"$1",e)}e=e.replace(RegExp("-"+s,"g"),"-");e=e.replace(/-\*-(?=[a-z]+)/gi,n.prefix);return e},property:function(e){return(n.properties.indexOf(e)?n.prefix:"")+e},value:function(e,r){e=t("functions","(^|\\s|,)","\\s*\\(","$1"+n.prefix+"$2(",e);e=t("keywords","(^|\\s)","(\\s|$)","$1"+n.prefix+"$2$3",e);return e},prefixSelector:function(e){return e.replace(/^:{1,2}/,function(e){return e+n.prefix})},prefixProperty:function(e,t){var r=n.prefix+e;return t?StyleFix.camelCase(r):r}};(function(){var e={},t=[],r={},i=getComputedStyle(document.documentElement,null),s=document.createElement("div").style,o=function(n){if(n.charAt(0)==="-"){t.push(n);var r=n.split("-"),i=r[1];e[i]=++e[i]||1;while(r.length>3){r.pop();var s=r.join("-");u(s)&&t.indexOf(s)===-1&&t.push(s)}}},u=function(e){return StyleFix.camelCase(e)in s};if(i.length>0)for(var a=0;a<i.length;a++)o(i[a]);else for(var f in i)o(StyleFix.deCamelCase(f));var l={uses:0};for(var c in e){var h=e[c];l.uses<h&&(l={prefix:c,uses:h})}n.prefix="-"+l.prefix+"-";n.Prefix=StyleFix.camelCase(n.prefix);n.properties=[];for(var a=0;a<t.length;a++){var f=t[a];if(f.indexOf(n.prefix)===0){var p=f.slice(n.prefix.length);u(p)||n.properties.push(p)}}n.Prefix=="Ms"&&!("transform"in s)&&!("MsTransform"in s)&&"msTransform"in s&&n.properties.push("transform","transform-origin");n.properties.sort()})();(function(){function i(e,t){r[t]="";r[t]=e;return!!r[t]}var e={"linear-gradient":{property:"backgroundImage",params:"red, teal"},calc:{property:"width",params:"1px + 5%"},element:{property:"backgroundImage",params:"#foo"},"cross-fade":{property:"backgroundImage",params:"url(a.png), url(b.png), 50%"}};e["repeating-linear-gradient"]=e["repeating-radial-gradient"]=e["radial-gradient"]=e["linear-gradient"];var t={initial:"color","zoom-in":"cursor","zoom-out":"cursor",box:"display",flexbox:"display","inline-flexbox":"display",flex:"display","inline-flex":"display"};n.functions=[];n.keywords=[];var r=document.createElement("div").style;for(var s in e){var o=e[s],u=o.property,a=s+"("+o.params+")";!i(a,u)&&i(n.prefix+a,u)&&n.functions.push(s)}for(var f in t){var u=t[f];!i(f,u)&&i(n.prefix+f,u)&&n.keywords.push(f)}})();(function(){function s(e){i.textContent=e+"{}";return!!i.sheet.cssRules.length}var t={":read-only":null,":read-write":null,":any-link":null,"::selection":null},r={keyframes:"name",viewport:null,document:'regexp(".")'};n.selectors=[];n.atrules=[];var i=e.appendChild(document.createElement("style"));for(var o in t){var u=o+(t[o]?"("+t[o]+")":"");!s(u)&&s(n.prefixSelector(u))&&n.selectors.push(o)}for(var a in r){var u=a+" "+(r[a]||"");!s("@"+u)&&s("@"+n.prefix+u)&&n.atrules.push(a)}e.removeChild(i)})();n.valueProperties=["transition","transition-property"];e.className+=" "+n.prefix;StyleFix.register(n.prefixCSS)})(document.documentElement);
|