Anfuehrungszeichen: 199 falsche Schlusszeichen im sichtbaren Text
Deutsch oeffnet mit „ und schliesst mit “. An 199 Stellen, die ein
Mensch liest, stand als Schlusszeichen ein GERADES " -- „Nächstes"
statt „Nächstes“. Auf sechzehn oeffentlichen Seiten, in vierzig
Dateien des Workspace und in zwoelf Servermodulen, die Texte
verschicken.
Auf dem Bildschirm sieht man den Unterschied sofort. Beim Schreiben
nicht: Das gerade " liegt auf der Tastatur, die anderen nicht.
WARUM EIN ERSTER ANLAUF ZURUECKGENOMMEN WURDE
Ein gerades " ist an vielen Stellen SYNTAX und kein Schriftzeichen --
Grenze einer Zeichenkette, Grenze eines HTML-Attributs, Zeichen in
einem regulaeren Ausdruck. Wer stumpf ersetzt, macht aus
„<a href="https://… ein kaputtes Attribut
/^["'„»\s]+|["'“«.\s]+$/ einen kaputten Ausdruck
"… nichts „mal " + "eben …" eine kaputte Zeichenkette
DIE UNTERSCHEIDUNG LAEUFT AN MERKMALEN, NICHT AN EINER LISTE
< > = dazwischen -> HTML-Marke oder Attribut
endet auf Leerzeichen -> die Zeichenkette hoert hier auf, der
Satz geht in der naechsten Zeile weiter.
Ein deutsches Schlusszeichen steht NIE
hinter einem Leerzeichen.
Rueckstrich mittendrin -> regulaerer Ausdruck
${ ohne } -> mitten in einem Ausdruck
Eine Liste erlaubter Ausnahmen waere die naechste, die niemand
pflegt. Zwoelf Stellen bleiben dadurch stehen, alle zwoelf einzeln
angesehen und alle zwoelf zu Recht -- dort steht das richtige
Schlusszeichen ohnehin weiter unten im Satz.
Fuenf davon waren allerdings ECHTE Fehler HINTER dem Link
(`…>HasiDog</a>".`) -- die erste Regel hatte nur das Attribut
gesehen, nicht den Satz danach. Gezielt nachgezogen.
Ein maskiertes `\"` in workspace-vorlagen.js (28 Hooks) wird zu “ --
ohne Rueckstrich, denn “ begrenzt nichts.
KOMMENTARE BLEIBEN, WIE SIE SIND. Dort liest es niemand ausser mir;
eine Wache, die auch Kosmetik anmahnt, wird weggeklickt. Beim ersten
Messen fielen ausserdem acht Stellen aus buehne.html faelschlich an,
weil `/* */` in HTML (in <style> und <script>) nicht ausgeblendet
war -- jetzt schon.
DIE WACHE DAZU
pruef-struktur prueft es ab sofort mit derselben Regel: 322 Dateien
mit sichtbarem Text, 0 Funde, und die zwoelf bewussten Ausnahmen
werden GEZAEHLT und genannt (erlaubt: 12). Eine Ausnahme, die niemand
sieht, waechst -- und irgendwann steht der echte Fall darin.
GEPRUEFT
pruef-struktur 59 -> 68 Pruefungen, 0 Fehler
node --check auf allen geaenderten JS-Dateien
nachgemessen: 199 geaendert, 12 mit Grund stehen geblieben
gruen geblieben: bewerbung-aufgaben 163, nachwuchs 262,
reaktion 421, support 63, content 45, terminregel 35, treff 85
Und nachgesehen, ob eine Pruefung noch die alte Schreibweise
ERWARTET: 13 Fundstellen, alle dreizehn nur Text in ihrer eigenen
Ausgabe, keine einzige ein Vergleich mit dem Seitentext.
GEGENPROBE: In reaktion.html ein Schlusszeichen zurueckgedreht ->
„workspace/reaktion.html:546 „Nächstes"", mit Datei und Zeile. Und
die Erkennung einzeln gegen HTML-Attribut, fortgesetzte
Zeichenkette, regulaeren Ausdruck und eingesetzten Wert geprueft.
Stempel gesetzt: workspace 670 Verweise in 45 Dateien, oeffentlich
554 in 48 Seiten.
Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
+22
-22
@@ -10,7 +10,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
||||
<title>Verwaltung — Dogfather Webdesign</title>
|
||||
<meta name="robots" content="noindex, nofollow, noarchive" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/wdverwalt-32.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/wdverwalt-32.png?v=202610010152" />
|
||||
<meta name="theme-color" content="#b44f5e" />
|
||||
<!-- EIGENES Manifest, nicht das des Webdesign-Bereichs (26.08.2026).
|
||||
|
||||
@@ -34,11 +34,11 @@
|
||||
Nachgemessen, nicht vermutet: verwaltung.html antwortet ohne
|
||||
Ausweis mit 302 auf zugang.html. -->
|
||||
<link rel="manifest" href="/webdesign/verwaltung.webmanifest" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/wdverwalt-180.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/wdverwalt-180.png?v=202610010152" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-title" content="DF Verwaltung" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="/assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="/assets/css/webdesign.css?v=202610010152" />
|
||||
<style>
|
||||
/* =====================================================================
|
||||
Verwaltungsbereich — bewusst NUR AUF DEUTSCH.
|
||||
@@ -106,32 +106,32 @@
|
||||
:root {
|
||||
/* Rueckfall, falls das Kennzeichen mal fehlt: Dann sieht es aus wie
|
||||
die Uebersicht, statt gar nicht. */
|
||||
--vw-motiv: url("/assets/img/cryo-wappen.webp?v=202609301254");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-wappen-klein.webp?v=202609301254");
|
||||
--vw-motiv: url("/assets/img/cryo-wappen.webp?v=202610010152");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-wappen-klein.webp?v=202610010152");
|
||||
--vw-farbe: var(--wd-blau-rgb);
|
||||
--vw-blick: center top;
|
||||
}
|
||||
[data-vw-bereich="uebersicht"] {
|
||||
--vw-motiv: url("/assets/img/cryo-wappen.webp?v=202609301254");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-wappen-klein.webp?v=202609301254");
|
||||
--vw-motiv: url("/assets/img/cryo-wappen.webp?v=202610010152");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-wappen-klein.webp?v=202610010152");
|
||||
--vw-farbe: var(--wd-blau-rgb);
|
||||
--vw-blick: 76% 52%;
|
||||
}
|
||||
[data-vw-bereich="anfragen"] {
|
||||
--vw-motiv: url("/assets/img/cryo-ring.webp?v=202609301254");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-ring-klein.webp?v=202609301254");
|
||||
--vw-motiv: url("/assets/img/cryo-ring.webp?v=202610010152");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-ring-klein.webp?v=202610010152");
|
||||
--vw-farbe: var(--wd-aqua-rgb);
|
||||
--vw-blick: 72% 46%;
|
||||
}
|
||||
[data-vw-bereich="projekte"] {
|
||||
--vw-motiv: url("/assets/img/cryo-monolith.webp?v=202609301254");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-monolith-klein.webp?v=202609301254");
|
||||
--vw-motiv: url("/assets/img/cryo-monolith.webp?v=202610010152");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-monolith-klein.webp?v=202610010152");
|
||||
--vw-farbe: var(--wd-lila-rgb);
|
||||
--vw-blick: 80% 46%;
|
||||
}
|
||||
[data-vw-bereich="kunden"] {
|
||||
--vw-motiv: url("/assets/img/cryo-thron.webp?v=202609301254");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-thron-klein.webp?v=202609301254");
|
||||
--vw-motiv: url("/assets/img/cryo-thron.webp?v=202610010152");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-thron-klein.webp?v=202610010152");
|
||||
/* Prism Indigo -- hier unbedenklich, weil es NUR Flaeche und Kante
|
||||
faerbt. Als Schriftfarbe faellt es durch (3,25:1), deshalb steht
|
||||
weiter unten ausdruecklich, dass die Schrift davon unberuehrt
|
||||
@@ -140,8 +140,8 @@
|
||||
--vw-blick: 84% 52%;
|
||||
}
|
||||
[data-vw-bereich="zahlungen"] {
|
||||
--vw-motiv: url("/assets/img/cryo-kristall.webp?v=202609301254");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-kristall-klein.webp?v=202609301254");
|
||||
--vw-motiv: url("/assets/img/cryo-kristall.webp?v=202610010152");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-kristall-klein.webp?v=202610010152");
|
||||
--vw-farbe: var(--wd-gold-rgb);
|
||||
/* Oberer Streifen: zeigt die geschwungenen Kristallbänder statt der
|
||||
flachen Mitte -- siehe die .vw-buehne-Ausnahme weiter unten, die
|
||||
@@ -149,8 +149,8 @@
|
||||
--vw-blick: center 15%;
|
||||
}
|
||||
[data-vw-bereich="postfach"] {
|
||||
--vw-motiv: url("/assets/img/cryo-ring.webp?v=202609301254");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-ring-klein.webp?v=202609301254");
|
||||
--vw-motiv: url("/assets/img/cryo-ring.webp?v=202610010152");
|
||||
--vw-motiv-klein: url("/assets/img/cryo-ring-klein.webp?v=202610010152");
|
||||
--vw-farbe: var(--wd-ion-rgb);
|
||||
/* Bewusst der andere Bildrand als bei "Anfragen": gleiches Bild,
|
||||
voellig anderer Ausschnitt. */
|
||||
@@ -190,7 +190,7 @@
|
||||
inset: 0;
|
||||
z-index: 0;
|
||||
pointer-events: none;
|
||||
background: var(--vw-motiv, url("/assets/img/cryo-wappen.webp?v=202609301254"))
|
||||
background: var(--vw-motiv, url("/assets/img/cryo-wappen.webp?v=202610010152"))
|
||||
center center / cover no-repeat;
|
||||
/* Kein Zoom: "cover" zeigt bei einem 16:9-Motiv auf einem
|
||||
ueblichen Bildschirm praktisch das ganze Bild. */
|
||||
@@ -298,7 +298,7 @@
|
||||
deshalb hier der Bildmittelpunkt, wo bei allen Motiven das
|
||||
Hauptgeschehen sitzt. */
|
||||
.vw-buehne {
|
||||
background-image: var(--vw-motiv-klein, url("/assets/img/cryo-wappen-klein.webp?v=202609301254"));
|
||||
background-image: var(--vw-motiv-klein, url("/assets/img/cryo-wappen-klein.webp?v=202610010152"));
|
||||
background-position: center center;
|
||||
}
|
||||
/* Auf kleinen Schirmen liegt mehr Inhalt uebereinander, also etwas
|
||||
@@ -942,7 +942,7 @@
|
||||
rgb(3 8 16 / .92) 100%);
|
||||
}
|
||||
@media (max-width: 900px) {
|
||||
.vw-login.wd-motiv::before { background-image: url("/assets/img/cryo-wappen-klein.webp?v=202609301254"); }
|
||||
.vw-login.wd-motiv::before { background-image: url("/assets/img/cryo-wappen-klein.webp?v=202610010152"); }
|
||||
}
|
||||
|
||||
/* ---------- Kopfleiste ---------- */
|
||||
@@ -2395,7 +2395,7 @@
|
||||
<div class="vw-detail-blatt" id="vw-detail-blatt"></div>
|
||||
</div>
|
||||
|
||||
<script src="/assets/js/wd-core.js?v=202609301254"></script>
|
||||
<script src="/assets/js/wd-core.js?v=202610010152"></script>
|
||||
<script>
|
||||
/* =====================================================================
|
||||
Verwaltung: Anfragen ansehen, Status ändern, Notizen, Archivieren.
|
||||
|
||||
Reference in New Issue
Block a user