Compare commits
17
Commits
fa3ab8ab36
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dd95c144f3
|
||
|
|
95a91d9aca
|
||
|
|
adadafca15
|
||
|
|
224926a9c8
|
||
|
|
f8435c95a3
|
||
|
|
5e912ce3d4
|
||
|
|
c5e71a7fd4
|
||
|
|
ca109bcdd8
|
||
|
|
4eb522ed23
|
||
|
|
306f20d132
|
||
|
|
dc34abb731
|
||
|
|
6fd5635111
|
||
|
|
4409e3e0c5
|
||
|
|
131fc85c1d
|
||
|
|
c93ff7c562
|
||
|
|
20d7e105ec
|
||
|
|
d16d574db9
|
@@ -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
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/dist
|
||||||
@@ -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
@@ -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 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>
|
|
||||||
© 2025 Niklas Elsbrock
|
|
||||||
· <a href="/licenses.html">Open-Source-Lizenzen</a>
|
|
||||||
</footer>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
|
|
||||||
<!-- Copyright © 2025 Niklas Elsbrock -->
|
|
||||||
|
|
||||||
<html lang="de">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<title>Niklas Elsbrock – 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 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="">Zurück zur Hauptseite</a>
|
|
||||||
</p>
|
|
||||||
</main>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
-44
@@ -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.
Binary file not shown.
@@ -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>
|
||||||
|
© {{ copyright_year }} Niklas Elsbrock
|
||||||
|
· <a href="/privacy.html">Datenschutz</a>
|
||||||
|
· <a href="/licenses.html">Open-Source-Lizenzen</a>
|
||||||
|
</p>
|
||||||
|
<p>Geeignet für Allergiker: Diese Website enthält kein JavaScript.</p>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{% extends "_base.html.jinja" %}
|
||||||
|
|
||||||
|
{% block title %}Niklas Elsbrock{% endblock %}
|
||||||
|
|
||||||
|
{% block main %}
|
||||||
|
<main class="card">
|
||||||
|
<div class="main-info">
|
||||||
|
<h1>Niklas 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 %}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
{% extends "_base.html.jinja" %}
|
||||||
|
|
||||||
|
{% block title %}Open-Source-Lizenzen – 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 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="">Zurück zur Hauptseite</a>
|
||||||
|
</p>
|
||||||
|
</main>
|
||||||
|
{% endblock %}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
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
|
||||||
|
=5nMm
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
{% extends "_base.html.jinja" %}
|
||||||
|
|
||||||
|
{% block title %}Datenschutz – 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="">Zurück zur Hauptseite</a>
|
||||||
|
</p>
|
||||||
|
</main>
|
||||||
|
{% endblock %}
|
||||||
+2
-2
@@ -23,7 +23,7 @@ as SVG and JS file types.
|
|||||||
In the Font Awesome Free download, the SIL OFL license applies to all icons
|
In the Font Awesome Free download, the SIL OFL license applies to all icons
|
||||||
packaged as web and desktop font files.
|
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".
|
with Reserved Font Name: "Font Awesome".
|
||||||
|
|
||||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
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
|
In the Font Awesome Free download, the MIT license applies to all non-font and
|
||||||
non-icon files.
|
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
|
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
|
this software and associated documentation files (the "Software"), to deal in the
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1,15 +1,16 @@
|
|||||||
/*
|
/*
|
||||||
* Cascading Style Sheets für www.nelsbrock.de
|
* Cascading Style Sheets für www.nelsbrock.de
|
||||||
* Copyright © 2025 Niklas Elsbrock
|
* Copyright © 2026 Niklas Elsbrock
|
||||||
*/
|
*/
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--bg-color: #0e180e;
|
--text-color: hsl(0, 0%, 100%);
|
||||||
--text-color: #c9c9c9;
|
--deco-color: hsla(0, 0%, 100%, 0.4);
|
||||||
--deco-color: #c9c9c9;
|
--card-link-color: var(--text-color);
|
||||||
--link-color: #c9c9c9;
|
--card-link-hover-color: var(--text-color);
|
||||||
--link-hover-color: #ffffff;
|
--footer-bg-color: hsla(0, 0%, 0%, 0.6);
|
||||||
--footer-text-color: #888888;
|
--footer-border-color: hsla(0, 0%, 0%, 0.25);
|
||||||
|
--footer-text-color: hsl(0, 0%, 100%);
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
@@ -136,23 +137,28 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
html {
|
html {
|
||||||
font-size: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
html,
|
|
||||||
body {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
font-size: 20px;
|
||||||
|
scrollbar-width: none;
|
||||||
|
scroll-snap-type: y proximity;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
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;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin: 0;
|
scroll-snap-align: start;
|
||||||
color: var(--text-color);
|
|
||||||
background-color: var(--bg-color);
|
|
||||||
font-family: Inter, sans-serif;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
h1,
|
h1,
|
||||||
@@ -161,25 +167,26 @@ h3,
|
|||||||
h4,
|
h4,
|
||||||
h5,
|
h5,
|
||||||
h6 {
|
h6 {
|
||||||
|
margin: 2rem 0 1rem 0;
|
||||||
font-family: Metropolis, sans-serif;
|
font-family: Metropolis, sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
hr {
|
hr {
|
||||||
|
margin: 2rem 0;
|
||||||
border: 4px solid var(--deco-color);
|
border: 4px solid var(--deco-color);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
main {
|
main {
|
||||||
|
max-width: 40rem;
|
||||||
|
margin: 2rem;
|
||||||
animation: fadeIn ease 1s;
|
animation: fadeIn ease 1s;
|
||||||
animation-iteration-count: 1;
|
animation-iteration-count: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card {
|
.card {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
gap: 2.25rem;
|
||||||
|
|
||||||
.card > * {
|
|
||||||
margin: 0.5rem 1rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.card .main-info {
|
.card .main-info {
|
||||||
@@ -189,6 +196,7 @@ main {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.card hr {
|
.card hr {
|
||||||
|
margin: 0;
|
||||||
animation: enlargeY ease 1s;
|
animation: enlargeY ease 1s;
|
||||||
animation-iteration-count: 1;
|
animation-iteration-count: 1;
|
||||||
}
|
}
|
||||||
@@ -210,13 +218,13 @@ main {
|
|||||||
.card nav a {
|
.card nav a {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
color: var(--link-color);
|
color: var(--card-link-color);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
transition: color 0.25s;
|
transition: color 0.25s;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card nav a:hover {
|
.card nav a:hover {
|
||||||
color: var(--link-hover-color);
|
color: var(--card-link-hover-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.card nav a::before {
|
.card nav a::before {
|
||||||
@@ -226,20 +234,32 @@ main {
|
|||||||
margin: 0;
|
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 {
|
.card nav li::after {
|
||||||
width: 0;
|
width: 0;
|
||||||
|
color: var(--card-link-hover-color);
|
||||||
float: right;
|
float: right;
|
||||||
display: inline-block;
|
|
||||||
content: "\f100";
|
content: "\f100";
|
||||||
font-family: 'Font Awesome 6 Free Solid';
|
font-family: 'Font Awesome 6 Free Solid';
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
translate: 4em;
|
translate: 2.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card nav li:hover::after {
|
.card nav li:hover::after {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
translate: 1em;
|
translate: 1em;
|
||||||
transition: all 0.5s ease-out;
|
transition: all 0.375s ease-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card nav li:active::after {
|
.card nav li:active::after {
|
||||||
@@ -247,42 +267,14 @@ main {
|
|||||||
transition: all 0.05s linear;
|
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 {
|
footer {
|
||||||
position: absolute;
|
padding: 1rem;
|
||||||
right: 0;
|
text-align: center;
|
||||||
bottom: 0;
|
font-size: 0.75rem;
|
||||||
margin: 0.25rem;
|
|
||||||
font-size: 0.6rem;
|
|
||||||
color: var(--footer-text-color);
|
color: var(--footer-text-color);
|
||||||
|
border-top: 4px solid var(--footer-border-color);
|
||||||
|
background-color: var(--footer-bg-color);
|
||||||
|
scroll-snap-align: end;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
@@ -311,6 +303,10 @@ a[data-icon]::before {
|
|||||||
animation-name: moveFromTop;
|
animation-name: moveFromTop;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.card .main-info p {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
.card hr {
|
.card hr {
|
||||||
animation-name: enlargeX;
|
animation-name: enlargeX;
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
User-agent: *
|
User-agent: *
|
||||||
Disallow: /licenses.html
|
Disallow: /
|
||||||
|
|
||||||
|
|
||||||
# _ _ _ _ _ _
|
# _ _ _ _ _ _
|
||||||
Reference in New Issue
Block a user