Jede Seite traegt Zeichen und Farbe ihrer Kachel
Auf der Startseite hat jeder Bereich sein eigenes Zeichen und seinen eigenen Farbton -- siebzehn unterscheidbare Bereiche statt siebzehn Kaesten. Bisher endete das an der Kachel: Wer sie anklickte, landete auf einer Seite, der man nicht mehr ansah, woher sie kam. Dreizehn Seiten, alle in demselben Blau, alle ohne Zeichen, alle mit derselben duennen Textzeile als Kopf. Jetzt wird die Kachel weitergereicht. Der Kopf jeder Seite bekommt dieselbe Behandlung wie die Kachel: Plakette mit dem Zeichen, der Bereichsname mit leuchtendem Strich in der Kachelfarbe, ein groesserer Titel und dasselbe Zeichen noch einmal riesig und fast unsichtbar als Wasserzeichen dahinter. Aufgaben ist ueberall orange, Kalender ueberall tuerkis, Personen ueberall rot-gold. EINE QUELLE STATT ZWEIER LISTEN. Zeichen, Ton, Rolle und Ziel jedes Bereichs standen nur in start.js. Sie einfach zu kopieren waere der sichere Weg dazu, dass "Aufgaben" irgendwann auf der Startseite gelb und auf der Aufgabenseite gruen ist. Beides liegt jetzt in assets/js/bereiche.js und wird von start.js UND kopf.js benutzt -- wer eine Kachel aendert, aendert damit automatisch auch den Kopf der Seite. Sie koennen gar nicht auseinanderlaufen. Eingesetzt wird die Plakette von kopf.js, nicht in dreizehn HTML-Dateien: Das vorhandene Markup wird nur umschlossen, nicht ersetzt. Der Kalender hat einen eigenen Kopf (dort ist der Zeitraum die Ueberschrift) und wird ausdruecklich mitgenommen -- sonst waere ausgerechnet die aufwendigste Seite die einzige ohne Zeichen. Die Seitenpruefung sieht jetzt auf allen dreizehn Seiten nach, dass Ton UND Zeichen UND Wasserzeichen da sind, und gibt beides aus (ton=9 zeichen=3/3). Eine Seite, die ihre Zuordnung verliert, faellt damit sofort auf statt erst beim Hinsehen. Kontrast danach an echten Bildpunkten nachgemessen: haelt auf allen sechs geprueften Seiten (schlechtester Wert 4,80:1). Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -98,12 +98,25 @@ for (const [breite, hoehe, wie] of [[1440, 1000, "Computer"], [390, 844, "Handy"
|
||||
Verweis auf die Startseite? */
|
||||
rueckweg: document.querySelector(".kopfleiste .marke__haupt")?.tagName === "A"
|
||||
? document.querySelector(".kopfleiste .marke__haupt").getAttribute("href") : null,
|
||||
/* Jede Unterseite trägt Zeichen und Farbton ihrer Kachel. Beides
|
||||
kommt aus bereiche.js, derselben Liste wie die Kachel -- fehlt
|
||||
eins davon, ist die Zuordnung gerissen und die Seite sieht
|
||||
wieder aus wie jede andere. */
|
||||
ton: document.body.dataset.ton || null,
|
||||
kopfZeichen: document.querySelectorAll(".kopf-zeichen__svg path").length,
|
||||
kopfZeichenFarbe: document.querySelector(".kopf-zeichen__svg")
|
||||
? getComputedStyle(document.querySelector(".kopf-zeichen__svg")).stroke : null,
|
||||
wasserzeichen: document.querySelectorAll(".kopf-wasserzeichen__svg path").length,
|
||||
}));
|
||||
const istStart = s === "start.html";
|
||||
const markeGut = r.markeHaupt && r.markeLeise && r.markeRaute === 1
|
||||
&& (istStart || r.rueckweg === "start.html");
|
||||
/* Auf der Startseite gibt es keinen Seitenkopf -- dort sind die
|
||||
Kacheln selbst der Kopf. Überall sonst ist er Pflicht. */
|
||||
const kopfGut = istStart
|
||||
|| (r.ton !== null && r.kopfZeichen > 0 && r.wasserzeichen > 0);
|
||||
const gut = r.ueber <= 0 && konsole.length === 0 && r.abmelden !== false
|
||||
&& markeGut
|
||||
&& markeGut && kopfGut
|
||||
&& (r.breit === null || r.breit === "1240px")
|
||||
&& (r.kopfzeile === null || r.kopfzeile === "flex");
|
||||
if (!gut) fehler++;
|
||||
@@ -111,7 +124,8 @@ for (const [breite, hoehe, wie] of [[1440, 1000, "Computer"], [390, 844, "Handy"
|
||||
+ `über=${String(r.ueber).padStart(3)}px abmelden=${r.abmelden}`
|
||||
+ ` marke=${r.markeHaupt ? `"${r.markeHaupt}"◆"${r.markeLeise}"` : "FEHLT"}`
|
||||
+ `${istStart ? "" : ` zurück=${r.rueckweg || "FEHLT"}`}`
|
||||
+ ` breit=${r.breit} kopfzeile=${r.kopfzeile}`
|
||||
+ `${istStart ? "" : ` ton=${r.ton || "FEHLT"} zeichen=${r.kopfZeichen}/${r.wasserzeichen}`}`
|
||||
+ ` breit=${r.breit}`
|
||||
+ (konsole.length ? " KONSOLE: " + konsole.join(" | ") : "")
|
||||
+ (r.schuld.length ? " -> " + r.schuld.join(" | ") : ""));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user