diff --git a/assets/scss/base/page.scss b/assets/scss/base/page.scss index a075c73..25904b0 100644 --- a/assets/scss/base/page.scss +++ b/assets/scss/base/page.scss @@ -88,6 +88,11 @@ margin-bottom: 1em; } + img { + width: 100%; + margin-bottom: 1em; + } + } .tags { @@ -100,6 +105,7 @@ margin-left: 1em; margin-bottom: 0; a {color: inherit;} + a:hover {color: white} } } diff --git a/content/work/pixelfed/index.md b/content/work/pixelfed/index.md index c866e4c..b3c50f8 100644 --- a/content/work/pixelfed/index.md +++ b/content/work/pixelfed/index.md @@ -12,9 +12,13 @@ cover: "/images/pixelfed.jpg" ## Being invited to the team -I made that masterpost issue with every bug and missing feature from the initial beta release, with a big checklist and organized into areas of interest. +In June 2018, I made a [masterpost issue](https://github.com/pixelfed/pixelfed/issues/73) including every bug and missing feature from the initial beta release, with a big checklist and organized into areas of interest. -dansup saw that and decided to invite me to join the pixelfed organization on github. +{{< img src="masterpost.jpg" alt="Masterpost of missing functionality and issues from the beta launch" >}} + +Additionally, I reported many bugs and contributed some fixes for some months. + +dansup decided to invite me to join the Pixelfed organization on Github on January 6, 2019. ## Responsibilities @@ -22,12 +26,16 @@ dansup saw that and decided to invite me to join the pixelfed organization on gi I implemented the current issue tagging system. -Issues have tags by area, Milestone by rough version target, Project by which feature they pertain to +Issues are assigned tags by the domain they inhabit, a Milestone by rough version target, and a Project by which feature they pertain to. ### Design consultancy dansup does a lot of experimenting with building out mock features, and I'm there to tell him which ones are good ideas and which ones are bad ideas. +> i don't trust anyone as much as you to shape the direction of the project. +> +> -- dansup, Pixelfed developer + ### Release planning 0.x betas each usually focus on one feature and related development around it. When the focus changes, a new 0.x beta will be tagged. We have a few more betas left, for circles, and for polish. If it weren't for me, dansup would have tagged 1.0 already and media attention would have been lackluster. \ No newline at end of file diff --git a/content/work/pixelfed/masterpost.jpg b/content/work/pixelfed/masterpost.jpg new file mode 100644 index 0000000..d594b67 Binary files /dev/null and b/content/work/pixelfed/masterpost.jpg differ diff --git a/content/work/pixelfed/masterpost.png b/content/work/pixelfed/masterpost.png new file mode 100644 index 0000000..a007d05 Binary files /dev/null and b/content/work/pixelfed/masterpost.png differ diff --git a/layouts/shortcodes/img.html b/layouts/shortcodes/img.html new file mode 100644 index 0000000..b8c98be --- /dev/null +++ b/layouts/shortcodes/img.html @@ -0,0 +1,48 @@ +{{/* get file that matches the filename as specified as src="" in shortcode */}} +{{ $src := .Page.Resources.GetMatch (printf "*%s*" (.Get "src")) }} + +{{/* set image sizes, these are hardcoded for now, x dictates that images are resized to this width */}} + +{{ $tinyw := default "500x" }} +{{ $smallw := default "800x" }} +{{ $mediumw := default "1200x" }} +{{ $largew := default "1500x" }} + +{{/* resize the src image to the given sizes */}} + +{{ .Scratch.Set "tiny" ($src.Resize $tinyw) }} +{{ .Scratch.Set "small" ($src.Resize $smallw) }} +{{ .Scratch.Set "medium" ($src.Resize $mediumw) }} +{{ .Scratch.Set "large" ($src.Resize $largew) }} + +{{/* add the processed images to the scratch */}} + +{{ $tiny := .Scratch.Get "tiny" }} +{{ $small := .Scratch.Get "small" }} +{{ $medium := .Scratch.Get "medium" }} +{{ $large := .Scratch.Get "large" }} + +{{/* only use images smaller than or equal to the src (original) image size, as Hugo will upscale small images */}} +{{/* set the sizes attribute to (min-width: 35em) 1200px, 100vw unless overridden in shortcode */}} + + \ No newline at end of file diff --git a/resources/_gen/assets/scss/scss/main.scss_48b060fe05b0a273d182ef83c0605941.content b/resources/_gen/assets/scss/scss/main.scss_48b060fe05b0a273d182ef83c0605941.content index 52d6a8c..92630d5 100644 --- a/resources/_gen/assets/scss/scss/main.scss_48b060fe05b0a273d182ef83c0605941.content +++ b/resources/_gen/assets/scss/scss/main.scss_48b060fe05b0a273d182ef83c0605941.content @@ -1 +1 @@ -html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}a:link,a:visited{color:inherit;text-decoration-color:#0060ff;transition:text-decoration-thickness 200ms ease-out,text-underline-offset 200ms ease-out,text-decoration-color 200ms ease-out,color 200ms ease-out}a:hover,a:focus,a:active{text-decoration-color:#0060ff}a:link{text-underline-offset:-.075em}a:hover{text-underline-offset:-.375em}@supports(text-decoration-thickness:1em){a:link{text-decoration-thickness:.125em;text-underline-offset:.125em;text-decoration-skip-ink:none}a:hover{color:#fff;text-decoration-thickness:1.125em;text-underline-offset:-.875em}}html{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,Cantarell,open sans,helvetica neue,sans-serif;scroll-behavior:smooth}body{display:flex;flex-flow:column;min-height:100vh;position:relative}main{flex-grow:1}.section{padding:2em 0}@media(min-width:600px){.section{padding:3em 0}}@media(min-width:62em){.section{padding:4em 0}}.container{width:100%;max-width:960px;margin:0 auto;padding:0 1em}.section-heading{font-size:1.2em;font-weight:400;line-height:1.2;text-align:center;max-width:18ch;margin:0 auto;margin-bottom:4em;padding-bottom:1em;border-bottom:2px solid rgba(0,0,0,.25)}.page-title{font-size:2.5em}.page{font-size:1em;max-width:960px;margin:0 auto}@media(min-width:600px){.page{font-size:1.25em}}@media(min-width:960px){.page{display:grid;grid-template-columns:minmax(45ch,65ch)1fr;grid-template-rows:auto auto;grid-template-areas:"header header" "content meta"}}.page .section{padding:1em 0;grid-area:content}.page .page-header{padding:2em 0;grid-area:header}.page .meta{grid-area:meta}.page .page-summary{margin:1em 0}.page .page-cover{width:100%}.page h1,.page h2,.page h3,.page h4,.page h5,.page h6{line-height:1.2;margin-bottom:1rem;margin-top:2rem}.page p{line-height:1.4;margin-bottom:1em}.page h1{font-size:2.49em}.page h2{font-size:2.07em}.page h3{font-size:1.728em}.page h4{font-size:1.44em}.page h5{font-size:1.2em}.page h6{font-size:1em}.page blockquote{font-size:1em;margin:1em 0;border-left:.25rem solid #000;padding-left:.5em}.page pre{font-family:monospace;background:#333;color:#fff;padding:1em;line-height:1.4;overflow-x:scroll;margin-bottom:1em}.page ul{list-style:disc;margin:1em 0}.page li{margin-bottom:1em;line-height:1.4;margin-left:1em}.page ol{list-style:decimal;margin:1em 0}.page dl{margin:1em 0;line-height:1.4}.page dt{font-weight:700}.page dd{margin-left:1em}.page em{font-style:italic}.page strong{font-weight:700}.page sup{position:relative;font-size:.8em}.page sup a{position:relative;top:-.5em}.page table{text-align:center}.page table thead{font-weight:700}.page table th,.page table td{border:1px solid #000;padding:.5em}.page figure{margin-bottom:1em}.page figure img{width:100%}.page figure figcaption{background:#212121;color:#fff;font-style:italic;padding:1em;font-size:.8em;line-height:1.2}.tags{display:flex;flex-flow:row wrap;gap:.25em}.tags li{list-style:none;border-radius:4px;margin-left:1em;margin-bottom:0}.tags li a{color:inherit}.meta .container{height:100%}#TableOfContents{position:sticky;top:2rem;max-width:max-content;font-size:.75em;margin:2em 0}#TableOfContents ul{list-style:none;margin:0}#TableOfContents li{margin-bottom:0;margin-left:0}#TableOfContents li li{margin-left:1em}#TableOfContents a{background:unset;text-decoration-thickness:unset;text-underline-offset:unset;color:inherit;text-decoration:none;transition:color .2s ease-in-out}#TableOfContents a:hover{color:#0060ff;text-decoration:underline}.list .container{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:3em}.list .list-item{color:inherit;text-decoration:none;transition:color .2s ease-in-out}.list .list-item__image{width:100%;height:auto}.list .list-item__title{font-size:1.5em;margin:.5em 0}.list .list-item__summary{margin-bottom:.5em;line-height:1.4}.list .list-item__date{display:block;margin-bottom:1em}.list .list-item__readmore{margin-bottom:1em;display:block}.button{background:#0060ff;color:#fff!important;width:max-content;font-size:clamp(1em,2vw,1em);padding:.75em;display:flex;justify-content:center;text-decoration:none;border-radius:100em;font-weight:700}.has-pullquote.before:before{content:attr(data-pullquote);font-size:1em;line-height:1.2;display:flex;font-family:serif;color:#555;padding:1em;font-size:1.25em;margin-bottom:1rem}.has-pullquote.after:after{content:attr(data-pullquote);font-size:1em;line-height:1.2;display:flex;font-family:serif;color:#555;padding:1em;font-size:1.25em;margin-top:1rem}#contact .section-heading{font-weight:700}#contact p{line-height:1.4;max-width:65ch;margin:0 auto}#contact .cta{margin:6em auto 0}.hero .container{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:"img" "txt" "cta";gap:1em}@media(min-width:600px){.hero .container{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;grid-template-areas:"txt img" "cta img"}}.hero img{grid-area:img;width:100%;max-height:160px}@media(min-width:600px){.hero img{max-height:unset}}.hero .cta{grid-area:cta;align-self:start}.hero .headline{grid-area:txt;font-size:clamp(1.4em,7vw,3em);line-height:1.2;align-self:end}@media(min-width:600px){.hero .headline{max-width:11ch}}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15em,1fr));gap:2em}.card{background:#fff}.card img{width:100%;height:auto}#process .card img{height:200px}.card h3{margin:1em 0;font-weight:700}.card p{margin-bottom:1em;line-height:1.4}.testimonials{display:flex;flex-flow:row wrap;gap:1em;justify-content:center}.testimonial{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;grid-gap:1em;margin-bottom:1em;flex-basis:18em}.avatar{margin-left:1em;width:2em;height:2em;border-radius:1em;background:#212121}.name{align-self:center}.bubble{background-color:#212121;color:#fff;padding:.5em;border-radius:.5em;position:relative;grid-column:span 2;height:80px;display:flex;justify-content:center;align-items:center;text-align:center}.bubble:after{content:'';position:absolute;top:0;left:2em;width:0;height:0;border:.5em solid transparent;border-bottom-color:#212121;border-top:0;margin-left:-.5em;margin-top:-.5em}.site-header a{text-decoration:none;color:inherit}.site-header .container{display:flex;flex-flow:row wrap;justify-content:space-between;padding:1em}.site-masthead{display:flex;align-items:center}.site-icon{width:44px;height:44px;border-radius:100em;margin-right:1em}.site-title{margin-bottom:0;line-height:1;font-size:1em}body{margin-bottom:64px;min-height:calc(100vh - 64px)}.site-nav{flex-grow:1;position:fixed;bottom:0;left:0;width:100vw;background:#212121;color:#fff;z-index:2}.site-nav ul{height:64px;max-width:960px;margin:0 auto;display:flex;justify-content:space-around}.site-nav ul li{flex:1;border-bottom:4px solid #212121;color:#999}.site-nav ul li.active{color:#fff;border-bottom:4px solid #0060ff}.site-nav ul li a{display:flex;flex-flow:column;align-items:center;justify-content:center;height:100%}.site-nav ul li a span{padding:.25em}.site-footer{background:#333;color:#fff}.site-footer hr{display:none}.site-footer .container{padding:2em 1em;display:flex;flex-flow:row wrap}.site-footer dt{font-weight:700}.site-footer dd{margin-bottom:.5em}.site-footer a{color:inherit} \ No newline at end of file +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}a:link,a:visited{color:inherit;text-decoration-color:#0060ff;transition:text-decoration-thickness 200ms ease-out,text-underline-offset 200ms ease-out,text-decoration-color 200ms ease-out,color 200ms ease-out}a:hover,a:focus,a:active{text-decoration-color:#0060ff}a:link{text-underline-offset:-.075em}a:hover{text-underline-offset:-.375em}@supports(text-decoration-thickness:1em){a:link{text-decoration-thickness:.125em;text-underline-offset:.125em;text-decoration-skip-ink:none}a:hover{color:#fff;text-decoration-thickness:1.125em;text-underline-offset:-.875em}}html{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,Cantarell,open sans,helvetica neue,sans-serif;scroll-behavior:smooth}body{display:flex;flex-flow:column;min-height:100vh;position:relative}main{flex-grow:1}.section{padding:2em 0}@media(min-width:600px){.section{padding:3em 0}}@media(min-width:62em){.section{padding:4em 0}}.container{width:100%;max-width:960px;margin:0 auto;padding:0 1em}.section-heading{font-size:1.2em;font-weight:400;line-height:1.2;text-align:center;max-width:18ch;margin:0 auto;margin-bottom:4em;padding-bottom:1em;border-bottom:2px solid rgba(0,0,0,.25)}.page-title{font-size:2.5em}.page{font-size:1em;max-width:960px;margin:0 auto}@media(min-width:600px){.page{font-size:1.25em}}@media(min-width:960px){.page{display:grid;grid-template-columns:minmax(45ch,65ch)1fr;grid-template-rows:auto auto;grid-template-areas:"header header" "content meta"}}.page .section{padding:1em 0;grid-area:content}.page .page-header{padding:2em 0;grid-area:header}.page .meta{grid-area:meta}.page .page-summary{margin:1em 0}.page .page-cover{width:100%}.page h1,.page h2,.page h3,.page h4,.page h5,.page h6{line-height:1.2;margin-bottom:1rem;margin-top:2rem}.page p{line-height:1.4;margin-bottom:1em}.page h1{font-size:2.49em}.page h2{font-size:2.07em}.page h3{font-size:1.728em}.page h4{font-size:1.44em}.page h5{font-size:1.2em}.page h6{font-size:1em}.page blockquote{font-size:1em;margin:1em 0;border-left:.25rem solid #000;padding-left:.5em}.page pre{font-family:monospace;background:#333;color:#fff;padding:1em;line-height:1.4;overflow-x:scroll;margin-bottom:1em}.page ul{list-style:disc;margin:1em 0}.page li{margin-bottom:1em;line-height:1.4;margin-left:1em}.page ol{list-style:decimal;margin:1em 0}.page dl{margin:1em 0;line-height:1.4}.page dt{font-weight:700}.page dd{margin-left:1em}.page em{font-style:italic}.page strong{font-weight:700}.page sup{position:relative;font-size:.8em}.page sup a{position:relative;top:-.5em}.page table{text-align:center}.page table thead{font-weight:700}.page table th,.page table td{border:1px solid #000;padding:.5em}.page figure{margin-bottom:1em}.page figure img{width:100%}.page figure figcaption{background:#212121;color:#fff;font-style:italic;padding:1em;font-size:.8em;line-height:1.2}.page img{width:100%;margin-bottom:1em}.tags{display:flex;flex-flow:row wrap;gap:.25em}.tags li{list-style:none;border-radius:4px;margin-left:1em;margin-bottom:0}.tags li a{color:inherit}.tags li a:hover{color:#fff}.meta .container{height:100%}#TableOfContents{position:sticky;top:2rem;max-width:max-content;font-size:.75em;margin:2em 0}#TableOfContents ul{list-style:none;margin:0}#TableOfContents li{margin-bottom:0;margin-left:0}#TableOfContents li li{margin-left:1em}#TableOfContents a{background:unset;text-decoration-thickness:unset;text-underline-offset:unset;color:inherit;text-decoration:none;transition:color .2s ease-in-out}#TableOfContents a:hover{color:#0060ff;text-decoration:underline}.list .container{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:3em}.list .list-item{color:inherit;text-decoration:none;transition:color .2s ease-in-out}.list .list-item__image{width:100%;height:auto}.list .list-item__title{font-size:1.5em;margin:.5em 0}.list .list-item__summary{margin-bottom:.5em;line-height:1.4}.list .list-item__date{display:block;margin-bottom:1em}.list .list-item__readmore{margin-bottom:1em;display:block}.button{background:#0060ff;color:#fff!important;width:max-content;font-size:clamp(1em,2vw,1em);padding:.75em;display:flex;justify-content:center;text-decoration:none;border-radius:100em;font-weight:700}.has-pullquote.before:before{content:attr(data-pullquote);font-size:1em;line-height:1.2;display:flex;font-family:serif;color:#555;padding:1em;font-size:1.25em;margin-bottom:1rem}.has-pullquote.after:after{content:attr(data-pullquote);font-size:1em;line-height:1.2;display:flex;font-family:serif;color:#555;padding:1em;font-size:1.25em;margin-top:1rem}#contact .section-heading{font-weight:700}#contact p{line-height:1.4;max-width:65ch;margin:0 auto}#contact .cta{margin:6em auto 0}.hero .container{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:"img" "txt" "cta";gap:1em}@media(min-width:600px){.hero .container{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;grid-template-areas:"txt img" "cta img"}}.hero img{grid-area:img;width:100%;max-height:160px}@media(min-width:600px){.hero img{max-height:unset}}.hero .cta{grid-area:cta;align-self:start}.hero .headline{grid-area:txt;font-size:clamp(1.4em,7vw,3em);line-height:1.2;align-self:end}@media(min-width:600px){.hero .headline{max-width:11ch}}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(15em,1fr));gap:2em}.card{background:#fff}.card img{width:100%;height:auto}#process .card img{height:200px}.card h3{margin:1em 0;font-weight:700}.card p{margin-bottom:1em;line-height:1.4}.testimonials{display:flex;flex-flow:row wrap;gap:1em;justify-content:center}.testimonial{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;grid-gap:1em;margin-bottom:1em;flex-basis:18em}.avatar{margin-left:1em;width:2em;height:2em;border-radius:1em;background:#212121}.name{align-self:center}.bubble{background-color:#212121;color:#fff;padding:.5em;border-radius:.5em;position:relative;grid-column:span 2;height:80px;display:flex;justify-content:center;align-items:center;text-align:center}.bubble:after{content:'';position:absolute;top:0;left:2em;width:0;height:0;border:.5em solid transparent;border-bottom-color:#212121;border-top:0;margin-left:-.5em;margin-top:-.5em}.site-header a{text-decoration:none;color:inherit}.site-header .container{display:flex;flex-flow:row wrap;justify-content:space-between;padding:1em}.site-masthead{display:flex;align-items:center}.site-icon{width:44px;height:44px;border-radius:100em;margin-right:1em}.site-title{margin-bottom:0;line-height:1;font-size:1em}body{margin-bottom:64px;min-height:calc(100vh - 64px)}.site-nav{flex-grow:1;position:fixed;bottom:0;left:0;width:100vw;background:#212121;color:#fff;z-index:2}.site-nav ul{height:64px;max-width:960px;margin:0 auto;display:flex;justify-content:space-around}.site-nav ul li{flex:1;border-bottom:4px solid #212121;color:#999}.site-nav ul li.active{color:#fff;border-bottom:4px solid #0060ff}.site-nav ul li a{display:flex;flex-flow:column;align-items:center;justify-content:center;height:100%}.site-nav ul li a span{padding:.25em}.site-footer{background:#333;color:#fff}.site-footer hr{display:none}.site-footer .container{padding:2em 1em;display:flex;flex-flow:row wrap}.site-footer dt{font-weight:700}.site-footer dd{margin-bottom:.5em}.site-footer a{color:inherit} \ No newline at end of file diff --git a/resources/_gen/assets/scss/scss/main.scss_48b060fe05b0a273d182ef83c0605941.json b/resources/_gen/assets/scss/scss/main.scss_48b060fe05b0a273d182ef83c0605941.json index 2296393..745661b 100644 --- a/resources/_gen/assets/scss/scss/main.scss_48b060fe05b0a273d182ef83c0605941.json +++ b/resources/_gen/assets/scss/scss/main.scss_48b060fe05b0a273d182ef83c0605941.json @@ -1 +1 @@ -{"Target":"scss/main.min.878bf37b72d490338682258d8e342d9a19acef0ebd44a3f43b554ef16e7d6f3a.css","MediaType":"text/css","Data":{"Integrity":"sha256-h4vze3LUkDOGgiWNjjQtmhms7w69RKP0O1VO8W59bzo="}} \ No newline at end of file +{"Target":"scss/main.min.4044a131c8c069d1e97efa9abecaf57f8420e46740ff530c7e4d2e2b9b6cde38.css","MediaType":"text/css","Data":{"Integrity":"sha256-QEShMcjAadHpfvqavsr1f4Qg5GdA/1MMfk0uK5ts3jg="}} \ No newline at end of file