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:
+26
-26
@@ -7,15 +7,15 @@
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link rel="manifest" href="/workspace/app.webmanifest" />
|
||||
<meta name="theme-color" content="#06090f" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610010059" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/reaktion.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/werbung.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202610010059" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610010059" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/workspace-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/workspace-180.png?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/gate.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/start.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/reaktion.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/spendenkarte.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/werbung.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/module.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/haus.css?v=202610010152" />
|
||||
</head>
|
||||
|
||||
<body class="start reaktion-seite" data-stand="laedt">
|
||||
@@ -543,7 +543,7 @@
|
||||
<ol class="warteliste" id="warteliste"></ol>
|
||||
<p class="pult__klein" id="liste-hinweis">
|
||||
Räum vorher ein, was ihr schauen wollt. Im Live drückst du
|
||||
dann nur noch „Nächstes" — eine Adresse mitten in der
|
||||
dann nur noch „Nächstes“ — eine Adresse mitten in der
|
||||
Sendung einzutippen ist ein Tippfehler zu viel.
|
||||
</p>
|
||||
</section>
|
||||
@@ -593,7 +593,7 @@
|
||||
<p class="pult__klein">
|
||||
Der Knopf sitzt unten in der Senderleiste. Geteilt wird
|
||||
statt deiner Kamera — dein Bildschirm läuft dann in deinem
|
||||
Fenster, und mit „Kameras groß" oder „Nur Kamera" füllt er
|
||||
Fenster, und mit „Kameras groß“ oder „Nur Kamera“ füllt er
|
||||
die ganze Fläche.
|
||||
</p>
|
||||
<p class="pult__klein" id="teilen-hinweis">
|
||||
@@ -619,7 +619,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<p class="pult__klein" id="kamecke-hinweis">
|
||||
Die Ecke gilt bei „Video groß" — sonst stehen die Fenster
|
||||
Die Ecke gilt bei „Video groß“ — sonst stehen die Fenster
|
||||
in der Mitte.
|
||||
</p>
|
||||
|
||||
@@ -684,7 +684,7 @@
|
||||
<span class="pult__klein" id="stufen-stand"></span>
|
||||
</div>
|
||||
<p class="pult__klein">
|
||||
„Ausprobieren" zeigt dir eine Karte — nur bei dir, und es wird
|
||||
„Ausprobieren“ zeigt dir eine Karte — nur bei dir, und es wird
|
||||
keine Spende daraus. Im Saal sieht das niemand.
|
||||
</p>
|
||||
</section>
|
||||
@@ -706,7 +706,7 @@
|
||||
<h3 class="pult__ueber">Das Band</h3>
|
||||
<div class="bandart-reihe" id="bandart-reihe"></div>
|
||||
<p class="pult__klein" id="bandart-satz">
|
||||
Ein Rabattcode gehört in den Wechsel: Wer „DOGI10" lesen
|
||||
Ein Rabattcode gehört in den Wechsel: Wer „DOGI10“ lesen
|
||||
will, während es nach links wandert, hat es gesehen und
|
||||
nicht behalten.
|
||||
</p>
|
||||
@@ -735,8 +735,8 @@
|
||||
</button>
|
||||
<p class="pult__klein">
|
||||
Ein Wort in Großbuchstaben mit einer Ziffer darin wird als
|
||||
Code hervorgehoben — „DOGI10" bekommt einen Rahmen,
|
||||
„VANVAN" nicht.
|
||||
Code hervorgehoben — „DOGI10“ bekommt einen Rahmen,
|
||||
„VANVAN“ nicht.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -881,15 +881,15 @@
|
||||
|
||||
<!-- bereiche.js VOR kopf.js: Dort steht `window.Bereiche`, und kopf.js
|
||||
liest daraus die Leitungsrollen. -->
|
||||
<script src="assets/js/bereiche.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/spendenkarte.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/werbung.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/reaktion.js?v=202610010059" defer></script>
|
||||
<script src="assets/js/bereiche.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/wahl.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/nachfrage.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/meldung.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/installieren.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/kopf.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/glocke.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/spendenkarte.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/werbung.js?v=202610010152" defer></script>
|
||||
<script src="assets/js/reaktion.js?v=202610010152" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user