- 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 |
||
|---|---|---|
| css | ||
| images | ||
| js | ||
| partials | ||
| scripts | ||
| templates | ||
| .gitattributes | ||
| .gitignore | ||
| impressum.html | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| pictures.html | ||
| README.md | ||
| shop-item-template.html | ||
| shop.html | ||
| stafflogo06.bmp | ||
| stafflogo06.svg | ||
Tischlerei Staffenberger – Kleine Firmenwebsite
Kleine, statische Website für einen selbstständigen Tischler (Ein-Mann-Betrieb).
Technik: reines HTML, CSS und JavaScript ohne Frameworks.
Ordnerstruktur
Tischlerei-Staffenberger/
├── 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, 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/
├── 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 <!-- include:partials/header.html -->.
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:
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:
Option 1: Direkt im Browser öffnen
- Doppelklick auf
index.htmloder - Datei in den Browser ziehen
Hinweis: Einige Browser blockieren bei file:// das Laden externer Ressourcen (z.B. Google Fonts, Platzhalter-Bilder von picsum.photos). Dann Option 2 nutzen.
Option 2: Mit lokalem Webserver (empfohlen)
Im Projektordner in der Kommandozeile:
Mit Python 3:
# Ab Python 3.x
python -m http.server 8000
Mit Node.js (npx):
npx serve .
Mit PHP:
php -S localhost:8000
Anschließend im Browser aufrufen: http://localhost:8000
Von dort aus funktionieren alle Links, Schriftarten und Platzhalter-Bilder.
Anpassungen
- Impressum & Kontakt: In
templates/impressum.htmlundpartials/footer.htmldie Angaben (Name, Adresse, Telefon, E-Mail, UID-Nummer) pflegen, danachnpm run build. - Shop-Anfragen: In
js/script.jsdie E-Mail-Adresse in der Zeile mitmailto:anpassen. - Bilder: Eigene Fotos nach Kategorie in
images/fotowebsite/{kitchen,outdoor,custom}/ablegen, dannnpm run optimize-imagesausführen, um die WebP/JPEG-Varianten inimages/optimized/zu erzeugen. Anschließend intemplates/pictures.htmldas neue<figure class="gallery-item">-Element ergänzen (nach vorhandenem Muster kopieren) undnpm run buildausführen.
Seitenüberblick
| Seite | Inhalt |
|---|---|
| Start | Banner, Willkommenstext, Über mich, Leistungen (Möbel, Küchen, Außen), CTA „Kontakt“. |
| Bilder | Galerie mit Filter: Alle / Küche / Außenbereich / Sonderanfertigung. |
| Shop | 6 Beispielprodukte mit Bild, Beschreibung, Preis und Button „Anfragen“ (öffnet E-Mail). |
| Impressum | Anbieter, Kontakt, USt-ID, Verantwortlichkeit, Haftungsausschluss (Platzhalter). |
Navigation ist auf allen Seiten gleich; die aktuelle Seite wird hervorgehoben.