feat(app): add prerender, self-hosted fonts and privacy page
Fonts come from npm, not Google, so no third-party font requests. Pages are prerendered at build time; browser-only code is guarded. nginx serves per-route HTML, a real 404 and gzip.
This commit is contained in:
1 parent
57f861510e
commit
54b93055ba
42 files changed
+544
-88
No files matched your search
+38
-1
@@ -33,7 +33,6 @@
|
||||
"ROLE": "Senior Software Entwickler / Full-Stack Entwickler / Softwarearchitekt",
|
||||
"LOCATION": "München · Remote",
|
||||
"VIEW_PROJECTS": "Projekte ansehen",
|
||||
"CONTACT_ME": "Kontaktiere mich",
|
||||
"SECTION": {
|
||||
"SKILLS": "Fähigkeiten & Stack",
|
||||
"LANGUAGES": "Sprachen & Frameworks",
|
||||
@@ -416,6 +415,40 @@
|
||||
"COUNTRY": "Deutschland",
|
||||
"CONTACT": "Kontakt"
|
||||
},
|
||||
"PRIVACY": {
|
||||
"TITLE": "Datenschutzerklärung",
|
||||
"CONTROLLER": "Verantwortlicher",
|
||||
"SECTIONS": {
|
||||
"HOSTING": {
|
||||
"TITLE": "Hosting und Server-Logs",
|
||||
"TEXT": "Diese Seite wird bei Hostinger gehostet [TODO: Rechtsträger, Adresse und Aufbewahrungsdauer der Logs bestätigen; Auftragsverarbeitungsvertrag (Art. 28 DSGVO) bestätigen]. Der Webserver schreibt Server-Logs: IP-Adresse, Zeitpunkt, aufgerufene URL und User-Agent. Zweck: Betrieb und Sicherheit der Seite. Rechtsgrundlage: Art. 6 Abs. 1 lit. f DSGVO. Die Logs werden nach kurzer Zeit gelöscht [TODO: genaue Dauer]."
|
||||
},
|
||||
"STORAGE": {
|
||||
"TITLE": "Lokaler Speicher",
|
||||
"TEXT": "Die Seite speichert nur Sprache und Design (hell oder dunkel) im localStorage des Browsers. Es gibt keine Cookies, kein Tracking und keine Analyse-Tools."
|
||||
},
|
||||
"SERVICE_WORKER": {
|
||||
"TITLE": "Service Worker",
|
||||
"TEXT": "Ein Service Worker legt Dateien der Seite im Browser-Cache ab, damit die Seite schneller und offline lädt. Es werden keine Daten an Dritte gesendet."
|
||||
},
|
||||
"FONTS": {
|
||||
"TITLE": "Schriften",
|
||||
"TEXT": "Schriften (Roboto, Material Icons) werden vom eigenen Server geladen. Es gibt keine Verbindung zu Google."
|
||||
},
|
||||
"EXTERNAL_LINKS": {
|
||||
"TITLE": "Externe Links",
|
||||
"TEXT": "Links zu Gitea, LinkedIn und Codeberg werden erst beim Klick aufgerufen. Ab dann gilt die Datenschutzerklärung des jeweiligen Anbieters."
|
||||
},
|
||||
"RIGHTS": {
|
||||
"TITLE": "Ihre Rechte",
|
||||
"TEXT": "Sie haben das Recht auf Auskunft, Berichtigung, Löschung, Einschränkung der Verarbeitung, Datenübertragbarkeit und Widerspruch (Art. 15 bis 21 DSGVO). Kontakt: die E-Mail-Adresse oben."
|
||||
},
|
||||
"AUTHORITY": {
|
||||
"TITLE": "Beschwerderecht",
|
||||
"TEXT": "Sie können sich bei einer Aufsichtsbehörde beschweren. Zuständig: Bayerisches Landesamt für Datenschutzaufsicht (BayLDA), Promenade 18, 91522 Ansbach."
|
||||
}
|
||||
}
|
||||
},
|
||||
"PATHFINDING": {
|
||||
"TITLE": "Pfadfindungsalgorithmen",
|
||||
"START_NODE": "Startknoten",
|
||||
@@ -738,6 +771,10 @@
|
||||
"TITLE": "Impressum – Andreas Dahm",
|
||||
"DESCRIPTION": "Rechtliche Informationen und Kontaktdaten zur Website Andreas Dahm Playground."
|
||||
},
|
||||
"PRIVACY": {
|
||||
"TITLE": "Datenschutzerklärung – Andreas Dahm",
|
||||
"DESCRIPTION": "Datenschutzerklärung zur Website Andreas Dahm Playground."
|
||||
},
|
||||
"STOPWATCH": {
|
||||
"TITLE": "Stoppuhr – Andreas Dahm",
|
||||
"DESCRIPTION": "Eine einfache Online-Stoppuhr mit konfigurierbaren Intervall-Signaltönen."
|
||||
|
||||
Reference in new issue
Block a user