diff options
| -rw-r--r-- | FASSUNGEN.txt | 28 | ||||
| -rw-r--r-- | README.md | 6 | ||||
| -rw-r--r-- | deploy/nginx-aendggner.conf | 2 | ||||
| -rw-r--r-- | src/main/resources/eu/mulk/aendggner/web/app.js | 13 | ||||
| -rw-r--r-- | src/main/resources/eu/mulk/aendggner/web/index.html | 2 |
5 files changed, 40 insertions, 11 deletions
diff --git a/FASSUNGEN.txt b/FASSUNGEN.txt index 37da343..269cd7a 100644 --- a/FASSUNGEN.txt +++ b/FASSUNGEN.txt @@ -21,6 +21,34 @@ Vorbemerkung zur Führung dieses Verzeichnisses ════════════════════════════════════════════════════════════════════════════════ + Fassung vom 29. August 2026 (zweite Fassung des Tages), + zuletzt geändert durch die am 29. August 2026 vorgenommenen Änderungen +════════════════════════════════════════════════════════════════════════════════ + +Die kanonische Web-Adresse der Browserfassung lautet fortan +aendggner.kellertomaten.de (Artikel 1). Das Ergebnis des Vordrucks öffnet sich +beim Absenden unmittelbar in einem neuen Reiter (Artikel 2). + + +Artikel 1 +Kanonische Web-Adresse + +Die Browserfassung wird unter der Domäne aendggner.kellertomaten.de betrieben. +Die Angabe des kanonischen Verweises in index.html, das Handbuch (README.md) und +die Konfigurationsvorlage (deploy/nginx-aendggner.conf) sind entsprechend +angepasst. + + +Artikel 2 +Unmittelbare Öffnung der Synopse + +Nach dem Absenden des Vordrucks und abgeschlossener Berechnung öffnet das Skript +(app.js) das berechnete Ergebnis unmittelbar in einem neuen Browser-Reiter +(window.open). Der Verweis unter „Verfügung der Zentralstelle“ bleibt als +Hilfsmittel und für etwaige Zusatzdateien unverändert erhalten. + + +════════════════════════════════════════════════════════════════════════════════ Fassung vom 29. August 2026, zuletzt geändert durch die am 29. August 2026 vorgenommenen Änderungen ════════════════════════════════════════════════════════════════════════════════ @@ -27,7 +27,7 @@ java -jar target/aendggner-0.1.0-SNAPSHOT.jar stammgesetz.xml aenderungsgesetz.p ``` Ohne Einrichtung läuft dasselbe im Browser unter -<https://aendggner.app.kellertomaten.de/>; die dort angebotenen zwei +<https://aendggner.kellertomaten.de/>; die dort angebotenen zwei durchgerechneten Beispiele sind der kürzeste Weg zum ersten Ergebnis (§ 14). @@ -147,7 +147,7 @@ Im Sinne dieses Handbuchs ist ## § 3 Bezugsquellen und Anschriften (1) Die Browserfassung wird betrieben unter -<https://aendggner.app.kellertomaten.de/>. +<https://aendggner.kellertomaten.de/>. (2) Fortlaufende Quelltextquelle ist <https://git.benkard.de/mulk/aendggner>. Die jeweils betriebene @@ -1003,7 +1003,7 @@ Ziel `deploy:deploy` stillgelegt ist und die Phase allein der Auslieferung der Browserfassung dient. (2) Wer die Fassung stattdessen selbst ausliefert — unter einem Unterpfad einer -bestehenden Domain, wie zuvor unter <https://aendggner.app.kellertomaten.de/> —, +bestehenden Domain, wie zuvor unter <https://aendggner.kellertomaten.de/> —, braucht die Vorkompression und fordert sie beim Bau an: ```shell diff --git a/deploy/nginx-aendggner.conf b/deploy/nginx-aendggner.conf index 5df1c91..1745438 100644 --- a/deploy/nginx-aendggner.conf +++ b/deploy/nginx-aendggner.conf @@ -2,7 +2,7 @@ # SPDX-License-Identifier: AGPL-3.0-or-later # Vorlage für die Auslieferung der ÄndGgner-Browserfassung unter -# https://aendggner.app.kellertomaten.de/. +# https://aendggner.kellertomaten.de/. # # Es gibt keinen Anwendungsprozess: Der Server liefert nur statische Dateien aus # (Inhalt von target/web/), gerechnet wird im Browser. Weil der Dienst unter einem diff --git a/src/main/resources/eu/mulk/aendggner/web/app.js b/src/main/resources/eu/mulk/aendggner/web/app.js index b72db3c..a8bcb22 100644 --- a/src/main/resources/eu/mulk/aendggner/web/app.js +++ b/src/main/resources/eu/mulk/aendggner/web/app.js @@ -38,10 +38,12 @@ function oeffne(inhalt, art, aufschrift) { meldung.append(" · "); } const verweis = document.createElement("a"); - verweis.href = URL.createObjectURL(new Blob([inhalt], { type: art })); + const url = URL.createObjectURL(new Blob([inhalt], { type: art })); + verweis.href = url; verweis.target = "_blank"; verweis.textContent = aufschrift; meldung.append(verweis); + return url; } formular.addEventListener("submit", async (ereignis) => { @@ -94,16 +96,14 @@ formular.addEventListener("submit", async (ereignis) => { return; } - // Kein window.open: Der Aufruf käme nach dem Warten auf den Worker und gälte dem Browser - // nicht mehr als Nutzerhandlung — er würde als Popup blockiert. Stattdessen ein Link, der - // sich öffnen und ebenso gut speichern lässt. if (nurText) { zeige( `${ergebnis.text.length.toLocaleString("de-DE")} Zeichen gelesen; ` + `keine Synopse erstellt. `, "fertig", ); - oeffne(ergebnis.text, "text/plain;charset=utf-8", "Gelesenen Text öffnen"); + const url = oeffne(ergebnis.text, "text/plain;charset=utf-8", "Gelesenen Text öffnen"); + window.open(url, "_blank"); return; } @@ -115,7 +115,8 @@ formular.addEventListener("submit", async (ereignis) => { (ergebnis.abgleich ? `Abgleich: ${ergebnis.abgleich}. ` : ""), "fertig", ); - oeffne(ergebnis.html, "text/html;charset=utf-8", "Synopse öffnen"); + const url = oeffne(ergebnis.html, "text/html;charset=utf-8", "Synopse öffnen"); + window.open(url, "_blank"); if (neufassungGewuenscht) { oeffne( ergebnis.neufassung, diff --git a/src/main/resources/eu/mulk/aendggner/web/index.html b/src/main/resources/eu/mulk/aendggner/web/index.html index 40a6649..19618b3 100644 --- a/src/main/resources/eu/mulk/aendggner/web/index.html +++ b/src/main/resources/eu/mulk/aendggner/web/index.html @@ -9,7 +9,7 @@ <meta name="description" content="Wendet Änderungsgesetze und Gesetzentwürfe selbsttätig auf ein Stammgesetz an und zeigt das Ergebnis als zweispaltige Synopse. Die Auswertung läuft vollständig im Browser; die gewählten Dateien werden nicht übertragen."> - <link rel="canonical" href="https://aendggner.app.kellertomaten.de/"> + <link rel="canonical" href="https://aendggner.kellertomaten.de/"> <link rel="icon" href="favicon.svg" type="image/svg+xml"> <link rel="stylesheet" href="style.css"> <script src="app.js" defer></script> |
