-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
105 lines (105 loc) · 24.8 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style id="typography.js">html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}[hidden],template{display:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,optgroup,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}html{font:112.5%/1.66 'Open Sans',sans-serif;box-sizing:border-box;overflow-y:scroll;}*{box-sizing:inherit;}*:before{box-sizing:inherit;}*:after{box-sizing:inherit;}body{color:hsla(0,0%,0%,0.8);font-family:'Open Sans',sans-serif;font-weight:normal;word-wrap:break-word;font-kerning:normal;-moz-font-feature-settings:"kern", "liga", "clig", "calt";-ms-font-feature-settings:"kern", "liga", "clig", "calt";-webkit-font-feature-settings:"kern", "liga", "clig", "calt";font-feature-settings:"kern", "liga", "clig", "calt";}img{max-width:100%;margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;}h1{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;color:inherit;font-family:'Bitter',sans-serif;font-weight:700;text-rendering:optimizeLegibility;font-size:3.157rem;line-height:1.1;}h2{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;color:inherit;font-family:'Bitter',sans-serif;font-weight:700;text-rendering:optimizeLegibility;font-size:1.99326rem;line-height:1.1;}h3{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;color:inherit;font-family:'Bitter',sans-serif;font-weight:700;text-rendering:optimizeLegibility;font-size:1.58383rem;line-height:1.1;}h4{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;color:inherit;font-family:'Bitter',sans-serif;font-weight:700;text-rendering:optimizeLegibility;font-size:1rem;line-height:1.1;}h5{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;color:inherit;font-family:'Bitter',sans-serif;font-weight:700;text-rendering:optimizeLegibility;font-size:0.79459rem;line-height:1.1;}h6{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;color:inherit;font-family:'Bitter',sans-serif;font-weight:700;text-rendering:optimizeLegibility;font-size:0.7083rem;line-height:1.1;}hgroup{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;}ul{margin-left:1.66rem;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;list-style-position:outside;list-style-image:none;}ol{margin-left:1.66rem;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;list-style-position:outside;list-style-image:none;}dl{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;}dd{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;}p{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;}figure{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;}pre{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;font-size:0.85rem;line-height:1.66rem;}table{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;font-size:1rem;line-height:1.66rem;border-collapse:collapse;width:100%;}fieldset{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;}blockquote{margin-left:1.66rem;margin-right:1.66rem;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;}form{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;}noscript{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;}iframe{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;}hr{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:calc(1.66rem - 1px);background:hsla(0,0%,0%,0.2);border:none;height:1px;}address{margin-left:0;margin-right:0;margin-top:0;padding-bottom:0;padding-left:0;padding-right:0;padding-top:0;margin-bottom:1.66rem;}b{font-weight:bold;}strong{font-weight:bold;}dt{font-weight:bold;}th{font-weight:bold;}li{margin-bottom:calc(1.66rem / 2);}ol li{padding-left:0;}ul li{padding-left:0;}li > ol{margin-left:1.66rem;margin-bottom:calc(1.66rem / 2);margin-top:calc(1.66rem / 2);}li > ul{margin-left:1.66rem;margin-bottom:calc(1.66rem / 2);margin-top:calc(1.66rem / 2);}blockquote *:last-child{margin-bottom:0;}li *:last-child{margin-bottom:0;}p *:last-child{margin-bottom:0;}li > p{margin-bottom:calc(1.66rem / 2);}code{font-size:0.85rem;line-height:1.66rem;}kbd{font-size:0.85rem;line-height:1.66rem;}samp{font-size:0.85rem;line-height:1.66rem;}abbr{border-bottom:1px dotted hsla(0,0%,0%,0.5);cursor:help;}acronym{border-bottom:1px dotted hsla(0,0%,0%,0.5);cursor:help;}abbr[title]{border-bottom:1px dotted hsla(0,0%,0%,0.5);cursor:help;text-decoration:none;}thead{text-align:left;}td,th{text-align:left;border-bottom:1px solid hsla(0,0%,0%,0.12);font-feature-settings:"tnum";-moz-font-feature-settings:"tnum";-ms-font-feature-settings:"tnum";-webkit-font-feature-settings:"tnum";padding-left:1.10667rem;padding-right:1.10667rem;padding-top:0.83rem;padding-bottom:calc(0.83rem - 1px);}th:first-child,td:first-child{padding-left:0;}th:last-child,td:last-child{padding-right:0;}</style><style data-href="/styles.e660b96e2cea52b3628e.css">code[class*=language-],pre[class*=language-]{color:#f8f8f2;background:none;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#272822}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal;background:hsla(0,0%,80%,.44);color:rgba(0,0,0,.7);vertical-align:2px}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#f8f8f2}.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#f92672}.token.boolean,.token.number{color:#ae81ff}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#a6e22e}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:#e6db74}.token.keyword{color:#66d9ef}.token.important,.token.regex{color:#fd971f}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.gatsby-highlight{margin-bottom:1.66rem}kbd{display:inline-block;margin:0 .1em;padding:.1em .6em;font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:11px;line-height:1.4;color:#242729;text-shadow:0 1px 0 #fff;background-color:#e4e6e8;border:1px solid #9fa6ad;border-radius:3px;-webkit-box-shadow:0 1px 1px rgba(12,13,14,.15),inset 0 1px 0 0 #fff;box-shadow:0 1px 1px rgba(12,13,14,.15),inset 0 1px 0 0 #fff;vertical-align:text-bottom}.nowrap,kbd{white-space:nowrap}</style><meta name="generator" content="Gatsby 2.20.18"/><title data-react-helmet="true">Homepage | Tobbe Lundberg's place on teh Intarwebs</title><style data-styled="" data-styled-version="5.1.0">.gYVJdc{font-size:0.9rem;color:#fff;opacity:0.75;}/*!sc*/
data-styled.g1[id="Subline-sc-1don4fe-0"]{content:"gYVJdc,"}/*!sc*/
.bmDyTg{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin-top:3.5rem;margin-bottom:3.5rem;}/*!sc*/
data-styled.g2[id="Article__Post-r54n8f-0"]{content:"bmDyTg,"}/*!sc*/
.efmEFN{position:relative;text-shadow:0 1.2rem 3rem rgba(0,0,0,0.15);margin-bottom:0.75rem;}/*!sc*/
data-styled.g3[id="Article__Title-r54n8f-1"]{content:"efmEFN,"}/*!sc*/
.bTfkwt{position:absolute;font-size:7rem;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);opacity:0.08;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:-1;}/*!sc*/
data-styled.g4[id="Article__Initiale-r54n8f-2"]{content:"bTfkwt,"}/*!sc*/
.cNiGpW{grid-column:-1 / 1;margin-top:1rem;margin-bottom:1rem;}/*!sc*/
data-styled.g5[id="Article__Excerpt-r54n8f-3"]{content:"cNiGpW,"}/*!sc*/
.YmEgP{background:#542C85;border:none;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 0.5rem;border-radius:1.5rem;font-size:1.2rem;color:white;padding:0.35rem 1.6rem;-webkit-transition:all 0.5s;transition:all 0.5s;box-shadow:0 4px 6px rgba(50,50,93,0.11),0 1px 3px rgba(0,0,0,0.08);}/*!sc*/
.YmEgP:hover{background:#0b0612;cursor:pointer;-webkit-transform:translateY(-2px);-ms-transform:translateY(-2px);transform:translateY(-2px);}/*!sc*/
.YmEgP:focus{outline:none;}/*!sc*/
.YmEgP svg{width:20px;height:20px;margin-right:0.75rem;fill:white;}/*!sc*/
data-styled.g6[id="Button-fho9be-0"]{content:"YmEgP,"}/*!sc*/
.dEeYFS{text-align:center;padding:3rem 0;}/*!sc*/
.dEeYFS span{font-size:0.75rem;}/*!sc*/
data-styled.g9[id="Footer__FooterWrapper-sc-1hjn860-0"]{content:"dEeYFS,"}/*!sc*/
.cXJdcy{background:none;border:0;padding:1rem;right:0;position:fixed;z-index:999;cursor:pointer;}/*!sc*/
.cXJdcy:focus{border:0;outline:none;}/*!sc*/
data-styled.g10[id="Layout__ModeButton-sc-1x5ezfr-0"]{content:"cXJdcy,"}/*!sc*/
.hOoipl{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:0 auto;max-width:100%;padding:0;}/*!sc*/
@media (max-width:1200px){.hOoipl{padding:0;}}/*!sc*/
@media (max-width:600px){.hOoipl{padding:0;}}/*!sc*/
data-styled.g15[id="Wrapper-eqkv0y-0"]{content:"hOoipl,"}/*!sc*/
.cnxHPP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100vh;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;}/*!sc*/
@media (max-width:1200px){.cnxHPP{height:100%;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
@media (max-width:600px){.cnxHPP{height:100%;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}}/*!sc*/
data-styled.g21[id="pages__Homepage-sc-171qo0-0"]{content:"cnxHPP,"}/*!sc*/
.kAxEYj{-webkit-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:linear-gradient( -185deg, rgba(60,31,95,0.7), rgba(26,26,26,0.9)),url(/assets/bg.png) no-repeat;background-size:cover;padding:2rem 4rem;color:#fff;}/*!sc*/
.kAxEYj h1{color:#fff;}/*!sc*/
@media (max-width:1200px){.kAxEYj{padding:3rem 3rem;}}/*!sc*/
@media (max-width:600px){.kAxEYj{padding:2rem 1.5rem;}}/*!sc*/
.fvIKAT{-webkit-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-size:cover;padding:2rem 4rem;}/*!sc*/
@media (max-width:1200px){.fvIKAT{padding:3rem 3rem;}}/*!sc*/
@media (max-width:600px){.fvIKAT{padding:2rem 1.5rem;}}/*!sc*/
data-styled.g22[id="pages__GridRow-sc-171qo0-1"]{content:"kAxEYj,fvIKAT,"}/*!sc*/
.dRkEJa{max-width:30rem;text-align:center;}/*!sc*/
.gRIzem{max-width:30rem;text-align:left;}/*!sc*/
data-styled.g23[id="pages__HomepageContent-sc-171qo0-2"]{content:"dRkEJa,gRIzem,"}/*!sc*/
::selection{color:#fff;background:#542C85;}/*!sc*/
body{background:#fff;color:rgba(0,0,0,0.7);}/*!sc*/
@media (max-width:600px){body{font-size:1.4rem;}}/*!sc*/
a{color:rgba(0,0,0,0.9);-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all 0.5s;transition:all 0.5s;}/*!sc*/
a:hover{color:#542C85;}/*!sc*/
p a,footer a{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/
h1,h2,h3,h4{color:rgba(0,0,0,0.9);}/*!sc*/
blockquote{font-style:italic;position:relative;}/*!sc*/
blockquote:before{content:"";position:absolute;background:#542C85;height:100%;width:0.6rem;margin-left:-1.6rem;}/*!sc*/
label{margin-bottom:.5rem;color:rgba(0,0,0,0.9);}/*!sc*/
input,textarea{border-radius:.5rem;border:none;background:rgba(0,0,0,0.05);padding:.25rem 1rem;}/*!sc*/
input:focus,textarea:focus{outline:none;}/*!sc*/
.textRight{text-align:right;}/*!sc*/
data-styled.g24[id="sc-global-iGVxd1"]{content:"sc-global-iGVxd1,"}/*!sc*/
</style><link rel="manifest" href="/manifest.webmanifest"/><link rel="apple-touch-icon" sizes="48x48" href="/icons/icon-48x48.png"/><link rel="apple-touch-icon" sizes="72x72" href="/icons/icon-72x72.png"/><link rel="apple-touch-icon" sizes="96x96" href="/icons/icon-96x96.png"/><link rel="apple-touch-icon" sizes="144x144" href="/icons/icon-144x144.png"/><link rel="apple-touch-icon" sizes="192x192" href="/icons/icon-192x192.png"/><link rel="apple-touch-icon" sizes="256x256" href="/icons/icon-256x256.png"/><link rel="apple-touch-icon" sizes="384x384" href="/icons/icon-384x384.png"/><link rel="apple-touch-icon" sizes="512x512" href="/icons/icon-512x512.png"/><link rel="sitemap" type="application/xml" href="/sitemap.xml"/><script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl+'';f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer', 'GTM-XXXXXXX');</script><style type="text/css">
.anchor.before {
position: absolute;
top: 0;
left: 0;
transform: translateX(-100%);
padding-right: 4px;
}
.anchor.after {
display: inline-block;
padding-left: 4px;
}
h1 .anchor svg,
h2 .anchor svg,
h3 .anchor svg,
h4 .anchor svg,
h5 .anchor svg,
h6 .anchor svg {
visibility: hidden;
}
h1:hover .anchor svg,
h2:hover .anchor svg,
h3:hover .anchor svg,
h4:hover .anchor svg,
h5:hover .anchor svg,
h6:hover .anchor svg,
h1 .anchor:focus svg,
h2 .anchor:focus svg,
h3 .anchor:focus svg,
h4 .anchor:focus svg,
h5 .anchor:focus svg,
h6 .anchor:focus svg {
visibility: visible;
}
</style><script>
document.addEventListener("DOMContentLoaded", function(event) {
var hash = window.decodeURI(location.hash.replace('#', ''))
if (hash !== '') {
var element = document.getElementById(hash)
if (element) {
var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
var clientTop = document.documentElement.clientTop || document.body.clientTop || 0
var offset = element.getBoundingClientRect().top + scrollTop - clientTop
// Wait for the browser to finish rendering before scrolling.
setTimeout((function() {
window.scrollTo(0, offset - 0)
}), 0)
}
}
})
</script><link href="//fonts.googleapis.com/css?family=Bitter:700|Open+Sans:400" rel="stylesheet" type="text/css"/><link rel="icon" href="/icons/icon-48x48.png?v=b346a9f0841bf4b6a6c6167e2ce2fad2"/><link rel="manifest" href="/manifest.webmanifest"/><meta name="theme-color" content="#3498DB"/><link rel="apple-touch-icon" sizes="48x48" href="/icons/icon-48x48.png?v=b346a9f0841bf4b6a6c6167e2ce2fad2"/><link rel="apple-touch-icon" sizes="72x72" href="/icons/icon-72x72.png?v=b346a9f0841bf4b6a6c6167e2ce2fad2"/><link rel="apple-touch-icon" sizes="96x96" href="/icons/icon-96x96.png?v=b346a9f0841bf4b6a6c6167e2ce2fad2"/><link rel="apple-touch-icon" sizes="144x144" href="/icons/icon-144x144.png?v=b346a9f0841bf4b6a6c6167e2ce2fad2"/><link rel="apple-touch-icon" sizes="192x192" href="/icons/icon-192x192.png?v=b346a9f0841bf4b6a6c6167e2ce2fad2"/><link rel="apple-touch-icon" sizes="256x256" href="/icons/icon-256x256.png?v=b346a9f0841bf4b6a6c6167e2ce2fad2"/><link rel="apple-touch-icon" sizes="384x384" href="/icons/icon-384x384.png?v=b346a9f0841bf4b6a6c6167e2ce2fad2"/><link rel="apple-touch-icon" sizes="512x512" href="/icons/icon-512x512.png?v=b346a9f0841bf4b6a6c6167e2ce2fad2"/><link as="script" rel="preload" href="/webpack-runtime-b0f0ec0f26c4da31e256.js"/><link as="script" rel="preload" href="/framework-f09f45822e9ba8fc378b.js"/><link as="script" rel="preload" href="/app-dbdccb823b821ee685b4.js"/><link as="script" rel="preload" href="/styles-b729c27faa6284e9ff45.js"/><link as="script" rel="preload" href="/e5b5f1e7ef2cda7d6d96e82e5312dc59943f278b-5af7b8bcc454bdb8e11c.js"/><link as="script" rel="preload" href="/component---src-pages-index-tsx-2402265ce760886a6dd2.js"/><link as="fetch" rel="preload" href="/page-data/index/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/app-data.json" crossorigin="anonymous"/></head><body><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXXX" height="0" width="0" style="display: none; visibility: hidden"></iframe></noscript><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><button class="Layout__ModeButton-sc-1x5ezfr-0 cXJdcy"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000" stroke="#000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg></button><div class="Wrapper-eqkv0y-0 hOoipl"><main class="pages__Homepage-sc-171qo0-0 cnxHPP"><div class="pages__GridRow-sc-171qo0-1 kAxEYj"><div class="pages__HomepageContent-sc-171qo0-2 dRkEJa"><img src="/assets/logo.png" alt="Tobbe Lundberg's place on teh Intarwebs"/><h1>Hi. I am <br/>Tobbe Lundberg</h1><p>I write about RedwoodJS, Gatsby, JavaScript, React, and other things that interest me</p><a href="/contact"><button class="Button-fho9be-0 YmEgP"><svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1764 11q33 24 27 64l-256 1536q-5 29-32 45-14 8-31 8-11 0-24-5l-453-185-242 295q-18 23-49 23-13 0-22-4-19-7-30.5-23.5t-11.5-36.5v-349l864-1059-1069 925-395-162q-37-14-40-55-2-40 32-59l1664-960q15-9 32-9 20 0 36 11z"></path></svg>Contact</button></a><a href="/blog"><button class="Button-fho9be-0 YmEgP"><svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1764 11q33 24 27 64l-256 1536q-5 29-32 45-14 8-31 8-11 0-24-5l-453-185-242 295q-18 23-49 23-13 0-22-4-19-7-30.5-23.5t-11.5-36.5v-349l864-1059-1069 925-395-162q-37-14-40-55-2-40 32-59l1664-960q15-9 32-9 20 0 36 11z"></path></svg>Blog</button></a></div></div><div class="pages__GridRow-sc-171qo0-1 fvIKAT"><div class="pages__HomepageContent-sc-171qo0-2 gRIzem"><h2>About Me</h2><p>C++ programmer, come Java developer, come AngularJS dev, and now mostly React. But for my hobby projects I've always been a fullstack developer. I enjoy helping out with open source projects when I can. Or tinkering with my own open source stuff, most of which is on<!-- --> <a href="https://github.com/tobbe" target="_blank" rel="noopener noreferrer">my GitHub page</a>.</p><hr/><h2>Latest Blog Post</h2><article class="Article__Post-r54n8f-0 bmDyTg"><h2 class="Article__Title-r54n8f-1 efmEFN"><span class="Article__Initiale-r54n8f-2 bTfkwt">D</span><a href="/blog/2021-03-29/redwoodjs-dokku-deploy/">Deploying a RedwoodJS app on Dokku</a></h2><div class="Subline-sc-1don4fe-0 gYVJdc">29.03.2021<!-- --> — <!-- -->4<!-- --> Min Read — In<a href="/categories/redwood-js"> <!-- -->RedwoodJS</a></div><p class="Article__Excerpt-r54n8f-3 cNiGpW"></p></article><p class="textRight"><a href="/blog">All articles (<!-- -->9<!-- -->)</a></p></div></div></main></div><footer class="Footer__FooterWrapper-sc-1hjn860-0 dEeYFS">© <!-- -->2021<!-- --> by Tobbe Lundberg. All rights reserved. <br/> <a href="https://github.com/Tobbe/tobbe.github.com">GitHub Repository<!-- --> </a> <br/><span>Last build: <!-- -->01.04.2021</span> </footer></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"app":["/app-dbdccb823b821ee685b4.js"],"component---cache-caches-gatsby-plugin-offline-app-shell-js":["/component---cache-caches-gatsby-plugin-offline-app-shell-js-b1462017a2c34a95e2b4.js"],"component---src-templates-blog-tsx":["/component---src-templates-blog-tsx-b57d24eb9af86a8d409b.js"],"component---src-templates-all-category-tsx":["/component---src-templates-all-category-tsx-1daec08986c8f7093a7f.js"],"component---src-templates-category-tsx":["/component---src-templates-category-tsx-a65cb24d1ca8436bca89.js"],"component---src-templates-all-tag-tsx":["/component---src-templates-all-tag-tsx-4279756f4157d6fbef2a.js"],"component---src-templates-tag-tsx":["/component---src-templates-tag-tsx-a52b59e68e900e1f9421.js"],"component---src-templates-post-tsx":["/component---src-templates-post-tsx-d1a138913a50677b6feb.js"],"component---src-pages-404-tsx":["/component---src-pages-404-tsx-30f95b3075d40a592065.js"],"component---src-pages-contact-tsx":["/component---src-pages-contact-tsx-7279a4595d37860054a0.js"],"component---src-pages-index-tsx":["/component---src-pages-index-tsx-2402265ce760886a6dd2.js"]};/*]]>*/</script><script src="/component---src-pages-index-tsx-2402265ce760886a6dd2.js" async=""></script><script src="/e5b5f1e7ef2cda7d6d96e82e5312dc59943f278b-5af7b8bcc454bdb8e11c.js" async=""></script><script src="/styles-b729c27faa6284e9ff45.js" async=""></script><script src="/app-dbdccb823b821ee685b4.js" async=""></script><script src="/framework-f09f45822e9ba8fc378b.js" async=""></script><script src="/webpack-runtime-b0f0ec0f26c4da31e256.js" async=""></script></body></html>