diff --git a/.gitignore b/.gitignore
index ec04dbd..4593371 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,8 +13,5 @@ dist
# Mac
.DS_Store
-# Temp piter images
-static/images/piter
-
# Env file
.env
\ No newline at end of file
diff --git a/assets/css/_base.css b/assets/css/_base.css
index b79c6a2..f5fcf84 100644
--- a/assets/css/_base.css
+++ b/assets/css/_base.css
@@ -47,7 +47,7 @@ input:not([type='range']),
select {
display: flex;
font-family: inherit;
- font-size: 1rem;
+ font-size: inherit;
line-height: inherit;
margin: 0;
padding: var(--spacer-xsmall);
diff --git a/assets/css/_slideshow.css b/assets/css/_slideshow.css
index e2e7209..b252412 100644
--- a/assets/css/_slideshow.css
+++ b/assets/css/_slideshow.css
@@ -19,8 +19,8 @@
}
.eg-slide {
- width: calc(100% - var(--spacer-small) * 2);
- height: calc(100% - var(--spacer-small) * 2);
+ width: calc(100% - var(--spacer-medium) * 2);
+ height: calc(100% - var(--spacer-medium) * 2);
position: absolute;
top: 50%;
left: 50%;
diff --git a/components/piter/images.js b/components/piter/images.js
index 5794d84..8006334 100644
--- a/components/piter/images.js
+++ b/components/piter/images.js
@@ -1,10 +1,24 @@
export default {
- nurse: 'https://imgur.com/bcwlq9n.jpg',
- me: 'https://imgur.com/8G1iCY0.jpg',
- corgi: 'https://s3-us-west-2.amazonaws.com/s.cdpn.io/256812/gorgi.gif',
- grundtvig1: 'https://imgur.com/2RSVTps.jpg',
- grundtvig2: 'https://imgur.com/TlbcBk5.jpg',
- savanna: 'https://imgur.com/7UppqYg.jpg',
- lucy: 'https://imgur.com/DCVO3RD.jpg',
- tiles: 'https://imgur.com/a/q1EEy6P.jpg',
+ bob: 'https://imgur.com/QnIk5Fd.gif',
+ bricks: 'https://imgur.com/2Us2ywA.jpg',
+ corgi: 'https://imgur.com/dbF1iLj.gif',
+ corgi_big: 'https://i.imgur.com/q0tMNDP.gif',
+ csswg: 'https://imgur.com/oSgykm0.jpg',
+ eye_anatomy: 'https://imgur.com/DilAJAp.jpg',
+ eye_brightness: 'https://imgur.com/SB0yiYE.jpg',
+ eye_discharge: 'https://imgur.com/Crj3tuM.jpg',
+ eye_photosensors: 'https://imgur.com/dXb9gG0.jpg',
+ eye_receptive: 'https://imgur.com/TA3YrjN.jpg',
+ fodbold: 'https://imgur.com/hEP4l2G.jpg',
+ grundtvig_1: 'https://imgur.com/tyA9Weq.jpg',
+ grundtvig_2: 'https://imgur.com/bMazSSD.jpg',
+ habesha: 'https://imgur.com/b6CkPRO.jpg',
+ lucy: 'https://imgur.com/wPlWIHV.jpg',
+ momondo_ease: 'https://imgur.com/xxpRaBx.jpg',
+ momondo_linear: 'https://imgur.com/mZLK2ZY.jpg',
+ nurse: 'https://imgur.com/smQQ7fk.jpg',
+ savana: 'https://imgur.com/0I6Bs21.jpg',
+ tiles: 'https://imgur.com/klfRiBu.jpg',
+ twitter: 'https://imgur.com/Jqo3aYT.jpg',
+ wow: 'https://imgur.com/wFKEUJ2.gif',
}
diff --git a/components/slides/blur.vue b/components/slides/blur.vue
index 59eb3e4..a4638f3 100644
--- a/components/slides/blur.vue
+++ b/components/slides/blur.vue
@@ -12,28 +12,34 @@
class="eg-slide"
>
-
+
![]()
+
+
-
+
-
+
+
linearRGB gradient
@@ -59,6 +65,7 @@
import eagle from 'eagle.js'
import gradientOutput from '~/components/tools/gradient/calculations/gradient-output'
import slideshowMethods from '~/components/mixins/slideshow'
+import images from '~/components/piter/images'
export default {
mixins: [eagle.slide, gradientOutput, slideshowMethods],
@@ -68,6 +75,7 @@ export default {
data: function() {
return {
blur: 0,
+ images,
}
},
watch: {
@@ -147,11 +155,11 @@ export default {
display: grid;
grid-template-columns: repeat(2, 1fr);
- &:nth-child(1) {
+ &.css-blur {
filter: blur(var(--blurPx));
}
- &:nth-child(2) {
+ &.svg-blur {
filter: url('#sharpBlur');
}
}
diff --git a/components/slides/helmholz.vue b/components/slides/helmholz.vue
index ea9ee36..7e416f7 100644
--- a/components/slides/helmholz.vue
+++ b/components/slides/helmholz.vue
@@ -4,6 +4,7 @@
class="eg-slide"
>
+
Piter
diff --git a/pages/piter.vue b/pages/talks/piter.vue
similarity index 63%
rename from pages/piter.vue
rename to pages/talks/piter.vue
index eebb26f..39578f5 100644
--- a/pages/piter.vue
+++ b/pages/talks/piter.vue
@@ -4,83 +4,87 @@
'has-corgi': corgi,
'has-wow': wow,
'has-football': football,
+ 'is-live': $store.state.presentation.isLive
}"
class="c-presentation eg-slideshow"
>
Easing Gradients, the Squircle of Colors
- Andreas Larsen
@larsenwork
piter.larsen.work
+ Andreas Larsen
@larsenwork
-
-
- Easing Gradients, the Squircle of Colors
- Andreas Larsen
@larsenwork
piter.larsen.work
+
+
piter.larsen.work
Hello World
-
-
+
Blame typography
Also, people will notice!
-
-
+
+
+
So why use gradients?
+
We want our users to say wow...
+
+
👎
“Wow, that gradient on top of the picture is colorful”
-
+
👍
“Wow, that is a nice and colorful picture”
-
+
👎
“Wow, that gradient really helps me read the text above the picture.”
-
-
+
+
+
+
🗣
- Our ideas are worthless if we dont share them.
+ Our ideas are worthless if we dont share them.
+ Also, I am a n00b so if I can do it anybody can
-
-
+
+
{{ myCSS }}
@@ -118,24 +129,27 @@
{{ meyerCSS }}
- {{ futureCSS }}
- {{ futureCSS1 }}
- {{ futureCSS2 }}
+ {{ futureCSS }}
+ {{ futureCSS1 }}
+ {{ futureCSS2 }}
+
+
+ larsenwork.com/easing-gradients
RGB and LRGB
All about the gamma correction
-
+
-
+
-
+
Helmholtz–Kohlrausch
Even when they have the same luminance, colored lights seem brighter than white light does.
@@ -147,43 +161,31 @@
Demo / Code
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
-
+
The End
@larsenwork
@@ -195,6 +197,8 @@ import eagle from 'eagle.js'
import slideshowMethods from '~/components/mixins/slideshow'
import prism from '~/components/prism'
import gradientOutput from '~/components/tools/gradient/calculations/gradient-output'
+import images from '~/components/piter/images'
+
import {
linearToEasing,
colorSpacesDemo,
@@ -221,12 +225,10 @@ export default {
return {
corgi: false,
wow: false,
- js: `// larsenwork.com
-const test = false
-this is a very long line which we normally shouldn't be using`,
- // preloadedImages: {
- // ...images,
- // },
+ football: false,
+ preloadedImages: {
+ ...images,
+ },
}
},
computed: {
@@ -283,25 +285,39 @@ this is a very long line which we normally shouldn't be using`,
},
},
watch: {
+ step: function() {
+ const wowSlides = ['wow']
+ this.wow =
+ wowSlides.includes(this.currentSlide.$attrs.id) && this.step >= 2
+ },
currentSlide: function() {
if (this.currentSlide.$attrs.id) {
this.updateSlideId(this.currentSlide.$attrs.id)
- const corgiSlides = ['intro', 'mistakes', 'lab']
+ const corgiSlides = ['intro', 'mistakes', 'lab', 'helloWorld']
this.corgi = corgiSlides.includes(this.currentSlide.$attrs.id)
- const wowSlides = ['wow']
- this.wow = wowSlides.includes(this.currentSlide.$attrs.id)
- const footballSlides = ['football']
+ const footballSlides = ['football', 'finito']
this.football = footballSlides.includes(this.currentSlide.$attrs.id)
- } else {
- this.corgi = false
- this.wow = false
- this.football = false
}
},
+ currentSlideIndex: function(index) {
+ this.updateUrlQuery(index)
+ },
},
mounted: function() {
+ this.currentSlideIndex = this.$route.query.slide
+ ? this.$route.query.slide
+ : 2
+ this.currentSlide = this.slides[this.currentSlideIndex - 1]
this.$store.state.presentation.isLive = true
},
+ destroyed: function() {
+ this.$store.state.presentation.isLive = false
+ },
+ methods: {
+ updateUrlQuery(index) {
+ this.$router.push({ name: 'talks-piter', query: { slide: index } })
+ },
+ },
}
@@ -321,11 +337,6 @@ this is a very long line which we normally shouldn't be using`,
}
:root {
- --font-family: 'piter', sans-serif;
- --font-family-mono: 'piter-mono', monospace;
- --fontSize-html: 4vw;
- --fontSize-h1: 2.2rem;
- --lineHeight-body: 1.3rem;
--defaultGradient: linear-gradient(
to bottom right,
hsl(210, 100%, 45%),
@@ -337,7 +348,10 @@ this is a very long line which we normally shouldn't be using`,
.c-presentation {
height: 100vh;
width: 100vw;
- padding: var(--spacer-xsmall);
+ padding: var(--spacer-medium);
+ opacity: 0;
+ will-change: opacity;
+ transition: var(--transition);
background-image: linear-gradient(
to bottom right,
hsla(210, 10%, 16%, 1),
@@ -345,13 +359,33 @@ this is a very long line which we normally shouldn't be using`,
hsla(210, 10%, 4%, 1)
);
+ & * {
+ font-family: 'piter', sans-serif;
+ font-size: 4vw;
+ line-height: 1;
+ }
+
+ & small {
+ font-size: 80%;
+ }
+
+ & pre,
+ & code {
+ font-family: 'piter-mono', monospace;
+ }
+
& h1 {
font-family: 'Gidole', sans-serif;
+ font-size: 8.8vw;
line-height: 1.2;
letter-spacing: -0.02em;
margin-left: -0.06em;
}
+ &.is-live {
+ opacity: 1;
+ }
+
&.has-corgi {
background-image: var(--defaultGradient),
linear-gradient(
@@ -359,7 +393,7 @@ this is a very long line which we normally shouldn't be using`,
hsla(210, 100%, 45%, 0.5),
hsla(330, 100%, 45%, 0.5)
),
- url('/images/piter/corgi-big.png');
+ url('https://i.imgur.com/q0tMNDP.gif');
background-blend-mode: multiply, normal;
background-size: cover;
}
@@ -371,7 +405,7 @@ this is a very long line which we normally shouldn't be using`,
hsla(210, 100%, 45%, 0.5),
hsla(330, 100%, 45%, 0.5)
),
- url('/images/piter/wow.png');
+ url('https://imgur.com/wFKEUJ2.gif');
background-blend-mode: multiply, normal;
background-size: cover;
}
@@ -383,7 +417,7 @@ this is a very long line which we normally shouldn't be using`,
hsla(210, 100%, 45%, 0.5),
hsla(330, 100%, 45%, 0.5)
),
- url('/images/piter/hummel.jpg');
+ url('https://imgur.com/hEP4l2G.jpg');
background-blend-mode: multiply, normal;
background-size: cover;
background-position: bottom center;
@@ -399,7 +433,7 @@ this is a very long line which we normally shouldn't be using`,
animation-iteration-count: 1;
animation-fill-mode: both;
animation-duration: 4s;
- animation-delay: 1s;
+ animation-delay: 0.1s;
animation-name: corgi;
}
@@ -423,6 +457,15 @@ this is a very long line which we normally shouldn't be using`,
& .twitter {
object-position: top center;
}
+
+ & .small-label {
+ padding-top: var(--spacer-xsmall);
+ padding-left: var(--spacer-small);
+
+ & a {
+ color: var(--color-brand);
+ }
+ }
}
@keyframes corgi {
0%,