From f2507033c3f475b00c08d059270a4715f614e7dd Mon Sep 17 00:00:00 2001 From: mrwhiski Date: Sun, 12 Jul 2026 18:11:11 +0200 Subject: [PATCH] Real contact/Impressum data, SEO tags, responsive gallery images, a11y and templating fixes - Impressum rewritten with real Austrian business data (ECG instead of German TMG references); UID, Gewerbeberechtigung and Firmenbuchnummer marked as pending until available - Real contact email/phone/address across footer and Impressum - Meta description, Open Graph tags and favicon on all pages - Gallery images now offer both 800w and 1920w srcset candidates - Lightbox traps focus while open and restores it on close - Header/footer extracted into partials/, pages now built from templates/ via `npm run build` (scripts/build.js) to remove duplication across the 4 pages --- .gitignore | 1 + README.md | 44 +- css/style.css | 1440 ++++++++++++++++++------------------ impressum.html | 210 +++--- index.html | 186 ++--- js/script.js | 400 +++++----- package.json | 6 +- partials/footer.html | 14 + partials/header.html | 19 + pictures.html | 222 +++--- scripts/build.js | 39 + scripts/optimize-images.js | 6 +- shop-item-template.html | 48 +- shop.html | 132 ++-- templates/impressum.html | 79 ++ templates/index.html | 66 ++ templates/pictures.html | 380 ++++++++++ templates/shop.html | 39 + 18 files changed, 2028 insertions(+), 1303 deletions(-) create mode 100644 partials/footer.html create mode 100644 partials/header.html create mode 100644 scripts/build.js create mode 100644 templates/impressum.html create mode 100644 templates/index.html create mode 100644 templates/pictures.html create mode 100644 templates/shop.html diff --git a/.gitignore b/.gitignore index c2658d7..7021b89 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ node_modules/ +.claude/ diff --git a/README.md b/README.md index 76ba56d..059aee4 100644 --- a/README.md +++ b/README.md @@ -7,19 +7,45 @@ Technik: reines HTML, CSS und JavaScript ohne Frameworks. ``` Tischlerei-Staffenberger/ -├── index.html # Startseite (Landing Page) -├── pictures.html # Bildergalerie mit Filter -├── shop.html # Kleiner Shop (Anfragen per E-Mail) -├── impressum.html # Impressum mit Platzhalterdaten +├── index.html # Generiert von scripts/build.js – nicht direkt bearbeiten +├── pictures.html # (dito) +├── shop.html # (dito) +├── impressum.html # (dito) +├── templates/ # Editierbare Quelldateien der obigen Seiten +├── partials/ # header.html / footer.html, in alle Seiten eingebunden +├── shop-item-template.html # Vorlage für einzelne Shop-Artikel (manuell kopieren) ├── README.md ├── css/ │ └── style.css # Ein zentrales Stylesheet ├── js/ -│ └── script.js # Navigation, Galerie-Filter, Shop-Anfragen +│ └── script.js # Navigation, Galerie-Filter, Lightbox, Shop-Anfragen +├── scripts/ +│ ├── build.js # Baut templates/ + partials/ zu den Root-HTML-Dateien +│ └── optimize-images.js # Erzeugt WebP/JPEG-Varianten aus images/fotowebsite/ └── images/ - └── .gitkeep # Ordner für eigene Bilder (optional) + ├── fotowebsite/ # Original-Fotos (Rohmaterial, unkomprimiert) + └── optimized/ # Generierte WebP/JPEG-Varianten (von optimize-images.js) ``` +### Seiten bearbeiten (Templates + Build) + +Header und Footer sind identisch auf allen Seiten und liegen daher nur einmal in +`partials/header.html` bzw. `partials/footer.html`. Die eigentlichen Seiteninhalte +liegen als Quelldateien in `templates/` und enthalten an der Stelle von Header/Footer +nur eine Markierung wie ``. + +**Wichtig:** `index.html`, `pictures.html`, `shop.html` und `impressum.html` im +Hauptverzeichnis sind generierte Dateien – Änderungen daran gehen beim nächsten Build +verloren. Bitte immer in `templates/` bzw. `partials/` bearbeiten, danach: + +```bash +npm run build +``` + +Das schreibt die fertigen, statischen HTML-Dateien ins Hauptverzeichnis. Diese +generierten Dateien werden weiterhin mit committed – der Webhost braucht keinen +eigenen Build-Schritt, es wird nach wie vor nur reines HTML/CSS/JS ausgeliefert. + ## Lokal ausführen Die Seite besteht nur aus statischen Dateien. Sie können sie so starten: @@ -57,9 +83,9 @@ Von dort aus funktionieren alle Links, Schriftarten und Platzhalter-Bilder. ## Anpassungen -- **Impressum & Kontakt:** In `impressum.html` und im Footer aller Seiten die Platzhalterdaten (Name, Adresse, Telefon, E-Mail, USt-ID) durch echte Angaben ersetzen. -- **Shop-Anfragen:** In `js/script.js` die E-Mail-Adresse in der Zeile mit `mailto:` durch Ihre echte Adresse ersetzen. -- **Bilder:** Aktuell werden Platzhalter von [picsum.photos](https://picsum.photos) genutzt. Eigene Fotos in den Ordner `images/` legen und in `pictures.html` bzw. `shop.html` die `src`-Pfade anpassen (z.B. `images/kuche-1.jpg`). +- **Impressum & Kontakt:** In `templates/impressum.html` und `partials/footer.html` die Angaben (Name, Adresse, Telefon, E-Mail, UID-Nummer) pflegen, danach `npm run build`. +- **Shop-Anfragen:** In `js/script.js` die E-Mail-Adresse in der Zeile mit `mailto:` anpassen. +- **Bilder:** Eigene Fotos nach Kategorie in `images/fotowebsite/{kitchen,outdoor,custom}/` ablegen, dann `npm run optimize-images` ausführen, um die WebP/JPEG-Varianten in `images/optimized/` zu erzeugen. Anschließend in `templates/pictures.html` das neue `