From 385a6ccb11319609a5b1452c2d2c395325a86743 Mon Sep 17 00:00:00 2001 From: koehr Date: Sun, 10 Mar 2024 00:35:47 +0100 Subject: [PATCH] initial --- README.md | 6 +++ config.toml | 6 +++ dist/header.jpg | Bin 0 -> 21438 bytes dist/index.html | 62 ++++++++++++++++++++++++++++ dist/interactive-homepage.jpg | Bin 0 -> 16778 bytes dist/style.css | 70 ++++++++++++++++++++++++++++++++ index.md | 5 +++ layouts/index.html | 60 +++++++++++++++++++++++++++ static/header.jpg | Bin 0 -> 21438 bytes static/interactive-homepage.jpg | Bin 0 -> 16778 bytes static/style.css | 70 ++++++++++++++++++++++++++++++++ 11 files changed, 279 insertions(+) create mode 100644 README.md create mode 100644 config.toml create mode 100644 dist/header.jpg create mode 100644 dist/index.html create mode 100644 dist/interactive-homepage.jpg create mode 100644 dist/style.css create mode 100644 index.md create mode 100644 layouts/index.html create mode 100644 static/header.jpg create mode 100644 static/interactive-homepage.jpg create mode 100644 static/style.css diff --git a/README.md b/README.md new file mode 100644 index 0000000..e34cd80 --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +# Homepage of Norman Köhring + +## Build Instructions + +This homepage uses [VSS](https://github.com/vssio/vss/). To build, use: +`vss build` or `vss serve`. diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..3298f54 --- /dev/null +++ b/config.toml @@ -0,0 +1,6 @@ +title = "Norman Köhring" +description = "Homepage, Portfolio and CV of Norman Köhring" +base_url = 'https://koehr.in/' + +[build] +ignore_files = ["README.md", "TODO"] diff --git a/dist/header.jpg b/dist/header.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ee867b37b5994325b89a53535a35809112956299 GIT binary patch literal 21438 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%0A4)ey=GEhp!>Ga}@ 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 C>;YH+ literal 0 HcmV?d00001 diff --git a/dist/index.html b/dist/index.html new file mode 100644 index 0000000..d48be67 --- /dev/null +++ b/dist/index.html @@ -0,0 +1,62 @@ + + + + + + + Norman Köhring // the codeartist — programmer and engineer based in Berlin + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Homepage of +
+ Norman + Köhring +
+ Code Artist +
+
+
+

introduction

+

Hi there! I'm a programmer, OpenSource enthusiast and hacker, based in Berlin.

+

I call myself a code artist, because programming can and should be seen as a creative process; therefore code is art. I love to craft pieces of art with code, that are beautiful and elegant in their simplicity, readability and architecture.

+
+ +
+ + + + + \ No newline at end of file diff --git a/dist/interactive-homepage.jpg b/dist/interactive-homepage.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3923d2f07dd46e79bbb4dbeb222dcf6834d3bcc5 GIT binary patch literal 16778 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 kWSS@iO0~Eie>_cA=~rXVw!fSHKTQ1Bd;kCd literal 0 HcmV?d00001 diff --git a/dist/style.css b/dist/style.css new file mode 100644 index 0000000..0733edc --- /dev/null +++ b/dist/style.css @@ -0,0 +1,70 @@ +:root { + --page-bg-color: #101626; + --page-fg-color: #fff8e7; + --emboss-color: #000; +} + +@media (prefers-color-scheme: light) { + :root { + --page-bg-color: #efe9d9; + --page-fg-color: #261b00; + --emboss-color: #fff; + } + + body>header { + filter: invert(); + } +} + +* { + transition: color, background-color 200ms ease; +} + +html, +body { + display: flex; + flex-flow: column nowrap; + justify-content: center; + width: 960px; + max-width: 98vw; + margin: auto; + background: var(--page-bg-color); + color: var(--page-fg-color); + font-size: 20px; + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; +} + +body>header { + height: 420px; + background: url(/header.jpg) center no-repeat; + color: transparent; +} + +#content>h1 { + font-size: 2rem; + font-variant: small-caps; + text-shadow: 1px 1px 0 var(--emboss-color); +} + +#menu { + display: flex; + justify-content: space-between; + align-items: center; + gap: 1rem; + margin: 3rem 0 0 0; + text-align: center; +} + +#menu>a { + display: flex; + flex-flow: column nowrap; + justify-content: center; + color: white; + text-decoration: none; + font-variant: small-caps; +} + +#menu>a>img { + max-width: 400px; + aspect-ratio: 400 / 281; +} \ No newline at end of file diff --git a/index.md b/index.md new file mode 100644 index 0000000..46c79cd --- /dev/null +++ b/index.md @@ -0,0 +1,5 @@ +# introduction + +Hi there! I'm a programmer, OpenSource enthusiast and hacker, based in Berlin. + +I call myself a code artist, because programming can and should be seen as a creative process; therefore code is art. I love to craft pieces of art with code, that are beautiful and elegant in their simplicity, readability and architecture. diff --git a/layouts/index.html b/layouts/index.html new file mode 100644 index 0000000..840dbe8 --- /dev/null +++ b/layouts/index.html @@ -0,0 +1,60 @@ + + + + + + + @title // the codeartist — programmer and engineer based in Berlin + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Homepage of +
+ Norman + Köhring +
+ Code Artist +
+
+
+ @contents +
+ +
+ + + + + \ No newline at end of file diff --git a/static/header.jpg b/static/header.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ee867b37b5994325b89a53535a35809112956299 GIT binary patch literal 21438 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%0A4)ey=GEhp!>Ga}@ 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 C>;YH+ literal 0 HcmV?d00001 diff --git a/static/interactive-homepage.jpg b/static/interactive-homepage.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3923d2f07dd46e79bbb4dbeb222dcf6834d3bcc5 GIT binary patch literal 16778 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 kWSS@iO0~Eie>_cA=~rXVw!fSHKTQ1Bd;kCd literal 0 HcmV?d00001 diff --git a/static/style.css b/static/style.css new file mode 100644 index 0000000..0733edc --- /dev/null +++ b/static/style.css @@ -0,0 +1,70 @@ +:root { + --page-bg-color: #101626; + --page-fg-color: #fff8e7; + --emboss-color: #000; +} + +@media (prefers-color-scheme: light) { + :root { + --page-bg-color: #efe9d9; + --page-fg-color: #261b00; + --emboss-color: #fff; + } + + body>header { + filter: invert(); + } +} + +* { + transition: color, background-color 200ms ease; +} + +html, +body { + display: flex; + flex-flow: column nowrap; + justify-content: center; + width: 960px; + max-width: 98vw; + margin: auto; + background: var(--page-bg-color); + color: var(--page-fg-color); + font-size: 20px; + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; +} + +body>header { + height: 420px; + background: url(/header.jpg) center no-repeat; + color: transparent; +} + +#content>h1 { + font-size: 2rem; + font-variant: small-caps; + text-shadow: 1px 1px 0 var(--emboss-color); +} + +#menu { + display: flex; + justify-content: space-between; + align-items: center; + gap: 1rem; + margin: 3rem 0 0 0; + text-align: center; +} + +#menu>a { + display: flex; + flex-flow: column nowrap; + justify-content: center; + color: white; + text-decoration: none; + font-variant: small-caps; +} + +#menu>a>img { + max-width: 400px; + aspect-ratio: 400 / 281; +} \ No newline at end of file