Compare commits

...
17 Commits
28 changed files with 270 additions and 187 deletions
+11
View File
@@ -0,0 +1,11 @@
root = true
[*]
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[{*.{html.jinja,css,txt}}]
indent_style = tab
indent_size = 4
+1
View File
@@ -0,0 +1 @@
/dist
Executable
+56
View File
@@ -0,0 +1,56 @@
#!/usr/bin/env python
import contextlib
from io import BufferedWriter, FileIO
import os
import shutil
import git
from jinja2 import Environment, FileSystemLoader
SOURCES_DIR = "src"
DIST_DIR = "dist"
def latest_git_commit_year() -> int:
return git.Repo(".").head.commit.authored_datetime.year
def build_template(env: Environment, src_path: str):
rel_path = os.path.relpath(src_path, SOURCES_DIR)
dist_path = os.path.splitext(os.path.join(DIST_DIR, rel_path))[0]
template = env.get_template(rel_path)
rendered_text = template.render(copyright_year = latest_git_commit_year())
with BufferedWriter(FileIO(dist_path, "wb")) as writer:
for line in rendered_text.splitlines():
line = line.strip()
if len(line) > 0:
writer.write(line.encode())
writer.write(b"\n")
def main():
with contextlib.suppress(FileNotFoundError):
shutil.rmtree(DIST_DIR)
env = Environment(
loader=FileSystemLoader(SOURCES_DIR),
autoescape=True
)
for root, _, files in os.walk(SOURCES_DIR):
rel_dir_path = os.path.relpath(root, SOURCES_DIR)
dist_root = os.path.join(DIST_DIR, rel_dir_path)
os.makedirs(dist_root, exist_ok=True)
for src_name in files:
src_path = os.path.join(root, src_name)
if src_name.endswith(".jinja"):
if not src_name.startswith("_"):
build_template(env, src_path)
else:
dist_path = os.path.join(dist_root, src_name)
shutil.copy(src_path, dist_path)
if __name__ == '__main__':
main()
-35
View File
@@ -1,35 +0,0 @@
<!DOCTYPE html>
<!-- Copyright © 2025 Niklas Elsbrock -->
<html lang="de">
<head>
<meta charset="UTF-8" />
<title>Niklas Elsbrock</title>
<meta name="description" content="Persönliche Website von Niklas Elsbrock." />
<meta name="copyright" content="Niklas Elsbrock" />
<meta name="viewport" content="width=device-width, initial-scale=0.75" />
<link rel="stylesheet" href="/resources/style.css" />
</head>
<body>
<main class="card">
<div class="main-info">
<h1>Niklas&nbsp;Elsbrock</h1>
<p>Softwareentwickler und Informatikstudent</p>
</div>
<hr />
<nav>
<ul>
<li><a class="link-github" href="https://github.com/nelsbrock">GitHub</a></li>
<li><a class="link-email" href="mailto:mail@nelsbrock.de">E-Mail</a></li>
<li><a class="link-pgp-key" href="/pgp_key.asc">PGP</a></li>
</ul>
</nav>
</main>
<footer>
&copy; 2025 Niklas&nbsp;Elsbrock
&middot; <a href="/licenses.html">Open-Source-Lizenzen</a>
</footer>
</body>
</html>
-45
View File
@@ -1,45 +0,0 @@
<!DOCTYPE html>
<!-- Copyright © 2025 Niklas Elsbrock -->
<html lang="de">
<head>
<meta charset="UTF-8" />
<title>Niklas Elsbrock &ndash; Open-Source-Lizenzen</title>
<meta name="description" content="Persönliche Website von Niklas Elsbrock." />
<meta name="copyright" content="Niklas Elsbrock" />
<meta name="viewport" content="width=device-width, initial-scale=0.75" />
<link rel="stylesheet" href="/resources/style.css" />
</head>
<body>
<main>
<h1>Open-Source-Lizenzen</h1>
<h2>Schriftarten:</h2>
<h3>Überschriften: <a href="https://fontsarena.com/metropolis-by-chris-simpson/">Metropolis</a></h3>
<p>Public Domain (<a href="https://unlicense.org/">Unlicense</a>)</p>
<h3>Text: <a href="https://github.com/rsms/inter">Inter</a></h3>
<p>
Copyright (c) 2016-2020 The Inter Project Authors.<br />
"Inter" is trademark of Rasmus&nbsp;Andersson.<br />
Licensed under the <a href="https://scripts.sil.org/OFL">SIL Open Font License, Version 1.1</a>.
</p>
<h3>Icons: <a href="https://fontawesome.com/">Font Awesome Free</a></h3>
<p>
Copyright (c) 2022 Fonticons, Inc.<br />
with Reserved Font Name: "Font Awesome".<br />
Licensed under the <a href="https://scripts.sil.org/OFL">SIL Open Font License, Version 1.1</a>.
</p>
<hr />
<p>
<a href="/" data-icon="&#xf060;">Zurück zur Hauptseite</a>
</p>
</main>
</body>
</html>
-44
View File
@@ -1,44 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
zQKRYKL73nYAUDW7CL3Vog6EuyZwQzdVaW50Ag==
=n4Z7
-----END PGP PUBLIC KEY BLOCK-----
Binary file not shown.
Binary file not shown.
View File
+28
View File
@@ -0,0 +1,28 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<title>{% block title %}{% endblock %}</title>
<meta name="description" content="Persönliche Website von Niklas Elsbrock." />
<meta name="copyright" content="Niklas Elsbrock" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="/resources/style.css" />
</head>
<body>
<div class="viewstretch">
{% block main %}{% endblock %}
</div>
<footer>
<p>
&copy; {{ copyright_year }} Niklas&nbsp;Elsbrock
&middot; <a href="/privacy.html">Datenschutz</a>
&middot; <a href="/licenses.html">Open-Source-Lizenzen</a>
</p>
<p>Geeignet für Allergiker: Diese Website enthält kein JavaScript.</p>
</footer>
</body>
</html>
+20
View File
@@ -0,0 +1,20 @@
{% extends "_base.html.jinja" %}
{% block title %}Niklas Elsbrock{% endblock %}
{% block main %}
<main class="card">
<div class="main-info">
<h1>Niklas&nbsp;Elsbrock</h1>
<p>Softwareentwickler und Informatikstudent</p>
</div>
<hr />
<nav>
<ul>
<li><a class="link-github" href="https://github.com/nelsbrock">GitHub</a></li>
<li><a class="link-email" href="mailto:mail@nelsbrock.de">E-Mail</a></li>
<li><a class="link-pgp-key" href="/niklas_elsbrock.asc">PGP</a></li>
</ul>
</nav>
</main>
{% endblock %}
+34
View File
@@ -0,0 +1,34 @@
{% extends "_base.html.jinja" %}
{% block title %}Open-Source-Lizenzen &ndash; Niklas Elsbrock{% endblock %}
{% block main %}
<main>
<h1>Open-Source-Lizenzen</h1>
<h2>Schriftarten:</h2>
<h3>Überschriften: <a href="https://fontsarena.com/metropolis-by-chris-simpson/">Metropolis</a></h3>
<p>Public Domain (<a href="https://unlicense.org/">Unlicense</a>)</p>
<h3>Text: <a href="https://github.com/rsms/inter">Inter</a></h3>
<p>
Copyright (c) 2016-2020 The Inter Project Authors.<br />
"Inter" is trademark of Rasmus&nbsp;Andersson.<br />
Licensed under the <a href="https://scripts.sil.org/OFL">SIL Open Font License, Version 1.1</a>.
</p>
<h3>Icons: <a href="https://fontawesome.com/">Font Awesome Free</a></h3>
<p>
Copyright (c) 2024 Fonticons, Inc.<br />
with Reserved Font Name: "Font Awesome".<br />
Licensed under the <a href="https://scripts.sil.org/OFL">SIL Open Font License, Version 1.1</a>.
</p>
<hr />
<p>
<a href="/" data-icon="&#xf060;">Zurück zur Hauptseite</a>
</p>
</main>
{% endblock %}
+34
View File
@@ -0,0 +1,34 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xjMEYEEKrBYJKwYBBAHaRw8BAQdAMnvJCDOYsUNINJOPgvZE3iE0O6VgTw5HDnND
nnkd8KnNI05pa2xhcyBFbHNicm9jayA8bWFpbEBuZWxzYnJvY2suZGU+wpkEExYI
AEECGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4ACGQEWIQTYMKWUelsRc6iQiDLr
s+RQYaOq0wUCaPYmYgUJEJrN1AAKCRDrs+RQYaOq06yBAP9TrhPTIEzJJdRj+AxD
Bm7QrCeexyDt8mRSi+UkeD8WuwEAoA9QTpigqpIHmuYrPK4VcJ6rtImutepvJWA3
f0OvdAbCwD8EFhYKALEFgmj2SIYJEOuz5FBho6rTRxQAAAAAAB4AIHNhbHRAbm90
YXRpb25zLnNlcXVvaWEtcGdwLm9yZ6j4DdA2Qim6sQz1X5gVKi9h1dPIMi7EAS1I
u+yoWNUBFiEE2DCllHpbEXOokIgy67PkUGGjqtNBpXhPICd21RNDgb1loe8NXp8P
QNr/s0DIeHEEqXVa7SAH4AUyupHIAhEZFDmqv3eawO6fEtmlQoWAe7TR9beANuIA
AGICAP4yR4Xkqjdu0zlLf4q759N3BCvEEGklUwRi/ECNd3FkowEAx+uLz+EmK0HR
yNI8HMEPsnqpSquYvYyrf12j0SvsHwTCwXMEEwEIAAYFAmP6FccAIQkQXlzMtKS/
Q9cWIQSGTouVHs/ASvK7Iz5eXMy0pL9D15LhD/4npNOYpq2X8rMdFWOZaQ+kECbO
CG4RG8QaJXNSnYJHEPjaWpPAl6AwJYFm08NQmdbgfAQBzxQC+Sr3NFgyj+W6YGdb
KmlQmjEzUQsUCol9nSq/GUrHC5ooKVp31XNLNuV30P1uZJOshwKSH4g/xSMKogQD
2xN/A77jjlcb/1QLRxi3ryDpLOEuk9pe99A+xaSxDJVMCCoo4lXlholET0hjhP9J
b6tPH8wtbWRMdOVfnTfS9yduPrRc/YPLy15xSsgwqAILyMY4CcyEMLHeyBqKCBY6
63RlhmfCpi5wLkXaLkb+wBgUbcAi2KJ2j/URO7ommCSvWppbbXiJCzvHAn0mImJ9
Mo/nhNqn576wr35T5krpDw95fP8Of62MjlfTX84hgFDc0oaOuxPo+4pmCrdSosv1
xpl0PfKIn0rT8rJYCmgnlZB6HWXrkmkNPWbGznVDHi2LxsbQHv7r89dmULKrcBuV
jlJpGEUUW3iozSFgTKtoMosZ0+HN3zC+N1EUZnrhXRX0Cm/XG+SWj0u7dHODa6HC
oGaA6D5WuGw3ApJHGXvVSdrXaOx0sCzbeMZkp+10Q/8v1zkZkQ5cLpcSrdN6Q8s2
dkd0Z7QSJUgEZZR01VhRsHLxW0ztJho+Oz7j6/+J+0nFaY/tFxsgHsR7d+oBUc1q
FWJqNxsbqmHiaHJZJs4zBGQwiUAWCSsGAQQB2kcPAQEHQJbQPzSGBGWUvB8zLUgW
ZL9sGI6gwLeqtj2JyskU4jg1wngEGBYIACACGyAWIQTYMKWUelsRc6iQiDLrs+RQ
YaOq0wUCaPYXZQAKCRDrs+RQYaOq0zjaAQCpYHb05FY9uDUHabBkdSLTYgD+mAHl
Pp/KC7yRjbTSPQEAhlggSW02FG1vJ8mIfzvzUrvVM4/0jxOWq/cpl7ndVgPOOARg
QQqsEgorBgEEAZdVAQUBAQdAy0etPTsX2mL1wMopD+QGkC1rq1c/KitGYcsBRkIM
RDMDAQgHwngEGBYIACACGwwWIQTYMKWUelsRc6iQiDLrs+RQYaOq0wUCaPYXYQAK
CRDrs+RQYaOq096KAP47dWc6mTxNxgGgtA6mBSSS5J6TnH7aFo+j5seVZWQ35QEA
u+dYrACDzFJxmVdjpbURRBevVYthZxn5asfWKe/YkAQ=
=5nMm
-----END PGP PUBLIC KEY BLOCK-----
+27
View File
@@ -0,0 +1,27 @@
{% extends "_base.html.jinja" %}
{% block title %}Datenschutz &ndash; Niklas Elsbrock{% endblock %}
{% block main %}
<main>
<h1>Datenschutz</h1>
<p>Verantwortlich für diese Website ist</p>
<address>
Niklas Elsbrock<br />
<a href="mailto:mail@nelsbrock.de">mail@nelsbrock.de</a>
</address>
<h2>Keine Erfassung von Besucherinformationen</h2>
<p>
Beim Besuch der Website unter www.nelsbrock.de werden keine
personenbezogenen Daten verarbeitet. Zugriffsprotokolle sind
deaktiviert.
</p>
<hr />
<p>
<a href="/" data-icon="&#xf060;">Zurück zur Hauptseite</a>
</p>
</main>
{% endblock %}
@@ -23,7 +23,7 @@ as SVG and JS file types.
In the Font Awesome Free download, the SIL OFL license applies to all icons
packaged as web and desktop font files.
Copyright (c) 2022 Fonticons, Inc. (https://fontawesome.com)
Copyright (c) 2024 Fonticons, Inc. (https://fontawesome.com)
with Reserved Font Name: "Font Awesome".
This Font Software is licensed under the SIL Open Font License, Version 1.1.
@@ -123,7 +123,7 @@ OTHER DEALINGS IN THE FONT SOFTWARE.
In the Font Awesome Free download, the MIT license applies to all non-font and
non-icon files.
Copyright 2022 Fonticons, Inc.
Copyright 2024 Fonticons, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in the
Binary file not shown.
Binary file not shown.
+56 -60
View File
@@ -1,15 +1,16 @@
/*
* Cascading Style Sheets für www.nelsbrock.de
* Copyright © 2025 Niklas Elsbrock
* Copyright © 2026 Niklas Elsbrock
*/
:root {
--bg-color: #0e180e;
--text-color: #c9c9c9;
--deco-color: #c9c9c9;
--link-color: #c9c9c9;
--link-hover-color: #ffffff;
--footer-text-color: #888888;
--text-color: hsl(0, 0%, 100%);
--deco-color: hsla(0, 0%, 100%, 0.4);
--card-link-color: var(--text-color);
--card-link-hover-color: var(--text-color);
--footer-bg-color: hsla(0, 0%, 0%, 0.6);
--footer-border-color: hsla(0, 0%, 0%, 0.25);
--footer-text-color: hsl(0, 0%, 100%);
}
@font-face {
@@ -136,23 +137,28 @@
}
html {
font-size: 20px;
}
html,
body {
width: 100%;
height: 100%;
font-size: 20px;
scrollbar-width: none;
scroll-snap-type: y proximity;
}
body {
height: 100%;
margin: 0;
color: var(--text-color);
background: linear-gradient(150deg, rgba(132, 58, 181, 1) 0%, rgba(207, 21, 21, 1) 80%, rgba(230, 126, 34, 1) 100%);
background-repeat: no-repeat;
background-attachment: fixed;
font-family: Inter, sans-serif;
}
.viewstretch {
min-height: 100%;
display: flex;
justify-content: center;
align-items: center;
margin: 0;
color: var(--text-color);
background-color: var(--bg-color);
font-family: Inter, sans-serif;
scroll-snap-align: start;
}
h1,
@@ -161,25 +167,26 @@ h3,
h4,
h5,
h6 {
margin: 2rem 0 1rem 0;
font-family: Metropolis, sans-serif;
}
hr {
margin: 2rem 0;
border: 4px solid var(--deco-color);
border-radius: 4px;
}
main {
max-width: 40rem;
margin: 2rem;
animation: fadeIn ease 1s;
animation-iteration-count: 1;
}
.card {
display: flex;
}
.card > * {
margin: 0.5rem 1rem;
gap: 2.25rem;
}
.card .main-info {
@@ -189,6 +196,7 @@ main {
}
.card hr {
margin: 0;
animation: enlargeY ease 1s;
animation-iteration-count: 1;
}
@@ -210,13 +218,13 @@ main {
.card nav a {
display: inline-block;
width: 100%;
color: var(--link-color);
color: var(--card-link-color);
text-decoration: none;
transition: color 0.25s;
}
.card nav a:hover {
color: var(--link-hover-color);
color: var(--card-link-hover-color);
}
.card nav a::before {
@@ -226,20 +234,32 @@ main {
margin: 0;
}
.card nav a.link-github::before {
content: "\f09b";
}
.card nav a.link-email::before {
content: "\f0e0";
}
.card nav a.link-pgp-key::before {
content: "\f084";
}
.card nav li::after {
width: 0;
color: var(--card-link-hover-color);
float: right;
display: inline-block;
content: "\f100";
font-family: 'Font Awesome 6 Free Solid';
opacity: 0;
translate: 4em;
translate: 2.5em;
}
.card nav li:hover::after {
opacity: 1;
translate: 1em;
transition: all 0.5s ease-out;
transition: all 0.375s ease-out;
}
.card nav li:active::after {
@@ -247,42 +267,14 @@ main {
transition: all 0.05s linear;
}
/* ----- GITHUB LINK ----- */
.card nav a.link-github:hover {
color: #00bfff;
}
.card nav a.link-github::before {
content: "\f09b";
}
/* ----- E-MAIL LINK ----- */
.card nav a.link-email:hover {
color: #ff7700;
}
.card nav a.link-email::before {
content: "\f0e0";
}
/* ----- PGP KEY LINK ----- */
.card nav a.link-pgp-key:hover {
color: #cf3fff;
}
.card nav a.link-pgp-key::before {
content: "\f084";
}
/* ------------------------ */
footer {
position: absolute;
right: 0;
bottom: 0;
margin: 0.25rem;
font-size: 0.6rem;
padding: 1rem;
text-align: center;
font-size: 0.75rem;
color: var(--footer-text-color);
border-top: 4px solid var(--footer-border-color);
background-color: var(--footer-bg-color);
scroll-snap-align: end;
}
a {
@@ -311,6 +303,10 @@ a[data-icon]::before {
animation-name: moveFromTop;
}
.card .main-info p {
margin-bottom: 0;
}
.card hr {
animation-name: enlargeX;
}
+1 -1
View File
@@ -1,5 +1,5 @@
User-agent: *
Disallow: /licenses.html
Disallow: /
# _ _ _ _ _ _