Rework the Hüfner site after the customer meeting

Tree green from the logo everywhere, the 100 emoji inline wherever 100
appears, downloads for the exemption certificates and the PQ certificate,
the image video behind consent, Google reviews, a 48-hour quote promise,
WhatsApp, two job cards and a page for the alpacas.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
kantarciandClaude Opus 5.5 committed 2026-10-12 13:56:16 +02:00
1 parent 6ee05f4c70
commit 6390c00876
4 files changed
+592 -188

No files matched your search

+37 -1
View File
@@ -7,7 +7,12 @@
* den Baum mit den Steinen als quadratisches Seitensymbol (favicon.png) heraus. Der Baum ist im
* Logo links, der Schriftzug rechts; ein Favicon mit Schrift wäre in 32 px unlesbar.
*
* Aufruf: php scripts/build-huefner-assets.php <Quellordner mit images/> <Zielordner>
* Aufruf: php scripts/build-huefner-assets.php <Quellordner mit images/> <Zielordner> [<Unterlagen>]
*
* Das dritte Argument ist Umuts Ordner „unterlagenfrwebsite“ (12.10.2026): Alpaka-Fotos, PQ-Logo,
* Galabau-Signet und die drei PDFs. Sie bekommen hier feste, einfache Namen, damit das Seed-Skript
* nicht an „Freistellungsbescheinigung §48 … bis 11.05.2029.pdf“ hängt. Kommt eine neue
* Bescheinigung, genügt es, sie nach dem gleichen Muster benannt in den Ordner zu legen.
*/
$quelle = rtrim($argv[1] ?? '', '/\\');
$ziel = rtrim($argv[2] ?? '', '/\\');
@@ -43,3 +48,34 @@ $zh = (int) round($h * $massstab);
imagecopyresampled($symbol, $logo, (int) (($kante - $zb) / 2), (int) (($kante - $zh) / 2), $x, $y, $zb, $zh, $b, $h);
imagepng($symbol, $ziel.'/favicon.png');
echo "Bilder kopiert, Seitensymbol geschnitten: $ziel\n";
$unterlagen = rtrim($argv[3] ?? '', '/\\');
if ('' === $unterlagen) {
exit(0);
}
// Muster im Ordner => fester Name. Bei mehreren Treffern gewinnt der letzte in Namensreihenfolge.
$feste = [
'Alpaka (1).jpeg' => 'alpaka-plakat.jpg',
'Alpaka (2).jpeg' => 'alpaka-wiese.jpg',
'Alpaka (3).jpeg' => 'alpaka-stall.jpg',
'Alpaka (4).jpeg' => 'alpaka-blume.jpg',
'Alpaka (6).jpeg' => 'alpaka-zaunbau.jpg',
'Alpaka (9).jpeg' => 'alpaka-rasen.jpg',
'PQ-Logo*.png' => 'pq-logo.png',
'Signum*.png' => 'galabau-signet.png',
'100-emoji.png' => 'hundert.png',
'PQ-Bescheinigung*.pdf' => 'pq-bescheinigung.pdf',
'Freistellungsbescheinigung §13*.pdf' => 'freistellung-13b.pdf',
'Freistellungsbescheinigung §48*.pdf' => 'freistellung-48b.pdf',
];
$dateien = scandir($unterlagen) ?: [];
foreach ($feste as $muster => $name) {
$treffer = array_values(array_filter($dateien, static fn (string $d): bool => fnmatch($muster, $d, FNM_NOESCAPE)));
if ([] === $treffer) {
fwrite(STDERR, "Fehlt in den Unterlagen: $muster\n");
exit(1);
}
sort($treffer);
copy($unterlagen.'/'.end($treffer), $ziel.'/'.$name);
}
echo 'Unterlagen übernommen: '.count($feste)." Dateien\n";
+4 -3
View File
@@ -1,6 +1,7 @@
#!/bin/sh
# Wirft die Hüfner-Installation weg und baut sie neu auf. Nur fuer den Aufbau gedacht.
# Erstes Argument: der entpackte Entwurf (Ordner mit index.html und images/).
# Zweites Argument: Umuts Unterlagen (Alpakas, PQ, Freistellungsbescheinigungen, Signet).
set -e
root="C:/Django Project/KantSites"
php="${PHP_BINARY:-C:/php84/php.exe}"
@@ -8,10 +9,10 @@ export DATABASE_URL="sqlite:///$root/var/huefner.db"
export MEDIA_DIRECTORY="$root/var/huefner-media"
assets="$root/var/huefner-assets"
if [ -n "$1" ]; then
"$php" scripts/build-huefner-assets.php "$1" "$assets"
"$php" scripts/build-huefner-assets.php "$1" "$assets" "$2"
fi
if [ ! -f "$assets/favicon.png" ]; then
echo "Bilder fehlen: erst mit dem Ordner des Entwurfs als Argument aufrufen." >&2
if [ ! -f "$assets/favicon.png" ] || [ ! -f "$assets/pq-bescheinigung.pdf" ]; then
echo "Bilder fehlen: erst mit dem Ordner des Entwurfs und den Unterlagen als Argumente aufrufen." >&2
exit 1
fi
rm -f "$root/var/huefner.db"
+550 -183
View File
File diff suppressed because it is too large. Load diff