Terminbuchung über PetWorkers und G&H-Zertifikat eingebaut

- "Termin buchen" in der Kopfleiste, im Kontakt und als Buchungs-Fläche mit allen Angeboten
- Direkte Buchen-Knöpfe für Einzelcoaching, Gruppenstunden und Stundenplan
- G&H-Siegel im Footer, auf Ernährung und bei den Ausbildungen
- Datenschutz um die Online-Terminbuchung ergänzt
- tools/make_zip.sh baut das Übergabe-Paket

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
NotPika69andClaude Opus 5.5 committed 2026-10-04 11:01:49 +02:00
1 parent e368a0b2cc
commit d154ea13c2
16 files changed
+241 -17

No files matched your search

+3 -1
View File
@@ -19,7 +19,7 @@
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v=c5604f45">
<link rel="stylesheet" href="assets/site.css?v=00c6919d">
</head>
<body>
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
@@ -34,6 +34,7 @@
<a href="ueber-mich.html">Über mich</a>
<a href="index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
@@ -48,6 +49,7 @@
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
+8
View File
@@ -18,6 +18,13 @@ Neue Website für Katha (bisher WordPress auf `schmacko-napf.de`). Statisches HT
| `assets/fonts/` | Questrial (SIL Open Font License) |
| `tools/build_pages.py` | **Quelle der Seiten** — Inhalte hier ändern, dann neu erzeugen |
| `tools/optimize_images.py` | erzeugt `assets/img/`, Apple-Icon und Vorschaubild aus `tools/originals/` |
| `tools/make_zip.sh` | baut `Schmacko-Napf-Website.zip` zur Übergabe an den Kunden |
## Terminbuchung
Alle „Termin buchen“-Knöpfe führen zu Kathas Buchungsportal **PetWorkers** (`https://schmacko-napf.petworkers.app`): Kopfleiste, Kontakt-Fläche, Buchungs-Fläche auf Start/Hundetraining/Ernährung und die Buchen-Knöpfe in den Trainings-Flächen. Die einzelnen Links stehen zentral in `BOOK` in `tools/build_pages.py`.
Die alte Seite verlinkte für das Ernährungs-Erstgespräch teilweise auch Microsoft Bookings – die neue Seite nutzt einheitlich PetWorkers.
## Lokal ansehen
@@ -32,6 +39,7 @@ Dann http://localhost:4175 öffnen. `index.html` lässt sich auch direkt per Dop
```bash
python3 tools/build_pages.py # nach Text-/Strukturänderungen
python3 tools/optimize_images.py # nach neuen Bildern in tools/originals/
tools/make_zip.sh # Übergabe-Paket neu bauen
```
`build_pages.py` braucht Pillow (`pip install pillow`).
Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

