diff --git a/CLAUDE.md b/CLAUDE.md index 53e58db..ca8189c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -39,6 +39,8 @@ pyproject.toml Quelle: Abhängigkeiten in Gruppe Dockerfile, .dockerignore Quelle: Kurs-Image (Programme + JupyterLab) LICENSE, LICENSE-TEXT.md MIT fuer Code, CC BY-SA 4.0 fuer den Text .gitattributes LF im Repository, egal auf welchem System +.env.beispiel Vorlage; die echte .env (Ziel des Uploads) + ist bewusst NICHT im Repository pandoc-defaults-basis.yaml, pandoc/, pandoc-defaults-buch.yaml PDF-Konfiguration ``` @@ -60,8 +62,17 @@ cd Version_04 python3 Operations_Research_mit_Python_Version_04/build_version_04.py --check # nur prüfen python3 Operations_Research_mit_Python_Version_04/build_version_04.py --pdf --html python3 Operations_Research_mit_Python_Version_04/extract_programme_04.py +python3 Operations_Research_mit_Python_Version_04/veroeffentliche_04.py # hochladen ``` +`veroeffentliche_04.py` lädt `OR_HTML_04/` per `rsync --delete` nach +— **nicht** per `scp`, denn das überschreibt nur und löscht nie; eine aus dem Buch entfernte +Seite bliebe sonst dauerhaft online. Vorher prüft es, ob eine Quelldatei neuer ist als die +gebaute Website (die Website hing einmal wochenlang einen Bau zurück, ohne dass es auffiel), +hinterher ruft es vierzehn Adressen per HTTP ab. Bei mehr als 30 Löschungen bricht es ab — +die Liste ist dann anzusehen, bevor `--loeschgrenze N` sie freigibt. Ziel in `.env` +(nicht im Repository, Vorlage `.env.beispiel`); Anmeldung per SSH-Schlüssel, kein Passwort. + `--check` prüft mehr als die Struktur: fehlende Codezäune, Links auf nicht existierende Dateien und **harte Kapitel-/Abschnitts-/Aufgabennummern im Quelltext**. Es meldet Datei und Zeile. Der Suchausdruck erlaubt beliebigen Zwischenraum — der letzte gefundene Fall war ein @@ -76,9 +87,10 @@ sonst fälschlich als sichtbaren Umbruch dar. ## Die wichtigsten Konventionen **Keine abgeleiteten Zahlen im Quelltext.** Das ist die Regel, an der dieses Projekt am -häufigsten gescheitert ist — **sieben** Mal an verschiedenen Stellen verletzt gefunden +häufigsten gescheitert ist — **neun** Mal an verschiedenen Stellen verletzt gefunden (Anhang A, 66 Programm-Docstrings, die Übersichtstabellen der Anhänge, `CLAUDE.md` selbst, -eine Tabellenzelle, die 98 Lösungsmarken des Anhangs, neun Denkfehler-Verweise). +eine Tabellenzelle, die 98 Lösungsmarken des Anhangs, neun Denkfehler-Verweise, sieben +„Übung N.N"-Verweise in alter Zählung, zuletzt die Dateiübersicht des Leser-Wegweisers). Seit dem letzten Fund trägt **keine** Marke mehr eine handgeschriebene Nummer, und `--check` bewacht jede Familie. Konkret: @@ -95,6 +107,11 @@ bewacht jede Familie. Konkret: einer bereits nummerierten Überschrift. Verwiesen wird auf `{ref:sec:-denkfehler}`. * Im Fließtext `{ref: