-
Notifications
You must be signed in to change notification settings - Fork 19
/
index.html
7 lines (7 loc) · 14.6 KB
/
index.html
1
2
3
4
5
6
7
<!DOCTYPE html><html domain="github.io" lang="en"><head><meta charset="utf-8"><meta content="width=device-width,initial-scale=1" name="viewport"><meta content="default-src 'self' ; object-src 'none' ; style-src 'unsafe-inline' ; img-src 'self' ; connect-src 'self' https://cloudflareinsights.com ; script-src 'self' 'sha256-Ky9qZOPnMhQV/s7Fdb9TYAOfU4KtWNqCZaFK8tSzXa0=' 'sha256-ktarjbJmNtF8IylbwgjSQoKrcQSdXJkqf60bj4nusHA=' https://static.cloudflareinsights.com" http-equiv="Content-Security-Policy"><link href="/img/favicon/favicon-32x32.png?hash=d763fc1b07" rel="icon" sizes="32x32" type="image/png"><link href="/img/favicon/favicon-16x16.png?hash=ee8f8c9160" rel="icon" sizes="16x16" type="image/png"><link href="/img/favicon/favicon-192x192.png?hash=98293e6f87" rel="icon" sizes="192x192" type="image/png"><link href="/img/favicon/favicon-192x192.png?hash=98293e6f87" rel="icon" sizes="512x512" type="image/png"><link href="/img/favicon/apple-touch-icon.png?hash=624ca04e47" rel="apple-touch-icon" sizes="180x180"><meta content="#FFFFFF" name="theme-color"><meta content="max-snippet:-1, max-image-preview: large, max-video-preview: -1" name="robots"><title>Björn Ottosson</title><meta content="Björn Ottosson" property="og:title"><meta content="Björn Ottosson's blog." name="description"><meta content="Björn Ottosson's blog." property="og:description"><meta content="@bjornornorn" name="twitter:site"><meta content="@bjornornorn" name="twitter:creator"><link href="https://bottosson.github.io/" rel="canonical"><meta content="no-referrer-when-downgrade" name="referrer"><link href="/feed/feed.xml" rel="alternate" type="application/atom+xml" title="Björn Ottosson"><link href="/" rel="preconnect" crossorigin=""><script defer="" src="/js/min.js?hash=b945678541" async=""></script><script defer="" src="https://static.cloudflareinsights.com/beacon.min.js" data-cf-beacon="{"token": "337ad83ce1ba4683a5142d6291735976"}"></script><script csp-hash="sha256-Ky9qZOPnMhQV/s7Fdb9TYAOfU4KtWNqCZaFK8tSzXa0=">if (/Mac OS X/.test(navigator.userAgent))document.documentElement.classList.add('apple')</script><style>.content img{display:block;margin-left:auto;margin-right:auto}main img{content-visibility:auto}header nav{z-index:1}:root{--main-width: calc(100vw - 3em)}@media (min-width:37.5em){:root{--main-width: calc(37.5em - 3em)}}#posts li{margin-bottom:.5em}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{-webkit-text-size-adjust:100%}body,button{margin:0}main{display:block}a{background-color:transparent}img{border-style:none}button,html{line-height:1.15}button{font-family:inherit;font-size:100%;overflow:visible;text-transform:none}[type=button],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}
/*! bulma.io v0.9.1 | MIT License | github.com/jgthms/bulma */
@-webkit-keyframes spinAround{to{transform:rotate(359deg)}}@keyframes spinAround{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.button{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-moz-appearance:none;-webkit-appearance:none;align-items:center;border:1px solid transparent;border-radius:4px;box-shadow:none;display:inline-flex;font-size:1rem;height:2.5em;justify-content:flex-start;line-height:1.5;padding:calc(.5em - 1px) calc(.75em - 1px);position:relative;vertical-align:top}.content:not(:last-child),.title:not(:last-child){margin-bottom:1.5rem}.button:active,.button:focus,.is-active.button{outline:0}
/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */
@-webkit-keyframes moveIndeterminate{to{background-position:-200% 0}}@keyframes moveIndeterminate{0%{background-position:200% 0}to{background-position:-200% 0}}body,h4,html,li,p,ul{margin:0;padding:0}h4{font-size:100%;font-weight:400}ul{list-style:none}button{margin:0}html{box-sizing:border-box;background-color:#fff;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:hidden;overflow-y:scroll;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}*,::after,::before{box-sizing:inherit}img{height:auto;max-width:100%}article,header,section{display:block}body,button{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue","Helvetica","Arial",sans-serif}body{color:#4a4a4a;font-size:1em;font-weight:400;line-height:1.5}a{color:#3273dc;text-decoration:none}.button,a:hover{color:#363636}span{font-style:inherit;font-weight:inherit}.button,a{cursor:pointer}.button{background-color:#fff;border-color:#dbdbdb;border-width:1px;justify-content:center;padding-bottom:calc(.5em - 1px);padding-left:1em;padding-right:1em;padding-top:calc(.5em - 1px);text-align:center;white-space:nowrap}.button .icon,.button .icon.is-medium,.button .icon.is-small{height:1.5em;width:1.5em}.button .icon:first-child:not(:last-child){margin-left:calc(-.5em - 1px);margin-right:.25em}.button .icon:last-child:not(:first-child){margin-left:.25em;margin-right:calc(-.5em - 1px)}.button .icon:first-child:last-child{margin-left:calc(-.5em - 1px);margin-right:calc(-.5em - 1px)}.button:hover{border-color:#b5b5b5;color:#363636}.button:focus{border-color:#3273dc;color:#363636}.button:focus:not(:active){box-shadow:0 0 0 .125em rgba(50,115,220,.25)}.button.is-active,.button:active{border-color:#4a4a4a;color:#363636}.button.is-white,.button.is-white:hover{background-color:#fff;border-color:transparent;color:#0a0a0a}.button.is-white:hover{background-color:#f9f9f9}.button.is-white:focus{border-color:transparent;color:#0a0a0a}.button.is-white:focus:not(:active){box-shadow:0 0 0 .125em rgba(255,255,255,.25)}.button.is-white.is-active,.button.is-white:active{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.button.is-small{border-radius:2px;font-size:.75rem}.button.is-medium{font-size:1.25rem}.buttons{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.buttons .button{margin-bottom:.5rem}.buttons .button:not(:last-child):not(.is-fullwidth){margin-right:.5rem}.buttons:last-child{margin-bottom:-.5rem}.buttons:not(:last-child){margin-bottom:1rem}.container{flex-grow:1;margin:0 auto;position:relative;width:auto}@media screen and (min-width:1024px){.container{max-width:960px}}@media screen and (min-width:1216px){.container:not(.is-max-desktop){max-width:1152px}}@media screen and (min-width:1408px){.container:not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}.content li+li{margin-top:.25em}.content p:not(:last-child),.content ul:not(:last-child){margin-bottom:1em}.content h4{color:#363636;font-weight:600;line-height:1.125;font-size:1.25em;margin-bottom:.8em}.content ul{list-style:disc outside;margin-left:2em;margin-top:1em}.content ul ul{list-style-type:circle;margin-top:.5em}.content ul ul ul{list-style-type:square}.content.is-small{font-size:.75rem}.content.is-medium{font-size:1.25rem}.icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}.icon.is-small{height:1rem;width:1rem}.icon.is-medium{height:2rem;width:2rem}.image{display:block;position:relative}.image img{display:block;height:auto;width:100%}.title{word-break:break-word;color:#363636;font-size:2rem;font-weight:600;line-height:1.125}.title span{font-weight:inherit}.navbar{background-color:#fff;min-height:3.25rem;position:relative;z-index:30}.navbar.is-white{background-color:#fff;color:#0a0a0a}.navbar.is-white .navbar-brand>.navbar-item,.navbar.is-white .navbar-burger{color:#0a0a0a}.navbar.is-white .navbar-brand>a.navbar-item.is-active,.navbar.is-white .navbar-brand>a.navbar-item:focus,.navbar.is-white .navbar-brand>a.navbar-item:hover{background-color:#f2f2f2;color:#0a0a0a}@media screen and (min-width:1024px){.navbar.is-white .navbar-end>.navbar-item{color:#0a0a0a}.navbar.is-white .navbar-end>a.navbar-item.is-active,.navbar.is-white .navbar-end>a.navbar-item:focus,.navbar.is-white .navbar-end>a.navbar-item:hover{background-color:#f2f2f2;color:#0a0a0a}}.navbar-brand,.navbar>.container{align-items:stretch;display:flex;min-height:3.25rem}.navbar>.container{width:100%}.navbar.has-shadow{box-shadow:0 2px 0 0 #f5f5f5}.navbar.is-fixed-top{left:0;position:fixed;right:0;z-index:30;top:0}body.has-navbar-fixed-top,html.has-navbar-fixed-top{padding-top:3.25rem}.navbar-brand{flex-shrink:0}.navbar-brand a.navbar-item:focus,.navbar-brand a.navbar-item:hover{background-color:transparent}.navbar-burger{color:#4a4a4a;cursor:pointer;display:block;height:3.25rem;position:relative;width:3.25rem;margin-left:auto}.navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;transform-origin:center;transition-duration:86ms;transition-property:background-color,opacity,transform;transition-timing-function:ease-out;width:16px}.navbar-burger span:nth-child(1){top:calc(50% - 6px)}.navbar-burger span:nth-child(2){top:calc(50% - 1px)}.navbar-burger span:nth-child(3){top:calc(50% + 4px)}.navbar-burger:hover{background-color:rgba(0,0,0,.05)}.navbar-burger.is-active span:nth-child(1){transform:translateY(5px) rotate(45deg)}.navbar-burger.is-active span:nth-child(2){opacity:0}.navbar-burger.is-active span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.navbar-menu{display:none}.navbar-item{color:#4a4a4a;display:block;line-height:1.5;padding:.5rem .75rem;position:relative;flex-grow:0;flex-shrink:0}.navbar-item .icon:only-child{margin-left:-.25rem;margin-right:-.25rem}a.navbar-item{cursor:pointer}a.navbar-item.is-active,a.navbar-item:focus,a.navbar-item:focus-within,a.navbar-item:hover{background-color:#fafafa;color:#3273dc}.navbar-item img{max-height:1.75rem}.navbar-item.is-tab{border-bottom:1px solid transparent;min-height:3.25rem;padding-bottom:calc(.5rem - 1px)}.navbar-item.is-tab:focus,.navbar-item.is-tab:hover{background-color:transparent;border-bottom-color:#3273dc}.navbar-item.is-tab.is-active{background-color:transparent;border-bottom-color:#3273dc;border-bottom-style:solid;border-bottom-width:3px;color:#3273dc;padding-bottom:calc(.5rem - 3px)}@media screen and (max-width:1023px){.navbar>.container{display:block}.navbar-brand .navbar-item{align-items:center;display:flex}.navbar-menu{background-color:#fff;box-shadow:0 8px 16px rgba(10,10,10,.1);padding:.5rem 0}.navbar-menu.is-active{display:block}.navbar.is-fixed-top .navbar-menu{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 3.25rem);overflow:auto}}@media screen and (min-width:1024px){.navbar,.navbar-end,.navbar-menu{align-items:stretch;display:flex}.navbar{min-height:3.25rem}.navbar-burger{display:none}.navbar-item{align-items:center;display:flex}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-end{justify-content:flex-end;margin-left:auto}.container>.navbar .navbar-brand,.navbar>.container .navbar-brand{margin-left:-.75rem}.container>.navbar .navbar-menu,.navbar>.container .navbar-menu{margin-right:-.75rem}a.navbar-item.is-active{color:#0a0a0a}a.navbar-item.is-active:not(:focus):not(:hover){background-color:transparent}}.is-size-3{font-size:2rem!important}.is-size-5{font-size:1.25rem!important}.has-text-weight-semibold{font-weight:600!important}.section{padding:3rem 1.5rem}@media screen and (min-width:1024px){.section.is-medium{padding:9rem 1.5rem}}.token.doctype{color:#93a1a1}.token.property{color:#905}.token.inserted{color:#690}</style></head><body class="has-navbar-fixed-top"><header class="container is-max-desktop"><nav class="has-shadow is-fixed-top navbar"><div class="container"><div class="navbar-brand"><a href="/" class="navbar-item has-text-weight-semibold is-size-3">Björn Ottosson </a><a class="navbar-burger" data-target="navMenu" role="button"><span></span> <span></span> <span></span></a></div><div class="navbar-menu" id="navMenu"><div class="is-active navbar-end"><a href="/" class="navbar-item has-text-weight-semibold is-size-5 is-tab is-active">Blog </a><a href="/about/" class="navbar-item has-text-weight-semibold is-size-5 is-tab">About</a><div class="navbar-item"><div class="buttons"><a href="https://twitter.com/bjornornorn" class="button is-small is-white" rel="noopener" target="_blank"><span class="icon"><svg height="24" role="img" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><title>Twitter icon</title><path d="M23.954 4.569c-.885.389-1.83.654-2.825.775 1.014-.611 1.794-1.574 2.163-2.723-.951.555-2.005.959-3.127 1.184-.896-.959-2.173-1.559-3.591-1.559-2.717 0-4.92 2.203-4.92 4.917 0 .39.045.765.127 1.124C7.691 8.094 4.066 6.13 1.64 3.161c-.427.722-.666 1.561-.666 2.475 0 1.71.87 3.213 2.188 4.096-.807-.026-1.566-.248-2.228-.616v.061c0 2.385 1.693 4.374 3.946 4.827-.413.111-.849.171-1.296.171-.314 0-.615-.03-.916-.086.631 1.953 2.445 3.377 4.604 3.417-1.68 1.319-3.809 2.105-6.102 2.105-.39 0-.779-.023-1.17-.067 2.189 1.394 4.768 2.209 7.557 2.209 9.054 0 13.999-7.496 13.999-13.986 0-.209 0-.42-.015-.63.961-.689 1.8-1.56 2.46-2.548l-.047-.02z" style="fill:hsl(0, 0%, 29%)"></path></svg> </span></a><a href="https://www.linkedin.com/in/bjorn-ottosson" class="button is-small is-white" rel="noopener" target="_blank"><span class="icon"><svg height="24" role="img" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><title>LinkedIn icon</title><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" style="fill:hsl(0, 0%, 29%)"></path></svg></span></a></div></div></div></div></div></nav></header><main class="container is-max-desktop"><article class="section"><div class="content is-medium"><h4>Welcome to my blog!</h4><p>Here I post about things like computer graphics and audio, game development, programming and other creative endeavors.</p><div id="posts"><h4>Posts</h4><ul><li><a href="/posts/colorpicker/">Two new color spaces for color picking - Okhsv and Okhsl</a> – <time datetime="2021-09-08">08 Sep 2021</time></li><li><a href="/posts/gamutclipping/">sRGB gamut clipping</a> – <time datetime="2021-01-25">25 Jan 2021</time></li><li><a href="/posts/oklab/">A perceptual color space for image processing</a> – <time datetime="2020-12-23">23 Dec 2020</time></li><li><a href="/posts/colorwrong/">How software gets color wrong</a> – <time datetime="2020-12-03">03 Dec 2020</time></li></ul></div></div></article></main></body></html>