+53 -1
View File
@@ -97,6 +97,21 @@ svg { flex: none; }
transition: background .25s var(--ease);
}
.nav a:hover, .nav a[aria-current="page"] { background: var(--sage-soft); }
/* Buchen-Knopf in der Kopfleiste */
.book-btn {
pointer-events: auto;
display: inline-flex; align-items: center; gap: 10px;
height: 60px; padding: 0 24px 0 20px;
margin-left: 12px;
border-radius: var(--radius);
background: var(--sage);
color: var(--ink);
font-size: 1.05rem;
box-shadow: 0 10px 30px rgba(25, 66, 66, .12);
transition: background .25s var(--ease);
}
.book-btn:hover { background: #c2dc8f; }
.book-btn svg { width: 22px; height: 22px; }
.burger {
display: none;
width: 60px; height: 60px;
@@ -461,6 +476,27 @@ a.panel:hover .panel-arrow svg { transform: rotate(-45deg); }
.plate-panel { align-items: center; justify-content: center; }
.plate-panel img { width: min(82%, 560px); filter: drop-shadow(0 34px 46px rgba(25, 66, 66, .25)); }
/* Buchungs-Fläche */
.booking { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(28px, 4vw, 72px); align-items: end; }
.book-links { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.book-links a {
display: flex; align-items: center; justify-content: space-between; gap: 16px;
padding: 22px 26px;
border-radius: 18px;
background: var(--bg);
font-size: clamp(1.15rem, 1.5vw, 1.35rem);
transition: background .3s var(--ease), color .3s var(--ease);
}
.book-links a:hover { background: var(--ink); color: var(--bg); }
.book-links svg { width: 22px; height: 22px; transition: transform .4s var(--ease); }
.book-links a:hover svg { transform: translate(2px, -2px); }
.book-links a:only-child { grid-column: 1 / -1; }
/* G&H-Zertifikat */
.cert { display: block; width: clamp(150px, 13vw, 200px); height: auto; margin-top: 36px; }
.quals-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.quals-head .cert { margin-top: 0; width: clamp(120px, 11vw, 170px); }
/* Kontakt */
.contact-links { display: grid; gap: 12px; margin-top: 40px; max-width: 520px; }
.contact-links a {
@@ -472,6 +508,9 @@ a.panel:hover .panel-arrow svg { transform: rotate(-45deg); }
transition: background .3s var(--ease);
}
.contact-links a:hover { background: rgba(208, 230, 165, .18); }
.contact-links a.contact-book { background: var(--sage); color: var(--ink); }
.contact-links a.contact-book svg { color: var(--ink); }
.contact-links a.contact-book:hover { background: #c2dc8f; }
.contact-links svg { width: 28px; height: 28px; color: var(--sage); }
.contact-links a > span:last-child { margin-left: auto; opacity: .5; }
.contact-links a > span:last-child svg { width: 22px; height: 22px; color: currentColor; }
@@ -488,6 +527,7 @@ a.panel:hover .panel-arrow svg { transform: rotate(-45deg); }
.footer-brand { display: flex; align-items: center; gap: 22px; }
.footer-logo { width: 96px; height: 96px; border-radius: 50%; background: var(--bg); display: grid; place-items: center; flex: none; }
.footer-logo img { width: 92%; }
.footer-cert { width: auto; height: 84px; }
.footer-links { display: flex; flex-wrap: wrap; gap: 8px 26px; }
.footer-links a:hover { color: var(--bg); }
.footer-meta { width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .1); font-size: .95rem; opacity: .75; }
@@ -518,7 +558,9 @@ a.panel:hover .panel-arrow svg { transform: rotate(-45deg); }
}
@media (max-width: 980px) {
.nav { display: none; }
.burger { display: grid; }
.burger { display: grid; margin-left: 10px; }
.book-btn { margin-left: auto; }
.booking { grid-template-columns: 1fr; align-items: start; }
.menu-open .nav {
display: flex; flex-direction: column; gap: 4px;
position: fixed; top: 88px; left: var(--pad); right: var(--pad);
@@ -540,6 +582,9 @@ a.panel:hover .panel-arrow svg { transform: rotate(-45deg); }
body { font-size: 18px; }
.header-inner { height: 76px; }
.brand { width: 62px; height: 62px; }
.book-btn { height: 54px; padding: 0 18px; font-size: 1rem; }
.book-links { grid-template-columns: 1fr; }
.footer-cert { height: 72px; }
.brand img { width: 58px; height: 58px; }
.burger { width: 54px; height: 54px; }
.menu-open .nav { top: 76px; }
@@ -567,6 +612,13 @@ a.panel:hover .panel-arrow svg { transform: rotate(-45deg); }
.footer-brand { flex-direction: column; align-items: flex-start; }
}
.book-short { display: none; }
@media (max-width: 400px) {
.book-btn { padding: 0 16px; gap: 8px; }
.book-long { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.book-short { display: inline; }
}
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
.tile, .seal, .seal-joint { animation: none; opacity: 1; }
+8 -3
View File
@@ -18,7 +18,7 @@
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v=c5604f45">
<link rel="stylesheet" href="assets/site.css?v=00c6919d">
</head>
<body>
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
@@ -33,6 +33,7 @@
<a href="ueber-mich.html">Über mich</a>
<a href="index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
@@ -56,11 +57,14 @@
<p>Wenn du mich kontaktierst, verarbeite ich deine Angaben (z. B. Name, Kontaktdaten, Informationen zu deinem Hund), um deine Anfrage zu beantworten und gegebenenfalls einen Termin oder Vertrag durchzuführen (Art. 6 Abs. 1 lit. b DSGVO). Die Daten werden gelöscht, sobald sie nicht mehr erforderlich sind und keine gesetzlichen Aufbewahrungspflichten bestehen.</p>
<p>Der WhatsApp-Link öffnet erst nach deinem Klick die App bzw. Website von WhatsApp (WhatsApp Ireland Ltd.). Dabei gelten die Datenschutzbestimmungen von WhatsApp. Wenn du das nicht möchtest, schreib mir gern per E-Mail oder ruf an.</p>
<h2>5. Deine Rechte</h2>
<h2>5. Online-Terminbuchung</h2>
<p>Für Terminbuchungen nutze ich das Buchungsportal PetWorkers (schmacko-napf.petworkers.app). Erst wenn du auf „Termin buchen“ klickst, wirst du dorthin weitergeleitet. Die Daten, die du bei der Buchung angibst, verarbeite ich zur Durchführung deines Termins (Art. 6 Abs. 1 lit. b DSGVO). Für die Verarbeitung auf dem Portal gelten ergänzend die Datenschutzhinweise von PetWorkers.</p>
<h2>6. Deine Rechte</h2>
<p>Du hast das Recht auf Auskunft (Art. 15 DSGVO), Berichtigung (Art. 16), Löschung (Art. 17), Einschränkung der Verarbeitung (Art. 18), Datenübertragbarkeit (Art. 20) und Widerspruch gegen Verarbeitungen auf Grundlage berechtigter Interessen (Art. 21). Eine Einwilligung kannst du jederzeit für die Zukunft widerrufen. Eine formlose Nachricht an die oben genannte Adresse genügt.</p>
<p>Außerdem kannst du dich bei einer Datenschutz-Aufsichtsbehörde beschweren, zum Beispiel beim Bayerischen Landesamt für Datenschutzaufsicht (BayLDA), Promenade 18, 91522 Ansbach.</p>
<h2>6. Stand</h2>
<h2>7. Stand</h2>
<p>Oktober 2026</p>
</div>
</div>
@@ -68,6 +72,7 @@
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
+16 -1
View File
@@ -17,7 +17,7 @@
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v=c5604f45">
<link rel="stylesheet" href="assets/site.css?v=00c6919d">
</head>
<body>
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
@@ -32,6 +32,7 @@
<a href="ueber-mich.html">Über mich</a>
<a href="index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
@@ -49,6 +50,7 @@
<h2 class="title">Jeder sagt<br>etwas anderes.</h2>
<p class="big">Ich bringe Klarheit in die Futter-Frage – und erstelle einen Plan, der zu deinem Hund passt.</p>
<div class="facts"><span class="fact">BARF</span><span class="fact">Teil-BARF</span><span class="fact">Koch-BARF</span><span class="fact">Nassfutter</span><span class="fact">Trockenfutter</span></div>
<img class="cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<div class="panel panel--sage plate-panel reveal d1"><img src="assets/img/barf-teller.webp" alt="Teller mit frischem Fleisch, Gemüse und Obst" width="900" height="900" loading="lazy"></div>
</div>
@@ -82,11 +84,23 @@
</div>
</div>
<div class="panel panel--sage panel--auto booking reveal" id="buchen">
<div class="booking-head">
<span class="kicker">Online buchen</span>
<h2 class="display">Beratung buchen.</h2>
<p class="big">Erstgespräch und Futterplan direkt online buchen – vor Ort, am Telefon oder online.</p>
</div>
<div class="book-links">
<a href="https://schmacko-napf.petworkers.app/seite.php?name=ernaehrungsberatung" target="_blank" rel="noopener"><span>Ernährungsberatung</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
</div>
</div>
<div class="row row--wide" id="kontakt">
<div class="panel panel--ink reveal">
<span class="kicker">Kontakt</span>
<h2 class="display">Lass uns<br>sprechen.</h2>
<div class="contact-links">
<a class="contact-book" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span>Termin online buchen</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="https://wa.me/4917656932942" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 11.5a8 8 0 0 1-11.8 7L4 20l1.5-4A8 8 0 1 1 20 11.5z"/></svg><span>WhatsApp</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="tel:+4917656932942"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"/></svg><span>+49 176 569 329 42</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="mailto:info@schmacko-napf.de"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2.5"/><path d="m4 7 8 6 8-6"/></svg><span>info@schmacko-napf.de</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
@@ -98,6 +112,7 @@
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
+24 -1
View File
@@ -17,7 +17,7 @@
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v=c5604f45">
<link rel="stylesheet" href="assets/site.css?v=00c6919d">
</head>
<body>
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
@@ -32,6 +32,7 @@
<a href="ueber-mich.html">Über mich</a>
<a href="index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
@@ -49,6 +50,7 @@
<h2 class="title">Individuell.<br>Bei dir zu Hause.</h2>
<p class="big">Für Grundgehorsam, Unsicherheit, Leinenführigkeit oder einen neuen Hund im Haus.</p>
<div class="price-big"><strong>60 €</strong><span>pro Stunde · nach dem Erstgespräch (120 €, ca. 2 Std.)</span></div>
<div class="btn-row"><a class="btn btn--ink" href="https://schmacko-napf.petworkers.app/seite.php?name=einzelcoaching&amp;id=11&amp;sysname=coaching" target="_blank" rel="noopener">Einzelcoaching buchen <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a></div>
</div>
<div class="panel panel--photo plain reveal d1"><img src="assets/img/hund-wald.webp" srcset="assets/img/hund-wald-900.webp 900w, assets/img/hund-wald.webp 1417w" sizes="(max-width: 980px) 100vw, 55vw" alt="Schwarze Schäferhündin steht aufmerksam im Wald" loading="lazy"></div>
</div>
@@ -60,6 +62,10 @@
<h2 class="title">Training da, wo<br>das Leben ist.</h2>
<p class="big">In der Stadt, im Grünen, in Geschäften – mit max. 6 Mensch-Hund-Teams.</p>
<div class="price-big"><strong>18 €</strong><span>pro Mensch-Hund-Team</span></div>
<div class="btn-row">
<a class="btn btn--sage" href="https://schmacko-napf.petworkers.app/seite.php?name=gruppenstunden&amp;id=12&amp;sysname=groups" target="_blank" rel="noopener">Gruppenstunde buchen <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a class="btn btn--line" href="https://schmacko-napf.petworkers.app/index.php?view=kalender" target="_blank" rel="noopener">Stundenplan <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
</div>
</div>
</div>
@@ -85,11 +91,27 @@
</div>
</div>
<div class="panel panel--sage panel--auto booking reveal" id="buchen">
<div class="booking-head">
<span class="kicker">Online buchen</span>
<h2 class="display">Termin buchen.</h2>
<p class="big">Freie Termine, Kurse und der Stundenplan – direkt in meinem Buchungsportal.</p>
</div>
<div class="book-links">
<a href="https://schmacko-napf.petworkers.app/seite.php?name=einzelcoaching&amp;id=11&amp;sysname=coaching" target="_blank" rel="noopener"><span>Einzelcoaching</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a href="https://schmacko-napf.petworkers.app/seite.php?name=gruppenstunden&amp;id=12&amp;sysname=groups" target="_blank" rel="noopener"><span>Gruppenstunden</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a href="https://schmacko-napf.petworkers.app/index.php?id=13" target="_blank" rel="noopener"><span>Kurse &amp; Workshops</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a href="https://schmacko-napf.petworkers.app/seite.php?name=kaufberatung" target="_blank" rel="noopener"><span>Kaufberatung</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a href="https://schmacko-napf.petworkers.app/index.php?view=kalender" target="_blank" rel="noopener"><span>Stundenplan</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
</div>
</div>
<div class="row row--wide" id="kontakt">
<div class="panel panel--ink reveal">
<span class="kicker">Kontakt</span>
<h2 class="display">Lass uns<br>sprechen.</h2>
<div class="contact-links">
<a class="contact-book" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span>Termin online buchen</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="https://wa.me/4917656932942" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 11.5a8 8 0 0 1-11.8 7L4 20l1.5-4A8 8 0 1 1 20 11.5z"/></svg><span>WhatsApp</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="tel:+4917656932942"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"/></svg><span>+49 176 569 329 42</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="mailto:info@schmacko-napf.de"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2.5"/><path d="m4 7 8 6 8-6"/></svg><span>info@schmacko-napf.de</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
@@ -101,6 +123,7 @@
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
+3 -1
View File
@@ -18,7 +18,7 @@
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v=c5604f45">
<link rel="stylesheet" href="assets/site.css?v=00c6919d">
</head>
<body>
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
@@ -33,6 +33,7 @@
<a href="ueber-mich.html">Über mich</a>
<a href="index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
@@ -53,6 +54,7 @@
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
+20 -1
View File
@@ -17,7 +17,7 @@
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v=c5604f45">
<link rel="stylesheet" href="assets/site.css?v=00c6919d">
</head>
<body class="is-home">
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
@@ -32,6 +32,7 @@
<a href="ueber-mich.html">Über mich</a>
<a href="index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
@@ -141,11 +142,28 @@
</a>
</div>
<div class="panel panel--sage panel--auto booking reveal" id="buchen">
<div class="booking-head">
<span class="kicker">Online buchen</span>
<h2 class="display">Termin buchen.</h2>
<p class="big">Freie Termine, Kurse und der Stundenplan – direkt in meinem Buchungsportal.</p>
</div>
<div class="book-links">
<a href="https://schmacko-napf.petworkers.app/seite.php?name=einzelcoaching&amp;id=11&amp;sysname=coaching" target="_blank" rel="noopener"><span>Einzelcoaching</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a href="https://schmacko-napf.petworkers.app/seite.php?name=gruppenstunden&amp;id=12&amp;sysname=groups" target="_blank" rel="noopener"><span>Gruppenstunden</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a href="https://schmacko-napf.petworkers.app/index.php?id=13" target="_blank" rel="noopener"><span>Kurse &amp; Workshops</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a href="https://schmacko-napf.petworkers.app/seite.php?name=ernaehrungsberatung" target="_blank" rel="noopener"><span>Ernährungsberatung</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a href="https://schmacko-napf.petworkers.app/seite.php?name=kaufberatung" target="_blank" rel="noopener"><span>Kaufberatung</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
<a href="https://schmacko-napf.petworkers.app/index.php?view=kalender" target="_blank" rel="noopener"><span>Stundenplan</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17 17 7M9 7h8v8"/></svg></a>
</div>
</div>
<div class="row row--wide" id="kontakt">
<div class="panel panel--ink reveal">
<span class="kicker">Kontakt</span>
<h2 class="display">Lass uns<br>sprechen.</h2>
<div class="contact-links">
<a class="contact-book" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span>Termin online buchen</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="https://wa.me/4917656932942" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 11.5a8 8 0 0 1-11.8 7L4 20l1.5-4A8 8 0 1 1 20 11.5z"/></svg><span>WhatsApp</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="tel:+4917656932942"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"/></svg><span>+49 176 569 329 42</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="mailto:info@schmacko-napf.de"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2.5"/><path d="m4 7 8 6 8-6"/></svg><span>info@schmacko-napf.de</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
@@ -157,6 +175,7 @@
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
+4 -1
View File
@@ -17,7 +17,7 @@
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v=c5604f45">
<link rel="stylesheet" href="assets/site.css?v=00c6919d">
</head>
<body>
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
@@ -32,6 +32,7 @@
<a href="ueber-mich.html">Über mich</a>
<a href="index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
@@ -58,6 +59,7 @@
<span class="kicker">Kontakt</span>
<h2 class="display">Lass uns<br>sprechen.</h2>
<div class="contact-links">
<a class="contact-book" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span>Termin online buchen</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="https://wa.me/4917656932942" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 11.5a8 8 0 0 1-11.8 7L4 20l1.5-4A8 8 0 1 1 20 11.5z"/></svg><span>WhatsApp</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="tel:+4917656932942"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"/></svg><span>+49 176 569 329 42</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="mailto:info@schmacko-napf.de"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2.5"/><path d="m4 7 8 6 8-6"/></svg><span>info@schmacko-napf.de</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
@@ -69,6 +71,7 @@
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
+51 -5
View File
@@ -14,6 +14,20 @@ def version(path):
CSS_V, JS_V = version("assets/site.css"), version("assets/site.js")
LOGO = "assets/img/logo.webp"
CERT = "assets/img/gh-siegel.webp"
CERT_ALT = "Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann"
# Buchungsportal (PetWorkers) – & als &amp; für HTML-Attribute
PW = "https://schmacko-napf.petworkers.app/"
BOOK = {
"coach": ("Einzelcoaching", PW + "seite.php?name=einzelcoaching&amp;id=11&amp;sysname=coaching"),
"groups": ("Gruppenstunden", PW + "seite.php?name=gruppenstunden&amp;id=12&amp;sysname=groups"),
"courses": ("Kurse &amp; Workshops", PW + "index.php?id=13"),
"food": ("Ernährungsberatung", PW + "seite.php?name=ernaehrungsberatung"),
"buy": ("Kaufberatung", PW + "seite.php?name=kaufberatung"),
"cal": ("Stundenplan", PW + "index.php?view=kalender"),
}
EXT = ' target="_blank" rel="noopener"'
BARF = "assets/img/barf-teller.webp"
def img(name, alt, sizes="(max-width: 980px) 100vw, 55vw", lazy=True):
@@ -43,6 +57,8 @@ I = {
"car": ic('<path d="M5 16V11l2-5h10l2 5v5"/><path d="M3 16h18v3H3z"/><circle cx="7.5" cy="13" r="1"/><circle cx="16.5" cy="13" r="1"/>'),
"shield": ic('<path d="M12 3 5 6v6c0 4.5 3 7.5 7 9 4-1.5 7-4.5 7-9V6z"/><path d="m9 12 2 2 4-4"/>'),
"wind": ic('<path d="M3 9h11a3 3 0 1 0-3-3M3 15h15a3 3 0 1 1-3 3M3 12h8"/>'),
"ext": ic('<path d="M7 17 17 7M9 7h8v8"/>', "2"),
"cal": ic('<rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/>'),
}
ARROW_BADGE = f'<span class="panel-arrow">{I["arrow"]}</span>'
@@ -85,11 +101,27 @@ def header(current=None):
<nav class="nav" aria-label="Hauptmenü">
{links}
</nav>
<a class="book-btn" href="{PW}"{EXT}>{I["cal"]}<span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false">{I["menu"]}</button>
</div>
</header>
'''
def booking(keys, title="Termin buchen.", text="Freie Termine, Kurse und der Stundenplan – direkt in meinem Buchungsportal."):
links = "\n".join(f' <a href="{BOOK[k][1]}"{EXT}><span>{BOOK[k][0]}</span>{I["ext"]}</a>' for k in keys)
return f''' <div class="panel panel--sage panel--auto booking reveal" id="buchen">
<div class="booking-head">
<span class="kicker">Online buchen</span>
<h2 class="display">{title}</h2>
<p class="big">{text}</p>
</div>
<div class="book-links">
{links}
</div>
</div>
'''
def contact(photo="hund-wald", alt="Schwarze Schäferhündin steht aufmerksam im Wald"):
go = f'<span>{I["arrow"]}</span>'
return f''' <div class="row row--wide" id="kontakt">
@@ -97,6 +129,7 @@ def contact(photo="hund-wald", alt="Schwarze Schäferhündin steht aufmerksam im
<span class="kicker">Kontakt</span>
<h2 class="display">Lass uns<br>sprechen.</h2>
<div class="contact-links">
<a class="contact-book" href="{PW}"{EXT}>{I["cal"]}<span>Termin online buchen</span>{go}</a>
<a href="{WA}" target="_blank" rel="noopener">{I["chat"]}<span>WhatsApp</span>{go}</a>
<a href="{PHONE_HREF}">{I["phone"]}<span>{PHONE}</span>{go}</a>
<a href="mailto:{MAIL}">{I["mail"]}<span>{MAIL}</span>{go}</a>
@@ -111,6 +144,7 @@ def footer():
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="{LOGO}" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="{CERT}" alt="{CERT_ALT}" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
@@ -245,7 +279,7 @@ index = head("Schmacko Napf & Hundetraining by Katha",
</a>
</div>
{contact()}''' + footer()
{booking(["coach", "groups", "courses", "food", "buy", "cal"])}{contact()}''' + footer()
write("index.html", index)
PAGES.append("index.html")
@@ -262,6 +296,7 @@ page("hundeschule.html", "Hundetraining – Schmacko Napf",
<h2 class="title">Individuell.<br>Bei dir zu Hause.</h2>
<p class="big">Für Grundgehorsam, Unsicherheit, Leinenführigkeit oder einen neuen Hund im Haus.</p>
<div class="price-big"><strong>60 €</strong><span>pro Stunde · nach dem Erstgespräch (120 €, ca. 2 Std.)</span></div>
<div class="btn-row"><a class="btn btn--ink" href="{BOOK['coach'][1]}"{EXT}>Einzelcoaching buchen {I["ext"]}</a></div>
</div>
<div class="panel panel--photo plain reveal d1">{img("hund-wald", "Schwarze Schäferhündin steht aufmerksam im Wald")}</div>
</div>
@@ -273,6 +308,10 @@ page("hundeschule.html", "Hundetraining – Schmacko Napf",
<h2 class="title">Training da, wo<br>das Leben ist.</h2>
<p class="big">In der Stadt, im Grünen, in Geschäften – mit max. 6 Mensch-Hund-Teams.</p>
<div class="price-big"><strong>18 €</strong><span>pro Mensch-Hund-Team</span></div>
<div class="btn-row">
<a class="btn btn--sage" href="{BOOK['groups'][1]}"{EXT}>Gruppenstunde buchen {I["ext"]}</a>
<a class="btn btn--line" href="{BOOK['cal'][1]}"{EXT}>Stundenplan {I["ext"]}</a>
</div>
</div>
</div>
@@ -298,7 +337,7 @@ page("hundeschule.html", "Hundetraining – Schmacko Napf",
</div>
</div>
{contact("katha-heide", "Katha sitzt mit ihrer Schäferhündin im Grünen")}''')
{booking(["coach", "groups", "courses", "buy", "cal"])}{contact("katha-heide", "Katha sitzt mit ihrer Schäferhündin im Grünen")}''')
PAGES.append("hundeschule.html")
# ================================================================ Ernährung
@@ -314,6 +353,7 @@ page("ernaehrung.html", "Ernährungsberatung – Schmacko Napf",
<h2 class="title">Jeder sagt<br>etwas anderes.</h2>
<p class="big">Ich bringe Klarheit in die Futter-Frage – und erstelle einen Plan, der zu deinem Hund passt.</p>
<div class="facts"><span class="fact">BARF</span><span class="fact">Teil-BARF</span><span class="fact">Koch-BARF</span><span class="fact">Nassfutter</span><span class="fact">Trockenfutter</span></div>
<img class="cert" src="{CERT}" alt="{CERT_ALT}" width="480" height="329" loading="lazy">
</div>
<div class="panel panel--sage plate-panel reveal d1"><img src="{BARF}" alt="Teller mit frischem Fleisch, Gemüse und Obst" width="900" height="900" loading="lazy"></div>
</div>
@@ -347,7 +387,7 @@ page("ernaehrung.html", "Ernährungsberatung – Schmacko Napf",
</div>
</div>
{contact()}''')
{booking(["food"], "Beratung buchen.", "Erstgespräch und Futterplan direkt online buchen – vor Ort, am Telefon oder online.")}{contact()}''')
PAGES.append("ernaehrung.html")
# ================================================================ Shop
@@ -420,7 +460,10 @@ page("ueber-mich.html", "Über mich – Schmacko Napf",
</div>
<div class="panel panel--ink panel--auto reveal">
<div class="quals-head">
<span class="kicker">Ausbildungen</span>
<img class="cert" src="{CERT}" alt="{CERT_ALT}" width="480" height="329" loading="lazy">
</div>
<ul class="quals">
<li><small>2021 – 2023</small><strong>Hundetrainerin</strong><span>Diane Bartlog, Hundeschule Mengkofen</span></li>
<li><small>2022 – 2023</small><strong>Hunde-Ernährungsberaterin</strong><span>Heidi Herrmann, G&amp;H Tierernährung</span></li>
@@ -482,11 +525,14 @@ page("datenschutz.html", "Datenschutz – Schmacko Napf", "Datenschutzerklärung
<p>Wenn du mich kontaktierst, verarbeite ich deine Angaben (z. B. Name, Kontaktdaten, Informationen zu deinem Hund), um deine Anfrage zu beantworten und gegebenenfalls einen Termin oder Vertrag durchzuführen (Art. 6 Abs. 1 lit. b DSGVO). Die Daten werden gelöscht, sobald sie nicht mehr erforderlich sind und keine gesetzlichen Aufbewahrungspflichten bestehen.</p>
<p>Der WhatsApp-Link öffnet erst nach deinem Klick die App bzw. Website von WhatsApp (WhatsApp Ireland Ltd.). Dabei gelten die Datenschutzbestimmungen von WhatsApp. Wenn du das nicht möchtest, schreib mir gern per E-Mail oder ruf an.</p>
<h2>5. Deine Rechte</h2>
<h2>5. Online-Terminbuchung</h2>
<p>Für Terminbuchungen nutze ich das Buchungsportal PetWorkers (schmacko-napf.petworkers.app). Erst wenn du auf „Termin buchen“ klickst, wirst du dorthin weitergeleitet. Die Daten, die du bei der Buchung angibst, verarbeite ich zur Durchführung deines Termins (Art. 6 Abs. 1 lit. b DSGVO). Für die Verarbeitung auf dem Portal gelten ergänzend die Datenschutzhinweise von PetWorkers.</p>
<h2>6. Deine Rechte</h2>
<p>Du hast das Recht auf Auskunft (Art. 15 DSGVO), Berichtigung (Art. 16), Löschung (Art. 17), Einschränkung der Verarbeitung (Art. 18), Datenübertragbarkeit (Art. 20) und Widerspruch gegen Verarbeitungen auf Grundlage berechtigter Interessen (Art. 21). Eine Einwilligung kannst du jederzeit für die Zukunft widerrufen. Eine formlose Nachricht an die oben genannte Adresse genügt.</p>
<p>Außerdem kannst du dich bei einer Datenschutz-Aufsichtsbehörde beschweren, zum Beispiel beim Bayerischen Landesamt für Datenschutzaufsicht (BayLDA), Promenade 18, 91522 Ansbach.</p>
<h2>6. Stand</h2>
<h2>7. Stand</h2>
<p>Oktober 2026</p>
</div>
</div>
+35
View File
@@ -0,0 +1,35 @@
#!/bin/sh
# Baut das Übergabe-Paket Schmacko-Napf-Website.zip (nur die Website-Dateien + LIESMICH.txt)
set -e
cd "$(dirname "$0")/.."
TMP=$(mktemp -d)
DIR="$TMP/Schmacko-Napf-Website"
mkdir -p "$DIR"
rsync -a --exclude tools --exclude README.md --exclude .git --exclude .claude --exclude .gitignore --exclude '*.zip' --exclude .DS_Store ./ "$DIR/"
cat > "$DIR/LIESMICH.txt" <<'TXT'
Schmacko Napf & Hundetraining by Katha – Website
=================================================
Ansehen:
index.html per Doppelklick im Browser öffnen.
Veröffentlichen:
Den kompletten Inhalt dieses Ordners (inkl. der versteckten Datei .htaccess)
per FTP in das Hauptverzeichnis des Webspace laden. Fertig.
Terminbuchung:
Alle "Termin buchen"-Knöpfe führen zum Buchungsportal
https://schmacko-napf.petworkers.app
Die Seite setzt keine Cookies, nutzt kein Tracking und lädt nichts von fremden
Servern (Schrift und Bilder liegen im Ordner assets). Ein Cookie-Banner ist
deshalb nicht nötig.
Bildnachweis: Fotos von Katha und ihren Hunden – Steffi Biller, KK-Fotografie.
Weitere Bilder: Unsplash. Schrift: Questrial (SIL Open Font License).
G&H-Siegel: G&H Tierernährung, Heidi Herrmann.
TXT
rm -f Schmacko-Napf-Website.zip
(cd "$TMP" && zip -qr - Schmacko-Napf-Website) > Schmacko-Napf-Website.zip
rm -rf "$TMP"
echo "Schmacko-Napf-Website.zip erstellt ($(du -h Schmacko-Napf-Website.zip | cut -f1))"
+5
View File
@@ -38,6 +38,11 @@ save_webp(fit(logo, 640), "logo.webp", quality=90)
plate = Image.open(os.path.join(SRC, "barf-teller.png")).convert("RGBA")
save_webp(fit(plate, 900), "barf-teller.webp", quality=82)
# G&H-Zertifikatssiegel: transparenten Rand abschneiden
cert = Image.open(os.path.join(SRC, "gh-siegel.png")).convert("RGBA")
cert = cert.crop(cert.getchannel("A").getbbox())
save_webp(fit(cert, 480), "gh-siegel.webp", quality=90)
# Apple-Touch-Icon: Logo auf Creme
icon = Image.new("RGB", (180, 180), CREAM)
small = fit(logo, 172)
Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

+4 -1
View File
@@ -17,7 +17,7 @@
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v=c5604f45">
<link rel="stylesheet" href="assets/site.css?v=00c6919d">
</head>
<body>
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
@@ -32,6 +32,7 @@
<a href="ueber-mich.html">Über mich</a>
<a href="index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
@@ -65,6 +66,7 @@
<span class="kicker">Kontakt</span>
<h2 class="display">Lass uns<br>sprechen.</h2>
<div class="contact-links">
<a class="contact-book" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span>Termin online buchen</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="https://wa.me/4917656932942" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 11.5a8 8 0 0 1-11.8 7L4 20l1.5-4A8 8 0 1 1 20 11.5z"/></svg><span>WhatsApp</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="tel:+4917656932942"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"/></svg><span>+49 176 569 329 42</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="mailto:info@schmacko-napf.de"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2.5"/><path d="m4 7 8 6 8-6"/></svg><span>info@schmacko-napf.de</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
@@ -76,6 +78,7 @@
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>
+7 -1
View File
@@ -17,7 +17,7 @@
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="preload" href="assets/fonts/questrial-latin.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="assets/site.css?v=c5604f45">
<link rel="stylesheet" href="assets/site.css?v=00c6919d">
</head>
<body>
<a class="skip" href="#inhalt">Zum Inhalt springen</a>
@@ -32,6 +32,7 @@
<a href="ueber-mich.html" aria-current="page">Über mich</a>
<a href="index.html#kontakt">Kontakt</a>
</nav>
<a class="book-btn" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span class="book-long">Termin buchen</span><span class="book-short" aria-hidden="true">Buchen</span></a>
<button class="burger" type="button" aria-label="Menü öffnen" aria-expanded="false"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg></button>
</div>
</header>
@@ -62,7 +63,10 @@
</div>
<div class="panel panel--ink panel--auto reveal">
<div class="quals-head">
<span class="kicker">Ausbildungen</span>
<img class="cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<ul class="quals">
<li><small>2021 – 2023</small><strong>Hundetrainerin</strong><span>Diane Bartlog, Hundeschule Mengkofen</span></li>
<li><small>2022 – 2023</small><strong>Hunde-Ernährungsberaterin</strong><span>Heidi Herrmann, G&amp;H Tierernährung</span></li>
@@ -90,6 +94,7 @@
<span class="kicker">Kontakt</span>
<h2 class="display">Lass uns<br>sprechen.</h2>
<div class="contact-links">
<a class="contact-book" href="https://schmacko-napf.petworkers.app/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3.5" y="5" width="17" height="15" rx="2.5"/><path d="M3.5 10h17M8 3v4M16 3v4"/></svg><span>Termin online buchen</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="https://wa.me/4917656932942" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 11.5a8 8 0 0 1-11.8 7L4 20l1.5-4A8 8 0 1 1 20 11.5z"/></svg><span>WhatsApp</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="tel:+4917656932942"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2"/></svg><span>+49 176 569 329 42</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
<a href="mailto:info@schmacko-napf.de"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2.5"/><path d="m4 7 8 6 8-6"/></svg><span>info@schmacko-napf.de</span><span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6"/></svg></span></a>
@@ -101,6 +106,7 @@
<div class="footer-brand">
<a class="footer-logo" href="index.html"><img src="assets/img/logo.webp" alt="Schmacko Napf &amp; Hundetraining by Katha" width="88" height="88" loading="lazy"></a>
<span>Ernährung, Gesundheit und Training –<br>mit Herz und Verstand.</span>
<img class="footer-cert" src="assets/img/gh-siegel.webp" alt="Zertifiziert nach G&amp;H Tierernährung – Gesund gefüttert Heidi Herrmann" width="480" height="329" loading="lazy">
</div>
<nav class="footer-links" aria-label="Footer">
<a href="hundeschule.html">Hundetraining</a>