Config: Impressum/Datenschutz aus .env.local befüllt

Persönliche Angaben (Name, Adresse, E-Mail, Hoster) werden zur
Build-Zeit aus .env.local gelesen und in die statischen Seiten
eingebettet. .env.local ist gitignoriert, .env.local.example
dokumentiert die benötigten Variablen.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-04-25 21:50:00 +02:00
commit 159c761633
3 changed files with 48 additions and 20 deletions

16
.env.local.example Normal file
View file

@ -0,0 +1,16 @@
# Persönliche Angaben für Impressum und Datenschutz
# Kopiere diese Datei nach .env.local und trage die echten Daten ein.
# .env.local wird NICHT ins Repository eingecheckt.
# Eigentümer
OWNER_NAME=Max Mustermann
OWNER_STREET=Musterstraße 1
OWNER_ZIP_CITY=12345 Musterstadt
OWNER_EMAIL=kontakt@example.de
# Hoster (für Datenschutzerklärung)
HOSTER_NAME=Muster-Hoster GmbH
HOSTER_STREET=Hosting-Straße 42
HOSTER_ZIP=98765
HOSTER_CITY=Serverstadt
HOSTER_COUNTRY=Deutschland

View file

@ -8,6 +8,13 @@ export const metadata = {
}
export default function DatenschutzPage() {
const email = process.env.OWNER_EMAIL ?? '[Emailadresse]'
const hosterName = process.env.HOSTER_NAME ?? '[Hoster]'
const hosterStreet = process.env.HOSTER_STREET ?? '[Straße Hausnummer]'
const hosterZip = process.env.HOSTER_ZIP ?? '[PLZ]'
const hosterCity = process.env.HOSTER_CITY ?? '[Ort]'
const hosterCountry= process.env.HOSTER_COUNTRY ?? '[Land]'
return (
<main className="min-h-screen py-24 lg:py-32">
<div className="max-w-3xl mx-auto px-6 lg:px-8">
@ -34,8 +41,8 @@ export default function DatenschutzPage() {
<section>
<h2 className="font-serif text-xl mb-4">2. Hosting</h2>
<p className="text-muted-foreground leading-relaxed">
Diese Website wird bei [Hoster] gehostet. Der Anbieter ist
[Name] , [Straße Hausnummer] , [PLZ] [Ort], [Land].
Diese Website wird bei {hosterName} gehostet. Der Anbieter ist{' '}
{hosterName}, {hosterStreet}, {hosterZip} {hosterCity}, {hosterCountry}.
</p>
</section>
@ -63,7 +70,7 @@ export default function DatenschutzPage() {
<h2 className="font-serif text-xl mb-4">5. Kontakt</h2>
<p className="text-muted-foreground leading-relaxed">
Bei Fragen zum Datenschutz können Sie sich jederzeit an uns wenden:<br />
E-Mail: [Emailadresse]
E-Mail: {email}
</p>
</section>
</div>

View file

@ -8,6 +8,11 @@ export const metadata = {
}
export default function ImpressumPage() {
const name = process.env.OWNER_NAME ?? '[Name]'
const street = process.env.OWNER_STREET ?? '[Straße und Hausnummer]'
const zipCity = process.env.OWNER_ZIP_CITY ?? '[PLZ Ort]'
const email = process.env.OWNER_EMAIL ?? '[Emailadresse]'
return (
<main className="min-h-screen py-24 lg:py-32">
<div className="max-w-3xl mx-auto px-6 lg:px-8">
@ -24,9 +29,9 @@ export default function ImpressumPage() {
<section>
<h2 className="font-serif text-xl mb-4">Angaben gemäß § 5 TMG</h2>
<p className="text-muted-foreground">
[Name]<br />
[Straße und Hausnummer]<br />
[PLZ Ort]<br />
{name}<br />
{street}<br />
{zipCity}<br />
Deutschland
</p>
</section>
@ -34,15 +39,15 @@ export default function ImpressumPage() {
<section>
<h2 className="font-serif text-xl mb-4">Kontakt</h2>
<p className="text-muted-foreground">
E-Mail: [Emailadresse]
E-Mail: {email}
</p>
</section>
<section>
<h2 className="font-serif text-xl mb-4">Verantwortlich für den Inhalt</h2>
<p className="text-muted-foreground">
[Name]<br />
[Adresse]
{name}<br />
{street}, {zipCity}
</p>
</section>