prettydocs-jekyll 0.0.6 → 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bbd230ca23c23928440527f9688e75961f01352c
4
- data.tar.gz: 8f68f901c9d0b333ff449673c07f0ddc7cada8c5
3
+ metadata.gz: bc7b42bbe2e3bfd84289bd8eb5d9af9c8da23f18
4
+ data.tar.gz: dbce1ffdf00e0719cde4ca8ccdc1877936a7ffb2
5
5
  SHA512:
6
- metadata.gz: 1ebe62d28d3be9099787173de672af8a8c149797bb4d5185d7662fb7a81450bfd151b8977b2d54b4e3b378b24832bdcab5e8021fa6a627a16f6d45468d67cecd
7
- data.tar.gz: 61d6e1d1af90b391ad632bbf84195e07e3c558e8ea4a0b645c23940d2020db47b28f967e53ee71fe635b2a744777967eb4cfe0bd4d29ca96a69e3643689dceb1
6
+ metadata.gz: 46215c4ae1ddca6eb6a08d4499ee18f51a5efdbcfc11d23f11a3cc9337d2dd9c69f4f307e13735c32d47afe53420b22cb6a2304f86141c63f54931883bfb78cc
7
+ data.tar.gz: 5184273077a94b0cde56a0efc15e2b5e20ba72e8a4593268fd09ee3b87634447381c027b0e5ccb8263a4cfce35464e34a7d7976c2cff3f871f5553a593643727
@@ -0,0 +1,39 @@
1
+ {% capture strip_whitespace %}
2
+
3
+ # Set all the things
4
+
5
+ {% capture width %}{% if page.width %}{{ page.width }}{% else %}{{ site.default_width }}{% endif %}{% endcapture %}
6
+ {% capture lang %}{% if page.lang %}{{ page.lang }}{% else %}{{ site.default_lang }}{% endif %}{% endcapture %}
7
+ {% capture body_class %}{% if page.body_class %}{{ page.body_class }}{% else %}{{ site.default_body_class }}{% endif %}{% endcapture %}
8
+
9
+ {% capture author_name %}{% if page.author %}{% if page.author.name %}{{ page.author.name }}{% else %}{{ page.author }}{% endif %}{% else %}{{ site.author.name }}{% endif %}{% endcapture %}
10
+ {% capture author_url %}{% if page.author %}{{ page.author.url }}{% else %}{% if site.author.url %}{{ site.author.url }}{% endif %}{% endif %}{% endcapture %}
11
+
12
+ {% capture company_name %}{% if page.author.company %}{% if page.author.company.name %}{{ page.author.company.name }}{% else %}{{ page.author.company }}{% endif %}{% elsif page.company %}{% if page.company.name %}{{ page.company.name }}{% else %}{{ page.company }}{% endif %}{% else %}{{ site.author.company.name }}{% endif %}{% endcapture %}
13
+ {% capture company_url %}{% if page.author.company %}{{ page.author.company.url }}{% elsif page.company %}{{ page.company.url }}{% else %}{% if site.author.company.url %}{{ site.author.company.url }}{% endif %}{% endif %}{% endcapture %}
14
+
15
+ {% capture title %}{% if page.title %}{{ page.title }}{% else %}{{ supertitle }}{% endif %}{% endcapture %}
16
+
17
+ {% capture subtitle %}{% if page.subtitle %}{{ page.subtitle }}{% else %}{% if author_url != '' %}[{{ author_name }}]({{ author_url }}){% else %}{{ author_name }}{% endif %}{% if company_name != '' %}, {% if company_url != '' %}[{{ company_name }}]({{ company_url }}){% else %}{{ company_name }}{% endif %}{% endif %}{% endif %}{% endcapture %}{% capture subtitle %}{{ subtitle | markdownify }}{% endcapture %}
18
+
19
+ {% capture fork_url %}{% if page.fork_url %}{{ page.fork_url }}{% else %}{{ site.fork_url }}{% endif %}{% endcapture %}
20
+
21
+ ## Set the progress var
22
+
23
+ {% assign progress = page.progress | append:'' | size %}
24
+ {% if progress == 0 %}
25
+ {% assign progress = site.progress %}
26
+ {% else %}
27
+ {% assign progress = page.progress %}
28
+ {% endif %}
29
+
30
+ ## Set the line numbers var
31
+
32
+ {% assign line_numbers = page.line_numbers | append:'' | size %}
33
+ {% if line_numbers == 0 %}
34
+ {% assign line_numbers = site.line_numbers %}
35
+ {% else %}
36
+ {% assign line_numbers = page.line_numbers %}
37
+ {% endif %}
38
+
39
+ {% endcapture %}
@@ -0,0 +1,125 @@
1
+ {% capture strip_whitespace %}
2
+ {% include _shower/setup.md %}
3
+ {% assign items = showerify_input | split:'<h1' %}
4
+ {% for item in items %}
5
+ {% assign subitems = item | split:'</h1>' %}
6
+ {% assign subsubitems = subitems[0] %}
7
+
8
+ {% capture subsubitems2 %}{{ subsubitems }}{% endcapture %}
9
+ {% assign subsubitems2 = subsubitems2 | split: '>' %}
10
+ {% assign lol = subsubitems2[0] | append:">" %}
11
+ {% capture supertitle %}{{ subsubitems | remove_first:lol }}{% endcapture %}
12
+ {% endfor %}
13
+
14
+ {% assign flag = false %}
15
+ {% for item in items %}
16
+ {% capture h1_attrs %}{{ item | split:'>' | first }}{% endcapture %}
17
+ {% if flag != false %}
18
+ {% capture showerify_middle %}<section{{ h1_attrs | replace_first:'class="','class="slide ' }}{% unless h1_attrs contains 'class' %} class="slide cover"{% endunless %}><div><h2{% endcapture %}
19
+ {% assign slides = item | remove_first:h1_attrs | replace_first:'</h1>','</h2>' | split: '<h2' %}
20
+
21
+ {% assign flag = false %}
22
+ {% for slide in slides %}
23
+ {% capture slide_attrs %}{{ slide | split:'>' | first }}{% endcapture %}
24
+
25
+ <!-- Looking for strong in header for shout -->
26
+ {% capture slide_header_content %}^BEGIN^{{ slide | remove_first:slide_attrs | split:'</h2>' | first }}$END${% endcapture %}
27
+ {% assign slide_extra_class = '' %}
28
+ {% if slide_header_content contains '^BEGIN^><strong>' and slide_header_content contains '</strong>$END$' %}
29
+ {% assign slide_extra_class = ' shout' %}
30
+ {% endif %}
31
+
32
+ {% if flag == false %}
33
+ {% capture showerify_middle %}{{ showerify_middle }}{{ slide }}{% endcapture %}
34
+ {% assign flag = true %}
35
+ {% else %}
36
+ {% capture showerify_middle %}{{ showerify_middle }}</div></section>
37
+ <section class="slide{{ slide_extra_class }}"{{ slide_attrs }}><div><h2{% endcapture %}
38
+ {% assign newslide = slide | remove_first:slide_attrs %}
39
+ {% if slide_extra_class %}
40
+ {% assign newslide = newslide | replace_first:'><strong>','>' %}
41
+ {% assign newslide = newslide | replace_first:'</strong></h2>','</h2>' %}
42
+ {% endif %}
43
+ {% capture showerify_middle %}{{ showerify_middle }}{{ newslide }}{% endcapture %}
44
+ {% endif %}
45
+ {% endfor %}
46
+ {% capture showerify_middle %}{{ showerify_middle }}</div></section>{% endcapture %}
47
+ {% else %}
48
+ {% assign flag = true %}
49
+ {% endif %}
50
+ {% endfor %}
51
+ <!-- There is a difference between Liquid 1.4.1 and 1.5.0 in replace syntax, and in 1.4.1 you can't chain the one that is only there in 1.5.0, so multiple assigns there -->
52
+ {% assign showerify_middle = showerify_middle | replace:'class="slide" class="','class="slide ' %}
53
+ {% assign showerify_middle = showerify_middle | replace:'&lt;/mark&gt;','</mark>' %}
54
+ {% assign showerify_middle = showerify_middle | replace:'&lt;mark&gt;','<mark>' %}
55
+ {% assign showerify_middle = showerify_middle | replace:'&lt;mark class="next"&gt;','<mark class="next">' %}
56
+ {% assign showerify_middle = showerify_middle | replace:'&lt;mark class="comment"&gt;','<mark class="comment">' %}
57
+ {% assign showerify_middle = showerify_middle | replace:'&lt;mark class="important"&gt;','<mark class="important">' %}
58
+
59
+ <!-- Replacing inline “comment” with <footer> -->
60
+ {% assign footers = showerify_middle | split:'<p>// ' %}
61
+ {% assign iteration = 0 %}
62
+ {% for footer in footers %}
63
+ {% if iteration > 0 %}
64
+ {% assign footer_content = footer | split:'</p>' | first %}
65
+ {% capture footer_oldcontent %}<p>// {{ footer_content }}</p>{% endcapture %}
66
+ {% capture footer_newcontent %}<footer>{{ footer_content }}</footer>{% endcapture %}
67
+ {% assign showerify_middle = showerify_middle | replace_first:footer_oldcontent,footer_newcontent %}
68
+ {% endif %}
69
+ {% assign iteration = iteration | plus:1 %}
70
+ {% endfor %}
71
+
72
+ <!-- The same thing, but this time for comment without the space -->
73
+ {% assign footers = showerify_middle | split:'<p>//' %}
74
+ {% assign iteration = 0 %}
75
+ {% for footer in footers %}
76
+ {% if iteration > 0 %}
77
+ {% assign footer_content = footer | split:'</p>' | first %}
78
+ {% capture footer_oldcontent %}<p>//{{ footer_content }}</p>{% endcapture %}
79
+ {% capture footer_newcontent %}<footer>{{ footer_content }}</footer>{% endcapture %}
80
+ {% assign showerify_middle = showerify_middle | replace_first:footer_oldcontent,footer_newcontent %}
81
+ {% endif %}
82
+ {% assign iteration = iteration | plus:1 %}
83
+ {% endfor %}
84
+
85
+ <!-- Code with line-numbers -->
86
+ {% if line_numbers %}
87
+ {% assign code_blocks = showerify_middle | split:'<pre><code>' %}
88
+ {% assign iteration = 0 %}
89
+ {% for code_block in code_blocks %}
90
+ {% if iteration > 0 %}
91
+ {% assign code_block_content = code_block | split:'</code></pre>' | first %}
92
+ {% capture code_block_oldcontent %}<pre><code>{{ code_block_content }}</code></pre>{% endcapture %}
93
+ {% assign code_block_newcontent = code_block_oldcontent | newline_to_br | strip_newlines | replace:'<br />','</code><code>' %}
94
+ {% assign code_block_newcontent = code_block_newcontent | replace:'<code></code></pre>','</pre>' %}
95
+ {% assign code_block_newcontent = code_block_newcontent | replace:'<code></code>','<code> </code>' %}
96
+ {% assign showerify_middle = showerify_middle | replace_first:code_block_oldcontent,code_block_newcontent %}
97
+ {% endif %}
98
+ {% assign iteration = iteration | plus:1 %}
99
+ {% endfor %}
100
+ {% endif %}
101
+
102
+ <!-- Adding .next to list items -->
103
+ {% assign showerify_middle = showerify_middle | replace:'>...',' class="next">' %}
104
+ {% assign showerify_middle = showerify_middle | replace:'>&hellip;',' class="next">' %}
105
+ {% assign showerify_middle = showerify_middle | replace:'>…',' class="next">' %}
106
+ {% assign showerify_middle = showerify_middle | replace:' class="next"> ',' class="next">' %}
107
+ {% assign showerify_middle = showerify_middle | replace:'>\...','>...' %}
108
+ {% assign showerify_middle = showerify_middle | replace:'>\&hellip;','>&hellip;' %}
109
+ {% assign showerify_middle = showerify_middle | replace:'>\…','>…' %}
110
+
111
+ <!-- By default all the simple `<th>` are for cols -->
112
+ {% assign showerify_middle = showerify_middle | replace:'<th>','<th scope="col">' %}
113
+ <!-- And all the td starting/ending with asteriks are row ths -->
114
+ {% assign showerify_middle = showerify_middle | replace:'<td>* ','<th scope="row">' %}
115
+ {% assign showerify_middle = showerify_middle | replace:' *</td>','</th>' %}
116
+
117
+ <!-- Kramdown mailto problem -->
118
+ {% assign showerify_middle = showerify_middle | replace:'href="mail:','href="mailto:' %}
119
+
120
+ <!-- Prototype of #3, need to split things here -->
121
+ <!-- is there a way to declare <hr/> with classes/attributes? -->
122
+ {% assign showerify_middle = showerify_middle | replace:'<hr />','</div></section><section class="slide"><div>' %}
123
+
124
+ {% capture showerify_output %}{{ showerify_middle }}{% endcapture %}
125
+ {% endcapture %}
@@ -0,0 +1,23 @@
1
+ <!DOCTYPE HTML>
2
+ {% capture showerify_input %}{{ content }}{% endcapture %}
3
+ {% include _shower/showerify.html %}
4
+ {% include _shower/setup.md %}
5
+ <html lang="{{ lang }}">
6
+ <head>
7
+ <title>{{ title | strip_html }}</title>
8
+ <meta charset="utf-8">
9
+ <meta name="viewport" content="width={% if width %}{{ width }}{% else %}792{% endif %}, user-scalable=no">
10
+ <link id="theme-style" rel="stylesheet" href="{{ "/assets/css/shower.css" | prepend: site.baseurl }}">
11
+ </head>
12
+ <body class="shower {{ body_class }}">
13
+ <header class="caption">
14
+ <h1>{{ title }}</h1>
15
+ {% if subtitle %}{{ subtitle }}{% endif %}
16
+ </header>
17
+ {{ showerify_output }}
18
+ {% if progress %}
19
+ <div class="progress"><div></div></div>
20
+ {% endif %}
21
+ </body>
22
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/shower-core/2.1.0/shower.min.js" integrity="sha256-q52BKo1uAiqrR1kBKY6LWvBcwF4ujCgQokN5u8AwWzQ=" crossorigin="anonymous"></script>
23
+ </html>
@@ -0,0 +1,549 @@
1
+ // Bright theme for Shower HTML presentation engine: github.com/shower/shower
2
+ // Copyright © 2010–2015 Vadim Makeev, pepelsbey.net
3
+ // Licensed under MIT license: github.com/shower/shower/wiki/MIT-License
4
+
5
+ @import 'shower/defaults';
6
+ @import 'shower/fonts';
7
+ @import 'shower/reset';
8
+
9
+ .shower {
10
+ counter-reset:slide;
11
+ font:24px/2 'Open Sans', sans-serif;
12
+ @media print {
13
+ text-rendering:geometricPrecision;
14
+ }
15
+ a {
16
+ color:$color;
17
+ @include underline(currentColor, 0.09);
18
+ text-decoration:none;
19
+ }
20
+ }
21
+
22
+ // Caption
23
+ // -------------------------------
24
+ .caption {
25
+ display:none;
26
+ margin:0 0 60px;
27
+ padding:0 50px 0 0;
28
+ color:#555;
29
+ h1 {
30
+ font:50px 'Open Sans Light', sans-serif;
31
+ }
32
+ }
33
+
34
+ // Badge
35
+ // -------------------------------
36
+ .badge {
37
+ position:absolute;
38
+ top:0;
39
+ right:0;
40
+ display:none;
41
+ overflow:hidden;
42
+ visibility:hidden;
43
+ width:11em;
44
+ height:11em;
45
+ line-height:2.5;
46
+ font-size:15px;
47
+ }
48
+ .badge a {
49
+ position:absolute;
50
+ bottom:50%;
51
+ right:-50%;
52
+ left:-50%;
53
+ visibility:visible;
54
+ background:$color;
55
+ color:#FFF;
56
+ text-align:center;
57
+ transform-origin:50% 100%;
58
+ transform:rotate(45deg) translateY(-1em);
59
+ }
60
+
61
+ // Region
62
+ // -------------------------------
63
+ .region {
64
+ display:none;
65
+ }
66
+
67
+ // Slide
68
+ // -------------------------------
69
+ .slide {
70
+ position:relative;
71
+ width:$width;
72
+ height:$height;
73
+ background:#FFF;
74
+ color:#000;
75
+ -webkit-print-color-adjust:exact;
76
+ -webkit-text-size-adjust:none;
77
+ -moz-text-size-adjust:none;
78
+ -ms-text-size-adjust:none;
79
+ @media print {
80
+ page-break-before:always;
81
+ }
82
+ // Number
83
+ &:after {
84
+ position:absolute;
85
+ right:0;
86
+ bottom:45px;
87
+ left:0;
88
+ color:#AAA;
89
+ counter-increment:slide;
90
+ content:counter(slide);
91
+ text-align:center;
92
+ line-height:1;
93
+ }
94
+ // Inner
95
+ > div {
96
+ position:absolute;
97
+ top:0;
98
+ left:0;
99
+ overflow:hidden;
100
+ padding:$top $right 0 $left;
101
+ width:$width - $left - $right;
102
+ height:$height - $top;
103
+ }
104
+ }
105
+
106
+ // Elements
107
+ // -------------------------------
108
+ .slide {
109
+ // Header
110
+ h2 {
111
+ margin:0 0 58px;
112
+ font:48px/1 'Open Sans Light', sans-serif;
113
+ }
114
+ // Text
115
+ p {
116
+ margin:0 0 48px;
117
+ }
118
+ p.note {
119
+ color:#AAA;
120
+ }
121
+ b, strong {
122
+ font-weight:bold;
123
+ }
124
+ i, em {
125
+ font-style:italic;
126
+ }
127
+ code, kbd, samp {
128
+ padding:5px 7px 1px;
129
+ background:rgba(#000, 0.08);
130
+ color:#000;
131
+ line-height:1;
132
+ font-family:'Anka Coder', monospace;
133
+ }
134
+ mark {
135
+ padding:2px 7px;
136
+ background:$yellow;
137
+ color:#000;
138
+ }
139
+ sub, sup {
140
+ position: relative;
141
+ line-height:0;
142
+ font-size:75%;
143
+ }
144
+ sub {
145
+ bottom:-0.25em;
146
+ }
147
+ sup {
148
+ top:-0.5em;
149
+ }
150
+ // Quote
151
+ blockquote {
152
+ font-style:italic;
153
+ &:before {
154
+ position:absolute;
155
+ margin:-49px 0 0 -100px;
156
+ color:#DDD;
157
+ content:'\201C';
158
+ line-height:1;
159
+ font-size:200px;
160
+ }
161
+ & + figcaption {
162
+ margin:-48px 0 48px;
163
+ font-style:italic;
164
+ font-weight:bold;
165
+ }
166
+ }
167
+ // Lists
168
+ ol, ul {
169
+ margin:0 0 48px;
170
+ counter-reset:list;
171
+ li {
172
+ text-indent:-2em;
173
+ &:before {
174
+ display:inline-block;
175
+ width:2em;
176
+ color:#AAA;
177
+ text-align:right;
178
+ }
179
+ }
180
+ ol, ul {
181
+ margin:0 0 0 2em;
182
+ }
183
+ }
184
+ ul > li:before {
185
+ content:'\2022\00A0\00A0\2009';
186
+ }
187
+ ul > li:lang(ru):before {
188
+ content:'\2014\00A0\2009';
189
+ }
190
+ ol > li:before {
191
+ counter-increment:list;
192
+ content:counter(list)'.\00A0\2009';
193
+ }
194
+ // Code
195
+ pre {
196
+ margin:0 0 45px;
197
+ padding:3px 0 0;
198
+ counter-reset:code;
199
+ white-space:normal;
200
+ tab-size:4;
201
+ code {
202
+ display:block;
203
+ padding:0;
204
+ background:none;
205
+ white-space:pre;
206
+ line-height:2;
207
+ &:before {
208
+ position:absolute;
209
+ margin-left:-50px;
210
+ color:#AAA;
211
+ counter-increment:code;
212
+ content:counter(code, decimal-leading-zero)'.';
213
+ }
214
+ &:only-child:before {
215
+ content:'';
216
+ }
217
+ }
218
+ // Mark
219
+ mark {
220
+ padding:5px 7px 1px;
221
+ &.important {
222
+ background:$color;
223
+ color:#FFF;
224
+ }
225
+ &.comment {
226
+ padding:0;
227
+ background:none;
228
+ color:#AAA;
229
+ }
230
+ }
231
+ }
232
+ // Table
233
+ table {
234
+ margin:0 0 50px;
235
+ width:100%;
236
+ border-collapse:collapse;
237
+ border-spacing:0;
238
+ th, td {
239
+ @include underline($color, 0.055);
240
+ }
241
+ th {
242
+ text-align:left;
243
+ font-weight:bold;
244
+ }
245
+ &.striped {
246
+ tr:nth-child(even) {
247
+ background:mix($color, #FFF, 8%);
248
+ }
249
+ }
250
+ }
251
+ // Cover Shout
252
+ &.cover,
253
+ &.shout {
254
+ z-index:1;
255
+ &:after {
256
+ content:'';
257
+ }
258
+ }
259
+ // Cover
260
+ &.cover {
261
+ background:#000;
262
+ @mixin cover {
263
+ img, svg, video,
264
+ object, canvas, iframe {
265
+ @content;
266
+ }
267
+ }
268
+ @include cover {
269
+ position:absolute;
270
+ top:0;
271
+ left:0;
272
+ z-index:-1;
273
+ }
274
+ &.w {
275
+ @include cover {
276
+ top:50%;
277
+ width:100%;
278
+ transform:translateY(-50%);
279
+ }
280
+ }
281
+ &.h {
282
+ @include cover {
283
+ left:50%;
284
+ height:100%;
285
+ transform:translateX(-50%);
286
+ }
287
+ }
288
+ &.w.h {
289
+ @include cover {
290
+ top:0;
291
+ left:0;
292
+ transform:none;
293
+ }
294
+ }
295
+ }
296
+ // Shout
297
+ &.shout {
298
+ background:$color;
299
+ h2 {
300
+ position:absolute;
301
+ top:50%;
302
+ left:128px;
303
+ right:96px;
304
+ color:#FFF;
305
+ font-size:100px;
306
+ transform:translateY(-50%);
307
+ a {
308
+ @include underline(currentColor, 0.055);
309
+ color:#FFF;
310
+ }
311
+ }
312
+ }
313
+ // Place
314
+ .place {
315
+ position:absolute;
316
+ top:50%;
317
+ left:50%;
318
+ transform:translate(-50%, -50%);
319
+ &.t.l, &.t.r, &.b.r, &.b.l {
320
+ transform:none;
321
+ }
322
+ &.t, &.b {
323
+ transform:translate(-50%, 0);
324
+ }
325
+ &.l, &.r {
326
+ transform:translate(0, -50%);
327
+ }
328
+ &.t, &.t.l, &.t.r {
329
+ top:0;
330
+ }
331
+ &.r {
332
+ right:0;
333
+ left:auto;
334
+ }
335
+ &.b, &.b.r, &.b.l {
336
+ top:auto;
337
+ bottom:0;
338
+ }
339
+ &.l {
340
+ left:0;
341
+ }
342
+ }
343
+ // Notes
344
+ footer {
345
+ position:absolute;
346
+ left:0;
347
+ right:0;
348
+ bottom:-$height;
349
+ z-index:1;
350
+ display:none;
351
+ padding:21px $right 4px $left;
352
+ background:$yellow;
353
+ box-shadow:0 0 0 2px rgba(#000, 0.05);
354
+ transition:bottom 0.3s;
355
+ p {
356
+ margin:0 0 16px;
357
+ }
358
+ mark {
359
+ background:rgba(#FFF, 0.7);
360
+ }
361
+ }
362
+ &:hover footer {
363
+ bottom:0;
364
+ }
365
+ }
366
+
367
+ // Screen
368
+ @media screen {
369
+ // List
370
+ .shower.list {
371
+ position:absolute;
372
+ clip:rect(0, auto, auto, 0); // Having fun with IE10
373
+ padding:50px 0 50px 50px;
374
+ background:desaturate(lighten($color, 30%), 60%);
375
+ text-align:center;
376
+ // Outfit
377
+ .caption,
378
+ .badge {
379
+ display:block;
380
+ }
381
+ // Slide
382
+ .slide {
383
+ // Gap between slides
384
+ $gap:50px;
385
+ position:relative;
386
+ top:$height/2 - $gap;
387
+ display:inline-block;
388
+ margin:($gap - $height/2) ($gap - $width/2) 0 0;
389
+ text-align:left;
390
+ transform-origin:0 0;
391
+ transform:scale(0.5);
392
+ @media (max-width:$break) {
393
+ top:$height/2 + $height/4 - $gap;
394
+ margin:($gap - ($height/2 + $height/4)) ($gap - ($width/2 + $width/4)) 0 0;
395
+ transform:scale(0.25);
396
+ }
397
+ // Frame
398
+ &:before {
399
+ position:absolute;
400
+ top:0;
401
+ left:0;
402
+ z-index:-1;
403
+ width:$width/2;
404
+ height:$height/2;
405
+ box-shadow:0 0 0 1px #DDD;
406
+ content:'';
407
+ transform-origin:0 0;
408
+ transform:scale(2);
409
+ @media (max-width:$break) {
410
+ width:$width/4;
411
+ height:$height/4;
412
+ transform:scale(4);
413
+ }
414
+ }
415
+ // Number
416
+ &:after {
417
+ top:100%;
418
+ bottom:auto;
419
+ padding-top:50px;
420
+ @media (max-width:$break) {
421
+ width:$width/2;
422
+ transform-origin:0 0;
423
+ transform:scale(2);
424
+ }
425
+ }
426
+ // Hover
427
+ &:hover:before {
428
+ box-shadow:
429
+ 0 0 0 1px #EEE,
430
+ 0 0 0 12px rgba(#FFF, 0.5);
431
+ }
432
+ // Current
433
+ &:target {
434
+ &:before {
435
+ box-shadow:
436
+ 0 0 10px 0 darken($color, 5%),
437
+ 0 0 0 12px $color;
438
+ }
439
+ &:after {
440
+ color:$color;
441
+ }
442
+ }
443
+ // Inner
444
+ > div {
445
+ &:before {
446
+ position:absolute;
447
+ top:0;
448
+ right:0;
449
+ bottom:0;
450
+ left:0;
451
+ z-index:2;
452
+ content:'';
453
+ }
454
+ }
455
+ // Cover Shout
456
+ &.cover,
457
+ &.shout {
458
+ &:after {
459
+ content:counter(slide);
460
+ }
461
+ }
462
+ // Notes
463
+ footer {
464
+ display:block;
465
+ }
466
+ }
467
+ }
468
+ // Full
469
+ .shower.full {
470
+ position:absolute;
471
+ top:50%;
472
+ left:50%;
473
+ overflow:hidden;
474
+ margin:(-$height/2) 0 0 (-$width/2);
475
+ width:$width;
476
+ height:$height;
477
+ background:#000;
478
+ // Debug
479
+ &.debug:after {
480
+ position:absolute;
481
+ top:0;
482
+ right:0;
483
+ bottom:0;
484
+ left:0;
485
+ z-index:2;
486
+ background:url(../images/grid-#{$ratio}.svg) no-repeat;
487
+ content:'';
488
+ }
489
+ // Region
490
+ .region {
491
+ @include offscreen;
492
+ display:block;
493
+ }
494
+ // Slide
495
+ .slide {
496
+ position:absolute;
497
+ top:0;
498
+ left:0;
499
+ margin-left:150%;
500
+ // Next
501
+ .next {
502
+ visibility:hidden;
503
+ &.active {
504
+ visibility:visible;
505
+ }
506
+ }
507
+ // Current
508
+ &:target {
509
+ margin:0;
510
+ }
511
+ // Shout
512
+ &.shout {
513
+ &.right, &.up {
514
+ h2 {
515
+ opacity:0;
516
+ transition:all 0.4s ease-out;
517
+ }
518
+ &:target h2 {
519
+ opacity:1;
520
+ transform:translateX(0) translateY(-50%);
521
+ }
522
+ }
523
+ &.right h2 {
524
+ transform:translateX(-100%) translateY(-50%);
525
+ }
526
+ &.up h2 {
527
+ transform:translateX(0) translateY(100%);
528
+ }
529
+ }
530
+ }
531
+ // Progress
532
+ .progress {
533
+ position:absolute;
534
+ bottom:0;
535
+ left:0;
536
+ z-index:1;
537
+ width:0;
538
+ height:8px;
539
+ background:$color;
540
+ transition:width 0.2s linear;
541
+ }
542
+ }
543
+ }
544
+
545
+ // Print
546
+ @page {
547
+ margin:0;
548
+ size:$width $height;
549
+ }