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:
+23
-23
@@ -5,8 +5,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>DOGFATHER UNIVERSE — Streamer. Community. HasiDog. Manager.</title>
|
||||
<meta name="description" content="DOGFATHER UNIVERSE: die Heimat von DogFather als Streamer, der HasiDog-Community und Manager DogFather bei Spicy Media." />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202609301254" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202609301254" />
|
||||
<link rel="icon" type="image/png" href="/assets/img/app-symbole/universe-32.png?v=202610010152" />
|
||||
<link rel="apple-touch-icon" href="/assets/img/app-symbole/universe-180.png?v=202610010152" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="theme-color" content="#065f76" />
|
||||
<meta property="og:type" content="website" />
|
||||
@@ -20,10 +20,10 @@
|
||||
<meta name="twitter:description" content="DOGFATHER UNIVERSE: die Heimat von DogFather als Streamer, der HasiDog-Community und Manager DogFather bei Spicy Media." />
|
||||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||||
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202609301254" />
|
||||
<link rel="stylesheet" href="assets/css/main.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-dogfather.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-hasidog.css?v=202610010152" />
|
||||
<link rel="stylesheet" href="assets/css/theme-spicymedia.css?v=202610010152" />
|
||||
</head>
|
||||
<body class="start-seite">
|
||||
<div id="site-header"></div>
|
||||
@@ -42,7 +42,7 @@
|
||||
Bildschirm ist; ein CSS-Hintergrund kann das nicht, weil die Kante
|
||||
dort je nach Fensterformat woanders liegt. -->
|
||||
<div class="hero-artwork" aria-hidden="true">
|
||||
<img class="hero-artwork-scharf" src="assets/img/universe-trio.jpg?v=202609301254"
|
||||
<img class="hero-artwork-scharf" src="assets/img/universe-trio.jpg?v=202610010152"
|
||||
width="1600" height="900" alt="" fetchpriority="high" decoding="async" />
|
||||
</div>
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
|
||||
<div class="char-showcase">
|
||||
<a class="char-card dogfather" href="streamer.html">
|
||||
<img src="assets/img/char-dogfather.jpg?v=202609301254" width="599" height="1212"
|
||||
<img src="assets/img/char-dogfather.jpg?v=202610010152" width="599" height="1212"
|
||||
alt="DogFather — Husky mit blauem Hoodie und Cap" />
|
||||
<span class="char-meta">
|
||||
<span class="char-name">DogFather</span>
|
||||
@@ -179,7 +179,7 @@
|
||||
</span>
|
||||
</a>
|
||||
<a class="char-card hasidog" href="hasidog.html">
|
||||
<img src="assets/img/char-hasidog.jpg?v=202609301254" width="599" height="1212"
|
||||
<img src="assets/img/char-hasidog.jpg?v=202610010152" width="599" height="1212"
|
||||
alt="HasiDog — grauer Hase mit schwarzem Hoodie und Cap" />
|
||||
<span class="char-meta">
|
||||
<span class="char-name">HasiDog</span>
|
||||
@@ -198,23 +198,23 @@
|
||||
<h2>DogFather & Casper</h2>
|
||||
<div class="collage-wrap" id="collage-wrap">
|
||||
<div class="collage-item">
|
||||
<div class="collage-photo"><img class="collage-img" data-fallback="DogFather" src="assets/img/dogfather-portrait.jpg?v=202609301254" alt="DogFather" style="object-position:center top;"></div>
|
||||
<div class="collage-photo"><img class="collage-img" data-fallback="DogFather" src="assets/img/dogfather-portrait.jpg?v=202610010152" alt="DogFather" style="object-position:center top;"></div>
|
||||
<p class="collage-caption">DogFather 🩵</p>
|
||||
</div>
|
||||
<div class="collage-item">
|
||||
<div class="collage-photo frame-lila"><img class="collage-img" data-fallback="Casper" src="assets/img/casper-1.jpg?v=202609301254" alt="Casper" style="object-position:center top;"></div>
|
||||
<div class="collage-photo frame-lila"><img class="collage-img" data-fallback="Casper" src="assets/img/casper-1.jpg?v=202610010152" alt="Casper" style="object-position:center top;"></div>
|
||||
<p class="collage-caption">Casper 🐾</p>
|
||||
</div>
|
||||
<div class="collage-item">
|
||||
<div class="collage-photo frame-silver"><img class="collage-img" data-fallback="DogFather & Casper" src="assets/img/dogfather-casper-1.jpg?v=202609301254" alt="DogFather und Casper zusammen" style="object-position:center 18%;"></div>
|
||||
<div class="collage-photo frame-silver"><img class="collage-img" data-fallback="DogFather & Casper" src="assets/img/dogfather-casper-1.jpg?v=202610010152" alt="DogFather und Casper zusammen" style="object-position:center 18%;"></div>
|
||||
<p class="collage-caption" data-i18n="idx_collage_cap_team">Team 🩵🐾</p>
|
||||
</div>
|
||||
<div class="collage-item">
|
||||
<div class="collage-photo frame-gold"><img class="collage-img" data-fallback="Casper" src="assets/img/casper-2.jpg?v=202609301254" alt="Casper"></div>
|
||||
<div class="collage-photo frame-gold"><img class="collage-img" data-fallback="Casper" src="assets/img/casper-2.jpg?v=202610010152" alt="Casper"></div>
|
||||
<p class="collage-caption" data-i18n="idx_collage_cap_huskylife">Husky-Life</p>
|
||||
</div>
|
||||
<div class="collage-item">
|
||||
<div class="collage-photo frame-tuerkis"><img class="collage-img" data-fallback="DogFather & Casper" src="assets/img/dogfather-casper-2.jpg?v=202609301254" alt="DogFather und Casper Nase an Nase"></div>
|
||||
<div class="collage-photo frame-tuerkis"><img class="collage-img" data-fallback="DogFather & Casper" src="assets/img/dogfather-casper-2.jpg?v=202610010152" alt="DogFather und Casper Nase an Nase"></div>
|
||||
<p class="collage-caption" data-i18n="idx_collage_cap_nose">Nase an Nase 🩵</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -277,10 +277,10 @@
|
||||
<div class="container">
|
||||
<h2 class="text-center" data-i18n="idx_galerie_h2">Impressionen</h2>
|
||||
<div class="grid grid-4">
|
||||
<div class="collage-photo" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-3.jpg?v=202609301254" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:center 20%;" /></div>
|
||||
<div class="collage-photo frame-lila" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/card-vanvan.jpg?v=202609301254" alt="VanVan" style="width:100%;height:100%;object-fit:cover;" /></div>
|
||||
<div class="collage-photo frame-silver" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-4.jpg?v=202609301254" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:42% center;" /></div>
|
||||
<div class="collage-photo frame-gold" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/card-dogfather.jpg?v=202609301254" alt="DogFather" style="width:100%;height:100%;object-fit:cover;" /></div>
|
||||
<div class="collage-photo" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-3.jpg?v=202610010152" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:center 20%;" /></div>
|
||||
<div class="collage-photo frame-lila" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/card-vanvan.jpg?v=202610010152" alt="VanVan" style="width:100%;height:100%;object-fit:cover;" /></div>
|
||||
<div class="collage-photo frame-silver" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/casper-4.jpg?v=202610010152" alt="Casper" style="width:100%;height:100%;object-fit:cover;object-position:42% center;" /></div>
|
||||
<div class="collage-photo frame-gold" style="aspect-ratio:1;border-radius:var(--radius);"><img src="assets/img/card-dogfather.jpg?v=202610010152" alt="DogFather" style="width:100%;height:100%;object-fit:cover;" /></div>
|
||||
</div>
|
||||
<div class="btn-row" style="justify-content:center;">
|
||||
<a class="btn btn-outline" href="medien-dogfather.html" data-i18n="idx_galerie_btn">Zur ganzen Galerie</a>
|
||||
@@ -293,7 +293,7 @@
|
||||
<div class="container text-center">
|
||||
<span class="eyebrow" data-i18n="idx_testimonial_eyebrow">Was andere sagen</span>
|
||||
<div class="card" style="max-width:640px;margin:1rem auto 0;">
|
||||
<p class="quote" data-i18n="idx_testimonial_quote" style="font-size:1.15rem;">„Hier stehen bald echte Stimmen aus der Community. 🩵"</p>
|
||||
<p class="quote" data-i18n="idx_testimonial_quote" style="font-size:1.15rem;">„Hier stehen bald echte Stimmen aus der Community. 🩵“</p>
|
||||
<p class="small muted" data-i18n="idx_testimonial_attrib">— Team Dogi</p>
|
||||
</div>
|
||||
<div class="btn-row" style="justify-content:center;">
|
||||
@@ -319,10 +319,10 @@
|
||||
</main>
|
||||
|
||||
<div id="site-footer"></div>
|
||||
<script src="assets/js/data-modis.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-scouts.js?v=202609301254"></script>
|
||||
<script src="assets/js/i18n-index.js?v=202609301254"></script>
|
||||
<script src="assets/js/main.js?v=202609301254"></script>
|
||||
<script src="assets/js/data-modis.js?v=202610010152"></script>
|
||||
<script src="assets/js/data-scouts.js?v=202610010152"></script>
|
||||
<script src="assets/js/i18n-index.js?v=202610010152"></script>
|
||||
<script src="assets/js/main.js?v=202610010152"></script>
|
||||
<script>
|
||||
// Gleiche URL wie in assets/js/forms.js / postfach.html — läuft seit
|
||||
// 05.08.2026 auf dem eigenen Server statt auf Cloudflare Workers.
|
||||
|
||||
Reference in New Issue
Block a user