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]>
77 lines
3.6 KiB
HTML
77 lines
3.6 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="de" data-theme="hasidog">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
<title>Medien — HasiDog — DOGFATHER UNIVERSE</title>
|
||
<meta name="description" content="Fotos, Videos und Events aus der HasiDog-Welt an einem Ort." />
|
||
<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" />
|
||
<meta property="og:site_name" content="DOGFATHER UNIVERSE" />
|
||
<meta property="og:title" content="Medien — HasiDog — DOGFATHER UNIVERSE" />
|
||
<meta property="og:description" content="Fotos, Videos und Events aus der HasiDog-Welt an einem Ort." />
|
||
<meta property="og:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||
<meta property="og:url" content="https://dogfather-universe.com/medien-hasidog.html" />
|
||
<meta name="twitter:card" content="summary_large_image" />
|
||
<meta name="twitter:title" content="Medien — HasiDog — DOGFATHER UNIVERSE" />
|
||
<meta name="twitter:description" content="Fotos, Videos und Events aus der HasiDog-Welt an einem Ort." />
|
||
<meta name="twitter:image" content="https://dogfather-universe.com/assets/img/og-cover.jpg" />
|
||
|
||
<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="mit-hintergrund" data-welt="hasidog" style="--page-bg:url('/assets/img/bg-medien-hasidog.jpg?v=202610010152');--page-bg-mobile:url('/assets/img/bg-medien-hasidog-mobile.jpg?v=202610010152');">
|
||
<div id="site-header"></div>
|
||
|
||
<main>
|
||
<section class="hero page-bg">
|
||
<div class="hero-banner"><img src="/assets/img/bg-medien-hasidog.jpg?v=202610010152" alt="" loading="eager" /></div>
|
||
<div class="container">
|
||
<span class="eyebrow" data-i18n="mh_eyebrow">Welt 2 — HasiDog</span>
|
||
<h1 data-i18n="mh_h1">Medien — HasiDog</h1>
|
||
<p class="lead worlds" data-i18n="mh_lead">Fotos, Videos und Events aus der HasiDog-Welt — alles an einem Ort.</p>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="section-tight" id="fotos">
|
||
<div class="container">
|
||
<h2 class="text-center" data-i18n="mh_fotos_h2">📸 Fotos</h2>
|
||
<div id="foto-grid" class="grid grid-4"></div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="section-tight" id="videos">
|
||
<div class="container">
|
||
<h2 class="text-center" data-i18n="mh_videos_h2">🎥 Videos</h2>
|
||
<div id="video-grid" class="grid grid-3"></div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="section-tight" id="events">
|
||
<div class="container">
|
||
<h2 class="text-center" data-i18n="mh_events_h2">🎉 Events</h2>
|
||
<div id="aktionen-grid" class="grid grid-2"></div>
|
||
</div>
|
||
</section>
|
||
</main>
|
||
|
||
<div id="lightbox" class="lightbox">
|
||
<button class="lightbox-close" aria-label="Schließen">×</button>
|
||
<div id="lightbox-content"></div>
|
||
</div>
|
||
|
||
<div id="site-footer"></div>
|
||
<script src="assets/js/data-media.js?v=202610010152"></script>
|
||
<script src="assets/js/data-videos.js?v=202610010152"></script>
|
||
<script src="assets/js/data-aktionen.js?v=202610010152"></script>
|
||
<script src="assets/js/medien-welt.js?v=202610010152"></script>
|
||
<script src="assets/js/i18n-medien-hasidog.js?v=202610010152"></script>
|
||
<script src="assets/js/main.js?v=202610010152"></script>
|
||
</body>
|
||
</html>
|