Design adjustments, new content and more

This commit is contained in:
Bastian Allgeier
2020-12-10 16:10:45 +01:00
parent c378376bc9
commit 4d7b192c94
103 changed files with 1695 additions and 1003 deletions

View File

@@ -1,176 +1,424 @@
:root {
--content-width: 65rem;
}
*,
*:after,
*:before{
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--padding: 1.5rem;
--color-black: #000;
--color-white: #fff;
--color-grey: #777;
--color-light: #efefef;
--color-text: var(--color-black);
--color-text-grey: var(--color-grey);
--color-background: var(--color-white);
--color-code-light-grey: #cacbd1;
--color-code-comment: #a9aaad;
--color-code-white: #c5c9c6;
--color-code-red: #d16464;
--color-code-orange: #de935f;
--color-code-yellow: #f0c674;
--color-code-green: #a7bd68;
--color-code-aqua: #8abeb7;
--color-code-blue: #7e9abf;
--color-code-purple: #b294bb;
--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
--font-family-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
}
html {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";;
font-family: var(--font-family-sans);
color: var(--color-text);
background: var(--color-background);
}
img {
width: 100%;
}
body {
padding: var(--padding);
max-width: 70rem;
margin: 0 auto;
}
li {
list-style: none;
}
a {
color: currentColor;
text-decoration: none;
}
button {
font: inherit;
background: none;
border: 0;
color: currentColor;
cursor: pointer;
}
strong, b {
font-weight: 500;
}
img {
width: 100%;
}
.page {
padding: 5vh 5vw 10vh;
}
.page > * {
max-width: var(--content-width);
margin: 0 auto;
}
.header {
margin-bottom: 1.5rem;
}
.header a {
position: relative;
text-transform: uppercase;
font-size: .875rem;
letter-spacing: .05em;
padding: .5rem 0;
font-weight: 700;
}
.header .logo {
display: block;
margin-bottom: 1.5rem;
padding: .5rem 0;
}
.header {
display: flex;
flex-direction: column;
align-items: center;
}
.menu a {
margin: 0 .75rem;
}
.menu a[aria-current] {
border-bottom: 2px solid #000;
}
@media screen and (min-width: 40rem) {
.header .logo {
margin-bottom: 0;
}
.header {
flex-direction: row;
justify-content: space-between;
}
.menu {
margin-right: -.75rem;
}
}
main {
min-height: calc(100vh - 10rem);
}
.intro {
padding: 10vh 0;
text-align: center;
}
.intro h1 {
position: relative;
margin-bottom: 1rem;
font-weight: 900;
font-size: calc(1vw + 2rem);
z-index: 1;
}
.tags {
text-align: center;
text-transform: uppercase;
letter-spacing: 0.075em;
font-size: .75rem;
font-weight: 600;
}
small {
font-size: inherit;
color: var(--color-text-grey);
}
.bg-light {
background-color: var(--color-light);
}
.color-grey {
color: var(--color-text-grey);
}
.header {
position: relative;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-right: -1rem;
margin-left: -1rem;
margin-bottom: 6rem;
}
.logo {
padding: 1rem;
display: flex;
align-items: center;
font-weight: 600;
cursor: pointer;
}
.menu {
display: flex;
}
.menu a {
padding: 1rem;
display: block;
}
.menu a[aria-current] {
text-decoration: underline;
}
.social {
display: flex;
padding: 0 .5rem;
}
.social a {
padding: 1rem .5rem;
}
.section {
padding: 3rem 0;
}
.grid {
--columns: 12;
--gutter: 3rem;
display: grid;
grid-gap: var(--gutter);
grid-template-columns: 1fr;
}
.grid > .column {
margin-bottom: var(--gutter);
}
.autogrid {
--gutter: 3rem;
--min: 10rem;
display: grid;
grid-gap: var(--gutter);
grid-template-columns: repeat(auto-fit, minmax(var(--min), 1fr));
grid-auto-flow: dense;
}
h1, h2, h3, h4, h5, h6 {
font-size: inherit;
font-weight: inherit;
line-height: inherit;
}
.text {
line-height: 1.5em;
}
.text p,
.text figure,
.text ul,
.text ol {
margin-bottom: 1.5em;
.text a {
text-decoration: underline;
}
.text h2 {
font-size: 1.5rem;
font-weight: 700;
margin-top: 3rem;
margin-bottom: 1.5rem;
text-align: center;
}
.text > *:first-child {
.text :first-child {
margin-top: 0;
}
.text a {
position: relative;
white-space: nowrap;
font-weight: 500;
z-index: 1;
.text :last-child {
margin-bottom: 0;
}
.text p,
.text ul,
.text ol {
margin-bottom: 1.5rem;
}
.text ul,
.text ol {
margin-left: 1rem;
}
.text ul p,
.text ol p {
margin-bottom: 0;
}
.text ul > li {
list-style: disc;
}
.text ol > li {
list-style: decimal;
}
.text ul ol,
.text ul ul,
.text ol ul,
.text ol ol {
margin-bottom: 0;
}
.text h1,
.h1,
.intro {
font-size: 2rem;
margin-bottom: 3rem;
line-height: 1.25em;
}
.text h2,
.h2 {
font-size: 1.25rem;
font-weight: 600;
margin-bottom: 1.25rem;
}
.text h3,
.h3 {
font-weight: 600;
}
.text .codeblock {
display: grid;
}
.text code {
font-family: var(--font-family-mono);
font-size: 1em;
background: var(--color-light);
padding: 0 .5rem;
display: inline-block;
border-bottom: 2px solid #000;
color: var(--color-black);
}
.text pre {
margin: 3rem 0;
background: var(--color-black);
color: var(--color-white);
padding: 1.5rem;
overflow-x: scroll;
overflow-y: hidden;
line-height: 1.5rem;
}
.text pre code {
padding: 0;
background: none;
color: inherit;
}
.text hr {
margin: 6rem 0;
}
.text dt {
font-weight: 600;
}
.text blockquote {
font-size: 1.25rem;
line-height: 1.325em;
border-left: 2px solid var(--color-black);
padding-left: 1rem;
margin: 3rem 0;
max-width: 25rem;
}
.text blockquote footer {
font-size: .875rem;
font-style: italic;
}
.text figure {
padding-top: 1.5rem;
padding-bottom: 1.5rem;
margin: 3rem 0;
}
.text img {
.text figcaption {
padding-top: .75rem;
color: var(--color-text-grey);
}
hr {
border: 0;
background: currentColor;
height: 2px;
width: 1.5rem;
margin: 3rem auto;
}
.align-center {
text-align: center;
}
.intro {
max-width: 40rem;
}
.intro *:not(:last-child) {
margin-bottom: 1em;
}
.cta {
background: var(--color-black);
color: var(--color-white);
display: inline-flex;
justify-content: center;
padding: .75rem 1.5rem;
border: 4px solid var(--color-white);
outline: 2px solid var(--color-black);
}
.box {
background: var(--color-light);
padding: 1.5rem;
border: 4px solid var(--color-white);
outline: 2px solid var(--color-light);
}
.video,
.img {
position: relative;
display: block;
--w: 1;
--h: 1;
padding-bottom: calc(100% / var(--w) * var(--h));
background: var(--color-black);
}
.img img,
.video iframe {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
border: 0;
}
.img[data-contain] img {
object-fit: contain;
}
.img-caption,
.video-caption {
padding-top: .75rem;
line-height: 1.5em;
}
.footer {
padding: 1.5rem 5vw 10vh;
text-align: center;
max-width: var(--content-width);
margin: 0 auto;
padding: 9rem 0 6rem;
line-height: 1.5em;
}
.footer a {
display: inline-block;
font-size: .875rem;
}
.footer > a {
.footer:before {
content: "";
display: block;
width: 1.5rem;
height: 2px;
background: var(--color-black);
margin-bottom: 1.5rem;
border-top: 2px solid #000;
width: 16.5rem;
padding-top: .5rem;
}
.social a {
margin: 0 .75rem;
padding: .5rem 1rem;
border: 2px solid #000;
width: 7.5rem;
.footer h2 {
font-weight: 600;
margin-bottom: .75rem;
}
.social a:hover {
background: #000;
color: #fff;
.footer ul,
.footer p {
color: var(--color-text-grey);
}
.footer p {
max-width: 15rem;
}
.footer a:hover {
color: var(--color-text);
}
.map {
--w: 2;
--h: 1;
padding-bottom: calc(100% / var(--w) * var(--h));
position: relative;
overflow: hidden;
background: var(--color-black);
}
.map iframe {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}
.margin-s {
margin-bottom: .75rem;
}
.margin-m {
margin-bottom: 1.5rem;
}
.margin-l {
margin-bottom: 3rem;
}
.margin-xl {
margin-bottom: 4.5rem;
}
.margin-xxl {
margin-bottom: 6rem;
}
@media screen and (min-width: 60rem) {
body {
--padding: 3rem;
}
.grid {
grid-template-columns: repeat(12, 1fr);
}
.grid > .column {
grid-column: span var(--columns);
}
}
.pagination {
display: flex;
padding-top: 6rem;
}
.pagination > span {
color: var(--color-text-grey);
}
.pagination > * {
padding: .5rem;
width: 3rem;
text-align: center;
border: 2px solid currentColor;
margin-right: 1.5rem;
}
.pagination > a:hover {
background: var(--color-black);
color: var(--color-white);
border-color: var(--color-black);
}
.note-excerpt {
line-height: 1.5em;
}
.note-excerpt header {
margin-bottom: 1.5rem;
}
.note-excerpt figure {
margin-bottom: .5rem;
}
.note-excerpt-title {
font-weight: 600;
}
.note-excerpt-date {
color: var(--color-text-grey);
}

1
assets/css/lightbox.css Executable file
View File

@@ -0,0 +1 @@
.basicLightbox{position:fixed;display:flex;justify-content:center;align-items:center;top:0;left:0;width:100%;height:100vh;background:rgba(0,0,0,.8);opacity:.01;transition:opacity .4s ease;z-index:1000;will-change:opacity}.basicLightbox--visible{opacity:1}.basicLightbox__placeholder{max-width:100%;-webkit-transform:scale(.9);transform:scale(.9);transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;z-index:1;will-change:transform}.basicLightbox__placeholder>iframe:first-child:last-child,.basicLightbox__placeholder>img:first-child:last-child,.basicLightbox__placeholder>video:first-child:last-child{display:block;position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;max-width:95%;max-height:95%}.basicLightbox__placeholder>iframe:first-child:last-child,.basicLightbox__placeholder>video:first-child:last-child{pointer-events:auto}.basicLightbox__placeholder>img:first-child:last-child,.basicLightbox__placeholder>video:first-child:last-child{width:auto;height:auto}.basicLightbox--iframe .basicLightbox__placeholder,.basicLightbox--img .basicLightbox__placeholder,.basicLightbox--video .basicLightbox__placeholder{width:100%;height:100%;pointer-events:none}.basicLightbox--visible .basicLightbox__placeholder{-webkit-transform:scale(1);transform:scale(1)}

136
assets/css/prism.css Normal file
View File

@@ -0,0 +1,136 @@
/* PrismJS 1.19.0
https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+json+markup-templating+php+yaml */
/**
* prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML
* Based on https://github.com/chriskempson/tomorrow-theme
* @author Rose Pritchard
*/
code[class*="language-"],
pre[class*="language-"] {
color: var(--color-code-white);
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
font-size: 1em;
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;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
/* Code blocks */
pre[class*="language-"] {
padding: 1rem;
margin: 0 0;
overflow: auto;
}
/* ----- Syntax Highlighting (Prism.js) ------------------------------------ */
.token.punctuation {
color: var(--color-code-light-grey);
}
.token.comment,
.token.doctype {
color: var(--color-code-comment);
}
.token.tag,
.token.markup,
.token.variable,
.token.this,
.token.selector,
.token.key,
.token.kirbytag-bracket,
.token.prolog,
.token.delimiter {
color: var(--color-code-red);
}
.token.constant,
.token.number,
.token.boolean,
.token.boolean.important,
.token.attr-name,
.token.kirbytag-attr,
.token.kirbytag-name,
.token.entity,
.token.bold,
.token.bold > .punctuation {
color: var(--color-code-orange);
}
.token.keyword,
.token.italic,
.token.italic > .punctuation {
color: var(--color-code-purple);
}
.token.function {
color: var(--color-code-blue);
}
.token.operator,
.token.title {
color: var(--color-code-aqua);
}
.token.string,
.token.attr-value,
.token.attr-value .punctuation,
.token.list.punctuation {
color: var(--color-code-green);
}
.token.scope,
.token.class-name,
.token.property,
.token.url {
color: var(--color-code-yellow);
}
/**
* 1. Markdown list bullet.
*/
.token.title,
.token.kirbytag-bracket,
.token.list.punctuation /* 1 */ {
font-weight: 700;
}
.token.title .punctuation {
color: inherit;
}
/**
* 1. Markdown bold text
*/
.token.bold /* 1 */ {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.codeblock {
background: var(--color-black);
}
.codeblock figcaption {
color: var(--color-code-white);
padding: .5rem 1rem;
font-family: var(--font-family-mono);
border-bottom: 1px solid #333;
}

View File

@@ -1,19 +1,7 @@
.layout {
display: grid;
grid-template-columns: 1fr;
grid-gap: 3rem;
.contact {
padding: 3rem;
border: 2px solid #000;
}
@media screen and (min-width: 45rem) {
.layout {
grid-template-columns: 1fr 2fr;
}
}
.layout aside section {
margin-bottom: 3rem;
}
.layout aside h2 {
margin-bottom: .75rem;
.contact .h1 {
margin-bottom: 1.5rem;
}

View File

@@ -1,57 +1,15 @@
.album-cover {
position: relative;
line-height: 0;
margin-bottom: 6rem;
background: #000;
padding-bottom: 75%;
}
.album-cover figcaption {
position: absolute;
display: flex;
align-items: center;
justify-content: center;
bottom: 0;
left: 0;
right: 0;
top: 0;
background: rgba(0,0,0, .5);
text-align: center;
color: #fff;
line-height: 1;
padding: 1.5rem;
}
.album-cover img {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
}
.album-cover h1 {
font-size: 3rem;
}
.album-text {
max-width: 40rem;
margin: 0 auto 6rem;
text-align: center;
}
.album-gallery {
display: grid;
grid-template-columns: repeat(3, 1fr);
align-items: center;
margin: 0 auto;
grid-gap: 1rem;
max-width: calc(var(--content-width) - 15rem);
justify-content: center;
line-height: 0;
columns: 1;
column-gap: 1.5rem;
}
.album-gallery[data-even] {
grid-template-columns: repeat(4, 1fr);
.album-gallery li {
display: block;
margin-bottom: 1.5rem;
break-inside: avoid;
}
.album-gallery[data-count="1"] {
grid-template-columns: 1fr;
}
.album-gallery[data-count="2"] {
grid-template-columns: 1fr 1fr;
@media screen and (min-width: 60rem) {
.album-gallery {
columns: 2;
}
}

View File

@@ -1,4 +0,0 @@
.text {
max-width: 35rem;
margin: 0 auto;
}

View File

@@ -1,12 +1,12 @@
.grid {
.home-grid {
display: grid;
list-style: none;
grid-gap: 1rem;
grid-gap: 1.5rem;
line-height: 0;
grid-template-columns: repeat(1, 1fr);
grid-auto-flow: dense;
}
.grid li {
.home-grid li {
position: relative;
--cols: 1;
--rows: 1;
@@ -15,24 +15,24 @@
background: #000;
line-height: 0;
}
.grid li:first-child {
.home-grid li:first-child {
--cols: 2;
--rows: 2;
}
.grid li:nth-child(5) {
.home-grid li:nth-child(5) {
--cols: 2;
}
.grid li:nth-child(6) {
.home-grid li:nth-child(6) {
--rows: 2;
}
.grid li:nth-child(7) {
.home-grid li:nth-child(7) {
--cols: 2;
}
.grid a {
.home-grid a {
display: block;
height: 10rem;
}
.grid img {
.home-grid img {
position: absolute;
top: 0;
right: 0;
@@ -43,7 +43,7 @@
object-fit: cover;
transition: all .3s;
}
.grid figcaption {
.home-grid figcaption {
display: flex;
align-items: center;
justify-content: center;
@@ -56,21 +56,17 @@
line-height: 1;
text-align: center;
background: rgba(0,0,0, .5);
text-transform: uppercase;
font-size: .875rem;
letter-spacing: .125em;
font-weight: 600;
}
@media screen and (min-width: 45em) {
.grid {
.home-grid {
grid-template-columns: repeat(3, 1fr);
}
.grid li {
.home-grid li {
grid-column-start: span var(--cols);
grid-row-start: span var(--rows);
}
.grid a {
.home-grid a {
padding-bottom: 52.65%;
}
}

37
assets/css/templates/note.css Normal file → Executable file
View File

@@ -3,31 +3,28 @@
margin: 0 auto;
}
.note-header {
text-align: center;
padding-top: 3rem;
margin-bottom: 3rem;
}
.note-footer {
padding: 6rem 0;
}
.note-date {
margin-bottom: .5rem;
display: block;
color: var(--color-text-grey);
}
.gallery {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
grid-gap: 1.5rem;
.note-tags {
display: flex;
margin-bottom: 1.5rem;
padding: 3rem 0;
}
.gallery figure a {
border: 0;
.note-tags li {
margin-right: .5rem;
}
.gallery figure {
margin: 0;
padding: 0;
.note-tags a {
padding: .5rem 1rem;
display: block;
background: var(--color-light);
}
@media screen and (min-width: 45rem) {
.gallery {
margin-left: -3rem;
margin-right: -3rem;
}
.note-tags a:hover {
background: var(--color-black);
color: var(--color-white);
}

View File

@@ -1,20 +0,0 @@
.notes {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
grid-gap: 1.5rem;
grid-auto-rows: 1fr;
}
.note {
border: 2px solid #000;
}
.note a {
display: block;
padding: 1rem;
line-height: 1.25em;
}
.note h2 {
font-size: 1rem;
}
.note time {
font-size: .75rem;
}

View File

@@ -1,62 +0,0 @@
.albums {
display: grid;
list-style: none;
grid-gap: 1rem;
line-height: 0;
}
@media screen and (min-width: 30em) {
.albums {
grid-template-columns: repeat(2, 1fr);
}
}
@media screen and (min-width: 60em) {
.albums {
grid-template-columns: repeat(3, 1fr);
}
.albums[data-even] {
grid-template-columns: repeat(4, 1fr);
}
}
.albums li {
overflow: hidden;
background: #000;
}
.albums figure {
position: relative;
padding-bottom: 125%;
}
.albums figcaption {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
color: #fff;
background: rgba(0,0,0, .5);
display: flex;
justify-content: space-between;
align-items: flex-end;
line-height: 1.5em;
padding: 1rem;
font-size: .875rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .125em;
}
.albums img {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
transition: all .3s;
}
.albums img:hover {
opacity: .2;
}