├── 2016-05-21_Designing-spaCy
├── _data.json
├── _layout.jade
├── _mixins.jade
├── assets
│ ├── css
│ │ ├── _base
│ │ │ ├── _fonts.sass
│ │ │ ├── _grid.sass
│ │ │ ├── _layout.sass
│ │ │ ├── _mixins.sass
│ │ │ ├── _reset.sass
│ │ │ ├── _theme.sass
│ │ │ └── _utilities.sass
│ │ ├── reveal.scss
│ │ ├── theme-explosion.sass
│ │ └── theme-spacy.sass
│ ├── fonts
│ │ ├── sourcecodepro-semibold.eot
│ │ ├── sourcecodepro-semibold.svg
│ │ ├── sourcecodepro-semibold.ttf
│ │ ├── sourcecodepro-semibold.woff
│ │ ├── sourcesanspro-bold.eot
│ │ ├── sourcesanspro-bold.svg
│ │ ├── sourcesanspro-bold.ttf
│ │ ├── sourcesanspro-bold.woff
│ │ ├── sourcesanspro-bold.woff2
│ │ ├── sourcesanspro-bolditalic.eot
│ │ ├── sourcesanspro-bolditalic.svg
│ │ ├── sourcesanspro-bolditalic.ttf
│ │ ├── sourcesanspro-bolditalic.woff
│ │ ├── sourcesanspro-bolditalic.woff2
│ │ ├── sourcesanspro-italic.eot
│ │ ├── sourcesanspro-italic.svg
│ │ ├── sourcesanspro-italic.ttf
│ │ ├── sourcesanspro-italic.woff
│ │ ├── sourcesanspro-italic.woff2
│ │ ├── sourcesanspro-regular.eot
│ │ ├── sourcesanspro-regular.svg
│ │ ├── sourcesanspro-regular.ttf
│ │ ├── sourcesanspro-regular.woff
│ │ └── sourcesanspro-regular.woff2
│ ├── img
│ │ ├── icons.svg
│ │ └── pattern_blue.jpg
│ └── js
│ │ ├── prism.js
│ │ └── reveal.js
├── img
│ ├── cake.jpg
│ ├── kitchen.jpg
│ ├── kitchen2.jpg
│ ├── kitchen3.jpg
│ └── lightning-tour.png
└── index.jade
├── 2016-11-19_Introduction-to-spaCy
├── _data.json
├── _layout.jade
├── _mixins.jade
├── assets
│ ├── css
│ │ ├── _base
│ │ │ ├── _fonts.sass
│ │ │ ├── _grid.sass
│ │ │ ├── _layout.sass
│ │ │ ├── _mixins.sass
│ │ │ ├── _reset.sass
│ │ │ ├── _theme.sass
│ │ │ └── _utilities.sass
│ │ ├── reveal.scss
│ │ ├── theme-explosion.sass
│ │ └── theme-spacy.sass
│ ├── fonts
│ │ ├── sourcecodepro-semibold.eot
│ │ ├── sourcecodepro-semibold.svg
│ │ ├── sourcecodepro-semibold.ttf
│ │ ├── sourcecodepro-semibold.woff
│ │ ├── sourcesanspro-bold.eot
│ │ ├── sourcesanspro-bold.svg
│ │ ├── sourcesanspro-bold.ttf
│ │ ├── sourcesanspro-bold.woff
│ │ ├── sourcesanspro-bold.woff2
│ │ ├── sourcesanspro-bolditalic.eot
│ │ ├── sourcesanspro-bolditalic.svg
│ │ ├── sourcesanspro-bolditalic.ttf
│ │ ├── sourcesanspro-bolditalic.woff
│ │ ├── sourcesanspro-bolditalic.woff2
│ │ ├── sourcesanspro-italic.eot
│ │ ├── sourcesanspro-italic.svg
│ │ ├── sourcesanspro-italic.ttf
│ │ ├── sourcesanspro-italic.woff
│ │ ├── sourcesanspro-italic.woff2
│ │ ├── sourcesanspro-regular.eot
│ │ ├── sourcesanspro-regular.svg
│ │ ├── sourcesanspro-regular.ttf
│ │ ├── sourcesanspro-regular.woff
│ │ └── sourcesanspro-regular.woff2
│ ├── img
│ │ ├── icons.svg
│ │ └── pattern_blue.jpg
│ └── js
│ │ ├── prism.js
│ │ └── reveal.js
└── index.jade
├── 2016-11-21_spaCy-and-NLP-Innovation.pdf
├── 2016-11-28_The-State-of-AI-2016.pdf
├── 2017-01-19_Teaching-AI-about-Human-Knowledge.pdf
├── 2017-06-13_Why-Python-is-the-best-language-for-AI.pdf
├── 2017-08-28_spaCy-101.pdf
├── 2017-11-02_Practical-and-Effective-Neural-NER.pdf
├── 2018-03-21_Supervised-Learning-is-Great.pdf
├── 2018-04-12_Embed-Encode-Attend-Predict.pdf
├── 2018-04-15_Multi-lingual-NLU-with-spaCy.pdf
├── 2018-04_12_Rapid-NLP-Annotation.pdf
├── 2018-05-05_Teaching-AI-about-Human-Knowledge.pdf
├── 2018-07-07_Building-New-NLP-Solutions-with-spaCy-and-Prodigy.pdf
├── 2018-07-26_How-to-ingore-most-startup-advice.pdf
├── 2018-10-31_Building-New-NLP-Solutions-with-spaCy-and-Prodigy.pdf.pdf
├── 2018-10_31_Rapid-NLP-Annotation.pdf
├── 2018-11-22_The-AI_Revolution-will-not-be-Monopolized.pdf
└── README.md
/2016-05-21_Designing-spaCy/_data.json:
--------------------------------------------------------------------------------
1 | {
2 | "index": {
3 | "title": "Designing spaCy: Industrial-strength NLP",
4 | "event": "PyData Berlin",
5 | "date": "2016-05-21",
6 | "theme": "spacy"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/_layout.jade:
--------------------------------------------------------------------------------
1 | //- ----------------------------------
2 | //- 💥 LAYOUT
3 | //- ----------------------------------
4 |
5 | include _mixins
6 |
7 | doctype html
8 | html(lang="en")
9 | head
10 | title #{title} - #{event}
11 |
12 | meta(http-equiv="content-type" content="text/html; charset=utf-8")
13 | meta(name="viewport" content="width=device-width, initial-scale=1.0")
14 | link(rel="stylesheet" href="/assets/css/reveal.css")
15 | link#theme(rel="stylesheet" href="/assets/css/theme-#{theme}.css")
16 |
17 | body
18 | main.reveal.o-container
19 | .slides.o-slides
20 | !=yield
21 |
22 | script(src="/assets/js/prism.js")
23 | script(src="/assets/js/reveal.js")
24 | script.
25 | Reveal.initialize({
26 | controls: true,
27 | progress: false,
28 | history: true,
29 | center: true,
30 | width: 1440,
31 | height: 900,
32 | margin: 0.15
33 | })
34 |
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/_mixins.jade:
--------------------------------------------------------------------------------
1 | //- ----------------------------------
2 | //- 💥 MIXINS
3 | //- ----------------------------------
4 |
5 | //- Add prefixes to items of an array (for modifier CSS classes)
6 |
7 | - function prefixArgs(array, prefix) {
8 | - return array.map(function(arg) {
9 | - return prefix + '--' + arg;
10 | - }).join(' ');
11 | - }
12 |
13 |
14 | //- Slide
15 |
16 | mixin slide(state, transition, speed)
17 | section(data-state=state data-transition=transition data-transition-speed=speed)
18 | .o-slide&attributes(attributes)
19 | block
20 |
21 |
22 | //- Icon
23 |
24 | mixin icon(name, size)
25 | - var size = size || 28
26 |
27 | svg.o-icon(aria-hidden="true" viewBox="0 0 #{size} #{size}" width=size height=size)&attributes(attributes)
28 | use(xlink:href="/assets/img/icons.svg#icon-#{name}")
29 |
30 |
31 | //- Image
32 |
33 | mixin image(src)
34 | figure.o-block
35 | img(src="img/#{src}")
36 |
37 |
38 | //- Code
39 |
40 | mixin code(language, label)
41 | pre.c-code-block.o-block(class="lang-#{language || 'python'}")
42 | if label
43 | span.c-code-block__label.u-text-label=label
44 |
45 | code.c-code-block__content.u-code-regular&attributes(attributes)
46 | block
47 |
48 |
49 | //- List
50 |
51 | mixin list(type, start)
52 | if type
53 | ol.c-list.o-block.u-text-regular(class="c-list--#{type}" style=(start === 0 || start) ? "counter-reset: li #{(start - 1)}" : "")&attributes(attributes)
54 | block
55 |
56 | else
57 | ul.c-list.c-list--bullets.o-block.u-text-regular&attributes(attributes)
58 | block
59 |
60 |
61 | //- List item
62 |
63 | mixin item()
64 | li.c-list__item&attributes(attributes)
65 | block
66 |
67 |
68 | //- Grid Container
69 |
70 | mixin grid(...style)
71 | .o-grid.o-block(class=prefixArgs(style, "o-grid"))&attributes(attributes)
72 | block
73 |
74 |
75 | //- Grid Column
76 |
77 | mixin col(...style)
78 | .o-grid__col(class=prefixArgs(style, "o-grid__col"))&attributes(attributes)
79 | block
80 |
81 |
82 | //- Headlines
83 |
84 | mixin h(level)
85 | +headline(level).u-heading&attributes(attributes)
86 | block
87 |
88 |
89 | //- Headline base
90 |
91 | mixin headline(level)
92 | if level == 1
93 | h1.u-heading-1&attributes(attributes)
94 | block
95 |
96 | else if level == 2
97 | h2.u-heading-2&attributes(attributes)
98 | block
99 |
100 | else if level == 3
101 | h3.u-heading-3&attributes(attributes)
102 | block
103 |
104 | else if level == 4
105 | h4.u-heading-4&attributes(attributes)
106 | block
107 |
108 | else if level == 5
109 | h5.u-heading-5&attributes(attributes)
110 | block
111 |
112 |
113 | //- Date
114 |
115 | mixin date(input)
116 | - var date = new Date(input)
117 | - var months = [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ]
118 |
119 | time(datetime=JSON.parse(JSON.stringify(date)))&attributes(attributes)=months[date.getMonth()] + ' ' + date.getDate() + ', ' + date.getFullYear()
120 |
121 |
122 | //- Logos
123 |
124 | mixin spacy-logo
125 | svg(viewBox="0 0 675 215" width="500").o-block
126 | path(fill="currentColor" d="M83.6 83.3C68.3 81.5 67.2 61 47.5 62.8c-9.5 0-18.4 4-18.4 12.7 0 13.2 20.3 14.4 32.5 17.7 20.9 6.3 41 10.7 41 33.3 0 28.8-22.6 38.8-52.4 38.8-24.9 0-50.2-8.9-50.2-31.8 0-6.4 6.1-11.3 12-11.3 7.5 0 10.1 3.2 12.7 8.4 5.8 10.2 12.3 15.6 28.3 15.6 10.2 0 20.6-3.9 20.6-12.7 0-12.6-12.8-15.3-26.1-18.4-23.5-6.6-43.6-10-46-36.1C-1 34.5 91.7 32.9 97 71.9c.1 7.1-6.5 11.4-13.4 11.4zm110.2-39c32.5 0 51 27.2 51 60.8 0 33.7-17.9 60.8-51 60.8-18.4 0-29.8-7.8-38.1-19.8v44.5c0 13.4-4.3 19.8-14.1 19.8-11.9 0-14.1-7.6-14.1-19.8V61.3c0-10.6 4.4-17 14.1-17 9.1 0 14.1 7.2 14.1 17v3.6c9.2-11.6 19.7-20.6 38.1-20.6zm-7.7 98.4c19.1 0 27.6-17.6 27.6-38.1 0-20.1-8.6-38.1-27.6-38.1-19.8 0-29 16.3-29 38.1 0 21.2 9.2 38.1 29 38.1zM266.9 76c0-23.4 26.9-31.7 52.9-31.7 36.6 0 51.7 10.7 51.7 46v34c0 8.1 5 24.1 5 29 0 7.4-6.8 12-14.1 12-8.1 0-14.1-9.5-18.4-16.3-11.9 9.5-24.5 16.3-43.8 16.3-21.3 0-38.1-12.6-38.1-33.3 0-18.4 13.2-28.9 29-32.5 0 .1 51-12 51-12.1 0-15.7-5.5-22.6-22-22.6-14.5 0-21.9 4-27.5 12.7-4.5 6.6-4 10.6-12.7 10.6-6.9-.1-13-4.9-13-12.1zm43.6 70.2c22.3 0 31.8-11.8 31.8-35.3v-5c-6 2-30.3 8-36.8 9.1-7 1.4-14.1 6.6-14.1 14.9.1 9.1 9.4 16.3 19.1 16.3zM474.5 0c31.5 0 65.7 18.8 65.7 48.8 0 7.7-5.8 14.1-13.4 14.1-10.3 0-11.8-5.5-16.3-13.4-7.6-13.9-16.5-23.3-36.1-23.3-30.2-.2-43.7 25.6-43.7 57.8 0 32.4 11.2 55.8 42.4 55.8 20.7 0 32.2-12 38.1-27.6 2.4-7.1 6.7-14.1 15.6-14.1 7 0 14.1 7.2 14.1 14.8 0 31.8-32.4 53.8-65.8 53.8-36.5 0-57.2-15.4-68.5-41-5.5-12.2-9.1-24.9-9.1-42.4-.1-49.2 28.6-83.3 77-83.3zm180.3 44.3c8 0 12.7 5.2 12.7 13.4 0 3.3-2.6 9.9-3.6 13.4L625.1 173c-8.6 22.1-15.1 37.4-44.5 37.4-14 0-26.1-1.2-26.1-13.4 0-7 5.3-10.6 12.7-10.6 1.4 0 3.6.7 5 .7 2.1 0 3.6.7 5 .7 14.7 0 16.8-15.1 22-25.5l-37.4-92.6c-2.1-5-3.6-8.4-3.6-11.3 0-8.2 6.4-14.1 14.8-14.1 9.5 0 13.3 7.5 15.6 15.6l24.7 73.5L638 65.5c3.9-10.5 4.2-21.2 16.8-21.2z")
127 |
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/css/_base/_fonts.sass:
--------------------------------------------------------------------------------
1 | //- ---------------------------------
2 | //- 💥 BASE > FONTS
3 | //- ----------------------------------
4 |
5 | // Source Sans Pro
6 |
7 | @font-face
8 | font-family: "Source Sans Pro"
9 | font-style: normal
10 | font-weight: 400
11 | src: url("../fonts/sourcesanspro-regular.eot")
12 | src: url("../fonts/sourcesanspro-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/sourcesanspro-regular.woff2") format("woff2"), url("../fonts/sourcesanspro-regular.woff") format("woff"), url("../fonts/sourcesanspro-regular.ttf") format("truetype"), url("../fonts/sourcesanspro-regular.svg#source_sans_proregular") format("svg")
13 |
14 | @font-face
15 | font-family: "Source Sans Pro"
16 | font-style: italic
17 | font-weight: 400
18 | src: url("../fonts/sourcesanspro-italic.eot")
19 | src: url("../fonts/sourcesanspro-italic.eot?#iefix") format("embedded-opentype"), url("../fonts/sourcesanspro-italic.woff2") format("woff2"), url("../fonts/sourcesanspro-italic.woff") format("woff"), url("../fonts/sourcesanspro-italic.ttf") format("truetype"), url("../fonts/sourcesanspro-italic.svg#source_sans_proitalic") format("svg")
20 |
21 | @font-face
22 | font-family: "Source Sans Pro"
23 | font-style: normal
24 | font-weight: 700
25 | src: url("../fonts/sourcesanspro-bold.eot")
26 | src: url("../fonts/sourcesanspro-bold.eot?#iefix") format("embedded-opentype"), url("../fonts/sourcesanspro-bold.woff2") format("woff2"), url("../fonts/sourcesanspro-bold.woff") format("woff"), url("../fonts/sourcesanspro-bold.ttf") format("truetype"), url("../fonts/sourcesanspro-bold.svg#source_sans_probold") format("svg")
27 |
28 | @font-face
29 | font-family: "Source Sans Pro"
30 | font-style: italic
31 | font-weight: 700
32 | src: url("../fonts/sourcesanspro-bolditalic.eot")
33 | src: url("../fonts/sourcesanspro-bolditalic.eot?#iefix") format("embedded-opentype"), url("../fonts/sourcesanspro-bolditalic.woff2") format("woff2"), url("../fonts/sourcesanspro-bolditalic.woff") format("woff"), url("../fonts/sourcesanspro-bolditalic.ttf") format("truetype"), url("../fonts/sourcesanspro-bolditalic.svg#source_sans_probold_italic") format("svg")
34 |
35 |
36 | // Source Code Pro
37 |
38 | @font-face
39 | font-family: "Source Code Pro"
40 | font-style: normal
41 | font-weight: 600
42 | src: url("../fonts/sourcecodepro-semibold.eot")
43 | src: url("../fonts/sourcecodepro-semibold.eot?#iefix") format("embedded-opentype"), url("../fonts/sourcecodepro-semibold.woff") format("woff"), url("../fonts/sourcecodepro-semibold.ttf") format("truetype"), url("../fonts/sourcecodepro-semibold.svg#sourcecodepro_semibold") format("svg")
44 |
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/css/_base/_grid.sass:
--------------------------------------------------------------------------------
1 | //- ----------------------------------
2 | //- 💥 BASE > GRID
3 | //- ----------------------------------
4 |
5 | //- Grid container
6 |
7 | .o-grid
8 | display: flex
9 | flex-wrap: wrap
10 | flex-direction: row
11 | align-items: stretch
12 | justify-content: space-between
13 |
14 |
15 | //- Grid column
16 |
17 | .o-grid__col
18 | $grid-gutter: 2rem
19 |
20 | margin-top: $grid-gutter
21 | overflow: hidden
22 | display: flex
23 | flex: 0 0 100%
24 | flex-direction: column
25 | flex-wrap: wrap
26 |
27 | @each $mode, $count in $grid
28 | &.o-grid__col--#{$mode}
29 | $percentage: calc(#{100% / $count} - #{$grid-gutter})
30 | flex: 0 0 $percentage
31 | max-width: $percentage
32 |
33 | // Fix overflow issue in old browsers
34 |
35 | & > *
36 | flex-shrink: 1
37 | max-width: 100%
38 |
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/css/_base/_layout.sass:
--------------------------------------------------------------------------------
1 | //- ----------------------------------
2 | //- 💥 LAYOUT
3 | //- ----------------------------------
4 |
5 | //- Layout
6 |
7 | body
8 | background: $page-bg
9 | padding: 3rem
10 |
11 | //- Objects
12 |
13 | .o-container
14 | font: #{$type-base}/#{1.375} $font-primary
15 | background: $color-back
16 |
17 | .o-slide
18 | background: $color-back
19 | font-size: 2.25rem
20 |
21 | &.o-slide--center
22 | text-align: center
23 |
24 | a
25 | border-bottom: 2px solid $color-theme
26 |
27 | .o-block,
28 | p
29 | margin-bottom: 3rem
30 |
31 | .o-icon
32 | vertical-align: middle
33 | margin-right: 0.75rem
34 |
35 |
36 | //- Utilities
37 |
38 | .u-color-theme
39 | color: $color-theme
40 |
41 | .u-color-subtle
42 | color: $color-subtle-dark
43 |
44 | .u-text-small.u-text-small
45 | font-size: 1.75rem
46 |
47 | .u-text-tiny.u-text-tiny
48 | font-size: 1rem
49 |
50 | .u-heading
51 | margin-bottom: 2rem
52 |
53 | @each $level, $size in (1: 6, 2: 4, 3: 3, 4: 2.8, 5: 2.5)
54 | .u-heading-#{$level}
55 | font: normal bold #{$size}rem/#{1.25} $font-primary
56 |
57 |
58 | //- Components
59 |
60 |
61 | //- List Container
62 |
63 | .c-list
64 | @each $type, $counter in (numbers: decimal, letters: upper-latin, roman: lower-roman)
65 | &.c-list--#{$type}
66 | counter-reset: li
67 |
68 | .c-list__item:before
69 | content: counter(li, #{$counter}) '.'
70 |
71 |
72 | //- List Item
73 |
74 | .c-list__item
75 | padding-left: 2rem
76 | margin-bottom: 0.5em
77 | margin-left: 1.25rem
78 |
79 | &:before
80 | color: $color-theme
81 | content: '\25CF'
82 | display: inline-block
83 | font-size: 1em
84 | font-weight: bold
85 | padding-right: 1.25rem
86 | margin-left: -3.75rem
87 | text-align: right
88 | width: 2.5rem
89 | counter-increment: li
90 |
91 | & > .o-block
92 | margin-top: 2rem
93 |
94 |
95 | //- Code block
96 |
97 | .c-code-block
98 | background: $color-front
99 | color: $color-back
100 | padding: 0.75em 0
101 | border-radius: 2px
102 | overflow: auto
103 | width: 100%
104 | max-width: 100%
105 | white-space: pre
106 | direction: ltr
107 |
108 |
109 | //- Code block content
110 |
111 | .c-code-block__content
112 | display: block
113 | font: normal 600 1.5rem/#{2} $font-code
114 | padding: 1em 2em
115 |
116 |
117 | //- Inline code
118 |
119 | *:not(.c-code-block) > code
120 | font: normal 600 0.8em/#{1} $font-code
121 | background: $color-subtle
122 | color: $color-front
123 | padding: 0.1em 0.5em
124 | margin: 0
125 | border-radius: 1px
126 | text-shadow: none
127 |
128 |
129 | //- Syntax Highlighting
130 |
131 | [class*="language-"] .token
132 | &.comment, &.prolog, &.doctype, &.cdata, &.punctuation
133 | color: map-get($syntax-highlighting, comment)
134 |
135 | &.property, &.tag, &.constant, &.symbol, &.deleted
136 | color: map-get($syntax-highlighting, tag)
137 |
138 | &.boolean, &.number
139 | color: map-get($syntax-highlighting, number)
140 |
141 | &.selector, &.attr-name, &.string, &.char, &.builtin, &.inserted
142 | color: map-get($syntax-highlighting, selector)
143 |
144 | @at-root .language-css .token.string,
145 | &.operator, &.entity, &.url, &.variable
146 | color: map-get($syntax-highlighting, operator)
147 |
148 | &.atrule, &.attr-value, &.function
149 | color: map-get($syntax-highlighting, function)
150 |
151 | &.regex, &.important
152 | color: map-get($syntax-highlighting, regex)
153 |
154 | &.keyword
155 | color: map-get($syntax-highlighting, keyword)
156 |
157 | &.italic
158 | font-style: italic
159 |
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/css/_base/_mixins.sass:
--------------------------------------------------------------------------------
1 | //- ---------------------------------
2 | //- 💥 BASE > MIXINS
3 | //- ----------------------------------
4 |
5 | //- Size shorthand
6 |
7 | @mixin size($width, $height: $width)
8 | width: $width
9 | height: $height
10 |
11 |
12 | //- Position shorthand
13 |
14 | @mixin position($position, $pos-y, $pos-x, $pos-y-value, $pos-x-value)
15 | position: $position
16 | #{$pos-y}: $pos-y-value
17 | #{$pos-x}: $pos-x-value
18 |
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/css/_base/_reset.sass:
--------------------------------------------------------------------------------
1 | //- ----------------------------------
2 | //- 💥 BASE > RESET
3 | //- ----------------------------------
4 |
5 | //- adapted from "normalize.css" by Nicolas Gallagher & Jonathan Neal
6 | //- https://github.com/necolas/normalize.css
7 |
8 | *
9 | box-sizing: border-box
10 | padding: 0
11 | margin: 0
12 | border: 0
13 | outline: 0
14 |
15 | html
16 | font-family: sans-serif
17 | text-rendering: optimizeSpeed
18 | -ms-text-size-adjust: 100%
19 | -webkit-text-size-adjust: 100%
20 | -webkit-font-smoothing: antialiased
21 | -moz-osx-font-smoothing: grayscale
22 |
23 | body
24 | margin: 0
25 |
26 | article, aside, details, figcaption, figure, footer, header, main, menu, nav,
27 | section, summary, progress
28 | display: block
29 |
30 | a
31 | background-color: transparent
32 | color: inherit
33 | text-decoration: none
34 |
35 | &:active,
36 | &:hover
37 | outline: 0
38 |
39 | b, strong
40 | font-weight: inherit
41 | font-weight: bolder
42 |
43 | small
44 | font-size: 80%
45 |
46 | sub, sup
47 | position: relative
48 | font-size: 65%
49 | line-height: 0
50 | vertical-align: baseline
51 |
52 | sup
53 | top: -0.5em
54 |
55 | sub
56 | bottom: -0.15em
57 |
58 | img
59 | border: 0
60 | height: auto
61 | max-width: 100%
62 |
63 | svg
64 | color-interpolation-filters: sRGB
65 | fill: currentColor
66 |
67 | &:not(:root)
68 | overflow: hidden
69 |
70 | hr
71 | box-sizing: content-box
72 | overflow: visible
73 | height: 0
74 |
75 | pre
76 | overflow: auto
77 |
78 | code, pre
79 | font-family: monospace, monospace
80 | font-size: 1em
81 |
82 | table
83 | text-align: left
84 | width: 100%
85 | max-width: 100%
86 | border-collapse: collapse
87 |
88 | td,
89 | th
90 | vertical-align: top
91 |
92 | ul,
93 | ol
94 | list-style: none
95 |
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/css/_base/_theme.sass:
--------------------------------------------------------------------------------
1 | //- ---------------------------------
2 | //- 💥 BASE > THEME TEMPLATE
3 | //- ----------------------------------
4 |
5 | $type-base: 16px !default
6 |
7 | $color-back: #fff !default
8 | $color-front: #1e1935 !default
9 | $color-subtle: #ddd !default
10 | $color-subtle-dark: #949E9B !default
11 | $color-theme: #1e1935 !default
12 |
13 | $syntax-highlighting: ( comment: #999, tag: #81c44d, number: #8771ff, selector: #8771ff, operator: #f44d61, function: #2fbbab, keyword: #f44d61, regex: #ff9900 ) !default
14 |
15 | $font-primary: Helvetica, Arial, sans-serif !default
16 | $font-code: Consolas, Menlo, Monaco, Courier, monospace !default
17 |
18 | $page-bg: $color-theme !default
19 |
20 | $grid: ( quarter: 4, third: 3, half: 2, two-thirds: 1.5, three-quarters: 1.33 )
21 |
22 | @import mixins
23 | @import reset
24 | @import fonts
25 | @import layout
26 | @import grid
27 |
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/css/_base/_utilities.sass:
--------------------------------------------------------------------------------
1 | //- ---------------------------------
2 | //- 💥 BASE > UTILITIES
3 | //- ----------------------------------
4 |
5 | .u-text-center
6 | text-align: center
7 |
8 | .u-color-theme
9 | color: $color-theme
10 |
11 | .u-text-small
12 | font-size: 1.75rem
13 |
14 | .u-heading
15 | margin-bottom: 2rem
16 |
17 | @each $level, $size in (1: 6, 2: 4, 3: 3, 4: 2.8, 5: 2.5)
18 | .u-heading-#{$level}
19 | font: normal bold #{$size}rem/#{1.25} $font-primary
20 |
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/css/reveal.scss:
--------------------------------------------------------------------------------
1 | /*!
2 | * reveal.js
3 | * http://lab.hakim.se/reveal-js
4 | * MIT licensed
5 | *
6 | * Copyright (C) 2016 Hakim El Hattab, http://hakim.se
7 | */
8 |
9 | /*********************************************
10 | * GLOBAL STYLES
11 | *********************************************/
12 |
13 | html,
14 | body {
15 | width: 100%;
16 | height: 100%;
17 | overflow: hidden;
18 | }
19 |
20 | body {
21 | position: relative;
22 | line-height: 1;
23 |
24 | background-color: #fff;
25 | color: #000;
26 | font: normal 16px Helvetica, arial, sans-serif
27 | }
28 |
29 |
30 | /*********************************************
31 | * VIEW FRAGMENTS
32 | *********************************************/
33 |
34 | .reveal .slides section .fragment {
35 | opacity: 0;
36 | visibility: hidden;
37 | transition: all .2s ease;
38 |
39 | &.visible {
40 | opacity: 1;
41 | visibility: visible;
42 | }
43 | }
44 |
45 | .reveal .slides section .fragment.grow {
46 | opacity: 1;
47 | visibility: visible;
48 |
49 | &.visible {
50 | transform: scale( 1.3 );
51 | }
52 | }
53 |
54 | .reveal .slides section .fragment.shrink {
55 | opacity: 1;
56 | visibility: visible;
57 |
58 | &.visible {
59 | transform: scale( 0.7 );
60 | }
61 | }
62 |
63 | .reveal .slides section .fragment.zoom-in {
64 | transform: scale( 0.1 );
65 |
66 | &.visible {
67 | transform: none;
68 | }
69 | }
70 |
71 | .reveal .slides section .fragment.fade-out {
72 | opacity: 1;
73 | visibility: visible;
74 |
75 | &.visible {
76 | opacity: 0;
77 | visibility: hidden;
78 | }
79 | }
80 |
81 | .reveal .slides section .fragment.semi-fade-out {
82 | opacity: 1;
83 | visibility: visible;
84 |
85 | &.visible {
86 | opacity: 0.5;
87 | visibility: visible;
88 | }
89 | }
90 |
91 | .reveal .slides section .fragment.strike {
92 | opacity: 1;
93 | visibility: visible;
94 |
95 | &.visible {
96 | text-decoration: line-through;
97 | }
98 | }
99 |
100 | .reveal .slides section .fragment.fade-up {
101 | transform: translate(0, 20%);
102 |
103 | &.visible {
104 | transform: translate(0, 0);
105 | }
106 | }
107 |
108 | .reveal .slides section .fragment.fade-down {
109 | transform: translate(0, -20%);
110 |
111 | &.visible {
112 | transform: translate(0, 0);
113 | }
114 | }
115 |
116 | .reveal .slides section .fragment.fade-right {
117 | transform: translate(-20%, 0);
118 |
119 | &.visible {
120 | transform: translate(0, 0);
121 | }
122 | }
123 |
124 | .reveal .slides section .fragment.fade-left {
125 | transform: translate(20%, 0);
126 |
127 | &.visible {
128 | transform: translate(0, 0);
129 | }
130 | }
131 |
132 | .reveal .slides section .fragment.current-visible {
133 | opacity: 0;
134 | visibility: hidden;
135 |
136 | &.current-fragment {
137 | opacity: 1;
138 | visibility: visible;
139 | }
140 | }
141 |
142 | .reveal .slides section .fragment.highlight-red,
143 | .reveal .slides section .fragment.highlight-current-red,
144 | .reveal .slides section .fragment.highlight-green,
145 | .reveal .slides section .fragment.highlight-current-green,
146 | .reveal .slides section .fragment.highlight-blue,
147 | .reveal .slides section .fragment.highlight-current-blue {
148 | opacity: 1;
149 | visibility: visible;
150 | }
151 | .reveal .slides section .fragment.highlight-red.visible {
152 | color: #ff2c2d
153 | }
154 | .reveal .slides section .fragment.highlight-green.visible {
155 | color: #17ff2e;
156 | }
157 | .reveal .slides section .fragment.highlight-blue.visible {
158 | color: #1b91ff;
159 | }
160 |
161 | .reveal .slides section .fragment.highlight-current-red.current-fragment {
162 | color: #ff2c2d
163 | }
164 | .reveal .slides section .fragment.highlight-current-green.current-fragment {
165 | color: #17ff2e;
166 | }
167 | .reveal .slides section .fragment.highlight-current-blue.current-fragment {
168 | color: #1b91ff;
169 | }
170 |
171 |
172 | /*********************************************
173 | * DEFAULT ELEMENT STYLES
174 | *********************************************/
175 |
176 | /* Fixes issue in Chrome where italic fonts did not appear when printing to PDF */
177 | .reveal:after {
178 | content: '';
179 | font-style: italic;
180 | }
181 |
182 | .reveal iframe {
183 | z-index: 1;
184 | }
185 |
186 | /** Prevents layering issues in certain browser/transition combinations */
187 | .reveal a {
188 | position: relative;
189 | }
190 |
191 | .reveal .stretch {
192 | max-width: none;
193 | max-height: none;
194 | }
195 |
196 | .reveal pre.stretch code {
197 | height: 100%;
198 | max-height: 100%;
199 | box-sizing: border-box;
200 | }
201 |
202 |
203 | /*********************************************
204 | * CONTROLS
205 | *********************************************/
206 |
207 | .reveal .controls {
208 | display: none;
209 | position: fixed;
210 | width: 110px;
211 | height: 110px;
212 | z-index: 30;
213 | right: 10px;
214 | bottom: 10px;
215 |
216 | -webkit-user-select: none;
217 | }
218 |
219 | .reveal .controls button {
220 | padding: 0;
221 | position: absolute;
222 | opacity: 0.05;
223 | width: 0;
224 | height: 0;
225 | background-color: transparent;
226 | border: 12px solid transparent;
227 | transform: scale(.9999);
228 | transition: all 0.2s ease;
229 | -webkit-appearance: none;
230 | -webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
231 | }
232 |
233 | .reveal .controls .enabled {
234 | opacity: 0.7;
235 | cursor: pointer;
236 | }
237 |
238 | .reveal .controls .enabled:active {
239 | margin-top: 1px;
240 | }
241 |
242 | .reveal .controls .navigate-left {
243 | top: 42px;
244 |
245 | border-right-width: 22px;
246 | border-right-color: #000;
247 | }
248 | .reveal .controls .navigate-left.fragmented {
249 | opacity: 0.3;
250 | }
251 |
252 | .reveal .controls .navigate-right {
253 | left: 74px;
254 | top: 42px;
255 |
256 | border-left-width: 22px;
257 | border-left-color: #000;
258 | }
259 | .reveal .controls .navigate-right.fragmented {
260 | opacity: 0.3;
261 | }
262 |
263 | .reveal .controls .navigate-up {
264 | left: 42px;
265 |
266 | border-bottom-width: 22px;
267 | border-bottom-color: #000;
268 | }
269 | .reveal .controls .navigate-up.fragmented {
270 | opacity: 0.3;
271 | }
272 |
273 | .reveal .controls .navigate-down {
274 | left: 42px;
275 | top: 74px;
276 |
277 | border-top-width: 22px;
278 | border-top-color: #000;
279 | }
280 | .reveal .controls .navigate-down.fragmented {
281 | opacity: 0.3;
282 | }
283 |
284 |
285 | /*********************************************
286 | * PROGRESS BAR
287 | *********************************************/
288 |
289 | .reveal .progress {
290 | position: fixed;
291 | display: none;
292 | height: 3px;
293 | width: 100%;
294 | bottom: 0;
295 | left: 0;
296 | z-index: 10;
297 |
298 | background-color: rgba( 0, 0, 0, 0.2 );
299 | }
300 | .reveal .progress:after {
301 | content: '';
302 | display: block;
303 | position: absolute;
304 | height: 20px;
305 | width: 100%;
306 | top: -20px;
307 | }
308 | .reveal .progress span {
309 | display: block;
310 | height: 100%;
311 | width: 0px;
312 |
313 | background-color: #000;
314 | transition: width 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
315 | }
316 |
317 | /*********************************************
318 | * SLIDE NUMBER
319 | *********************************************/
320 |
321 | .reveal .slide-number {
322 | position: fixed;
323 | display: block;
324 | right: 8px;
325 | bottom: 8px;
326 | z-index: 31;
327 | font-family: Helvetica, sans-serif;
328 | font-size: 12px;
329 | line-height: 1;
330 | color: #fff;
331 | background-color: rgba( 0, 0, 0, 0.4 );
332 | padding: 5px;
333 | }
334 |
335 | .reveal .slide-number-delimiter {
336 | margin: 0 3px;
337 | }
338 |
339 | /*********************************************
340 | * SLIDES
341 | *********************************************/
342 |
343 | .reveal {
344 | position: relative;
345 | width: 100%;
346 | height: 100%;
347 | overflow: hidden;
348 | touch-action: none;
349 | }
350 |
351 | .reveal .slides {
352 | position: absolute;
353 | width: 100%;
354 | height: 100%;
355 | top: 0;
356 | right: 0;
357 | bottom: 0;
358 | left: 0;
359 | margin: auto;
360 |
361 | overflow: visible;
362 | z-index: 1;
363 | // text-align: center;
364 | perspective: 600px;
365 | perspective-origin: 50% 40%;
366 | }
367 |
368 | .reveal .slides>section {
369 | -ms-perspective: 600px;
370 | }
371 |
372 | .reveal .slides>section,
373 | .reveal .slides>section>section {
374 | display: none;
375 | position: absolute;
376 | width: 100%;
377 | padding: 20px 0px;
378 |
379 | z-index: 10;
380 | transform-style: preserve-3d;
381 | transition: transform-origin 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
382 | transform 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
383 | visibility 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985),
384 | opacity 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
385 | }
386 |
387 | /* Global transition speed settings */
388 | .reveal[data-transition-speed="fast"] .slides section {
389 | transition-duration: 400ms;
390 | }
391 | .reveal[data-transition-speed="slow"] .slides section {
392 | transition-duration: 1200ms;
393 | }
394 |
395 | /* Slide-specific transition speed overrides */
396 | .reveal .slides section[data-transition-speed="fast"] {
397 | transition-duration: 400ms;
398 | }
399 | .reveal .slides section[data-transition-speed="slow"] {
400 | transition-duration: 1200ms;
401 | }
402 |
403 | .reveal .slides>section.stack {
404 | padding-top: 0;
405 | padding-bottom: 0;
406 | }
407 |
408 | .reveal .slides>section.present,
409 | .reveal .slides>section>section.present {
410 | display: block;
411 | z-index: 11;
412 | opacity: 1;
413 | }
414 |
415 | .reveal.center,
416 | .reveal.center .slides,
417 | .reveal.center .slides section {
418 | min-height: 0 !important;
419 | }
420 |
421 | /* Don't allow interaction with invisible slides */
422 | .reveal .slides>section.future,
423 | .reveal .slides>section>section.future,
424 | .reveal .slides>section.past,
425 | .reveal .slides>section>section.past {
426 | pointer-events: none;
427 | }
428 |
429 | .reveal.overview .slides>section,
430 | .reveal.overview .slides>section>section {
431 | pointer-events: auto;
432 | }
433 |
434 | .reveal .slides>section.past,
435 | .reveal .slides>section.future,
436 | .reveal .slides>section>section.past,
437 | .reveal .slides>section>section.future {
438 | opacity: 0;
439 | }
440 |
441 |
442 | /*********************************************
443 | * Mixins for readability of transitions
444 | *********************************************/
445 |
446 | @mixin transition-global($style) {
447 | .reveal .slides section[data-transition=#{$style}],
448 | .reveal.#{$style} .slides section:not([data-transition]) {
449 | @content;
450 | }
451 | }
452 | @mixin transition-horizontal-past($style) {
453 | .reveal .slides>section[data-transition=#{$style}].past,
454 | .reveal .slides>section[data-transition~=#{$style}-out].past,
455 | .reveal.#{$style} .slides>section:not([data-transition]).past {
456 | @content;
457 | }
458 | }
459 | @mixin transition-horizontal-future($style) {
460 | .reveal .slides>section[data-transition=#{$style}].future,
461 | .reveal .slides>section[data-transition~=#{$style}-in].future,
462 | .reveal.#{$style} .slides>section:not([data-transition]).future {
463 | @content;
464 | }
465 | }
466 |
467 | @mixin transition-vertical-past($style) {
468 | .reveal .slides>section>section[data-transition=#{$style}].past,
469 | .reveal .slides>section>section[data-transition~=#{$style}-out].past,
470 | .reveal.#{$style} .slides>section>section:not([data-transition]).past {
471 | @content;
472 | }
473 | }
474 | @mixin transition-vertical-future($style) {
475 | .reveal .slides>section>section[data-transition=#{$style}].future,
476 | .reveal .slides>section>section[data-transition~=#{$style}-in].future,
477 | .reveal.#{$style} .slides>section>section:not([data-transition]).future {
478 | @content;
479 | }
480 | }
481 |
482 | /*********************************************
483 | * SLIDE TRANSITION
484 | * Aliased 'linear' for backwards compatibility
485 | *********************************************/
486 |
487 | @each $stylename in slide, linear {
488 | .reveal.#{$stylename} section {
489 | backface-visibility: hidden;
490 | }
491 | @include transition-horizontal-past(#{$stylename}) {
492 | transform: translate(-150%, 0);
493 | }
494 | @include transition-horizontal-future(#{$stylename}) {
495 | transform: translate(150%, 0);
496 | }
497 | @include transition-vertical-past(#{$stylename}) {
498 | transform: translate(0, -150%);
499 | }
500 | @include transition-vertical-future(#{$stylename}) {
501 | transform: translate(0, 150%);
502 | }
503 | }
504 |
505 | /*********************************************
506 | * CONVEX TRANSITION
507 | * Aliased 'default' for backwards compatibility
508 | *********************************************/
509 |
510 | @each $stylename in default, convex {
511 | @include transition-horizontal-past(#{$stylename}) {
512 | transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
513 | }
514 | @include transition-horizontal-future(#{$stylename}) {
515 | transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
516 | }
517 | @include transition-vertical-past(#{$stylename}) {
518 | transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);
519 | }
520 | @include transition-vertical-future(#{$stylename}) {
521 | transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);
522 | }
523 | }
524 |
525 | /*********************************************
526 | * CONCAVE TRANSITION
527 | *********************************************/
528 |
529 | @include transition-horizontal-past(concave) {
530 | transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
531 | }
532 | @include transition-horizontal-future(concave) {
533 | transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
534 | }
535 | @include transition-vertical-past(concave) {
536 | transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
537 | }
538 | @include transition-vertical-future(concave) {
539 | transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
540 | }
541 |
542 |
543 | /*********************************************
544 | * ZOOM TRANSITION
545 | *********************************************/
546 |
547 | @include transition-global(zoom) {
548 | transition-timing-function: ease;
549 | }
550 | @include transition-horizontal-past(zoom) {
551 | visibility: hidden;
552 | transform: scale(16);
553 | }
554 | @include transition-horizontal-future(zoom) {
555 | visibility: hidden;
556 | transform: scale(0.2);
557 | }
558 | @include transition-vertical-past(zoom) {
559 | transform: translate(0, -150%);
560 | }
561 | @include transition-vertical-future(zoom) {
562 | transform: translate(0, 150%);
563 | }
564 |
565 |
566 | /*********************************************
567 | * CUBE TRANSITION
568 | *********************************************/
569 |
570 | .reveal.cube .slides {
571 | perspective: 1300px;
572 | }
573 |
574 | .reveal.cube .slides section {
575 | padding: 30px;
576 | min-height: 700px;
577 | backface-visibility: hidden;
578 | box-sizing: border-box;
579 | }
580 | .reveal.center.cube .slides section {
581 | min-height: 0;
582 | }
583 | .reveal.cube .slides section:not(.stack):before {
584 | content: '';
585 | position: absolute;
586 | display: block;
587 | width: 100%;
588 | height: 100%;
589 | left: 0;
590 | top: 0;
591 | background: rgba(0,0,0,0.1);
592 | border-radius: 4px;
593 | transform: translateZ( -20px );
594 | }
595 | .reveal.cube .slides section:not(.stack):after {
596 | content: '';
597 | position: absolute;
598 | display: block;
599 | width: 90%;
600 | height: 30px;
601 | left: 5%;
602 | bottom: 0;
603 | background: none;
604 | z-index: 1;
605 |
606 | border-radius: 4px;
607 | box-shadow: 0px 95px 25px rgba(0,0,0,0.2);
608 | transform: translateZ(-90px) rotateX( 65deg );
609 | }
610 |
611 | .reveal.cube .slides>section.stack {
612 | padding: 0;
613 | background: none;
614 | }
615 |
616 | .reveal.cube .slides>section.past {
617 | transform-origin: 100% 0%;
618 | transform: translate3d(-100%, 0, 0) rotateY(-90deg);
619 | }
620 |
621 | .reveal.cube .slides>section.future {
622 | transform-origin: 0% 0%;
623 | transform: translate3d(100%, 0, 0) rotateY(90deg);
624 | }
625 |
626 | .reveal.cube .slides>section>section.past {
627 | transform-origin: 0% 100%;
628 | transform: translate3d(0, -100%, 0) rotateX(90deg);
629 | }
630 |
631 | .reveal.cube .slides>section>section.future {
632 | transform-origin: 0% 0%;
633 | transform: translate3d(0, 100%, 0) rotateX(-90deg);
634 | }
635 |
636 |
637 | /*********************************************
638 | * PAGE TRANSITION
639 | *********************************************/
640 |
641 | .reveal.page .slides {
642 | perspective-origin: 0% 50%;
643 | perspective: 3000px;
644 | }
645 |
646 | .reveal.page .slides section {
647 | padding: 30px;
648 | min-height: 700px;
649 | box-sizing: border-box;
650 | }
651 | .reveal.page .slides section.past {
652 | z-index: 12;
653 | }
654 | .reveal.page .slides section:not(.stack):before {
655 | content: '';
656 | position: absolute;
657 | display: block;
658 | width: 100%;
659 | height: 100%;
660 | left: 0;
661 | top: 0;
662 | background: rgba(0,0,0,0.1);
663 | transform: translateZ( -20px );
664 | }
665 | .reveal.page .slides section:not(.stack):after {
666 | content: '';
667 | position: absolute;
668 | display: block;
669 | width: 90%;
670 | height: 30px;
671 | left: 5%;
672 | bottom: 0;
673 | background: none;
674 | z-index: 1;
675 |
676 | border-radius: 4px;
677 | box-shadow: 0px 95px 25px rgba(0,0,0,0.2);
678 |
679 | -webkit-transform: translateZ(-90px) rotateX( 65deg );
680 | }
681 |
682 | .reveal.page .slides>section.stack {
683 | padding: 0;
684 | background: none;
685 | }
686 |
687 | .reveal.page .slides>section.past {
688 | transform-origin: 0% 0%;
689 | transform: translate3d(-40%, 0, 0) rotateY(-80deg);
690 | }
691 |
692 | .reveal.page .slides>section.future {
693 | transform-origin: 100% 0%;
694 | transform: translate3d(0, 0, 0);
695 | }
696 |
697 | .reveal.page .slides>section>section.past {
698 | transform-origin: 0% 0%;
699 | transform: translate3d(0, -40%, 0) rotateX(80deg);
700 | }
701 |
702 | .reveal.page .slides>section>section.future {
703 | transform-origin: 0% 100%;
704 | transform: translate3d(0, 0, 0);
705 | }
706 |
707 |
708 | /*********************************************
709 | * FADE TRANSITION
710 | *********************************************/
711 |
712 | .reveal .slides section[data-transition=fade],
713 | .reveal.fade .slides section:not([data-transition]),
714 | .reveal.fade .slides>section>section:not([data-transition]) {
715 | transform: none;
716 | transition: opacity 0.5s;
717 | }
718 |
719 |
720 | .reveal.fade.overview .slides section,
721 | .reveal.fade.overview .slides>section>section {
722 | transition: none;
723 | }
724 |
725 |
726 | /*********************************************
727 | * NO TRANSITION
728 | *********************************************/
729 |
730 | @include transition-global(none) {
731 | transform: none;
732 | transition: none;
733 | }
734 |
735 |
736 | /*********************************************
737 | * PAUSED MODE
738 | *********************************************/
739 |
740 | .reveal .pause-overlay {
741 | position: absolute;
742 | top: 0;
743 | left: 0;
744 | width: 100%;
745 | height: 100%;
746 | background: black;
747 | visibility: hidden;
748 | opacity: 0;
749 | z-index: 100;
750 | transition: all 1s ease;
751 | }
752 | .reveal.paused .pause-overlay {
753 | visibility: visible;
754 | opacity: 1;
755 | }
756 |
757 |
758 | /*********************************************
759 | * FALLBACK
760 | *********************************************/
761 |
762 | .no-transforms {
763 | overflow-y: auto;
764 | }
765 |
766 | .no-transforms .reveal .slides {
767 | position: relative;
768 | width: 80%;
769 | height: auto !important;
770 | top: 0;
771 | left: 50%;
772 | margin: 0;
773 | text-align: center;
774 | }
775 |
776 | .no-transforms .reveal .controls,
777 | .no-transforms .reveal .progress {
778 | display: none !important;
779 | }
780 |
781 | .no-transforms .reveal .slides section {
782 | display: block !important;
783 | opacity: 1 !important;
784 | position: relative !important;
785 | height: auto;
786 | min-height: 0;
787 | top: 0;
788 | left: -50%;
789 | margin: 70px 0;
790 | transform: none;
791 | }
792 |
793 | .no-transforms .reveal .slides section section {
794 | left: 0;
795 | }
796 |
797 | .reveal .no-transition,
798 | .reveal .no-transition * {
799 | transition: none !important;
800 | }
801 |
802 |
803 | /*********************************************
804 | * PER-SLIDE BACKGROUNDS
805 | *********************************************/
806 |
807 | .reveal .backgrounds {
808 | position: absolute;
809 | width: 100%;
810 | height: 100%;
811 | top: 0;
812 | left: 0;
813 | perspective: 600px;
814 | }
815 | .reveal .slide-background {
816 | display: none;
817 | position: absolute;
818 | width: 100%;
819 | height: 100%;
820 | opacity: 0;
821 | visibility: hidden;
822 |
823 | background-color: rgba( 0, 0, 0, 0 );
824 | background-position: 50% 50%;
825 | background-repeat: no-repeat;
826 | background-size: cover;
827 |
828 | transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
829 | }
830 |
831 | .reveal .slide-background.stack {
832 | display: block;
833 | }
834 |
835 | .reveal .slide-background.present {
836 | opacity: 1;
837 | visibility: visible;
838 | }
839 |
840 | .print-pdf .reveal .slide-background {
841 | opacity: 1 !important;
842 | visibility: visible !important;
843 | }
844 |
845 | /* Video backgrounds */
846 | .reveal .slide-background video {
847 | position: absolute;
848 | width: 100%;
849 | height: 100%;
850 | max-width: none;
851 | max-height: none;
852 | top: 0;
853 | left: 0;
854 | }
855 |
856 | /* Immediate transition style */
857 | .reveal[data-background-transition=none]>.backgrounds .slide-background,
858 | .reveal>.backgrounds .slide-background[data-background-transition=none] {
859 | transition: none;
860 | }
861 |
862 | /* Slide */
863 | .reveal[data-background-transition=slide]>.backgrounds .slide-background,
864 | .reveal>.backgrounds .slide-background[data-background-transition=slide] {
865 | opacity: 1;
866 | backface-visibility: hidden;
867 | }
868 | .reveal[data-background-transition=slide]>.backgrounds .slide-background.past,
869 | .reveal>.backgrounds .slide-background.past[data-background-transition=slide] {
870 | transform: translate(-100%, 0);
871 | }
872 | .reveal[data-background-transition=slide]>.backgrounds .slide-background.future,
873 | .reveal>.backgrounds .slide-background.future[data-background-transition=slide] {
874 | transform: translate(100%, 0);
875 | }
876 |
877 | .reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past,
878 | .reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide] {
879 | transform: translate(0, -100%);
880 | }
881 | .reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future,
882 | .reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide] {
883 | transform: translate(0, 100%);
884 | }
885 |
886 |
887 | /* Convex */
888 | .reveal[data-background-transition=convex]>.backgrounds .slide-background.past,
889 | .reveal>.backgrounds .slide-background.past[data-background-transition=convex] {
890 | opacity: 0;
891 | transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
892 | }
893 | .reveal[data-background-transition=convex]>.backgrounds .slide-background.future,
894 | .reveal>.backgrounds .slide-background.future[data-background-transition=convex] {
895 | opacity: 0;
896 | transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
897 | }
898 |
899 | .reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past,
900 | .reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex] {
901 | opacity: 0;
902 | transform: translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0);
903 | }
904 | .reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future,
905 | .reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex] {
906 | opacity: 0;
907 | transform: translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0);
908 | }
909 |
910 |
911 | /* Concave */
912 | .reveal[data-background-transition=concave]>.backgrounds .slide-background.past,
913 | .reveal>.backgrounds .slide-background.past[data-background-transition=concave] {
914 | opacity: 0;
915 | transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
916 | }
917 | .reveal[data-background-transition=concave]>.backgrounds .slide-background.future,
918 | .reveal>.backgrounds .slide-background.future[data-background-transition=concave] {
919 | opacity: 0;
920 | transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
921 | }
922 |
923 | .reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past,
924 | .reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave] {
925 | opacity: 0;
926 | transform: translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0);
927 | }
928 | .reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future,
929 | .reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave] {
930 | opacity: 0;
931 | transform: translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0);
932 | }
933 |
934 | /* Zoom */
935 | .reveal[data-background-transition=zoom]>.backgrounds .slide-background,
936 | .reveal>.backgrounds .slide-background[data-background-transition=zoom] {
937 | transition-timing-function: ease;
938 | }
939 |
940 | .reveal[data-background-transition=zoom]>.backgrounds .slide-background.past,
941 | .reveal>.backgrounds .slide-background.past[data-background-transition=zoom] {
942 | opacity: 0;
943 | visibility: hidden;
944 | transform: scale(16);
945 | }
946 | .reveal[data-background-transition=zoom]>.backgrounds .slide-background.future,
947 | .reveal>.backgrounds .slide-background.future[data-background-transition=zoom] {
948 | opacity: 0;
949 | visibility: hidden;
950 | transform: scale(0.2);
951 | }
952 |
953 | .reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past,
954 | .reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom] {
955 | opacity: 0;
956 | visibility: hidden;
957 | transform: scale(16);
958 | }
959 | .reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future,
960 | .reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom] {
961 | opacity: 0;
962 | visibility: hidden;
963 | transform: scale(0.2);
964 | }
965 |
966 |
967 | /* Global transition speed settings */
968 | .reveal[data-transition-speed="fast"]>.backgrounds .slide-background {
969 | transition-duration: 400ms;
970 | }
971 | .reveal[data-transition-speed="slow"]>.backgrounds .slide-background {
972 | transition-duration: 1200ms;
973 | }
974 |
975 |
976 | /*********************************************
977 | * OVERVIEW
978 | *********************************************/
979 |
980 | .reveal.overview {
981 | perspective-origin: 50% 50%;
982 | perspective: 700px;
983 |
984 | .slides section {
985 | height: 100%;
986 | top: 0 !important;
987 | opacity: 1 !important;
988 | overflow: hidden;
989 | visibility: visible !important;
990 | cursor: pointer;
991 | box-sizing: border-box;
992 | }
993 | .slides section:hover,
994 | .slides section.present {
995 | outline: 10px solid rgba(150,150,150,0.4);
996 | outline-offset: 10px;
997 | }
998 | .slides section .fragment {
999 | opacity: 1;
1000 | transition: none;
1001 | }
1002 | .slides section:after,
1003 | .slides section:before {
1004 | display: none !important;
1005 | }
1006 | .slides>section.stack {
1007 | padding: 0;
1008 | top: 0 !important;
1009 | background: none;
1010 | outline: none;
1011 | overflow: visible;
1012 | }
1013 |
1014 | .backgrounds {
1015 | perspective: inherit;
1016 | }
1017 |
1018 | .backgrounds .slide-background {
1019 | opacity: 1;
1020 | visibility: visible;
1021 |
1022 | // This can't be applied to the slide itself in Safari
1023 | outline: 10px solid rgba(150,150,150,0.1);
1024 | outline-offset: 10px;
1025 | }
1026 | }
1027 |
1028 | // Disable transitions transitions while we're activating
1029 | // or deactivating the overview mode.
1030 | .reveal.overview .slides section,
1031 | .reveal.overview-deactivating .slides section {
1032 | transition: none;
1033 | }
1034 |
1035 | .reveal.overview .backgrounds .slide-background,
1036 | .reveal.overview-deactivating .backgrounds .slide-background {
1037 | transition: none;
1038 | }
1039 |
1040 | .reveal.overview-animated .slides {
1041 | transition: transform 0.4s ease;
1042 | }
1043 |
1044 |
1045 | /*********************************************
1046 | * RTL SUPPORT
1047 | *********************************************/
1048 |
1049 | .reveal.rtl .slides,
1050 | .reveal.rtl .slides h1,
1051 | .reveal.rtl .slides h2,
1052 | .reveal.rtl .slides h3,
1053 | .reveal.rtl .slides h4,
1054 | .reveal.rtl .slides h5,
1055 | .reveal.rtl .slides h6 {
1056 | direction: rtl;
1057 | font-family: sans-serif;
1058 | }
1059 |
1060 | .reveal.rtl pre,
1061 | .reveal.rtl code {
1062 | direction: ltr;
1063 | }
1064 |
1065 | .reveal.rtl ol,
1066 | .reveal.rtl ul {
1067 | text-align: right;
1068 | }
1069 |
1070 | .reveal.rtl .progress span {
1071 | float: right
1072 | }
1073 |
1074 | /*********************************************
1075 | * PARALLAX BACKGROUND
1076 | *********************************************/
1077 |
1078 | .reveal.has-parallax-background .backgrounds {
1079 | transition: all 0.8s ease;
1080 | }
1081 |
1082 | /* Global transition speed settings */
1083 | .reveal.has-parallax-background[data-transition-speed="fast"] .backgrounds {
1084 | transition-duration: 400ms;
1085 | }
1086 | .reveal.has-parallax-background[data-transition-speed="slow"] .backgrounds {
1087 | transition-duration: 1200ms;
1088 | }
1089 |
1090 |
1091 | /*********************************************
1092 | * LINK PREVIEW OVERLAY
1093 | *********************************************/
1094 |
1095 | .reveal .overlay {
1096 | position: absolute;
1097 | top: 0;
1098 | left: 0;
1099 | width: 100%;
1100 | height: 100%;
1101 | z-index: 1000;
1102 | background: rgba( 0, 0, 0, 0.9 );
1103 | opacity: 0;
1104 | visibility: hidden;
1105 | transition: all 0.3s ease;
1106 | }
1107 | .reveal .overlay.visible {
1108 | opacity: 1;
1109 | visibility: visible;
1110 | }
1111 |
1112 | .reveal .overlay .spinner {
1113 | position: absolute;
1114 | display: block;
1115 | top: 50%;
1116 | left: 50%;
1117 | width: 32px;
1118 | height: 32px;
1119 | margin: -16px 0 0 -16px;
1120 | z-index: 10;
1121 | background-image: url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);
1122 |
1123 | visibility: visible;
1124 | opacity: 0.6;
1125 | transition: all 0.3s ease;
1126 | }
1127 |
1128 | .reveal .overlay header {
1129 | position: absolute;
1130 | left: 0;
1131 | top: 0;
1132 | width: 100%;
1133 | height: 40px;
1134 | z-index: 2;
1135 | border-bottom: 1px solid #222;
1136 | }
1137 | .reveal .overlay header a {
1138 | display: inline-block;
1139 | width: 40px;
1140 | height: 40px;
1141 | padding: 0 10px;
1142 | float: right;
1143 | opacity: 0.6;
1144 |
1145 | box-sizing: border-box;
1146 | }
1147 | .reveal .overlay header a:hover {
1148 | opacity: 1;
1149 | }
1150 | .reveal .overlay header a .icon {
1151 | display: inline-block;
1152 | width: 20px;
1153 | height: 20px;
1154 |
1155 | background-position: 50% 50%;
1156 | background-size: 100%;
1157 | background-repeat: no-repeat;
1158 | }
1159 | .reveal .overlay header a.close .icon {
1160 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC);
1161 | }
1162 | .reveal .overlay header a.external .icon {
1163 | background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==);
1164 | }
1165 |
1166 | .reveal .overlay .viewport {
1167 | position: absolute;
1168 | display: flex;
1169 | top: 40px;
1170 | right: 0;
1171 | bottom: 0;
1172 | left: 0;
1173 | }
1174 |
1175 | .reveal .overlay.overlay-preview .viewport iframe {
1176 | width: 100%;
1177 | height: 100%;
1178 | max-width: 100%;
1179 | max-height: 100%;
1180 | border: 0;
1181 |
1182 | opacity: 0;
1183 | visibility: hidden;
1184 | transition: all 0.3s ease;
1185 | }
1186 |
1187 | .reveal .overlay.overlay-preview.loaded .viewport iframe {
1188 | opacity: 1;
1189 | visibility: visible;
1190 | }
1191 |
1192 | .reveal .overlay.overlay-preview.loaded .spinner {
1193 | opacity: 0;
1194 | visibility: hidden;
1195 | transform: scale(0.2);
1196 | }
1197 |
1198 | .reveal .overlay.overlay-help .viewport {
1199 | overflow: auto;
1200 | color: #fff;
1201 | }
1202 |
1203 | .reveal .overlay.overlay-help .viewport .viewport-inner {
1204 | width: 600px;
1205 | margin: auto;
1206 | padding: 20px 20px 80px 20px;
1207 | text-align: center;
1208 | letter-spacing: normal;
1209 | }
1210 |
1211 | .reveal .overlay.overlay-help .viewport .viewport-inner .title {
1212 | font-size: 20px;
1213 | }
1214 |
1215 | .reveal .overlay.overlay-help .viewport .viewport-inner table {
1216 | border: 1px solid #fff;
1217 | border-collapse: collapse;
1218 | font-size: 16px;
1219 | }
1220 |
1221 | .reveal .overlay.overlay-help .viewport .viewport-inner table th,
1222 | .reveal .overlay.overlay-help .viewport .viewport-inner table td {
1223 | width: 200px;
1224 | padding: 14px;
1225 | border: 1px solid #fff;
1226 | vertical-align: middle;
1227 | }
1228 |
1229 | .reveal .overlay.overlay-help .viewport .viewport-inner table th {
1230 | padding-top: 20px;
1231 | padding-bottom: 20px;
1232 | }
1233 |
1234 |
1235 |
1236 | /*********************************************
1237 | * PLAYBACK COMPONENT
1238 | *********************************************/
1239 |
1240 | .reveal .playback {
1241 | position: fixed;
1242 | left: 15px;
1243 | bottom: 20px;
1244 | z-index: 30;
1245 | cursor: pointer;
1246 | transition: all 400ms ease;
1247 | }
1248 |
1249 | .reveal.overview .playback {
1250 | opacity: 0;
1251 | visibility: hidden;
1252 | }
1253 |
1254 |
1255 | /*********************************************
1256 | * ROLLING LINKS
1257 | *********************************************/
1258 |
1259 | .reveal .roll {
1260 | display: inline-block;
1261 | line-height: 1.2;
1262 | overflow: hidden;
1263 |
1264 | vertical-align: top;
1265 | perspective: 400px;
1266 | perspective-origin: 50% 50%;
1267 | }
1268 | .reveal .roll:hover {
1269 | background: none;
1270 | text-shadow: none;
1271 | }
1272 | .reveal .roll span {
1273 | display: block;
1274 | position: relative;
1275 | padding: 0 2px;
1276 |
1277 | pointer-events: none;
1278 | transition: all 400ms ease;
1279 | transform-origin: 50% 0%;
1280 | transform-style: preserve-3d;
1281 | backface-visibility: hidden;
1282 | }
1283 | .reveal .roll:hover span {
1284 | background: rgba(0,0,0,0.5);
1285 | transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg );
1286 | }
1287 | .reveal .roll span:after {
1288 | content: attr(data-title);
1289 |
1290 | display: block;
1291 | position: absolute;
1292 | left: 0;
1293 | top: 0;
1294 | padding: 0 2px;
1295 | backface-visibility: hidden;
1296 | transform-origin: 50% 0%;
1297 | transform: translate3d( 0px, 110%, 0px ) rotateX( -90deg );
1298 | }
1299 |
1300 |
1301 | /*********************************************
1302 | * SPEAKER NOTES
1303 | *********************************************/
1304 |
1305 | // Hide on-page notes
1306 | .reveal aside.notes {
1307 | display: none;
1308 | }
1309 |
1310 | // An interface element that can optionally be used to show the
1311 | // speaker notes to all viewers, on top of the presentation
1312 | .reveal .speaker-notes {
1313 | display: none;
1314 | position: absolute;
1315 | width: 70%;
1316 | max-height: 15%;
1317 | left: 15%;
1318 | bottom: 26px;
1319 | padding: 10px;
1320 | z-index: 1;
1321 | font-size: 18px;
1322 | line-height: 1.4;
1323 | color: #fff;
1324 | background-color: rgba(0,0,0,0.5);
1325 | overflow: auto;
1326 | box-sizing: border-box;
1327 | text-align: left;
1328 | font-family: Helvetica, sans-serif;
1329 | -webkit-overflow-scrolling: touch;
1330 | }
1331 |
1332 | .reveal .speaker-notes.visible:not(:empty) {
1333 | display: block;
1334 | }
1335 |
1336 | @media screen and (max-width: 1024px) {
1337 | .reveal .speaker-notes {
1338 | font-size: 14px;
1339 | }
1340 | }
1341 |
1342 | @media screen and (max-width: 600px) {
1343 | .reveal .speaker-notes {
1344 | width: 90%;
1345 | left: 5%;
1346 | }
1347 | }
1348 |
1349 |
1350 | /*********************************************
1351 | * ZOOM PLUGIN
1352 | *********************************************/
1353 |
1354 | .zoomed .reveal *,
1355 | .zoomed .reveal *:before,
1356 | .zoomed .reveal *:after {
1357 | backface-visibility: visible !important;
1358 | }
1359 |
1360 | .zoomed .reveal .progress,
1361 | .zoomed .reveal .controls {
1362 | opacity: 0;
1363 | }
1364 |
1365 | .zoomed .reveal .roll span {
1366 | background: none;
1367 | }
1368 |
1369 | .zoomed .reveal .roll span:after {
1370 | visibility: hidden;
1371 | }
1372 |
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/css/theme-explosion.sass:
--------------------------------------------------------------------------------
1 | //- ---------------------------------
2 | //- 💥 EXPLOSION THEME
3 | //- ----------------------------------
4 |
5 | $color-back: #fff
6 | $color-front: #1e1935
7 | $color-subtle: #ddd
8 | $color-subtle-dark: #949E9B
9 | $color-theme: #1e1935
10 |
11 | $font-primary: "Sailec", Helvetica, Arial, sans-serif
12 | $font-code: "Input Mono Compressed", Consolas, "Andale Mono", Menlo, Monaco, Courier, monospace
13 |
14 | @import _base/theme
15 |
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/css/theme-spacy.sass:
--------------------------------------------------------------------------------
1 | //- ---------------------------------
2 | //- 💥 SPACY THEME
3 | //- ----------------------------------
4 |
5 | $color-back: #fff
6 | $color-front: #1a1e23
7 | $color-subtle: #ddd
8 | $color-subtle-dark: #949E9B
9 | $color-theme: #09a3d5
10 |
11 | $page-bg: $color-theme url("/assets/img/pattern_blue.jpg") top left repeat
12 |
13 | $font-primary: "Source Sans Pro", Tahoma, Geneva, sans-serif
14 | $font-code: 'Source Code Pro', Consolas, 'Andale Mono', Menlo, Monaco, Courier, monospace
15 |
16 | @import _base/theme
17 |
18 |
19 | //- Theme-specific overrides
20 |
21 | .navigate-up,
22 | .navigate-down
23 | display: none
24 |
25 | .intro,
26 | .outro
27 | .o-container,
28 | .o-slide
29 | background: transparent
30 | text-align: center
31 | font-weight: bold
32 | color: $color-back
33 | text-shadow: 5px 5px 0 darken($color-theme, 5)
34 |
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcecodepro-semibold.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcecodepro-semibold.eot
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcecodepro-semibold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcecodepro-semibold.ttf
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcecodepro-semibold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcecodepro-semibold.woff
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-bold.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-bold.eot
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-bold.ttf
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-bold.woff
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-bold.woff2
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-bolditalic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-bolditalic.eot
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-bolditalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-bolditalic.ttf
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-bolditalic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-bolditalic.woff
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-bolditalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-bolditalic.woff2
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-italic.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-italic.eot
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-italic.ttf
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-italic.woff
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-italic.woff2
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-regular.eot
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-regular.ttf
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-regular.woff
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/fonts/sourcesanspro-regular.woff2
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/img/icons.svg:
--------------------------------------------------------------------------------
1 |
17 |
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/img/pattern_blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/explosion/talks/733dd68926308667e2b5f35bc3a2c36ffa5fcead/2016-05-21_Designing-spaCy/assets/img/pattern_blue.jpg
--------------------------------------------------------------------------------
/2016-05-21_Designing-spaCy/assets/js/prism.js:
--------------------------------------------------------------------------------
1 | /* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+bash+c+csharp+cpp+css-extras+git+jade+java+json+latex+makefile+markdown+python+rest+sass+scss+sql+wiki+yaml */
2 | var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(){var e=/\blang(?:uage)?-(\w+)\b/i,t=0,n=_self.Prism={util:{encode:function(e){return e instanceof a?new a(e.type,n.util.encode(e.content),e.alias):"Array"===n.util.type(e)?e.map(n.util.encode):e.replace(/&/g,"&").replace(/e.length)break e;if(!(m instanceof a)){u.lastIndex=0;var y=u.exec(m),v=1;if(!y&&h&&p!=r.length-1){var b=r[p+1].matchedStr||r[p+1],k=m+b;if(p=m.length)continue;var _=y.index+y[0].length,P=m.length+b.length;if(v=3,P>=_){if(r[p+1].greedy)continue;v=2,k=k.slice(0,P)}m=k}if(y){g&&(f=y[1].length);var w=y.index+f,y=y[0].slice(f),_=w+y.length,S=m.slice(0,w),O=m.slice(_),j=[p,v];S&&j.push(S);var A=new a(i,c?n.tokenize(y,c):y,d,y,h);j.push(A),O&&j.push(O),Array.prototype.splice.apply(r,j)}}}}}return r},hooks:{all:{},add:function(e,t){var a=n.hooks.all;a[e]=a[e]||[],a[e].push(t)},run:function(e,t){var a=n.hooks.all[e];if(a&&a.length)for(var r,l=0;r=a[l++];)r(t)}}},a=n.Token=function(e,t,n,a,r){this.type=e,this.content=t,this.alias=n,this.matchedStr=a||null,this.greedy=!!r};if(a.stringify=function(e,t,r){if("string"==typeof e)return e;if("Array"===n.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join("");var l={type:e.type,content:a.stringify(e.content,t,r),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:r};if("comment"==l.type&&(l.attributes.spellcheck="true"),e.alias){var i="Array"===n.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(l.classes,i)}n.hooks.run("wrap",l);var o="";for(var s in l.attributes)o+=(o?" ":"")+s+'="'+(l.attributes[s]||"")+'"';return"<"+l.tag+' class="'+l.classes.join(" ")+'" '+o+">"+l.content+""+l.tag+">"},!_self.document)return _self.addEventListener?(_self.addEventListener("message",function(e){var t=JSON.parse(e.data),a=t.language,r=t.code,l=t.immediateClose;_self.postMessage(n.highlight(r,n.languages[a],a)),l&&_self.close()},!1),_self.Prism):_self.Prism;var r=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return r&&(n.filename=r.src,document.addEventListener&&!r.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",n.highlightAll)),_self.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism);
3 | Prism.languages.markup={comment://,prolog:/<\?[\w\W]+?\?>/,doctype://,cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=.$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,inside:{punctuation:/[=>"']/}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/?[\da-z]{1,8};/i},Prism.hooks.add("wrap",function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))}),Prism.languages.xml=Prism.languages.markup,Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup;
4 | Prism.languages.css={comment:/\/\*[\w\W]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^\{\}\s][^\{\};]*?(?=\s*\{)/,string:/("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,property:/(\b|\B)[\w-]+(?=\s*:)/i,important:/\B!important\b/i,"function":/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},Prism.languages.css.atrule.inside.rest=Prism.util.clone(Prism.languages.css),Prism.languages.markup&&(Prism.languages.insertBefore("markup","tag",{style:{pattern:/(