aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FASSUNGEN.txt72
-rwxr-xr-xdeploy/webpaket.sh54
-rw-r--r--src/main/resources/eu/mulk/aendggner/web/impressum.html3
-rw-r--r--src/main/resources/eu/mulk/aendggner/web/index.html5
-rw-r--r--src/main/resources/eu/mulk/aendggner/web/style.css7
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;