Notebook-Uebersichtsseite - das fehlende Gegenstueck zu programme.html
Der 403 auf /OR/Notebooks_04/ hatte eine andere Ursache als vermutet: Beim
Eintragen der Website-Adresse ins README hatte ich in der Lesen-Tabelle das
VERZEICHNIS verlinkt. Keine Seite der Website tut das - die Kapitelseiten
zeigen direkt auf Notebooks_04/<name>.ipynb, und das funktioniert. Der
Webserver verweigert Directory-Listing, zu Recht.
Die Frage "gibt es so etwas nicht schon?" war aber berechtigt und hat die
eigentliche Luecke sichtbar gemacht: baue_programme_seite() erzeugt seit
jeher programme.html, eine gestaltete Uebersicht der 76 Programme. Fuer die
25 Notebooks gab es kein Gegenstueck - sie wurden ausgeliefert, aber keine
Seite listete sie.
Neu ist baue_notebooks_seite(), nach demselben Muster und mit denselben
Bausteinen: die Zuordnung Seite -> Notebook kommt fertig aus
baue_notebooks(), Rahmen und Navigation aus baue_seiten_schablone() und
baue_sidebar_html(). Gruppiert nach Vorspann, Kapiteln und Anhaengen; der
einleitende Absatz nennt die drei Wege, ein Notebook auszufuehren.
Dazu ein ZIP mit allen 25 Notebooks (208 KB), byteidentisch ueber zwei
Laeufe. Ein ZIP speichert je Eintrag die Aenderungszeit; ohne festen Wert
entstuende bei jedem Bau eine andere Datei, und da OR_HTML_04/ versioniert
ist, wuechse das Repository bei jedem Lauf. Die Eintraege werden deshalb
sortiert und mit ZipInfo(date_time=(1980,1,1,0,0,0)) geschrieben - dieselbe
Sorgfalt wie svg.hashsalt bei den Diagrammen.
Gegen kuenftige 403 schreiben spiegle_notebooks() und baue_programme_seite()
je eine dreizeilige index.html mit meta refresh in ihr Downloadverzeichnis.
Das behebt zugleich denselben latenten Fall bei programme/.
Ein eigener Fehler, zum zweiten Mal derselbe: Das .replace(",", ".") fuer
deutsche Tausenderpunkte hing am Ende eines mehrzeiligen f-Strings - und in
Python bindet die Methode an die GESAMTE zusammengesetzte Zeichenkette. Aus
"Drei Wege, sie auszufuehren" wurde "Drei Wege. sie auszufuehren". Exakt der
Fehler, vor dem ich in erzeuge_wirkung.py selbst einen Kommentar hinterlassen
hatte. Die Zahl wird jetzt getrennt formatiert.
Geprueft: 25 gelistete Notebooks, 0 tote Links auf der Seite, ZIP mit 25
Eintraegen und identischen Zeitstempeln, Seitenleisteneintrag auf allen 40
Seiten mit Seitenleiste, --check fehlerfrei, PDF unveraendert 759 Seiten.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
a1562d99e5
commit
5c49725d5c
44 changed files with 311 additions and 41 deletions
BIN
OR_HTML_04/Notebooks_04.zip
generated
Normal file
BIN
OR_HTML_04/Notebooks_04.zip
generated
Normal file
Binary file not shown.
4
OR_HTML_04/Notebooks_04/index.html
generated
Normal file
4
OR_HTML_04/Notebooks_04/index.html
generated
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
<!doctype html><meta charset="utf-8">
|
||||
<meta http-equiv="refresh" content="0; url=../notebooks.html">
|
||||
<title>Weiterleitung</title>
|
||||
<p>Weiter zur <a href="../notebooks.html">Übersicht</a>.</p>
|
||||
BIN
OR_HTML_04/Operations_Research_mit_Python_Version_04.pdf
generated
BIN
OR_HTML_04/Operations_Research_mit_Python_Version_04.pdf
generated
Binary file not shown.
2
OR_HTML_04/anhang-fehlerdiagnose.html
generated
2
OR_HTML_04/anhang-fehlerdiagnose.html
generated
File diff suppressed because one or more lines are too long
2
OR_HTML_04/anhang-glossar-literatur.html
generated
2
OR_HTML_04/anhang-glossar-literatur.html
generated
File diff suppressed because one or more lines are too long
2
OR_HTML_04/anhang-loesungen.html
generated
2
OR_HTML_04/anhang-loesungen.html
generated
File diff suppressed because one or more lines are too long
2
OR_HTML_04/anhang-modellierungsmuster.html
generated
2
OR_HTML_04/anhang-modellierungsmuster.html
generated
File diff suppressed because one or more lines are too long
2
OR_HTML_04/anhang-spickzettel.html
generated
2
OR_HTML_04/anhang-spickzettel.html
generated
File diff suppressed because one or more lines are too long
2
OR_HTML_04/bruecke.html
generated
2
OR_HTML_04/bruecke.html
generated
File diff suppressed because one or more lines are too long
2
OR_HTML_04/cpsat.html
generated
2
OR_HTML_04/cpsat.html
generated
File diff suppressed because one or more lines are too long
2
OR_HTML_04/cvar.html
generated
2
OR_HTML_04/cvar.html
generated
File diff suppressed because one or more lines are too long
2
OR_HTML_04/dekomposition.html
generated
2
OR_HTML_04/dekomposition.html
generated
File diff suppressed because one or more lines are too long
2
OR_HTML_04/dynamische-programmierung.html
generated
2
OR_HTML_04/dynamische-programmierung.html
generated
File diff suppressed because one or more lines are too long
2
OR_HTML_04/einfuehrung.html
generated
2
OR_HTML_04/einfuehrung.html
generated
File diff suppressed because one or more lines are too long
2
OR_HTML_04/finanzdaten.html
generated
2
OR_HTML_04/finanzdaten.html
generated
File diff suppressed because one or more lines are too long
2
OR_HTML_04/fundament.html
generated
2
OR_HTML_04/fundament.html
generated
File diff suppressed because one or more lines are too long
2
OR_HTML_04/graphen.html
generated
2
OR_HTML_04/graphen.html
generated
File diff suppressed because one or more lines are too long
2
OR_HTML_04/handelsmaschine.html
generated
2
OR_HTML_04/handelsmaschine.html
generated
File diff suppressed because one or more lines are too long
2
OR_HTML_04/index.html
generated
2
OR_HTML_04/index.html
generated
File diff suppressed because one or more lines are too long
2
OR_HTML_04/lp.html
generated
2
OR_HTML_04/lp.html
generated
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue