Compare commits
12 Commits
38467a8bc2
...
master
Author | SHA1 | Date | |
---|---|---|---|
46204cd8d3 | |||
51d9d2898e | |||
8c4b2ad17c | |||
1282cde58d | |||
a95416518b | |||
6a553e315a | |||
a7a12999fe | |||
17170b52c5 | |||
646f4b0e87 | |||
7d025bb4bf | |||
3af5905eac | |||
b651fb7a91 |
7
LICENSE
Normal file
7
LICENSE
Normal file
@ -0,0 +1,7 @@
|
||||
Copyright (C) 2025 Niklas Birk
|
||||
|
||||
Dieses Programm ist freie Software: Sie können es unter den Bedingungen der GNU General Public License, Version 3, die mit diesem Programm ausgeliefert wird, weiterverbreiten und/oder modifizieren.
|
||||
|
||||
Dieses Programm wird in der Hoffnung, dass es Ihnen nützlich sein wird, aber ohne jegliche Garantie, sogar ohne die implizite Garantie der Marktfähigkeit oder der Eignung für einen bestimmten Zweck, weitergegeben.
|
||||
|
||||
Sie sollten eine Kopie der Lizenz zusammen mit diesem Programm erhalten haben. Falls nicht, siehe <http://www.gnu.org/licenses/>.
|
16797
package-lock.json
generated
16797
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
12
package.json
12
package.json
@ -3,14 +3,14 @@
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@nextui-org/react": "^1.0.0-beta.9",
|
||||
"@testing-library/jest-dom": "^5.16.4",
|
||||
"@testing-library/react": "^13.3.0",
|
||||
"@testing-library/user-event": "^13.5.0",
|
||||
"@nextui-org/react": "^1.0.0-beta.13",
|
||||
"@testing-library/jest-dom": "^5.16.5",
|
||||
"@testing-library/react": "^14.0.0",
|
||||
"@testing-library/user-event": "^14.4.3",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-scripts": "5.0.1",
|
||||
"web-vitals": "^2.1.4"
|
||||
"react-scripts": "^5.0.1",
|
||||
"web-vitals": "^3.3.2"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "react-scripts start",
|
||||
|
@ -1,66 +1,117 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
<meta charset="UTF-8">
|
||||
<title>Impressum und Datenschutz</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Fira Code', monospace;
|
||||
background-color: #282a36;
|
||||
color: #f8f8f2;
|
||||
max-width: 900px;
|
||||
margin: 0 auto;
|
||||
padding: 2rem;
|
||||
}
|
||||
h1, h2 {
|
||||
color: #bd93f9;
|
||||
border-bottom: 1px solid #44475a;
|
||||
padding-bottom: 0.3em;
|
||||
}
|
||||
h3 {
|
||||
color: #50fa7b;
|
||||
margin-top: 1.2em;
|
||||
}
|
||||
a {
|
||||
color: #8be9fd;
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
code {
|
||||
background: #44475a;
|
||||
color: #f1fa8c;
|
||||
padding: 0.2em 0.4em;
|
||||
border-radius: 4px;
|
||||
}
|
||||
ol {
|
||||
padding-left: 1.2rem;
|
||||
}
|
||||
footer {
|
||||
margin-top: 3rem;
|
||||
border-top: 1px solid #44475a;
|
||||
padding-top: 1rem;
|
||||
color: #6272a4;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class='impressum'>
|
||||
<h1>Impressum</h1>
|
||||
<p>Angaben gemäß § 5 TMG</p>
|
||||
<p>
|
||||
Niklas Birk <br>
|
||||
Agricolastraße 16<br>
|
||||
09599 Freiberg <br>
|
||||
</p>
|
||||
<p>
|
||||
<strong>Kontakt:</strong> <br>
|
||||
Telefon: 0173-5147078<br>
|
||||
E-Mail: <a href='mailto:niklas.birk@niklas-birk.de'>niklas.birk@niklas-birk.de</a>
|
||||
</p>
|
||||
<p>
|
||||
<strong>Haftungsausschluss: </strong>
|
||||
<br><br>
|
||||
<strong>Haftung für Inhalte</strong>
|
||||
<br><br>
|
||||
Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt.
|
||||
Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen.
|
||||
Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen
|
||||
Gesetzen verantwortlich.
|
||||
Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte
|
||||
fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit
|
||||
hinweisen.
|
||||
Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben
|
||||
hiervon unberührt.
|
||||
Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung
|
||||
möglich.
|
||||
Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.
|
||||
<br><br>
|
||||
<strong>Haftung für Links</strong>
|
||||
<br><br>
|
||||
Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben.
|
||||
Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen.
|
||||
Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich.
|
||||
Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft.
|
||||
Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar.
|
||||
Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer
|
||||
Rechtsverletzung nicht zumutbar.
|
||||
Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.
|
||||
<br><br>
|
||||
<strong>Datenschutz</strong>
|
||||
<br><br>
|
||||
Die Nutzung unserer Webseite ist in der Regel ohne Angabe personenbezogener Daten möglich.
|
||||
Soweit auf unseren Seiten personenbezogene Daten (beispielsweise Name, Anschrift oder eMail-Adressen) erhoben
|
||||
werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis.
|
||||
Diese Daten werden ohne Ihre ausdrückliche Zustimmung nicht an Dritte weitergegeben. <br>
|
||||
Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail)
|
||||
Sicherheitslücken aufweisen kann.
|
||||
Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich. <br>
|
||||
Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten durch Dritte zur Übersendung von
|
||||
nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit ausdrücklich widersprochen.
|
||||
Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von
|
||||
Werbeinformationen, etwa durch Spam-Mails, vor.<br>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h1 id="impressum">Impressum</h1>
|
||||
<p>
|
||||
Angaben gemäß § 5 TMG:<br>
|
||||
<strong>Niklas Birk</strong><br>
|
||||
Wiesertsweiler 26<br>
|
||||
88069 Tettnang<br>
|
||||
E-Mail: <a href="mailto:me@niklas-birk.de">me@niklas-birk.de</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV:<br>
|
||||
<strong>Niklas Birk</strong> (Anschrift wie oben)
|
||||
</p>
|
||||
|
||||
<h2>Datenschutzerklärung</h2>
|
||||
<ol>
|
||||
<li>
|
||||
<h3>Allgemeines</h3>
|
||||
<p>Diese Website verarbeitet keine personenbezogenen Daten über das technisch notwendige Maß hinaus. Kein Tracking, keine Logfiles.</p>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Verantwortlicher</h3>
|
||||
<p>siehe <a href="#impressum">Impressum</a>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Cookies</h3>
|
||||
<p>Es werden nur essentielle Cookies gesetzt:</p>
|
||||
<ul>
|
||||
<li><code>i_like_gitea</code> – Sitzungs-Cookie von Gitea</li>
|
||||
<li><code>_csrf</code> – Schutz vor Cross-Site Request Forgery</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Hosting</h3>
|
||||
<p>Die Website wird auf einem virtuellen Server der STRATO AG, Pascalstraße 10, 10587 Berlin, betrieben. Der Server wird ausschließlich von mir administriert. STRATO kann jedoch im Rahmen der technischen Infrastruktur automatisch Meta-Daten wie IP-Adressen kurzzeitig verarbeiten (z.B. zur Gefahrenabwehr). Eine darüber hinausgehende Verarbeitung personenbezogener Daten erfolgt meinerseits nicht.</p>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Keine Server-Logs</h3>
|
||||
<p>Der Webserver speichert keine IP-Adressen oder Zeitstempel.</p>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Deine Rechte</h3>
|
||||
<p>Da keine Daten gespeichert werden, sind Auskunft, Berichtigung oder Löschung in der Praxis nicht erforderlich.</p>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<h2>Haftungsausschluss</h2>
|
||||
<ol>
|
||||
<li>
|
||||
<h3>Inhalte</h3>
|
||||
<p>Ich übernehme keine Gewähr für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte.</p>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Links</h3>
|
||||
<p>Externe Links führen zu Inhalten Dritter, für die ich keine Haftung übernehme.</p>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<h2>Urheberrecht und Lizenz</h2>
|
||||
<p>Alle Inhalte dieser Website und die zugehörigen Software-Projekte sind lizenziert unter der <a href="https://www.gnu.org/licenses/gpl-3.0.html" target="_blank">GNU General Public License, Version 3 (GPL v3)</a>.</p>
|
||||
|
||||
<footer>
|
||||
<p>Letzte Aktualisierung: April 2025 • Dracula Vibes</p>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
@ -10,7 +10,12 @@
|
||||
name="Niklas Birk"
|
||||
/>
|
||||
<link href="%PUBLIC_URL%/manifest.json" rel="manifest"/>
|
||||
<link href="https://mathstodon.xyz/@SirNik" rel="me">
|
||||
|
||||
<title>Niklas Birk</title>
|
||||
<meta name="description"
|
||||
content="Das ist die Website von Niklas Birk, B.Sc. und angehender Diplom-Mathematiker.
|
||||
Hier findest du Links zu meinem eigenen Git-Repository und meinen Inhalten zur Mathematik.">
|
||||
</head>
|
||||
<body>
|
||||
<noscript>You need to enable JavaScript to run this app.</noscript>
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
BIN
src/assets/niklas-birk-logo.png
Executable file → Normal file
BIN
src/assets/niklas-birk-logo.png
Executable file → Normal file
Binary file not shown.
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 56 KiB |
@ -1,53 +1,51 @@
|
||||
import {Card, Col, Text} from "@nextui-org/react";
|
||||
import {Button, Card, Col, Row, Text} from "@nextui-org/react";
|
||||
|
||||
function ServiceCard(props) {
|
||||
return (
|
||||
<Card isPressable>
|
||||
<Card.Header css={{ position: "absolute", zIndex: 1, top: 5}}>
|
||||
<Card isPressable isHoverable onClick={() => window.open(props.url)}>
|
||||
<Card.Header css={{ position: "absolute", zIndex: 1, top: 5 }}>
|
||||
<Col>
|
||||
<Text size={12} weight="bold" transform="uppercase">
|
||||
<Text color='$draculaCyan' size={12} weight="bold" transform="uppercase">
|
||||
{props.introText}
|
||||
</Text>
|
||||
<Text h3>
|
||||
<Text color='$draculaCyan' h3>
|
||||
{props.serviceText}
|
||||
</Text>
|
||||
<Text size={12} weight="bold" transform="uppercase">
|
||||
<Text color='$draculaCyan' size={12} weight="bold" transform="uppercase">
|
||||
{props.vendorText}
|
||||
</Text>
|
||||
</Col>
|
||||
</Card.Header>
|
||||
<Card.Body css={{ p: 0 }}>
|
||||
<Card.Body>
|
||||
<Card.Image
|
||||
src={props.logo}
|
||||
// width="50%"
|
||||
// height="50%"
|
||||
objectFit="fill"
|
||||
alt="Card example background"
|
||||
/>
|
||||
</Card.Body>
|
||||
{/*<Card.Footer*/}
|
||||
{/* isBlurred*/}
|
||||
{/* css={{*/}
|
||||
{/* position: "absolute",*/}
|
||||
{/* bgBlur: "$draculaCurrentLine",*/}
|
||||
{/* borderTop: "$borderWeights$light solid rgba(255, 255, 255, 0.2)",*/}
|
||||
{/* bottom: 0,*/}
|
||||
{/* zIndex: 1,*/}
|
||||
{/* }}>*/}
|
||||
{/* <Row justify="center">*/}
|
||||
{/* <Button flat auto rounded color="primary">*/}
|
||||
{/* <Text*/}
|
||||
{/* css={{*/}
|
||||
{/* color: "inherit"*/}
|
||||
{/* }}*/}
|
||||
{/* size={12}*/}
|
||||
{/* weight="bold"*/}
|
||||
{/* transform="uppercase">*/}
|
||||
{/* Zu den Repositories*/}
|
||||
{/* </Text>*/}
|
||||
{/* </Button>*/}
|
||||
{/* </Row>*/}
|
||||
{/*</Card.Footer>*/}
|
||||
<Card.Footer
|
||||
isBlurred
|
||||
css={{
|
||||
position: "absolute",
|
||||
bgBlur: "$draculaCurrentLineAlpha",
|
||||
borderTop: "$borderWeights$light solid rgba(248, 248, 248, 0.5)",
|
||||
bottom: 0,
|
||||
zIndex: 1
|
||||
}}>
|
||||
<Row justify="center">
|
||||
<Button auto rounded color="primary" onClick={() => window.open(props.url)}>
|
||||
<Text
|
||||
css={{
|
||||
color: "inherit"
|
||||
}}
|
||||
size={12}
|
||||
weight="bold"
|
||||
transform="uppercase">
|
||||
{props.buttonText}
|
||||
</Text>
|
||||
</Button>
|
||||
</Row>
|
||||
</Card.Footer>
|
||||
</Card>
|
||||
|
||||
// <div id="niklas-birk-root">
|
||||
|
@ -6,39 +6,25 @@ import blogLogo from "../assets/blog_logo.png";
|
||||
function Services() {
|
||||
return (
|
||||
<Grid.Container gap={2} justify="center">
|
||||
<Grid xs={3}>
|
||||
<Grid>
|
||||
<ServiceCard
|
||||
introText="Meine self-hosted"
|
||||
serviceText="git Repositories"
|
||||
vendorText="mit Gitea"
|
||||
logo={gitLogo} />
|
||||
logo={gitLogo}
|
||||
buttonText="Zu den Repositories"
|
||||
url='https://git.niklas-birk.de' />
|
||||
</Grid>
|
||||
<Grid xs={3}>
|
||||
<Grid>
|
||||
<ServiceCard
|
||||
introText="Mein self-hosted"
|
||||
serviceText="Blog"
|
||||
vendorText="über Mathematik"
|
||||
logo={blogLogo} />
|
||||
logo={blogLogo}
|
||||
buttonText="Zum Blog"
|
||||
url='https://math.niklas-birk.de' />
|
||||
</Grid>
|
||||
</Grid.Container>
|
||||
|
||||
// <div id="niklas-birk-root">
|
||||
// <img id="logo" alt="Ein Logo von Niklas Birk" src={logo}/>
|
||||
// <div>
|
||||
// <h1>Work in Progress</h1>
|
||||
// Das ist eine Seite im Aufbau.
|
||||
// <br/><br/>
|
||||
// Wichtige links:
|
||||
// <ul>
|
||||
// <li> Mail an <a href="mailto://niklas.birk@niklas-birk.de"> niklas.birk@niklas-birk.de </a></li>
|
||||
// <li> Meine self-hosted git repositories bei <a href="https://git.niklas-birk.de">Gitea</a></li>
|
||||
// <li> Mein self-hosted <a href="https://blog.niklas-birk.de">Blog</a></li>
|
||||
// <li> Meine self-hosted <a href="https://survey.niklas-birk.de">Umfragen</a></li>
|
||||
// <li> ...</li>
|
||||
// </ul>
|
||||
// </div>
|
||||
// <a href={process.env.PUBLIC_URL + 'impressum.html'}>Impressum und Datenschutz</a>
|
||||
// </div>
|
||||
);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user