diff --git a/.gitea/template b/.gitea/template new file mode 100644 index 0000000..40aa999 --- /dev/null +++ b/.gitea/template @@ -0,0 +1,7 @@ +# Gitea-Vorlage: gilt nur beim „Repository aus Vorlage erstellen“. +# Gitea entfernt diese Datei im neuen Repo. + +[exclude] +# Preview-Einstellung der Vorlage selbst (Subdomain hsk-vorlage) nicht mitkopieren – +# das neue Projekt bekommt seine eigene über WOMS („Preview einschalten“). +.webklar-preview.json diff --git a/.htaccess b/.htaccess index e281952..2737794 100644 --- a/.htaccess +++ b/.htaccess @@ -1,4 +1,4 @@ -# Olzinger Haustechnik – Apache-Konfiguration (optional) +# HSK-Vorlage – Apache-Konfiguration (optional) # Alle Blöcke sind abgesichert, damit fehlende Module keinen Serverfehler auslösen. ErrorDocument 404 /404.html diff --git a/.webklar-preview.json b/.webklar-preview.json deleted file mode 100644 index 3f6bac7..0000000 --- a/.webklar-preview.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "enabled": true, - "type": "static", - "branch": "main", - "displayName": "Olzinger", - "templateName": "webklar-preview-template", - "projectType": "preview", - "public": false, - "template": false, - "subdomain": "olzinger" -} diff --git a/404.html b/404.html index ee8010d..fb9b99d 100644 --- a/404.html +++ b/404.html @@ -3,7 +3,7 @@ - Seite nicht gefunden – Olzinger Haustechnik + Seite nicht gefunden – Mustermann Haustechnik @@ -32,15 +32,15 @@
- - 0871 72617 + 01234 567890
@@ -88,7 +88,7 @@
- +
diff --git a/README.md b/README.md index a02125b..9b56bf5 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,52 @@ -# Olzinger Haustechnik – Website +# HSK-Vorlage – Website für Heizung · Sanitär · Klima -Maßgeschneiderter Neuauftritt für die **Olzinger GmbH** (Heizung · Sanitär · Lüftung · Regenerative Energien, Ergolding bei Landshut, seit 1985). +Vorlage für Websites von **HSK-/SHK-Betrieben** (Heizung, Sanitär, Lüftung/Klima, regenerative Energien). Entstanden aus der Website für Olzinger Haustechnik (`WEBklar/Olzinger`). Alle Firmendaten sind hier durch **Platzhalter** ersetzt („Mustermann Haustechnik GmbH“, „Musterstadt“, `example.com`). Statische Website ohne Build-Schritt: HTML, CSS und JavaScript ohne Bibliotheken, Schrift lokal eingebunden (kein CDN, keine Cookies, kein Tracking). +## Neue HSK-Seite aus der Vorlage anlegen + +1. In Gitea bei `WEBklar/HSK-Vorlage` auf **„Diese Vorlage verwenden“** klicken. Besitzer: `WEBklar`, Name: z. B. `Mueller-Haustechnik`. Haken bei **„Git-Inhalt (Standardbranch)“** setzen. + - Gitea lässt dabei `.webklar-preview.json` weg (siehe `.gitea/template`). Das neue Repo bekommt also **nicht** die Preview der Vorlage. + - Wird stattdessen per `git clone` kopiert: `.webklar-preview.json` **vor dem ersten Push löschen**. Sonst landet die neue Seite auf `hsk-vorlage.project.webklar.com` und überschreibt die Vorlage. +2. Im WOMS das Projekt dem Ticket bzw. Kunden zuordnen und **„Preview einschalten“** wählen. +3. Platzhalter ersetzen (Tabelle unten), Texte anpassen und die Checkliste abarbeiten. + +## Platzhalter + +Am schnellsten per Suchen & Ersetzen über alle Dateien. Danach nach `Mustermann`, `Musterstadt`, `example.com`, `12345`, `01234` und `TODO` suchen. Es darf nichts übrig bleiben. + +| Platzhalter | Bedeutung | Vorkommen | +|---|---|---| +| `Mustermann Haustechnik GmbH` | Firmenname mit Rechtsform | Footer, Impressum, Datenschutz, 404, Schema.org, `kontakt.php` | +| `Mustermann Haustechnik` | Kurzname für Titel und Logo-Beschriftung | ``, Open Graph, `site.webmanifest` | +| `Mustermann` (Logo-Wort) / `Haustechnik` (Zusatz) | Logo-Schriftzug | `logo__word` / `logo__sub` in allen HTML-Dateien, `assets/img/logo.svg` (`MUSTERMANN`), `tools/og-template.html` | +| `Musterstraße 1`, `12345 Musterstadt` | Anschrift | Hero, Kontakt, Footer, Impressum, Datenschutz, 404, Schema.org, Google-Maps-Link | +| `Musterstadt und Umgebung` | Einzugsgebiet | Meta-Description, Open Graph, Schema.org (`areaServed`) | +| `01234 567890` / `+491234567890` | Telefon (Anzeige / `tel:`-Link) | Navigation, Menü, Hero, Kundendienst-Karte, Kontakt, Footer, Impressum, Datenschutz, 404 | +| `01234 567891` | Fax | Footer, Impressum, Schema.org | +| `kontakt@example.com` | E-Mail | Kontakt, Karriere-Links, Footer, Impressum, Datenschutz, `kontakt.php`, `assets/js/contact.js` | +| `www.example.com` | Domain | `canonical`, Open Graph, Schema.org, `sitemap.xml`, `robots.txt`, `kontakt.php`, `tools/og-template.html` | +| `1990` / `Max Mustermann` | Gründungsjahr / Gründer | Hero, „Über uns“, Chronik, Schema.org, `assets/js/main.js` (`nowYear - 1990`) | +| `2015` / `Erika Mustermann` | Chronik-Eintrag / Geschäftsführung | Chronik, Impressum, Datenschutz | +| `Rund 20 Fachleute` / `"value": 20` | Mitarbeiterzahl | „Über uns“, Schema.org | +| `Amtsgericht Musterstadt`, `HRB 12345` | Handelsregister | Impressum | + +## Vor dem Livegang prüfen + +- [ ] **Firmendaten** vollständig ersetzt (Suche siehe oben). +- [ ] **Bundesland** für die Feiertage im Öffnungsstatus: `BUNDESLAND` oben in `assets/js/contact.js` (Standard `BY`). Dazu `addressRegion` in den Schema.org-Daten von `index.html`. +- [ ] **Öffnungszeiten:** `SCHEDULE` in `assets/js/contact.js`, die Texte in allen HTML-Dateien (Status-Zeile, Kontaktbereich, Footer) und `openingHoursSpecification` in `index.html`. +- [ ] **Leistungen:** Die 5 Karten, die Formular-Themen und `knowsAbout` (Schema.org) an das Angebot des Betriebs anpassen. Bei weniger Karten den Zähler `/ 5` in `index.html` anpassen. +- [ ] **Über uns und Karriere:** Chronik, Mitarbeiterzahl, Ausbildungsberufe, Startmonat. +- [ ] **Impressum:** Geschäftsführung, Registereintrag, Umsatzsteuer-ID und berufsrechtliche Angaben (Kammer, Berufsbezeichnung). Die letzten beiden sind als Kommentar in `impressum.html` vorbereitet. +- [ ] **Datenschutz:** Hosting-Anbieter, Speicherdauer der Server-Logs, Vertrag zur Auftragsverarbeitung, zuständige Aufsichtsbehörde (Abschnitt 9). Alles als `TODO` markiert. Rechtstexte sind Entwürfe und ersetzen keine Rechtsberatung. +- [ ] **Formular:** In `kontakt.php` Empfänger/Absender prüfen (`RECIPIENT`, `SENDER`) und einmal testweise absenden. +- [ ] **Logo und Farben:** Für ein eigenes Logo die Logo-Marke (Thermostat-Bogen, `logo__mark`) in den HTML-Dateien, `assets/img/logo.svg`, die Favicons und `tools/og-template.html` ersetzen. Die Farben stehen als Design-Tokens am Anfang von `assets/css/main.css`. +- [ ] **Open-Graph-Bild** neu rendern (siehe „Anpassen“). Das Bild enthält Name, Ort und Domain. +- [ ] `sitemap.xml`: `lastmod` aktualisieren. +- [ ] Optional: echte Fotos (Team, Projekte, Bäder) ergänzen. Die Illustrationen tragen die Seite auch ohne Fotos. + ## Gestaltungsidee: „Wärmebild“ Haustechnik sieht man nicht – man spürt sie. Deshalb zeigt der Einstieg ein ruhiges, live berechnetes **Wärmebild** (WebGL) mit Isothermen wie bei einer Thermografie-Kamera. Eine langsam wandernde Wärmequelle hält das Bild in Bewegung – ohne Maus- oder Touch-Effekte. Durch die Seite zieht sich das Motiv **warm trifft kalt** (Vorlauf/Rücklauf): Farbverlauf Blau → Magenta → Orange, das Logo als Thermostat-Skala. @@ -14,11 +57,11 @@ Grundsatz: wenig Text, wenig Bewegung, gut bedienbar am Handy. | Bereich | Besonderheit | |---|---| -| Hero | Ruhiges WebGL-Wärmebild, Live-Öffnungsstatus (inkl. bayerischer Feiertage), Anfrage- und Telefon-Button | +| Hero | Ruhiges WebGL-Wärmebild, Live-Öffnungsstatus (inkl. Feiertage des Bundeslands), Anfrage- und Telefon-Button | | Leistungen | 5 Karten mit Illustrationen; am Desktop als Kartenstapel, unter 900 px wischbare Karten mit Zähler (1 / 5) und Pfeilen | | Energie-Haus | Hausschnitt: Wärmepumpe, Solarthermie, Speicher, Fußbodenheizung, Bad, Lüftung – der gewählte Kreislauf wird hervorgehoben | | Heizungs-Finder | 4 Fragen → Empfehlung (Wärmepumpe / Pellets / Hybrid); Ergebnis lässt sich ins Kontaktformular übernehmen | -| Über uns | Kurze Chronik 1985 → heute | +| Über uns | Kurze Chronik vom Gründungsjahr bis heute | | Karriere | Ausbildung Anlagenmechaniker SHK, Initiativbewerbung | | Kontakt | Kontaktkarten, Öffnungszeiten mit „Heute“-Markierung, Formular | | Footer | Adresse, Kontakt, Öffnungszeiten, Links | @@ -44,16 +87,6 @@ Den kompletten Ordnerinhalt auf den Webspace laden (z. B. per FTP). Voraussetzun - `404.html` nutzt absolute Pfade (`/assets/...`) – liegt die Seite in einem Unterordner, Pfade dort anpassen. - CSS und JS werden eine Woche gecacht. Nach Änderungen an `main.css` oder den Skripten die Versionsnummer `?v=…` in allen HTML-Dateien hochzählen, damit Besucher nicht alte Dateien sehen. -## Vor dem Livegang prüfen (TODO) - -Die Firmendaten stammen aus öffentlich zugänglichen Quellen. Bitte bestätigen bzw. ergänzen: - -- [ ] **Impressum:** Umsatzsteuer-ID und berufsrechtliche Angaben (Kammer, Berufsbezeichnung) – als Kommentar in `impressum.html` vorbereitet. -- [ ] **Datenschutz:** Hosting-Anbieter, Speicherdauer der Server-Logs, Vertrag zur Auftragsverarbeitung – als `TODO` in `datenschutz.html` markiert. Rechtstexte sind Entwürfe und ersetzen keine Rechtsberatung. -- [ ] **Inhalte:** Mitarbeiterzahl (≈ 25), Ausbildungsstart (September), Leistungsliste, Texte zur Karriere. -- [ ] **Formular:** In `kontakt.php` Empfänger/Absender prüfen (`RECIPIENT`, `SENDER`); einmal testweise absenden. -- [ ] Optional: echte Fotos (Team, Projekte, Bäder) ergänzen – die Illustrationen sind so gestaltet, dass sie auch ohne Fotos tragen. - ## Struktur ``` @@ -71,12 +104,14 @@ assets/js/contact.js Öffnungszeiten live, Feiertage, Kontaktformular assets/fonts/ Instrument Sans (OFL, lokal) assets/img/ Favicon, Logo, Open-Graph-Bild tools/og-template.html Vorlage zum Neu-Rendern des Open-Graph-Bilds +.gitea/template Regeln für „Diese Vorlage verwenden“ (nur in der Vorlage) ``` ## Anpassen - **Farben, Abstände, Schriften:** Design-Tokens am Anfang von `assets/css/main.css` (`--warm`, `--cool`, `--ink`, `--paper` …). -- **Öffnungszeiten:** in `assets/js/contact.js` (`SCHEDULE`) sowie in `index.html` (Text und Schema.org-Daten). +- **Öffnungszeiten:** in `assets/js/contact.js` (`SCHEDULE`) sowie in den HTML-Dateien (Text und Schema.org-Daten). +- **Feiertage:** `BUNDESLAND` in `assets/js/contact.js`. Es zählen nur landesweite Feiertage. Die Ausnahme ist Bayern: Dort zählt Mariä Himmelfahrt mit (gilt in Gemeinden mit überwiegend katholischer Bevölkerung). - **Heizungs-Finder:** Gewichtung in `assets/js/finder.js` (`evaluate`), Texte in `TEXTS`. - **Open-Graph-Bild:** `tools/og-template.html` im Browser öffnen (über einen lokalen Server) und einen Screenshot mit 1200 × 630 px als `assets/img/og-image.jpg` speichern. diff --git a/assets/css/main.css b/assets/css/main.css index a7adef7..a7143fa 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -1,5 +1,5 @@ /* ========================================================================== - Olzinger Haustechnik – Stylesheet + HSK-Vorlage – Stylesheet Gestaltung: Wärmebild-Ästhetik · warm (Vorlauf) trifft kalt (Rücklauf) ========================================================================== */ diff --git a/assets/img/logo.svg b/assets/img/logo.svg index 66d5a18..1cdca6e 100644 --- a/assets/img/logo.svg +++ b/assets/img/logo.svg @@ -1,4 +1,4 @@ -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 260 56" role="img" aria-label="Olzinger Haustechnik"> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 290 56" role="img" aria-label="Mustermann Haustechnik"> <defs> <linearGradient id="g" x1="0" y1="0" x2="1" y2="0"> <stop offset="0" stop-color="#2E9BEF"/> @@ -8,6 +8,6 @@ </defs> <path d="M17.1 43.6A19 19 0 1 1 38.9 43.6" fill="none" stroke="url(#g)" stroke-width="7" stroke-linecap="round"/> <circle cx="28" cy="28" r="4.4" fill="#0B151E"/> - <text x="62" y="31" font-family="Instrument Sans, Arial, sans-serif" font-weight="700" font-size="26" letter-spacing="1" fill="#0B151E">OLZINGER</text> + <text x="62" y="31" font-family="Instrument Sans, Arial, sans-serif" font-weight="700" font-size="26" letter-spacing="1" fill="#0B151E">MUSTERMANN</text> <text x="63" y="47" font-family="Instrument Sans, Arial, sans-serif" font-weight="500" font-size="10.5" letter-spacing="3.2" fill="#4D5963">HAUSTECHNIK</text> </svg> diff --git a/assets/img/og-image.jpg b/assets/img/og-image.jpg index a364082..ea4ff55 100644 Binary files a/assets/img/og-image.jpg and b/assets/img/og-image.jpg differ diff --git a/assets/js/contact.js b/assets/js/contact.js index 9bb84ee..694cad5 100644 --- a/assets/js/contact.js +++ b/assets/js/contact.js @@ -1,10 +1,14 @@ /* ========================================================================== - Olzinger – Öffnungszeiten (live, inkl. bayerischer Feiertage) & Kontaktformular + HSK-Vorlage – Öffnungszeiten (live, inkl. Feiertage des Bundeslands) & Kontaktformular ========================================================================== */ (function (w, d) { 'use strict'; /* ---------- Öffnungszeiten ---------- */ + // Bundesland des Betriebs für die Feiertage: + // BW BY BE BB HB HH HE MV NI NW RP SL SN ST SH TH + var BUNDESLAND = 'BY'; + // Minuten seit Mitternacht; Index = Wochentag (0 = Sonntag) var SCHEDULE = { 0: [], @@ -31,23 +35,46 @@ return Date.UTC(y, month - 1, day); } - // Gesetzliche Feiertage in Bayern (Gemeinde mit überwiegend katholischer Bevölkerung) + // Gesetzliche Feiertage: bundesweit plus die des eingestellten Bundeslands. + // Nur landesweite Feiertage; Fronleichnam in Teilen von Sachsen/Thüringen und + // Mariä Himmelfahrt in Bayern gelten nicht überall (BY: hier mitgezählt, wie in + // Gemeinden mit überwiegend katholischer Bevölkerung). + var REGIONAL = { + dreikoenige: ['BW', 'BY', 'ST'], + frauentag: ['BE', 'MV'], + fronleichnam: ['BW', 'BY', 'HE', 'NW', 'RP', 'SL'], + mariae: ['BY', 'SL'], + kindertag: ['TH'], + reformation: ['BB', 'HB', 'HH', 'MV', 'NI', 'SN', 'ST', 'SH', 'TH'], + allerheiligen: ['BW', 'BY', 'NW', 'RP', 'SL'], + busstag: ['SN'] + }; + function inLand(key) { return REGIONAL[key].indexOf(BUNDESLAND) > -1; } + var holidayCache = {}; function holidays(y) { if (holidayCache[y]) return holidayCache[y]; var DAY = 864e5, e = easter(y), map = {}; var add = function (t, name) { var dt = new Date(t); map[dt.getUTCMonth() + 1 + '-' + dt.getUTCDate()] = name; }; add(Date.UTC(y, 0, 1), 'Neujahr'); - add(Date.UTC(y, 0, 6), 'Heilige Drei Könige'); + if (inLand('dreikoenige')) add(Date.UTC(y, 0, 6), 'Heilige Drei Könige'); + if (inLand('frauentag')) add(Date.UTC(y, 2, 8), 'Internationaler Frauentag'); add(e - 2 * DAY, 'Karfreitag'); add(e + 1 * DAY, 'Ostermontag'); add(Date.UTC(y, 4, 1), 'Tag der Arbeit'); add(e + 39 * DAY, 'Christi Himmelfahrt'); add(e + 50 * DAY, 'Pfingstmontag'); - add(e + 60 * DAY, 'Fronleichnam'); - add(Date.UTC(y, 7, 15), 'Mariä Himmelfahrt'); + if (inLand('fronleichnam')) add(e + 60 * DAY, 'Fronleichnam'); + if (inLand('mariae')) add(Date.UTC(y, 7, 15), 'Mariä Himmelfahrt'); + if (inLand('kindertag')) add(Date.UTC(y, 8, 20), 'Weltkindertag'); add(Date.UTC(y, 9, 3), 'Tag der Deutschen Einheit'); - add(Date.UTC(y, 10, 1), 'Allerheiligen'); + if (inLand('reformation')) add(Date.UTC(y, 9, 31), 'Reformationstag'); + if (inLand('allerheiligen')) add(Date.UTC(y, 10, 1), 'Allerheiligen'); + if (inLand('busstag')) { + // Mittwoch vor dem 23. November + var nov23 = Date.UTC(y, 10, 23); + add(nov23 - (((new Date(nov23).getUTCDay() + 4) % 7) || 7) * DAY, 'Buß- und Bettag'); + } add(Date.UTC(y, 11, 25), '1. Weihnachtstag'); add(Date.UTC(y, 11, 26), '2. Weihnachtstag'); return (holidayCache[y] = map); @@ -124,7 +151,7 @@ var ts = form.querySelector('[data-ts]'); if (ts) ts.value = String(Date.now()); - var RECIPIENT = 'kontakt@olzinger.de'; + var RECIPIENT = 'kontakt@example.com'; var fields = { name: form.querySelector('[name="name"]'), email: form.querySelector('[name="email"]'), @@ -164,8 +191,8 @@ Array.prototype.forEach.call(radios, function (r) { r.checked = (r.value === topic); }); } - w.addEventListener('olz:topic', function (e) { selectTopic(e.detail); }); - w.addEventListener('olz:prefill', function (e) { + w.addEventListener('hsk:topic', function (e) { selectTopic(e.detail); }); + w.addEventListener('hsk:prefill', function (e) { var det = e.detail || {}; selectTopic(det.topic); if (det.message && fields.message) { @@ -186,7 +213,7 @@ String(data.get('message') || '') ]; return 'mailto:' + RECIPIENT + - '?subject=' + encodeURIComponent('Anfrage über olzinger.de – ' + topic) + + '?subject=' + encodeURIComponent('Anfrage über example.com – ' + topic) + '&body=' + encodeURIComponent(lines.join('\n')); } @@ -213,7 +240,7 @@ setStatus('error', 'Bitte prüfen Sie Ihre Angaben – einige Felder sind unvollständig.'); } else { w.location.href = buildMail(data); - setStatus('info', '<strong>Fast geschafft:</strong> Ihr E-Mail-Programm öffnet sich mit Ihrer vorbereiteten Anfrage – bitte dort nur noch auf „Senden“ klicken. Alternativ erreichen Sie uns unter <a href="tel:+4987172617">0871 72617</a>.'); + setStatus('info', '<strong>Fast geschafft:</strong> Ihr E-Mail-Programm öffnet sich mit Ihrer vorbereiteten Anfrage – bitte dort nur noch auf „Senden“ klicken. Alternativ erreichen Sie uns unter <a href="tel:+491234567890">01234 567890</a>.'); } }; diff --git a/assets/js/finder.js b/assets/js/finder.js index 52db130..42c1acb 100644 --- a/assets/js/finder.js +++ b/assets/js/finder.js @@ -1,5 +1,5 @@ /* ========================================================================== - Olzinger – Heizungs-Finder + HSK-Vorlage – Heizungs-Finder Vier Fragen → erste, unverbindliche Empfehlung (Wärmepumpe / Pellets / Hybrid). Das Ergebnis kann direkt ins Kontaktformular übernommen werden. ========================================================================== */ @@ -193,7 +193,7 @@ var applyBtn = result.querySelector('[data-finder-apply]'); if (applyBtn) { applyBtn.addEventListener('click', function () { - w.dispatchEvent(new CustomEvent('olz:prefill', { + w.dispatchEvent(new CustomEvent('hsk:prefill', { detail: { topic: applyBtn.getAttribute('data-topic'), message: applyBtn.getAttribute('data-message') } })); }); diff --git a/assets/js/house.js b/assets/js/house.js index 9b788ef..7f0d089 100644 --- a/assets/js/house.js +++ b/assets/js/house.js @@ -1,5 +1,5 @@ /* ========================================================================== - Olzinger – Energie-Haus + HSK-Vorlage – Energie-Haus Tabs + Hotspots steuern, welches System im Hausschnitt hervorgehoben wird. ========================================================================== */ (function (w, d) { diff --git a/assets/js/main.js b/assets/js/main.js index 575c6dd..0fd1d4d 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -1,5 +1,5 @@ /* ========================================================================== - Olzinger – Hauptskript + HSK-Vorlage – Hauptskript Navigation, mobiles Menü, dezente Einblendungen, Leistungs-Karussell (mobil) und Kartenstapel (Desktop). Bewusst ohne Bibliotheken. ========================================================================== */ @@ -12,17 +12,17 @@ var reduce = w.matchMedia('(prefers-reduced-motion: reduce)').matches; var hasIO = 'IntersectionObserver' in w; - w.__olzReady = true; + w.__hskReady = true; /* ---------- Dynamische Jahreszahlen ---------- */ var nowYear = new Date().getFullYear(); $$('[data-current-year]').forEach(function (el) { el.textContent = nowYear; }); - $$('[data-years]').forEach(function (el) { el.textContent = nowYear - 1985; }); + $$('[data-years]').forEach(function (el) { el.textContent = nowYear - 1990; }); /* ---------- Wärmebild (ruhiger Hintergrund im Hero) ---------- */ var canvas = $('[data-thermal]'); - if (canvas && w.OlzThermal) { - var thermal = w.OlzThermal.init(canvas, { + if (canvas && w.HskThermal) { + var thermal = w.HskThermal.init(canvas, { hero: $('[data-hero]'), calm: $('.hero__aside'), reduceMotion: reduce @@ -64,7 +64,7 @@ d.addEventListener('click', function (e) { var a = e.target.closest('a[href*="#"]'); if (!a) return; - if (a.dataset.topic) w.dispatchEvent(new CustomEvent('olz:topic', { detail: a.dataset.topic })); + if (a.dataset.topic) w.dispatchEvent(new CustomEvent('hsk:topic', { detail: a.dataset.topic })); if (menuOpen) setMenu(false); }); diff --git a/assets/js/thermal.js b/assets/js/thermal.js index a5a4206..03158c8 100644 --- a/assets/js/thermal.js +++ b/assets/js/thermal.js @@ -1,5 +1,5 @@ /* ========================================================================== - Olzinger – „Wärmebild“ (WebGL) + HSK-Vorlage – „Wärmebild“ (WebGL) Ein ruhiges thermografisches Feld mit Isothermen als Hero-Hintergrund. Eine langsam wandernde Wärmequelle hält das Bild lebendig – ganz ohne Maus- oder Touch-Interaktion. Hinter Fließtext wird die Wärme gedämpft. @@ -283,5 +283,5 @@ function d() { return document; } - w.OlzThermal = { init: init }; + w.HskThermal = { init: init }; })(window); diff --git a/datenschutz.html b/datenschutz.html index 048c982..04b20db 100644 --- a/datenschutz.html +++ b/datenschutz.html @@ -3,10 +3,10 @@ <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> - <title>Datenschutz – Olzinger Haustechnik - + Datenschutz – Mustermann Haustechnik + - + @@ -18,7 +18,7 @@ (function (d, w) { var h = d.documentElement; h.className = h.className.replace('no-js', 'js'); - w.setTimeout(function () { if (!w.__olzReady) { h.classList.remove('js'); h.classList.add('no-js'); } }, 4500); + w.setTimeout(function () { if (!w.__hskReady) { h.classList.remove('js'); h.classList.add('no-js'); } }, 4500); })(document, window); @@ -30,6 +30,8 @@ zugeschnitten (keine Cookies, kein Tracking, lokal eingebundene Schriften und Skripte). Sie ersetzt keine Rechtsberatung – bitte vor dem Livegang prüfen lassen und den Hosting-Anbieter (TODO) ergänzen. + HSK-VORLAGE: Firmendaten sind Platzhalter; zuständige Aufsichtsbehörde (Abschnitt 9) + nach dem Bundesland des Betriebs eintragen. --> @@ -43,13 +45,13 @@