TechDay-Bruchsal-2026-Seite ergänzt
- public/techday.html: Eventseite im Landingpage-Stil mit Hero, Event-Beschreibung, Vortrag (Speaker David Bertram), mITapp-Abschnitt mit Platzhaltern, GameJam-Verweis und Event-Infos - styles.css: Styles für TechDay-Seite (Hero, Talk-Split, Speaker-Karte, Screenshot-Platzhalter) - index.html: Navigations-Verweis "TechDay" in Header, Mobilmenü und Footer; GameJam zusätzlich im Footer Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
b629bbc90a
commit
a0c306374f
4 files changed
+388
-5
No files matched your search
@@ -13,6 +13,7 @@ const http = require("http");
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const crypto = require("crypto");
|
||||
const os = require("os");
|
||||
|
||||
const ROOT = __dirname;
|
||||
const PUBLIC_DIR = path.join(ROOT, "public");
|
||||
@@ -28,7 +29,20 @@ const MAX_UPLOAD = 5 * 1024 * 1024; /* 5 MB pro eingereichtem Spiel */
|
||||
|
||||
/* Bevorzugte Ports — der erste freie wird genutzt. */
|
||||
const PORT_CANDIDATES = [4317, 4318, 4417, 5317, 8317, 0];
|
||||
const HOST = "127.0.0.1";
|
||||
/* 0.0.0.0 = auf allen Schnittstellen erreichbar, auch für andere
|
||||
Geräte im selben WLAN (z. B. Handys, die den QR-Code scannen). */
|
||||
const HOST = "0.0.0.0";
|
||||
|
||||
/* Erste IPv4-LAN-Adresse dieses Rechners ermitteln. */
|
||||
function getLanIP() {
|
||||
const ifaces = os.networkInterfaces();
|
||||
for (const name of Object.keys(ifaces)) {
|
||||
for (const net of ifaces[name] || []) {
|
||||
if (net.family === "IPv4" && !net.internal) return net.address;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
const MIME = {
|
||||
".html": "text/html; charset=utf-8",
|
||||
@@ -383,14 +397,18 @@ function listen(candidates) {
|
||||
const actual = server.address().port;
|
||||
ensureLeadStore();
|
||||
ensureGamejamStore();
|
||||
const lan = getLanIP();
|
||||
console.log("");
|
||||
console.log(" ToolCTRL — Landing Page läuft");
|
||||
console.log(" ----------------------------------------");
|
||||
console.log(" URL: http://" + HOST + ":" + actual);
|
||||
console.log(" GameJam: http://" + HOST + ":" + actual + "/gamejam.html");
|
||||
console.log(" Leads: " + LEADS_CSV);
|
||||
console.log(" Lokal: http://127.0.0.1:" + actual);
|
||||
if (lan) {
|
||||
console.log(" Netzwerk: http://" + lan + ":" + actual +
|
||||
" (andere Geräte im selben WLAN / QR-Code)");
|
||||
}
|
||||
console.log(" Leads: " + LEADS_CSV);
|
||||
console.log(" GameJam-Einreichungen: " + SUBMISSIONS_JSON);
|
||||
console.log(" Stop: Strg + C");
|
||||
console.log(" Stop: Strg + C");
|
||||
console.log("");
|
||||
});
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user