diff options
| -rw-r--r-- | FASSUNGEN.txt | 72 | ||||
| -rwxr-xr-x | deploy/webpaket.sh | 54 | ||||
| -rw-r--r-- | src/main/resources/eu/mulk/aendggner/web/impressum.html | 3 | ||||
| -rw-r--r-- | src/main/resources/eu/mulk/aendggner/web/index.html | 5 | ||||
| -rw-r--r-- | src/main/resources/eu/mulk/aendggner/web/style.css | 7 |
5 files changed, 135 insertions, 6 deletions
diff --git a/FASSUNGEN.txt b/FASSUNGEN.txt index cf1e6e6..e0ddd95 100644 --- a/FASSUNGEN.txt +++ b/FASSUNGEN.txt @@ -21,6 +21,78 @@ Vorbemerkung zur Führung dieses Verzeichnisses ════════════════════════════════════════════════════════════════════════════════ + Fassung vom 29. August 2026, + zuletzt geändert durch die am 29. August 2026 vorgenommenen Änderungen +════════════════════════════════════════════════════════════════════════════════ + +Der Vordruck weist fortan aus, welchen Standes er ist, und nennt neben der +bisherigen Bezugsquelle eine zweite. Beides betrifft allein die statischen Seiten +der Browserfassung; an der Auswertung ändert sich nichts. + + +Artikel 1 +Zweite Bezugsquelle des Quelltextes + +Die Fußzeile der Startseite und der Hinweis im Impressum verwiesen bislang allein +auf die eigene Git-Stelle. Das Spiegelbild auf GitHub ist dem allgemeinen Publikum +geläufiger und tritt neben sie. + +(1) In der Fußzeile der Startseite (index.html) folgt dem Git-Link, durch einen + Mittelpunkt getrennt, ein Link auf https://github.com/benkard/aendggner. + +(2) Im Impressum wird der Satz über den fortlaufenden Bezug entsprechend erweitert + („über Git oder GitHub“). + +(3) Die Datenschutzseite bleibt unberührt; sie führte keine solche Angabe. + + +Artikel 2 +Die Startseite nennt ihren Stand + +Unter dem Titel des Vordrucks stand bisher nur die Bezeichnung der Stelle; welchen +Standes die betriebene Fassung ist, war der Seite nicht zu entnehmen. Die +handgeführte Ausgabebezeichnung in der Fußzeile („08.26“) trifft dazu keine +tagesgenaue Aussage. + +(1) Zwischen Überschrift und Stellenangabe tritt die Zeile „in der Fassung vom …“ + nebst einem <time>-Element, das das Datum sowohl maschinenlesbar als auch im + deutschen Fließtext führt. Das Stilblatt erhält dazu die Regel „.fassung“ nach + dem Vorbild von „.stelle“. + +(2) Das im Quelltext stehende Datum ist der Rückfall für den Fall, daß die Seite + ohne das Paketierskript angesehen wird; ausgeliefert wird stets das Datum des + gebauten Standes. + + +Artikel 3 +Einsetzen des Datums beim Paketieren + +Damit die Angabe nicht stillschweigend veraltet, setzt sie das Paketierskript +(deploy/webpaket.sh) beim Bau ein. Es läuft ohnehin nach dem Kopieren der +statischen Seiten und kennt den gebauten Stand bereits. + +(1) Als vierter Schritt tritt das Fassungsdatum hinzu. Es stammt aus „git log -1 + --format=%cs“ und wird ohne date(1) in die deutsche Langform gebracht: Jahr, + Monat und Tag werden durch Parameterexpansion zerlegt, der Monatsname über eine + Fallunterscheidung gewonnen, die führende Null des Tages gestrichen. Grund ist + die Uneinigkeit von BSD und GNU über die Schalter von date(1). + +(2) Ersetzt wird die gesamte <time>-Einheit; geschrieben wird in eine Nebendatei + und sodann umbenannt, weil „sed -i“ nicht überall gleich lautet. + +(3) Findet sich die Marke nicht, bricht der Bau ab. Eine falsch datierte Fassung + auszuliefern wäre schlimmer als ein fehlgeschlagener Bau. + +(4) Der Fassungsnachweis im Paket (quelltext-fassung.txt) führt das Datum künftig + neben dem Commit. + +Die Prüfung geht auf: „sh -n“ beanstandet nichts; ein Trockenlauf auf einer Kopie +der Seiten setzt „28. August 2026“ ein, was dem Stand von HEAD entspricht; wird die +Marke entfernt, bricht das Skript mit der vorgesehenen Meldung ab (Rückgabe 1); +„reuse lint“ weist 214 von 214 Dateien als vollständig ausgezeichnet aus. + + +════════════════════════════════════════════════════════════════════════════════ Fassung vom 28. August 2026 (dritte Fassung des Tages), zuletzt geändert durch die am 28. August 2026 vorgenommenen Änderungen ════════════════════════════════════════════════════════════════════════════════ diff --git a/deploy/webpaket.sh b/deploy/webpaket.sh index 1bbc474..ba47ea5 100755 --- a/deploy/webpaket.sh +++ b/deploy/webpaket.sh @@ -10,9 +10,10 @@ # 3. Der Quelltext der gebauten Fassung wird als Tarball beigelegt — AGPLv3 §13 verlangt # beim Netzwerkbetrieb einen Quellcode-Zugang für die Nutzer:innen, und der Footer der # Startseite verweist darauf. -# 4. Nur die vom Bau erzeugten Dateien bleiben stehen; alles hier Liegende wird +# 4. Die Startseite bekommt unter dem Titel das Datum des gebauten Commits. +# 5. Nur die vom Bau erzeugten Dateien bleiben stehen; alles hier Liegende wird # hochgeladen. -# 5. Auf Wunsch (VORKOMPRIMIEREN=1) werden die großen Dateien vorkomprimiert. +# 6. Auf Wunsch (VORKOMPRIMIEREN=1) werden die großen Dateien vorkomprimiert. # # Zielplattform ist Cloudflare Workers: dort gilt eine Grenze von 25 MiB je Datei # (unkomprimiert), und komprimiert wird beim Ausliefern ohnehin. Deshalb ist die @@ -110,6 +111,7 @@ fi echo "ÄndGgner — Quelltext der ausgelieferten Fassung" echo echo "Commit: $fassung" + echo "Fassung: $(git -C "$quelle" log -1 --format=%cs HEAD)" echo "Gebaut: $(date -u '+%Y-%m-%dT%H:%M:%SZ')" echo echo "Vollständig in aendggner-quelltext.tar.gz; Bauanleitung darin in README.md." @@ -121,10 +123,54 @@ fi echo "Repository von der oben genannten Adresse, wo der Korpus vollständig liegt." } > "$ziel/quelltext-fassung.txt" -# 4. Nur das Gebaute bleibt liegen — was hier steht, geht hoch. +# 4. Fassungsdatum der Startseite. +# +# Unter dem Titel steht „in der Fassung vom …“. Im Quelltext trägt die Marke das Datum des +# letzten Handanlegens; ausgeliefert wird das Datum des gebauten Commits, damit die Angabe +# nicht stillschweigend veraltet. Das Datum kommt aus %cs (JJJJ-MM-TT); date(1) bleibt +# außen vor, weil BSD und GNU sich über die Schalter nicht einig sind. +fassungsdatum="$(git -C "$quelle" log -1 --format=%cs HEAD)" +jahr="${fassungsdatum%%-*}" +rest="${fassungsdatum#*-}" +monat="${rest%%-*}" +tag="${rest#*-}" + +case "$monat" in + 01) monatsname="Januar" ;; 02) monatsname="Februar" ;; 03) monatsname="März" ;; + 04) monatsname="April" ;; 05) monatsname="Mai" ;; 06) monatsname="Juni" ;; + 07) monatsname="Juli" ;; 08) monatsname="August" ;; 09) monatsname="September" ;; + 10) monatsname="Oktober" ;; 11) monatsname="November" ;; 12) monatsname="Dezember" ;; + *) echo "webpaket: unlesbares Commit-Datum „$fassungsdatum“." >&2; exit 1 ;; +esac + +# Führende Null im Tag ist im deutschen Fließtext unüblich. +tag="${tag#0}" +fassungstext="$tag. $monatsname $jahr" + +startseite="$ziel/index.html" +if [ ! -f "$startseite" ]; then + echo "webpaket: $startseite fehlt — die statischen Seiten sind nicht mitkopiert." >&2 + exit 1 +fi + +sed -e "s|<time datetime=\"[0-9-]*\">[^<]*</time>|<time datetime=\"$fassungsdatum\">$fassungstext</time>|" \ + "$startseite" > "$startseite.neu" + +# Greift die Ersetzung nicht, ist die Marke im Vordruck umgebaut worden. Dann lieber der +# Bau ab als eine falsch datierte Fassung. +if ! grep -q "<time datetime=\"$fassungsdatum\">$fassungstext</time>" "$startseite.neu"; then + rm -f "$startseite.neu" + echo "webpaket: In index.html ist keine <time>-Marke unter dem Titel zu finden; das" >&2 + echo " Fassungsdatum lässt sich nicht einsetzen." >&2 + exit 1 +fi +mv "$startseite.neu" "$startseite" +echo "webpaket: Startseite trägt die Fassung vom $fassungstext." + +# 5. Nur das Gebaute bleibt liegen — was hier steht, geht hoch. rm -f "$ziel/.DS_Store" -# 5. Vorkompression, nur auf Anforderung (siehe Kopf). Der Tarball ist bereits gepackt und +# 6. Vorkompression, nur auf Anforderung (siehe Kopf). Der Tarball ist bereits gepackt und # bleibt außen vor. if [ "${VORKOMPRIMIEREN:-}" = 1 ]; then for datei in "$ziel"/*.wasm "$ziel"/*.js "$ziel"/*.css "$ziel"/*.html "$ziel"/*.svg \ diff --git a/src/main/resources/eu/mulk/aendggner/web/impressum.html b/src/main/resources/eu/mulk/aendggner/web/impressum.html index 0bac37c..ab45d94 100644 --- a/src/main/resources/eu/mulk/aendggner/web/impressum.html +++ b/src/main/resources/eu/mulk/aendggner/web/impressum.html @@ -61,7 +61,8 @@ Gewährleistung überlassen. Den <a href="aendggner-quelltext.tar.gz">Quelltext der betriebenen Fassung</a> gibt es zum Herunterladen; fortlaufend auch über - <a href="https://git.benkard.de/mulk/aendggner">Git</a>. + <a href="https://git.benkard.de/mulk/aendggner">Git</a> oder + <a href="https://github.com/benkard/aendggner">GitHub</a>. </p> </main> <footer> diff --git a/src/main/resources/eu/mulk/aendggner/web/index.html b/src/main/resources/eu/mulk/aendggner/web/index.html index 40d93bb..40a6649 100644 --- a/src/main/resources/eu/mulk/aendggner/web/index.html +++ b/src/main/resources/eu/mulk/aendggner/web/index.html @@ -20,6 +20,8 @@ <header> <h1>Antrag auf Erstellung einer Synopse<br> zu einem Stammgesetz nach Maßgabe eines oder mehrerer Änderungsdokumente</h1> + <p class="fassung">in der Fassung vom + <time datetime="2026-08-29">29. August 2026</time></p> <p class="stelle"> ÄndGgner — nichtamtliche Zentralstelle für die maschinelle Fortschreibung von Stammgesetzen anhand von Änderungsvorschriften des Bundes und der Länder @@ -218,7 +220,8 @@ <a href="impressum.html">Impressum</a> · <a href="datenschutz.html">Datenschutz</a> · <a href="aendggner-quelltext.tar.gz">Quelltext dieser Fassung (AGPLv3 oder später)</a> · - <a href="https://git.benkard.de/mulk/aendggner">Git</a> + <a href="https://git.benkard.de/mulk/aendggner">Git</a> · + <a href="https://github.com/benkard/aendggner">GitHub</a> </nav> <span class="ausgabe">08.26</span> </footer> diff --git a/src/main/resources/eu/mulk/aendggner/web/style.css b/src/main/resources/eu/mulk/aendggner/web/style.css index ce64a6f..5846e9c 100644 --- a/src/main/resources/eu/mulk/aendggner/web/style.css +++ b/src/main/resources/eu/mulk/aendggner/web/style.css @@ -80,6 +80,13 @@ h1 { line-height: 1.35; } +/* Die Fassungsangabe unter dem Titel; das Datum setzt deploy/webpaket.sh beim Bau ein. */ +.fassung { + margin: 0 0 0.5rem; + font-size: 0.6875rem; + color: var(--muted); +} + .stelle { margin: 0 0 0.9rem; font-size: 0.6875rem; |
