Commits vergleichen

...

2 Commits

Autor SHA1 Nachricht Datum
Nick Slowinski f540c82714
Baisc site config + adding missing pages
Signed-off-by: Nick Slowinski <nick@nick-slowinski.de>
2024-03-31 22:23:14 +02:00
Nick Slowinski cf48c4e5c8
Add old articles from Hugo
Signed-off-by: Nick Slowinski <nick@nick-slowinski.de>
2024-03-31 17:11:21 +02:00
20 geänderte Dateien mit 444 neuen und 289 gelöschten Zeilen

5
.gitignore gevendort
Datei anzeigen

@ -17,7 +17,4 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# old blog entries
alt/**
yarn-error.log*

Datei anzeigen

@ -1,12 +0,0 @@
---
slug: first-blog-post
title: First Blog Post
authors:
name: Gao Wei
title: Docusaurus Core Team
url: https://github.com/wgao19
image_url: https://github.com/wgao19.png
tags: [hola, docusaurus]
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Datei anzeigen

@ -1,44 +0,0 @@
---
slug: long-blog-post
title: Long Blog Post
authors: endi
tags: [hello, docusaurus]
---
This is the summary of a very long blog post,
Use a `<!--` `truncate` `-->` comment to limit blog post size in the list view.
<!--truncate-->
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

Datei anzeigen

@ -0,0 +1,57 @@
---
slug: hier-wird-gerade-etwas-umgebaut
title: Hier wird gerade etwas umgebaut…
authors: NickSlowinski
---
Meine Lösungen für die Serverinfrastruktur und verwendete Software war in meinen Augen verbesserungsfähig und deshalb wird hier aktuell etwas umgebaut. :slightly_smiling_face:
Das Forum sowie die Integration mit dem TeamSpeak Server ist weiterhin unter [forum.nick-slowinski.de](https://forum.nick-slowinski.de/) erreichbar und wird zu einem späteren Zeitpunkt überarbeitet. Die alte _"Startseite"_ ist in der Übergangsphase unter [wsc.nick-slowinski.de](https://wsc.nick-slowinski.de/) erreichbar, wird jedoch zu gegebener Zeit sich stark verändern.
<!-- truncate -->
:::note
Sehr viele Inhalte im Forum sind derzeitig versteckt und nur für die Autoren der Beiträge sichtbar.
:::
# Kommende Veränderungen
## Inhalte
Interessen und Prioritäten verändern sich im Laufe des Lebens, so auch bei mir. Damals hat alles als Gaming-Community angefangen, jedoch möchte ich nicht weiter diesen Weg beschreiten. Die Wahrheit ist, ich bin in den vergangenen Jahren so oft auf's Maul geflogen mit meinen Partnern, dass ich fremden Personen recht schwer Vertrauen schenke. Als reiner technischer Admin eines Clans hat das ganze ja auch nicht geklappt. #rudel-wot
Der Fokus wird mehr in die Richtung Entwicklung gehen und ich werde mehr Open Source Projekte veröffentlichen, sowie individuelle Anfragen wie zum Beispiel _"Kannst du mir einen Bot schreiben, der meine […] auf Twitter, […] und Telegram teilt, sowie diverse Informationen zu mir und meinen Kanälen bereitstellt?"_ entgegennehmen. Ich werde hin und wieder Einblicke hinter die Kulissen geben, interessante Feststellungen mit euch teilen, aber auch die ein oder andere Anleitung veröffentlichen.
Sämtliche Seiten werden mehrsprachig gestaltet, sodass jede Seite in Deutsch und Englisch verfügbar ist. Englisch ist schlichtweg weit verbreitet und so können mehr Personen von meinen Projekten profitieren.
Das ich diesen Weg nun beschreite, bedeutet aber nicht, dass ich den jetzigen Zustand in den Boden stampfe. Der TeamSpeak Server kann und wird weiterhin für alle weiter bestehen bleiben, egal ob sie sich gerade nur mit Freunden austauschen, zusammen etwas Spielen oder jemand etwas einer anderen Person beibringt.
## Software
### Docker (Containerisierung)
Statt Programme, wie zum Beispiel einen Webserver, direkt auf dem System zu installieren möchte ich demnächst **ALLES** in Docker Container verpacken, wenn es möglich ist. Ich sehe in der Containerisierung schlichtweg die Zukunft, da dies diverse Vorteile für mich bietet.
### Webserver
Zur Zeit ist [nginx](https://de.wikipedia.org/wiki/Nginx) mein bevorzugter Webserver, doch dies könnte sich demnächst ändern, denn [Caddy v2](https://caddyserver.com/v2) ist vor kurzem als Stabile Version erschienen und scheint recht attraktiv für mich zu sein.
### Tschüss Woltlab Suite. Willkommen Hugo!
Bisher wurde die Webseite mit einem Content-Management-System ([Woltlab Suite](https://de.wikipedia.org/wiki/WoltLab_Burning_Board)) betrieben. Jede Veränderung an der Webseite bedeutete für mich, dass ich einen Internetzugang benötigte, auch wenn ich diese erst später Veröffentlichen möchte.
Mein bisheriger Ablauf, wenn ich etwas an der Webseite verändere:
1. Aufruf und Login auf der Webseite.
2. Klick dich durch die verschiedenen Menüs und bearbeite/erstell einen neuen Beitrag/Seite.
3. Schreib deine Veränderungen mit Hilfe eines [WYSIWYG-Editors](https://de.wikipedia.org/wiki/WYSIWYG).
4. Speichere deine Veränderungen und hoffe dass du dich nicht wegen Inaktivität neu einloggen musst.
[Hugo](https://de.wikipedia.org/wiki/Hugo_(Software)) allerdings ist ein statischer Websitegenerator, welcher Dateien in einer vereinfachten Auszeichnungssprache (in diesem Fall [Markdown](https://de.wikipedia.org/wiki/Markdown)) in fertige HTML-Dateien "übersetzt". Hugo liefert einige tolle Funktionen mit, weshalb ich zum Beispiel auch ohne Internetzugriff in einem Zug auf meinem Laptop an kommenden Artikeln arbeiten kann.
Der jetzige Skin ([LoveIt](https://hugoloveit.com/)) gefällt mir an sich schon sehr, jedoch werde ich an der ein oder anderen Stelle noch einmal Hand anlegen und diesen für mich abändern.
Neuer Veröffentlichungsablauf:
1. Ich schreibe im Texteditor meiner Wahl (Visual Studio Code) meinen Artikel.
2. Ich nutze [Git](https://de.wikipedia.org/wiki/Git) zur Versionsverwaltung und pushe (Hochladen) die Veränderungen auf [meinen Git-Server](https://git.nick-slowinski.de).
3. Mein [Drone](https://drone.io/)-Server baut eigentständig die Webseite neu und aktualisiert diese auf dem Webserver.
Vorteile und Anmerkungen des neuen Verfahrens (Auswahl):
* ich kann mit Markdown bereits umgehen, so wie (fast) jeder Entwickler
* Hugo hat einen eingebauten kleinen Webserver, weshalb ich mit meinem Laptop im Garten (ohne Internet) sitzen kann und trotzdem an kommenden Artikeln, Updates, Tutorials, etc. arbeiten kann
* es muss keine Datenbank abgerufen werden um mit [PHP](https://de.wikipedia.org/wiki/PHP) eine Antwort zu erstellen → Zeit- und Resourcenersparnis
* PHP wird nicht weiter benötigt für die Hauptseite → nochmals eine Zeit- und Resourcenersparnis, sowie bessere Sicherheit
* WYSIWYG-Editoren neigen dazu schlecht auf Smartphones zu funktionieren, Markdown Dateien können mit jedem Texteditor geschrieben werden
* mit Hugo kann individuell der Inahlt viel besser dargestellt werden, zum Beispiel [Grafiken](https://hugoloveit.com/theme-documentation-extended-shortcodes/#6-echarts)
* Hugo baut gesammte Webseiten in Sekundenbruchteilen

108
blog/2020-12-31-2021.md Normale Datei
Datei anzeigen

@ -0,0 +1,108 @@
---
slug: 2021
title: Der Start in das Jahr 2021
description: Nachdem das Jahr 2020 nun doch endlich vergangen ist, möchte auch ich euch – den Lesern – einen Einblick in die Zukunft geben und auch Danke sagen.
authors: NickSlowinski
---
Nachdem das Jahr 2020 nun doch endlich vergangen ist, möchte auch ich euch – den Lesern – einen Einblick in die Zukunft geben und auch Danke sagen.
## Stolperstein 2020
Ein solches Jahr wird man nie vergessen… Viel ist in diesem Jahr passiert, jedoch hat es eher einen negativen Beigeschmack – egal ob Trennung, Verlust des Arbeitsplatzes oder ein anderer Rückschlag im Leben – ich habe vieles in meinem Umfeld erlebt. Ich glaube jeder stimmt mir zu, dass dieses Jahr wohl jeder in Erinnerung halten wird. Dennoch liest man aber diesen kleinen Blogeintrag, schaut auf das Datum und merkt, es geht ja doch weiter.
<!-- truncate -->
Auch bei mir gab es Veränderungen in diesem Jahr, darunter auch ein neuer Arbeitgeber. Nach diesen 3 Monaten kann ich echt nicht behaupten, dass ich diese Entscheidung im Leben bereue – die Arbeit macht wieder Spaß, es herrscht ein tolles Arbeitsklima und ich geh wieder gerne zur Arbeit.
Meine Server liefen die letzten Jahre nur auf dem Betriebssystem CentOS, genauer gesagt auf CentOS 8. Nun hat aber Red Hat, die Firma hinter dem Betriebssystem, [angekündigt](https://www.redhat.com/en/blog/centos-stream-building-innovative-future-enterprise-linux) CentOS 8 nicht wie geplant bis Ende 2029 zu unterstützen und zu pflegen, sondern nur noch bis Ende nächsten Jahres. :rage: [Einen direkten Nachfolger oder Ersatz für CentOS gibt es aktuell nicht – zumindest nicht für mein Einsatzgebiet](https://centos.rip/). Nur mal um euch zu bespaßen – meine Optionen die ich hab (als neues Betriebssystem):
1. [CentOS Stream](https://www.centos.org/centos-stream/): "Offizieller Nachfolger von CentOS" - unterstützt im jetzigen Zustand nicht die Software, die ich benötige + mein Hass auf die ganze Sache = :thumbsdown:
2. [Red Hat Enterprise Linux](https://www.redhat.com/de/technologies/linux-platforms/enterprise-linux): Kosten von 350 USD pro Server pro Jahr => :thumbsdown: :thumbsdown: :thumbsdown:
3. [RockyLinux](https://rockylinux.org/de/): Perfekt, jedoch noch in Arbeit… :neutral_face:
4. [Unbuntu LTS](https://ubuntu.com/download/server): Hatte ich jahrelang verwendet, bis mir mal ein "zu neuer", unzureichend getesteter Kernel das System zerschossen hat (Kernel-Panic) => Halt mich lieber fern davon.
5. [Debian](https://www.debian.org/): Ist stabil und wird aktiv getestet bis Pakete in die Stable-Repos landen, etc. => :thumbsup: Wird erstmal verwendet.
## 2021 – ein Einblick
### Nicks Git-Service
Wahrscheinlich nicht für jedermann interessant, jedoch wird dieser Service in Zukunft das Herzstück meines Onlineangebotes seien. [Gitea](https://gitea.io/en-us/) kommt als Software zum Einsatz und erlaubt es mir zukünftig unabhängig von [Github.com](https://github.com/) oder [Gitlab.com](https://about.gitlab.com/) einen ähnlichen Service anbieten zu können, jedoch auf eigener Hardware mit mehr Freiheiten und geringeren Kosten.
_Der Dienst wird für Open-Source Projekte und kleine "Bastelarbeiten" frei verfügbar sein._
### Drone – ein CI/CD Tool
Die Software [Drone](https://www.drone.io/) wird eng mit Gitea zusammenarbeiten und so den Build-Prozess automatisieren und Software-Testing für euch erleichtern.
_Ressourcen der Server sind nicht unbegrenzt, daher steht noch nicht fest, ob dieser Dienst für jeden verfügbar sein wird._
### TeamSpeak Revolution?
Ich würde von euch gerne euer Feedback zum aktuellen TeamSpeak Server haben wollen, schreibt mir bitte eure Wünsche und Kritik auf einen direkten Weg und ich schau was sich machen lässt.
### Ein VPN-Server
Aus persönlichen Anlass werde ich einen VPN-Server auf der Basis von [Wireguard](https://www.wireguard.com/) in Zukunft betreiben. Wireguard ist eine sehr effiziente VPN-Software, sodass selbst ich fast meine gesamte Bandbreite von 1 GBit/s problemlos "durchgedrückt" bekomme.
_Dieser Dienst wird mit Sicherheit nur von mir und wenigen ausgewählten Leuten aus meinem Freundes- und Bekanntenkreises verfügbar sein._
### Ein neues Forum
Im Laufe des Jahres wird ein neues Forum auf Basis von [Discourse](https://www.discourse.org/) starten, der Login wird über meinen Git-Service stattfinden und als Community und Plauder-Treffpunkt Verwendung finden. Discourse bietet dabei auch Integrationen mit zum Beispiel Telegram, sodass man sich auf modernen Wegen auf dem Laufenden halten kann.
Des Weiteren wird dies der offizielle Weg sein um Support von mir zu erhalten, sei es Hilfe bei einem Dienst (siehe oben) von mir oder ein technisches Problem. Das Forum soll eine Anlaufstelle werden, wo einem geholfen wird, sei es bei einem technischen Problem oder gar eine kleine Informationssammlung für Spiele ("Wie geht was am besten in Spiel X") und Sammelort für andere kleine Tipps und Tricks.
## Danke
An dieser Stelle möchte ich **DANKE** an all diejenigen sagen, die jahrelang bereits an meiner Seite unterwegs sind und auch ein **DANKE** an alle Vollidioten mit denen ich ebenfalls zu tun hatte. Ohne den ein oder anderen hätte ich wahrscheinlich schon vor Ewigkeiten einen anderen Weg eingeschlagen und würde heute nicht hier stehen. Auch von den Vollidioten konnte ich einiges lernen, nämlich genauer hinzuschauen, wem man vertraut und wem man welche Rechte einräumt.
Ein besonderer Dank geht an:
* A.D.Performance
* Blacky82
* BooMakerone
* Dr.Schlaumixer
* GandalfGunShot
* ghosty
* Hinsane
* Luigi2Fast
* MiKa381
* Mystervolvo
* Rumblebee90
* SiberiaDevil
* SplinterXXL
* UncleBucket69
* wikinger2012
* Zerxi
* *Sowie an weitere Personen, die jedoch ihren eigenen Pfad mittlerweile beschreiten.*
*Diese Liste ist alphabetisch sortiert und spiegelt keine Rangfolge wider.*
## Euer Geschenk
Als Dankeschön erhalten die obigen aufgezählten Personen Vorabzugriff auf in Entwicklung befindliche Dienste und Programme, sowie (falls zutreffend) höhere Freiheiten (mehr Rechte, höhere Limits) und Support meinerseits, der über das Normalmaß hinausgeht. Das Hauptgeschenk ist ein E-Mail-Postfach mit 1 GB Speicher (auf Lebenszeit) – klingt nach nicht viel, jedoch betreibe ich auch keinen 08/15-Mailserver.
_Das wichtigste auf einem Blick_:
* 1 GB Speicherplatz für E-Mails (E-Mails werden in komprimierter und verschlüsselten Form gespeichert) mit einer festen "@nick-mail.de" Adresse (Erhöhung des Speicherplatzes auf Anfrage)
* unbegrenzte Anzahl an Alias-Adressen (weitere "@nick-mail.de"-Adressen)
* andere E-Mail Domains möglich (nehmt mit mir Kontakt auf)
* keine Werbung, weder im Web noch im Postfach
* Tagging von E-Mails
* Eure Adresse lautet z. B. `bob@nick-mail.de` und es wird eine E-Mail an `bob+Facebook@nick-mail.de` geschickt, je nach Einstellung wird entweder
* nichts unternommen;
* der Betreff der E-Mail wird umgeschrieben in `[Facebook] Hier steht der originale Betreff` umgeschrieben;
* die E-Mail in den Unterordner `Facebook` verschoben.
* Verschlüsselungsrichtlinie bestimmen
* Bestimme selbst, ob die verschlüsselte Übertragung von ein- und/oder ausgehende E-Mails erzwungen wird oder nicht.
* Serverseitige Filterregeln
* Anpassbarer Spamfilter
* Du kannst bestimmen ab welchen Spam-Wert eine E-Mail als Spam markiert wird (in den Spam verschoben wird), beziehungsweise ab wann eine E-Mail komplett abgelehnt wird.
* Konfigurierbare White- und Blacklists
* genauere Filterung als bei herkömmlichen Anbietern
* Quarantäne-System
* Vom Spamfilter markierte oder abgelehnte E-Mails werden gespeichert und können nachträglich in einer sicheren Umgebung betrachtet und ausgewertet werden. Je nach Einstellung kann man auch über neue Einträge im Quarantäne-System benachrichtigt werden.
* ActiveSync, CardDav- und CalDav-Unterstützung
* Noch nie war es einfacher E-Mails, Kontakte und Kalender zwischen mehreren Geräten zu Synchronisieren.
* temporäre E-Mail-Adressen
* Es können zufällige E-Mail-Adressen generiert werden, welche zwischen einer Stunde und vier Wochen gültig sind. Sie können nur für den Erhalt von E-Mails verwendet werden und noch nicht abgelaufene Adressen können verlängert werden.
* Sync-Jobs
* Mittels Sync-Jobs können E-Mails von anderen Postfächern abgerufen werden und in das aktuelle Postfach importiert werden. Man muss also nie wieder sein altes Postfach bei z.B. freenet abrufen. :wink:
* **Hinweis**: Die Einrichtung der Sync-Jobs sollte nur mit meiner Anwesenheit und Überwachung stattfinden, da bei einer fehlerhaften Konfiguration Daten verloren gehen können.
* App-Passwörter
* App-Passwörter sind alternative Passwörter für den E-Mail-Account, welche für den Zugriff über IMAP, POP3 und SMTP (regulärer Abruf von E-Mails) verwendet werden können, wenn man sein persönliches Passwort gerade nicht verwenden möchte (z. B. aus Sicherheitsgründen).
Die Verteilung der E-Mail-Accounts wird voraussichtlich am Nachmittag des 2021-01-01 beginnen.
Du hast weitere Fragen oder Bedenken? Du bist oben nicht aufgelistet, aber dennoch interessiert? Anfragen kostet nichts! Ein zeitlich begrenzter Demo-Account mit limitierten Ressourcen kann für Testzwecke jederzeit erstellt werden. Schreib mir einfach eine [E-Mail](mailto:nick@nick-slowinski.de), kontaktiere mich über [Telegram](https://t.me/NickSlowinski), im TeamSpeak (Nick1307) oder über einen anderen Weg.
Hab ich etwas vergessen zu erwähnen? Bestimmt. Aber dies wird man an einem anderen Tag erledigen können.

Datei anzeigen

@ -1,20 +0,0 @@
---
slug: mdx-blog-post
title: MDX Blog Post
authors: [slorber]
tags: [docusaurus]
---
Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/).
:::tip
Use the power of React to create interactive blog posts.
```js
<button onClick={() => alert('button clicked!')}>Click me!</button>
```
<button onClick={() => alert('button clicked!')}>Click me!</button>
:::

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 94 KiB

Datei anzeigen

@ -1,25 +0,0 @@
---
slug: welcome
title: Welcome
authors: [slorber, yangshun]
tags: [facebook, hello, docusaurus]
---
[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).
Simply add Markdown files (or folders) to the `blog` directory.
Regular blog authors can be added to `authors.yml`.
The blog post date can be extracted from filenames, such as:
- `2019-05-30-welcome.md`
- `2019-05-30-welcome/index.md`
A blog post folder can be convenient to co-locate blog post images:
![Docusaurus Plushie](./docusaurus-plushie-banner.jpeg)
The blog supports tags as well!
**And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config.

73
blog/2023-06-19-SSO-2023.md Normale Datei
Datei anzeigen

@ -0,0 +1,73 @@
---
slug: SSO-2023
title: Bevorstehende Kontoveränderungen
description: Noch im Laufe diesen Jahres werden bestehende Konten vom Git-Service zu einer neuen Single-Sign-On Platform migriert.
authors: NickSlowinski
tags: [Konto, SSO, Git]
---
_**TL;DR: Euer Benutzerkonto befindet sich später auf einer separaten Webseite von mir mit gleichem Datenschutz.**_
Noch im Laufe dieses Jahres werden bestehende Konten vom Git-Service zu einer neuen Single-Sign-On Platform migriert.
Aktuell bietet mein [Git-Service](https://git.nick-slowinski.de) bereits in eingeschränkter Form diese Funktionalität, aber es gibt viele Kleinigkeiten, die deutlich besser sein könnten.
<!-- truncate -->
## Was Forgejo/Gitea bisher gut macht
* Unterstützung für Zwei-Faktoren-Authentisierung und Hardware Sicherheitsschlüssel
* OAuth2[^2] / OpenID Connect[^2] Provider
* so gut wie alles andere :smile:
## Was Forgejo/Gitea bisher nicht so gut macht
* Keine gute Möglichkeit eine erneute Zustimmung bei Änderungen der Nutzungsbestimmungen oder ähnlichen einzuholen.
* Schlechte Spam- und Bot-Abwehr, trotz hCaptcha.
* Nutzungsbestimmungen und Datenschutzerklärungen sind kein Standard - aktuell wird ein "hacky way" (Umweg) verwendet, um geltende Gesetze einzuhalten.
## Was sich ändert
Ende Q3 dieses Jahres plant Red Hat die neueste Version von *Red Hat Build of Keycloak* (fortlaufend als *RHBK* bezeichnet), bisher unter dem Namen *Red Hat Single-Sign-On* bekannt, zu veröffentlichen.[^1]
Mit dem Erscheinen der ersten Vorabversionen werde ich erste Tests starten und RHBK in einer geschlossenen Testphase parallel zum bisherigen System einsetzen.
RHBK wird es mir ermöglichen weitere sehr interessante Software einzusetzen und in das bestehende System von Services zu integrieren. RHBK bietet mir nicht nur die Möglichkeit bestehende Services über OAuth2[^2] und OpenID Connect[^2] anzubinden, sondern auch über SAML 2.0[^2]. Keycloak und RHBK stellen zudem auch die Möglichkeit der Authentisierung über [Kerberos](https://de.wikipedia.org/wiki/Kerberos_(Protokoll)) und entsprechende Schnittstellen für [LDAP](https://de.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol) und [Active Directory](https://de.wikipedia.org/wiki/Active_Directory)[^3]. Es besteht weiterhin die Chance mehrere sogenannte Realms (Benutzerumgebungen) zu erstellen, sodass ein RHBK-Server mehrere Sets an Anmeldedaten bevorraten kann, z.B. für andere Projekte oder als Identitätsprovider für Partner.
## Mögliche Fragen
### Wann genau findet der Wechsel statt?
Ein genaues Zeitfenster kann ich zum jetzigen Zeitpunkt nicht festlegen, da es bisher noch keine genauen Informationen zur Veröffentlichung von RHBK 22 gibt. In der Zwischenzeit bis zur Veröffentlichung werde ich mich bereits mit Keycloak vertraut machen, damit ich später nicht bei null anfange.
### Wo finde ich später das neue Anmeldeportal?
Dies ist bisher auch noch nicht zu 100 Prozent beschlossen. Mein aktueller Favorit ist `accounts.nick-slowinski.de`, welcher es mir mit Namen (in E-Mails, als Service, etc.) recht einfach macht.
### Was passiert mit bestehenden Konten bei Nicks Git-Service?
Eine genaue Auskunft kann ich zum jetzigen Zeitpunkt auch noch nicht geben, aber [bestehende Konten](https://git.nick-slowinski.de/explore/users) werden notfalls von mir händisch übertragen, sodass Ihr nur nochmal den Nutzungsbestimmungen zustimmen und ggf. euer Passwort neu setzen müsst. Nach der Umstellung wird es einen separaten Artikel geben, was genau getan werden muss, welcher auch hier verlinkt wird.
### Warum RHBK und nicht gleich [Keycloak](https://www.keycloak.org)?
Ich arbeite Vollzeit (40 Stunden) pro Woche und betreibe meine Webseiten und Services aus persönlichen Interesse nebenbei - meine Zeit für die Pflege der Server ist also begrenzt. Umso mehr muss ich mich darauf verlassen können, dass eingesetzte Software stabil läuft und sie keine Probleme verursacht.
Ich könnte zwar auch einfach jetzt schon Keycloak, den Upstream von RHBK, einsetzen und das gleiche Ziel erreichen und kommende Features eher erhalten, aber die Gefahr von unplanmäßigen Arbeiten ist mir zu hoch. In meinen Augen verhält sich Keycloak zu RHBK wie Fedora zu Red Hat Enterprise Linux - man kann mit Fedora durchaus kompetente Server betreiben und die neuesten Cutting-Edge Techniken einsetzen, doch Cutting-Edge bedeutet auch, dass hin und wieder mal was kaputtgeht und das ist schlecht, wenn genau der zentrale Anmeldeserver ausfällt. :sweat_smile:
### Wenn RHBK eine Enterprise Lösung ist, entstehen dann nicht auch Kosten?
Wahrscheinlich nicht, denn meine aktuelle Subskription (Red Hat Developer Subscription for Individuals) deckt alle benötigten Softwarelizenzen bereits ab und ich erwarte nicht, dass Red Hat eine extra SKU für RHBK einführen wird.
### Warum setzt du bis zur Veröffentlichung von RHBK nicht Red Hat Single Sign-On 7.6 ein?
Das Ende des 3. Quartal ist nun auch nicht mehr weit entfernt und ich möchte einfach doppelte Arbeit vermeiden, da doch ein großer Unterschied zwischen RHBK und RH-SSO besteht - RH-SSO wird daher nicht eingesetzt.
### Kann sich noch etwas ändern?
Natürlich, aber ich denke schon, dass die oben beschriebene grobe Richtung eingeschlagen wird.
[^1]: [Red Hat Customer Portal](https://access.redhat.com/articles/6644111) (letzter Abruf: 2023-06-19 16:00 MESZ):
> RH-SSO will be rebranded as the Red Hat Build of Keycloak (RHBK). The product version of RHBK will align with Keycloak community versioning. The first release of RHBK will be RHBK 22 which is currently planned for end of Q3 2023. RHBK will be based on Quarkus as the runtime platform used to build and run Keycloak. RHBK aims to provide a reduced startup time, lower memory footprint, container-first approach, better developer experience, zero-downtime upgrade, and a strong focus on usability and scalability.
[^2]: OAuth2, OpenID Connect und SAML 2.0 sind Protokolle für die übergreifende Anmeldung auf Webseiten.
[^3]: LDAP und Active Directory werden für die Anmeldung an Computersystemen verwendet, damit können Benutzer und Ihre Rechte über mehrere Systeme hinweg synchronisiert werden.

Datei anzeigen

@ -0,0 +1,22 @@
---
slug: Umbenennung-Git-in-Forge
title: Umbenennung von Nicks Git-Service in Nicks Forge
description: Ab sofort trägt mein Git-Service den neuen Namen "Nicks Forge" und ist unter einer neuen Adresse (forge.nick-slowinski.de) erreichbar.
authors: NickSlowinski
tags: [Git, Forge, VCS, Bugtracker]
---
_**TL;DR: Mein Git-Service trägt nun den neuen Namen "Nicks Forge" und ist ab sofort unter [``forge.nick-slowinski.de``](https://forge.nick-slowinski.de) erreichbar.**_
# Zusammenfassung
Es war Zeit für einen kleinen Namenswechsel für meinen Git-Service, welcher nun unter dem Namen _Nicks Forge_ weitergeführt wird. ["Forge"](https://de.wikipedia.org/wiki/Forge_(Software)) ist ein allgemein gebräuchlicher Name für solch einen Dienst und spiegelt allgemein besser wider, was dieser Service kann. In Zuge dessen hat sich auch die Adresse des Dienstes in [``forge.nick-slowinski.de``](https://forge.nick-slowinski.de) geändert.
Alle Inhalte sind jetzt nur noch über die neue Adresse erreichbar - die ehemalige Webpräsenz unter ``git.nick-slowinski.de`` leitet bis auf Weiteres auf diesen Beitrag weiter.
# Was sich für bestehende Benutzer ändert
1. Falls Ihr einen Hardware-Sicherheitsschlüssel eingerichtet habt, kann es passieren, dass dieser nicht mehr erkannt wird. Betroffene Benutzer wurden bereits identifiziert und informiert, was getan werden muss.
2. Sollten Sie Repositorys, Pakete oder andere Inhalte geklont oder darauf verwiesen haben, muss die Adresse angepasst werden:
* Ersetzt ``git.nick-slowinski.de`` durch ``forge.nick-slowinski.de`` in der Adresse, der restliche Teil der Adressen bleiben gleich.
3. Nichts weiter, alle anderen Funktionalitäten bleiben bestehen und dürften ohne Probleme funktionieren.

Datei anzeigen

@ -1,17 +1,5 @@
endi:
name: Endilie Yacop Sucipto
title: Maintainer of Docusaurus
url: https://github.com/endiliey
image_url: https://github.com/endiliey.png
yangshun:
name: Yangshun Tay
title: Front End Engineer @ Facebook
url: https://github.com/yangshun
image_url: https://github.com/yangshun.png
slorber:
name: Sébastien Lorber
title: Docusaurus maintainer
url: https://sebastienlorber.com
image_url: https://github.com/slorber.png
NickSlowinski:
name: Nick Slowinski
Title: Mädchen für Alles
url: https://www.nick-slowinski.de
image_url: /img/NickSlowinski.png

Datei anzeigen

@ -3,20 +3,20 @@ import type {Config} from '@docusaurus/types';
import type * as Preset from '@docusaurus/preset-classic';
const config: Config = {
title: 'My Site',
tagline: 'Dinosaurs are cool',
title: 'nick-slowinski.de',
tagline: 'Pinguine sind cool.',
favicon: 'img/favicon.ico',
// Set the production url of your site here
url: 'https://your-docusaurus-site.example.com',
url: 'https://www.nick-slowinski.de',
// Set the /<baseUrl>/ pathname under which your site is served
// For GitHub pages deployment, it is often '/<projectName>/'
baseUrl: '/',
// GitHub pages deployment config.
// If you aren't using GitHub pages, you don't need these.
organizationName: 'facebook', // Usually your GitHub org/user name.
projectName: 'docusaurus', // Usually your repo name.
organizationName: 'nick-slowinski.de', // Usually your GitHub org/user name.
projectName: 'www', // Usually your repo name.
onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn',
@ -25,8 +25,8 @@ const config: Config = {
// useful metadata like html lang. For example, if your site is Chinese, you
// may want to replace "en" with "zh-Hans".
i18n: {
defaultLocale: 'en',
locales: ['en'],
defaultLocale: 'de',
locales: ['de'],
},
presets: [
@ -37,15 +37,16 @@ const config: Config = {
sidebarPath: './sidebars.ts',
// Please change this to your repo.
// Remove this to remove the "edit this page" links.
editUrl:
'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/',
//editUrl:
// 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/',
},
blog: {
showReadingTime: true,
routeBasePath: '/',
// Please change this to your repo.
// Remove this to remove the "edit this page" links.
editUrl:
'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/',
//editUrl:
// 'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/',
},
theme: {
customCss: './src/css/custom.css',
@ -58,23 +59,14 @@ const config: Config = {
// Replace with your project's social card
image: 'img/docusaurus-social-card.jpg',
navbar: {
title: 'My Site',
logo: {
alt: 'My Site Logo',
src: 'img/logo.svg',
},
title: 'nick-slowinski.de',
items: [
{to: '/', label: 'Blog', position: 'left'},
{
type: 'docSidebar',
sidebarId: 'tutorialSidebar',
position: 'left',
label: 'Tutorial',
},
{to: '/blog', label: 'Blog', position: 'left'},
{
href: 'https://github.com/facebook/docusaurus',
label: 'GitHub',
position: 'right',
label: 'Wissenswertes',
},
],
},
@ -82,46 +74,99 @@ const config: Config = {
style: 'dark',
links: [
{
title: 'Docs',
title: 'Dienste',
items: [
{
label: 'Tutorial',
to: '/docs/intro',
label: 'Community Forum',
to: 'https://community.nick-slowinski.de',
},
{
label: 'Drone (CI/CD)',
to: 'https://drone.nick-slowinski.de',
},
{
label: 'Forge',
to: 'https://forge.nick-slowinski.de',
},
{
label: 'Passwort-Manager',
to: 'https://vault.nick-slowinski.de',
},
{
label: 'PgAdmin4',
to: 'https://pgadmin.nick-slowinski.de',
},
{
label: 'Minio (S3)',
to: 'https://minio.nick-slowinski.de',
},
{
label: 'SSO (WIP)',
to: 'https://accounts.nick-slowinski.de',
},
{
label: 'TeamSpeak',
to: 'ts3server://nick-slowinski.de',
},
{
label: 'Weblate',
to: 'https://weblate.nick-slowinski.de',
},
],
},
{
title: 'Community',
title: 'Soziales',
items: [
{
label: 'Stack Overflow',
label: 'X',
href: 'https://stackoverflow.com/questions/tagged/docusaurus',
},
{
label: 'Discord',
label: 'Mastodon',
href: 'https://discordapp.com/invite/docusaurus',
},
{
label: 'Twitter',
label: 'Matrix',
href: 'https://matrix.to/#/@nickslowinski:matrix.org',
},
{
label: 'Telegram',
href: 'https://twitter.com/docusaurus',
},
],
},
{
title: 'More',
title: 'Support',
items: [
{
label: 'Blog',
to: '/blog',
label: 'Statusseite',
to: 'https://status.nick-slowinski.de',
},
{
label: 'GitHub',
href: 'https://github.com/facebook/docusaurus',
label: 'E-Mail',
to: 'mailto:support@nick-slowinski.de',
},
{
label: 'Community Forum',
to: 'https://community.nick-slowinski.de/c/support/5',
},
],
},
{
title: 'Rechtliches',
items: [
{
label: 'Impressum',
to: '/impressum',
},
{
label: 'Datenschutzerklärung',
href: '/datenschutzerklaerung',
},
],
},
],
copyright: `Copyright © ${new Date().getFullYear()} My Project, Inc. Built with Docusaurus.`,
copyright: `Copyright © ${new Date().getFullYear()} Nick Slowinski`,
},
prism: {
theme: prismThemes.github,

Datei anzeigen

@ -1,70 +0,0 @@
import clsx from 'clsx';
import Heading from '@theme/Heading';
import styles from './styles.module.css';
type FeatureItem = {
title: string;
Svg: React.ComponentType<React.ComponentProps<'svg'>>;
description: JSX.Element;
};
const FeatureList: FeatureItem[] = [
{
title: 'Easy to Use',
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
description: (
<>
Docusaurus was designed from the ground up to be easily installed and
used to get your website up and running quickly.
</>
),
},
{
title: 'Focus on What Matters',
Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default,
description: (
<>
Docusaurus lets you focus on your docs, and we&apos;ll do the chores. Go
ahead and move your docs into the <code>docs</code> directory.
</>
),
},
{
title: 'Powered by React',
Svg: require('@site/static/img/undraw_docusaurus_react.svg').default,
description: (
<>
Extend or customize your website layout by reusing React. Docusaurus can
be extended while reusing the same header and footer.
</>
),
},
];
function Feature({title, Svg, description}: FeatureItem) {
return (
<div className={clsx('col col--4')}>
<div className="text--center">
<Svg className={styles.featureSvg} role="img" />
</div>
<div className="text--center padding-horiz--md">
<Heading as="h3">{title}</Heading>
<p>{description}</p>
</div>
</div>
);
}
export default function HomepageFeatures(): JSX.Element {
return (
<section className={styles.features}>
<div className="container">
<div className="row">
{FeatureList.map((props, idx) => (
<Feature key={idx} {...props} />
))}
</div>
</div>
</section>
);
}

Datei anzeigen

@ -1,11 +0,0 @@
.features {
display: flex;
align-items: center;
padding: 2rem 0;
width: 100%;
}
.featureSvg {
height: 200px;
width: 200px;
}

Datei anzeigen

@ -0,0 +1,66 @@
# Datenschutzerklärung
Verantwortliche Stelle im Sinne der Datenschutzgesetze, insbesondere der EU-Datenschutzgrundverordnung (DSGVO), ist der oben im Impressum angegebene Seitenbetreiber Nick Slowinski.
## Ihre Betroffenenrechte
Sie können jederzeit durch einfache Kontaktaufnahme folgende Rechte ausüben:
* Auskunft über Ihre bei uns gespeicherten Daten und deren Verarbeitung,
* Berichtigung unrichtiger personenbezogener Daten,
* Löschung Ihrer bei uns gespeicherten Daten,
* Einschränkung der Datenverarbeitung, sofern wir Ihre Daten aufgrund gesetzlicher Pflichten noch nicht löschen dürfen,
* Widerspruch gegen die Verarbeitung Ihrer Daten bei uns und
* Datenübertragbarkeit, sofern Sie in die Datenverarbeitung eingewilligt haben oder einen Vertrag mit uns abgeschlossen haben.
Sofern Sie uns eine Einwilligung erteilt haben, können Sie diese jederzeit mit Wirkung für die Zukunft widerrufen.
Sie können sich jederzeit mit einer Beschwerde an die für Sie zuständige Aufsichtsbehörde wenden. Ihre zuständige Aufsichtsbehörde richtet sich nach dem Bundesland Ihres Wohnsitzes, Ihrer Arbeit oder der mutmaßlichen Verletzung. Eine Liste der Aufsichtsbehörden (für den nichtöffentlichen Bereich) mit Anschrift finden Sie unter: https://www.bfdi.bund.de/DE/Infothek/Anschriften_Links/anschriften_links-node.html.
## Zwecke der Datenverarbeitung durch die verantwortliche Stelle und Dritte
Wir verarbeiten Ihre personenbezogenen Daten nur zu den in dieser Datenschutzerklärung genannten Zwecken. Eine Übermittlung Ihrer persönlichen Daten an Dritte zu anderen als den genannten Zwecken findet nicht statt. Wir geben Ihre persönlichen Daten nur an Dritte weiter, wenn:
* Sie Ihre ausdrückliche Einwilligung dazu erteilt haben,
* die Verarbeitung zur Abwicklung eines Vertrags mit Ihnen erforderlich ist,
* die Verarbeitung zur Erfüllung einer rechtlichen Verpflichtung erforderlich ist,
die Verarbeitung zur Wahrung berechtigter Interessen erforderlich ist und kein Grund zur Annahme besteht, dass Sie ein überwiegendes schutzwürdiges Interesse an der Nichtweitergabe Ihrer Daten haben.
## Löschung bzw. Sperrung der Daten
Wir halten uns an die Grundsätze der Datenvermeidung und Datensparsamkeit. Wir speichern Ihre personenbezogenen Daten daher nur so lange, wie dies zur Erreichung der hier genannten Zwecke erforderlich ist oder wie es die vom Gesetzgeber vorgesehenen vielfältigen Speicherfristen vorsehen. Nach Fortfall des jeweiligen Zweckes bzw. Ablauf dieser Fristen werden die entsprechenden Daten routinemäßig und entsprechend den gesetzlichen Vorschriften gesperrt oder gelöscht.
## Erfassung allgemeiner Informationen beim Besuch unserer Website
Wenn Sie auf unsere Website zugreifen, werden automatisch mittels eines Cookies Informationen allgemeiner Natur erfasst. Diese Informationen (Server-Logfiles) beinhalten etwa die Art des Webbrowsers, das verwendete Betriebssystem, den Domainnamen Ihres Internet-Service-Providers und ähnliches. Hierbei handelt es sich ausschließlich um Informationen, welche keine Rückschlüsse auf Ihre Person zulassen.
Diese Informationen sind technisch notwendig, um von Ihnen angeforderte Inhalte von Webseiten korrekt auszuliefern und fallen bei Nutzung des Internets zwingend an. Sie werden insbesondere zu folgenden Zwecken verarbeitet:
* Sicherstellung eines problemlosen Verbindungsaufbaus der Website,
* Sicherstellung einer reibungslosen Nutzung unserer Website,
* Auswertung der Systemsicherheit und -stabilität sowie
* zu weiteren administrativen Zwecken.
Die Verarbeitung Ihrer personenbezogenen Daten basiert auf unserem berechtigten Interesse aus den vorgenannten Zwecken zur Datenerhebung. Wir verwenden Ihre Daten nicht, um Rückschlüsse auf Ihre Person zu ziehen. Empfänger der Daten sind nur die verantwortliche Stelle und ggf. Auftragsverarbeiter.
Anonyme Informationen dieser Art werden von uns ggfs. statistisch ausgewertet, um unseren Internetauftritt und die dahinterstehende Technik zu optimieren.
## Cookies
Wie viele andere Webseiten verwenden wir auch so genannte „Cookies“. Cookies sind kleine Textdateien, die von einem Websiteserver auf Ihre Festplatte übertragen werden. Hierdurch erhalten wir automatisch bestimmte Daten wie z. B. IP-Adresse, verwendeter Browser, Betriebssystem und Ihre Verbindung zum Internet.
Cookies können nicht verwendet werden, um Programme zu starten oder Viren auf einen Computer zu übertragen. Anhand der in Cookies enthaltenen Informationen können wir Ihnen die Navigation erleichtern und die korrekte Anzeige unserer Webseiten ermöglichen.
In keinem Fall werden die von uns erfassten Daten an Dritte weitergegeben oder ohne Ihre Einwilligung eine Verknüpfung mit personenbezogenen Daten hergestellt.
Natürlich können Sie unsere Website grundsätzlich auch ohne Cookies betrachten. Internet-Browser sind regelmäßig so eingestellt, dass sie Cookies akzeptieren. Im Allgemeinen können Sie die Verwendung von Cookies jederzeit über die Einstellungen Ihres Browsers deaktivieren. Bitte verwenden Sie die Hilfefunktionen Ihres Internetbrowsers, um zu erfahren, wie Sie diese Einstellungen ändern können. Bitte beachten Sie, dass einzelne Funktionen unserer Website möglicherweise nicht funktionieren, wenn Sie die Verwendung von Cookies deaktiviert haben.
## Eingebettete YouTube-Videos
Auf einigen unserer Webseiten betten wir Youtube-Videos ein. Betreiber der entsprechenden Plugins ist die YouTube, LLC, 901 Cherry Ave., San Bruno, CA 94066, USA. Wenn Sie eine Seite mit dem YouTube-Plugin besuchen, wird eine Verbindung zu Servern von Youtube hergestellt. Dabei wird Youtube mitgeteilt, welche Seiten Sie besuchen. Wenn Sie in Ihrem Youtube-Account eingeloggt sind, kann Youtube Ihr Surfverhalten Ihnen persönlich zuzuordnen. Dies verhindern Sie, indem Sie sich vorher aus Ihrem Youtube-Account ausloggen.
Wird ein Youtube-Video gestartet, setzt der Anbieter Cookies ein, die Hinweise über das Nutzerverhalten sammeln.
Wer das Speichern von Cookies für das Google-Ad-Programm deaktiviert hat, wird auch beim Anschauen von Youtube-Videos mit keinen solchen Cookies rechnen müssen. Youtube legt aber auch in anderen Cookies nicht-personenbezogene Nutzungsinformationen ab. Möchten Sie dies verhindern, so müssen Sie das Speichern von Cookies im Browser blockieren.
Weitere Informationen zum Datenschutz bei „Youtube“ finden Sie in der Datenschutzerklärung des Anbieters unter: https://www.google.de/intl/de/policies/privacy/
## Änderung unserer Datenschutzbestimmungen
Wir behalten uns vor, diese Datenschutzerklärung anzupassen, damit sie stets den aktuellen rechtlichen Anforderungen entspricht oder um Änderungen unserer Leistungen in der Datenschutzerklärung umzusetzen, z.B. bei der Einführung neuer Services. Für Ihren erneuten Besuch gilt dann die neue Datenschutzerklärung.
## Fragen an den Datenschutzbeauftragten
Wenn Sie Fragen zum Datenschutz haben, schreiben Sie mir bitte einfach eine E-Mail (ich bin kein Unternehmen mit mehr als 9 Mitarbeitern und verarbeite auch keine besonders schützenswerten Daten, darum brauche ich keinen separaten Datenschutzbeauftragten).

31
src/pages/impressum.md Normale Datei
Datei anzeigen

@ -0,0 +1,31 @@
---
title: Impressum und Haftungsausschluss
---
## Impressum
### Anschrift
Nick Slowinski<br/>
Niederfährer Straße 12<br/>
1662 Meißen<br/>
Deutschland
### Erreichbarkeit
E-Mail: nick@nick-slowinski.de<br/>
Telefon: +49 3521 8372375
## Haftungsausschluss
### Inhalt des Onlineangebotes
Der Autor übernimmt keinerlei Gewähr für die Aktualität, Korrektheit, Vollständigkeit oder Qualität der bereitgestellten Informationen. Haftungsansprüche gegen den Autor, welche sich auf Schäden materieller oder ideeller Art beziehen, die durch die Nutzung oder Nichtnutzung der dargebotenen Informationen bzw. durch die Nutzung fehlerhafter und unvollständiger Informationen verursacht wurden, sind grundsätzlich ausgeschlossen, sofern seitens des Autors kein nachweislich vorsätzliches oder grob fahrlässiges Verschulden vorliegt. Alle Angebote sind freibleibend und unverbindlich. Der Autor behält es sich ausdrücklich vor, Teile der Seiten oder das gesamte Angebot ohne gesonderte Ankündigung zu verändern, zu ergänzen, zu löschen oder die Veröffentlichung zeitweise oder endgültig einzustellen.
### Verweise und Links
Bei direkten oder indirekten Verweisen auf fremde Webseiten („Hyperlinks“), die außerhalb des Verantwortungsbereiches des Autors liegen, würde eine Haftungsverpflichtung ausschließlich in dem Fall in Kraft treten, in dem der Autor von den Inhalten Kenntnis hat und es ihm technisch möglich und zumutbar wäre, die Nutzung im Falle rechtswidriger Inhalte zu verhindern. Der Autor erklärt hiermit ausdrücklich, dass zum Zeitpunkt der Linksetzung keine illegalen Inhalte auf den zu verlinkenden Seiten erkennbar waren. Auf die aktuelle und zukünftige Gestaltung, die Inhalte oder die Urheberschaft der verlinkten/verknüpften Seiten hat der Autor keinerlei Einfluss. Deshalb distanziert er sich hiermit ausdrücklich von allen Inhalten aller verlinkten /verknüpften Seiten, die nach der Linksetzung verändert wurden. Diese Feststellung gilt für alle innerhalb des eigenen Internetangebotes gesetzten Links und Verweise sowie für Fremdeinträge in vom Autor eingerichteten Gästebüchern, Diskussionsforen, Linkverzeichnissen, Mailinglisten und in allen anderen Formen von Datenbanken, auf deren Inhalt externe Schreibzugriffe möglich sind. Für illegale, fehlerhafte oder unvollständige Inhalte und insbesondere für Schäden, die aus der Nutzung oder Nichtnutzung solcherart dargebotener Informationen entstehen, haftet allein der Anbieter der Seite, auf welche verwiesen wurde, nicht derjenige, der über Links auf die jeweilige Veröffentlichung lediglich verweist.
### Urheber- und Kennzeichenrecht
Der Autor ist bestrebt, in allen Publikationen die Urheberrechte der verwendeten Grafiken, Tondokumente, Videosequenzen und Texte zu beachten, von ihm selbst erstellte Grafiken, Tondokumente, Videosequenzen und Texte zu nutzen oder auf lizenzfreie Grafiken, Tondokumente, Videosequenzen und Texte zurückzugreifen. Alle innerhalb des Internetangebotes genannten und ggf. durch Dritte geschützten Marken- und Warenzeichen unterliegen uneingeschränkt den Bestimmungen des jeweils gültigen Kennzeichenrechts und den Besitzrechten der jeweiligen eingetragenen Eigentümer. Allein aufgrund der bloßen Nennung ist nicht der Schluss zu ziehen, dass Markenzeichen nicht durch Rechte Dritter geschützt sind! Das Copyright für veröffentlichte, vom Autor selbst erstellte Objekte bleibt allein beim Autor der Seiten. Eine Vervielfältigung oder Verwendung solcher Grafiken, Tondokumente, Videosequenzen und Texte in anderen elektronischen oder gedruckten Publikationen ist ohne ausdrückliche Zustimmung des Autors nicht gestattet.
### Rechtswirksamkeit dieses Haftungsausschlusses
Dieser Haftungsausschluss ist als Teil des Internetangebotes zu betrachten, von dem aus auf diese Seite verwiesen wurde. Sofern Teile oder einzelne Formulierungen dieses Textes der geltenden Rechtslage nicht, nicht mehr oder nicht vollständig entsprechen sollten, bleiben die übrigen Teile des Dokumentes in ihrem Inhalt und ihrer Gültigkeit davon unberührt.

Datei anzeigen

@ -1,43 +0,0 @@
import clsx from 'clsx';
import Link from '@docusaurus/Link';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import Layout from '@theme/Layout';
import HomepageFeatures from '@site/src/components/HomepageFeatures';
import Heading from '@theme/Heading';
import styles from './index.module.css';
function HomepageHeader() {
const {siteConfig} = useDocusaurusContext();
return (
<header className={clsx('hero hero--primary', styles.heroBanner)}>
<div className="container">
<Heading as="h1" className="hero__title">
{siteConfig.title}
</Heading>
<p className="hero__subtitle">{siteConfig.tagline}</p>
<div className={styles.buttons}>
<Link
className="button button--secondary button--lg"
to="/docs/intro">
Docusaurus Tutorial - 5min
</Link>
</div>
</div>
</header>
);
}
export default function Home(): JSX.Element {
const {siteConfig} = useDocusaurusContext();
return (
<Layout
title={`Hello from ${siteConfig.title}`}
description="Description will go into a meta tag in <head />">
<HomepageHeader />
<main>
<HomepageFeatures />
</main>
</Layout>
);
}

Datei anzeigen

@ -1,7 +0,0 @@
---
title: Markdown page example
---
# Markdown page example
You don't need React to write simple standalone pages.

BIN
static/img/NickSlowinski.png Normale Datei

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 323 KiB

Binäre Datei nicht angezeigt.

Vorher

Breite:  |  Höhe:  |  Größe: 54 KiB