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.
Files changed (214) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +3 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.md +218 -0
  5. data/bin/slideoff +127 -0
  6. data/lib/slideoff/config_builder.rb +60 -0
  7. data/lib/slideoff/flickr_api.rb +50 -0
  8. data/lib/slideoff/flickr_image.rb +92 -0
  9. data/lib/slideoff/markdown.rb +145 -0
  10. data/lib/slideoff/presentation.rb +90 -0
  11. data/lib/slideoff/remote_api.rb +53 -0
  12. data/lib/slideoff/routes.rb +20 -0
  13. data/lib/slideoff/server.rb +50 -0
  14. data/lib/slideoff/slides_api.rb +59 -0
  15. data/lib/slideoff/utils.rb +453 -0
  16. data/lib/slideoff.rb +15 -0
  17. data/themes/3d_slideshow/README +2 -0
  18. data/themes/3d_slideshow/css/main.css +232 -0
  19. data/themes/3d_slideshow/css/reset.css +57 -0
  20. data/themes/3d_slideshow/index.erb +31 -0
  21. data/themes/3d_slideshow/js/slideshow.js +288 -0
  22. data/themes/CSSS/README +2 -0
  23. data/themes/CSSS/css/slideshow.css +304 -0
  24. data/themes/CSSS/css/theme.css +250 -0
  25. data/themes/CSSS/images/rainbow-wood.jpg +0 -0
  26. data/themes/CSSS/index.erb +36 -0
  27. data/themes/CSSS/js/classList.js +116 -0
  28. data/themes/CSSS/js/prefixfree.min.js +5 -0
  29. data/themes/CSSS/js/slideshow.js +621 -0
  30. data/themes/common/css/pygments/colorful.css +62 -0
  31. data/themes/common/css/pygments/manni.css +61 -0
  32. data/themes/common/css/pygments/native.css +70 -0
  33. data/themes/common/css/pygments/solarized.css +66 -0
  34. data/themes/common/fonts/DroidSansMono.svg +626 -0
  35. data/themes/common/fonts/DroidSansMono.ttf +0 -0
  36. data/themes/common/fonts/Lato-BoldItalic.woff +0 -0
  37. data/themes/common/fonts/Lato-Italic.woff +0 -0
  38. data/themes/common/fonts/Lato-bold.woff +0 -0
  39. data/themes/common/fonts/Lato.woff +0 -0
  40. data/themes/common/fonts/OpenSans-Bold.woff +0 -0
  41. data/themes/common/fonts/OpenSans-BoldItalic.woff +0 -0
  42. data/themes/common/fonts/OpenSans-Italic.woff +0 -0
  43. data/themes/common/fonts/OpenSans.woff +0 -0
  44. data/themes/common/fonts/PTMono.woff +0 -0
  45. data/themes/common/fonts/PTSans.Bold.Italic.woff +0 -0
  46. data/themes/common/fonts/PTSans.Bold.woff +0 -0
  47. data/themes/common/fonts/PTSans.Italic.woff +0 -0
  48. data/themes/common/fonts/PTSans.Narrow.Bold.woff +0 -0
  49. data/themes/common/fonts/PTSans.Narrow.woff +0 -0
  50. data/themes/common/fonts/PTSans.woff +0 -0
  51. data/themes/common/fonts/TargetBlank.otf +0 -0
  52. data/themes/common/fonts/TargetBlank.svg +14 -0
  53. data/themes/common/fonts/YanoneKaffeesatz-Bold.woff +0 -0
  54. data/themes/common/fonts/YanoneKaffeesatz-Regular.woff +0 -0
  55. data/themes/common/fonts/crimson_text.ttf +0 -0
  56. data/themes/common/fonts/crimson_text_bold.ttf +0 -0
  57. data/themes/common/fonts/crimson_text_semibold.ttf +0 -0
  58. data/themes/common/fonts/league_gothic-webfont.ttf +0 -0
  59. data/themes/html5rocks/README +2 -0
  60. data/themes/html5rocks/css/default.css +501 -0
  61. data/themes/html5rocks/css/moon.css +543 -0
  62. data/themes/html5rocks/css/sand.css +508 -0
  63. data/themes/html5rocks/css/sea_wave.css +492 -0
  64. data/themes/html5rocks/index.erb +64 -0
  65. data/themes/html5rocks/js/slides.js +464 -0
  66. data/themes/io2012/README +2 -0
  67. data/themes/io2012/css/default.css +1481 -0
  68. data/themes/io2012/css/fonts.css +24 -0
  69. data/themes/io2012/css/phone.css +27 -0
  70. data/themes/io2012/images/google_developers_icon_128.png +0 -0
  71. data/themes/io2012/images/io2012_logo.png +0 -0
  72. data/themes/io2012/index.erb +73 -0
  73. data/themes/io2012/js/hammer.js +586 -0
  74. data/themes/io2012/js/modernizr.custom.45394.js +4 -0
  75. data/themes/io2012/js/order.js +8 -0
  76. data/themes/io2012/js/polyfills/classList.min.js +2 -0
  77. data/themes/io2012/js/polyfills/dataset.min.js +2 -0
  78. data/themes/io2012/js/polyfills/history.min.js +1 -0
  79. data/themes/io2012/js/prettify/lang-apollo.js +2 -0
  80. data/themes/io2012/js/prettify/lang-clj.js +18 -0
  81. data/themes/io2012/js/prettify/lang-css.js +2 -0
  82. data/themes/io2012/js/prettify/lang-go.js +1 -0
  83. data/themes/io2012/js/prettify/lang-hs.js +2 -0
  84. data/themes/io2012/js/prettify/lang-lisp.js +3 -0
  85. data/themes/io2012/js/prettify/lang-lua.js +2 -0
  86. data/themes/io2012/js/prettify/lang-ml.js +2 -0
  87. data/themes/io2012/js/prettify/lang-n.js +4 -0
  88. data/themes/io2012/js/prettify/lang-proto.js +1 -0
  89. data/themes/io2012/js/prettify/lang-scala.js +2 -0
  90. data/themes/io2012/js/prettify/lang-sql.js +2 -0
  91. data/themes/io2012/js/prettify/lang-tex.js +1 -0
  92. data/themes/io2012/js/prettify/lang-vb.js +2 -0
  93. data/themes/io2012/js/prettify/lang-vhdl.js +3 -0
  94. data/themes/io2012/js/prettify/lang-wiki.js +2 -0
  95. data/themes/io2012/js/prettify/lang-xq.js +3 -0
  96. data/themes/io2012/js/prettify/lang-yaml.js +2 -0
  97. data/themes/io2012/js/prettify/prettify.css +1 -0
  98. data/themes/io2012/js/prettify/prettify.js +28 -0
  99. data/themes/io2012/js/require-1.0.8.min.js +33 -0
  100. data/themes/io2012/js/slide-controller.js +109 -0
  101. data/themes/io2012/js/slide-deck.js +768 -0
  102. data/themes/io2012/js/slides.js +5 -0
  103. data/themes/memories/README +5 -0
  104. data/themes/memories/css/fonts.css +25 -0
  105. data/themes/memories/css/slideshow.css +286 -0
  106. data/themes/memories/css/theme.css +183 -0
  107. data/themes/memories/index.erb +37 -0
  108. data/themes/memories/js/prefixfree.min.js +13 -0
  109. data/themes/memories/js/slideshow.js +577 -0
  110. data/themes/modern/LICENSE +20 -0
  111. data/themes/modern/README.md +52 -0
  112. data/themes/modern/css/GENERATED_CONTENT +0 -0
  113. data/themes/modern/css/defaults.css +0 -0
  114. data/themes/modern/css/fonts.css +166 -0
  115. data/themes/modern/css/pygments/colorful.css +215 -0
  116. data/themes/modern/css/pygments/github.css +208 -0
  117. data/themes/modern/css/pygments/solarized-dark.css +213 -0
  118. data/themes/modern/css/pygments/solarized-light.css +213 -0
  119. data/themes/modern/css/reset.css +41 -0
  120. data/themes/modern/css/screen.css +1183 -0
  121. data/themes/modern/fonts/Collegiate.woff +0 -0
  122. data/themes/modern/fonts/GoudyBookletter.1911.woff +0 -0
  123. data/themes/modern/fonts/Inconsolata.Bold.woff +0 -0
  124. data/themes/modern/fonts/Inconsolata.woff +0 -0
  125. data/themes/modern/fonts/Junction.woff +0 -0
  126. data/themes/modern/fonts/LiberationMono.Bold.woff +0 -0
  127. data/themes/modern/fonts/LiberationMono.BoldItalic.woff +0 -0
  128. data/themes/modern/fonts/LiberationMono.Italic.woff +0 -0
  129. data/themes/modern/fonts/LiberationMono.Regular.woff +0 -0
  130. data/themes/modern/fonts/OpenSans.Bold.woff +0 -0
  131. data/themes/modern/fonts/OpenSans.BoldItalic.woff +0 -0
  132. data/themes/modern/fonts/OpenSans.ExtraBold.woff +0 -0
  133. data/themes/modern/fonts/OpenSans.ExtraBoldItalic.woff +0 -0
  134. data/themes/modern/fonts/OpenSans.Italic.woff +0 -0
  135. data/themes/modern/fonts/OpenSans.Light.woff +0 -0
  136. data/themes/modern/fonts/OpenSans.LightItalic.woff +0 -0
  137. data/themes/modern/fonts/OpenSans.Regular.woff +0 -0
  138. data/themes/modern/fonts/OpenSans.Semibold.woff +0 -0
  139. data/themes/modern/fonts/OpenSans.SemiboldItalic.woff +0 -0
  140. data/themes/modern/fonts/PTMono.woff +0 -0
  141. data/themes/modern/fonts/PTSans.Bold.Italic.woff +0 -0
  142. data/themes/modern/fonts/PTSans.Bold.woff +0 -0
  143. data/themes/modern/fonts/PTSans.Italic.woff +0 -0
  144. data/themes/modern/fonts/PTSans.Narrow.Bold.woff +0 -0
  145. data/themes/modern/fonts/PTSans.woff +0 -0
  146. data/themes/modern/fonts/Raleway.Thin.woff +0 -0
  147. data/themes/modern/fonts/STIXGeneral.Bold.woff +0 -0
  148. data/themes/modern/fonts/STIXGeneral.BoldItalic.woff +0 -0
  149. data/themes/modern/fonts/STIXGeneral.Italic.woff +0 -0
  150. data/themes/modern/fonts/STIXGeneral.Regular.woff +0 -0
  151. data/themes/modern/fonts/YanoneKaffeesatz.Bold.woff +0 -0
  152. data/themes/modern/fonts/YanoneKaffeesatz.ExtraLight.woff +0 -0
  153. data/themes/modern/fonts/YanoneKaffeesatz.Light.woff +0 -0
  154. data/themes/modern/fonts/YanoneKaffeesatz.Regular.woff +0 -0
  155. data/themes/modern/images/cc/by.svg +29 -0
  156. data/themes/modern/images/cc/cc-white.svg +23 -0
  157. data/themes/modern/images/cc/cc.svg +23 -0
  158. data/themes/modern/images/cc/nc-eu.svg +21 -0
  159. data/themes/modern/images/cc/nc-jp.svg +18 -0
  160. data/themes/modern/images/cc/nc.svg +23 -0
  161. data/themes/modern/images/cc/nd.svg +20 -0
  162. data/themes/modern/images/cc/pd.svg +24 -0
  163. data/themes/modern/images/cc/remix.svg +20 -0
  164. data/themes/modern/images/cc/sa.svg +22 -0
  165. data/themes/modern/images/cc/sampling.plus.svg +33 -0
  166. data/themes/modern/images/cc/sampling.svg +36 -0
  167. data/themes/modern/images/cc/share.svg +22 -0
  168. data/themes/modern/images/cc/zero.svg +24 -0
  169. data/themes/modern/images/flickr.svg +65 -0
  170. data/themes/modern/images/mesh.png +0 -0
  171. data/themes/modern/images/mesh@2x.png +0 -0
  172. data/themes/modern/images/progress-grayDark.svg +55 -0
  173. data/themes/modern/images/progress.svg +3 -0
  174. data/themes/modern/index.erb +76 -0
  175. data/themes/modern/js/highcharts.js +294 -0
  176. data/themes/modern/js/jquery-2.1.0.min.js +4 -0
  177. data/themes/modern/js/script.coffee +480 -0
  178. data/themes/modern/js/script.js +678 -0
  179. data/themes/modern/styles/_box.scss +89 -0
  180. data/themes/modern/styles/_figure.scss +81 -0
  181. data/themes/modern/styles/_full.scss +74 -0
  182. data/themes/modern/styles/_increment.scss +38 -0
  183. data/themes/modern/styles/_list.scss +129 -0
  184. data/themes/modern/styles/_progress.scss +19 -0
  185. data/themes/modern/styles/defaults.scss +46 -0
  186. data/themes/modern/styles/fonts.scss +197 -0
  187. data/themes/modern/styles/pygments/_solarized.scss +82 -0
  188. data/themes/modern/styles/pygments/colorful.scss +67 -0
  189. data/themes/modern/styles/pygments/github.scss +67 -0
  190. data/themes/modern/styles/pygments/solarized-dark.scss +15 -0
  191. data/themes/modern/styles/pygments/solarized-light.scss +15 -0
  192. data/themes/modern/styles/reset.scss +46 -0
  193. data/themes/modern/styles/screen.scss +841 -0
  194. data/themes/reveal/README +2 -0
  195. data/themes/reveal/css/main.css +1029 -0
  196. data/themes/reveal/css/reset.css +57 -0
  197. data/themes/reveal/index.erb +102 -0
  198. data/themes/reveal/js/classList.js +2 -0
  199. data/themes/reveal/js/head.min.js +8 -0
  200. data/themes/reveal/js/reveal.js +951 -0
  201. data/themes/shower/README +2 -0
  202. data/themes/shower/css/fonts.css +50 -0
  203. data/themes/shower/css/reset.css +42 -0
  204. data/themes/shower/css/style.css +418 -0
  205. data/themes/shower/images/grid.png +0 -0
  206. data/themes/shower/images/linen.png +0 -0
  207. data/themes/shower/images/ribbon.svg +4 -0
  208. data/themes/shower/index.erb +35 -0
  209. data/themes/shower/js/script.js +325 -0
  210. data/themes/template/README +5 -0
  211. data/themes/template/css/reset.css +42 -0
  212. data/themes/template/index.erb +35 -0
  213. data/themes/template/js/prefixfree.min.js +13 -0
  214. 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);