fix(admin): noindex korrekt via params, Test-Datei entfernt

noindex muss unter params: stehen (Hextra liest .Params.noindex); als
Top-Level-Key wirkungslos. Admin-Seite jetzt noindex, betreiber.md (Test) weg.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-05-31 00:09:09 +02:00
parent 4cd3e56f89
commit 45bb22ea14
36 changed files with 273 additions and 66 deletions
+2 -2
View File
@@ -54,8 +54,8 @@
<meta name="twitter:description" content="Vom Erstkontakt mit dem Kunden bis zur Schlussrechnung — der typische Weg eines Projekts durch Rapport.
Übersicht Kunde → Offerte → Projekt → Zeit → Akonto → Schluss anlegen erstellen (aus Offerte) erfassen -Rechnung -Rechnung ↓ QR-Schein 1 · Kunde anlegen Kunden → Neu — siehe Einrichtung § 3.">
<link rel="preload" href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" as="style" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" rel="stylesheet" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
+2 -2
View File
@@ -67,8 +67,8 @@ Neu / Verbessert
Diverse Verbesserungen und Bugfixes (Details werden im Release auf Gitea gepflegt) Bekannte Einschränkungen
Builds sind Tauri-signiert, aber noch nicht Apple-notarisiert — siehe Installation § Gatekeeper Linux- und Windows-Builds noch nicht verfügbar 0.8.00.8.1 — Patch-Releases Patch-Reihe mit kleineren Verbesserungen und Bugfixes. Details siehe Releases auf Gitea .">
<link rel="preload" href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" as="style" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" rel="stylesheet" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
+2 -2
View File
@@ -62,8 +62,8 @@ Diese Seite beschreibt die Desktop-App (Single-User). Wer im Team arbeitet und R
Speicherort (Desktop-App) Die Desktop-App speichert alles lokal — keine Cloud, kein Server.
macOS ~/Library/Application Support/com.rapport.app/ Dort liegt eine einzelne localStorage-Datenbank des WebView, in der alle Rapport-Daten als JSON unter dem Key studio_data_v1 gespeichert sind:">
<link rel="preload" href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" as="style" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" rel="stylesheet" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
+2 -2
View File
@@ -59,8 +59,8 @@ Reihenfolge Die Reihenfolge ist wichtig — jede Stufe baut auf der vorherigen a
Reihenfolge Die Reihenfolge ist wichtig — jede Stufe baut auf der vorherigen auf:
1. Bürodaten → 2. Mitarbeiter → 3. Kunden → 4. Projekte ▼ ▼ ▼ ▼ Briefbogen, Zeiterfassung, Adressen, Zeiterfassung, QR-Schein, Lohn Rechnungen Rechnungen Login 1 · Bürodaten Einstellungen → Bürodaten">
<link rel="preload" href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" as="style" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" rel="stylesheet" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
+2 -2
View File
@@ -125,8 +125,8 @@ macOS: Xcode Command Line Tools (xcode-select --install) Windows: Microsoft C&#4
Voraussetzungen Tool Version Node.js ≥ 20 (für Vite 8) npm ≥ 10 Rust toolchain ≥ 1.77.2 (via rustup) Plattform-Tools siehe Tauri Prerequisites Plattform-spezifisch:
macOS: Xcode Command Line Tools (xcode-select --install) Windows: Microsoft C&#43;&#43; Build Tools &#43; WebView2 Linux: webkit2gtk-4.1, librsvg2-dev, libayatana-appindicator3-dev, build-essential Setup git clone https://git.kgva.ch/karim/RAPPORT.git cd RAPPORT/APP npm install Entwicklung Web-Modus (HMR, schnellster Loop) npm run dev # http://localhost:3000 Hot-Module-Replacement Schnellster Iteration-Loop für UI-Arbeit Datenpersistierung: Browser-localStorage Native Window (Tauri-Fenster mit Desktop-Integration) npx tauri dev Echtes Tauri-Fenster System-Tray, Updater, native APIs verfügbar Erster Start dauert lange (Rust-Compile) Architektur in einem Absatz RAPPORT ist eine monolithische SPA: ein React-Root in App.jsx hält den gesamten App-State in einem useState({...}), persistiert ihn synchron in localStorage unter studio_data_v1, und übergibt ihn als Props an lazy-geladene Views. Kein Routing-Framework, kein State-Library, kein TypeScript, kein CSS-Framework. Der Rust-Teil ist 109 Zeilen und macht nur drei Dinge: System-Tray, Window-Hide-on-Close, Plugin-Registrierung (Updater, Process, Log). Keine #[tauri::command] — Frontend ↔ Backend kommuniziert nur über das Event rapport:navigate (Tray → Frontend).">
<link rel="preload" href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" as="style" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" rel="stylesheet" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
+2 -2
View File
@@ -47,8 +47,8 @@ Die Pre-Release-Builds sind signiert über Tauri, aber (noch) nicht über die Ap
01 · Installation DMG von Gitea Releases herunterladen. Rapport in den Programme-Ordner ziehen. Beim ersten Start: Systemeinstellungen → Datenschutz &amp; Sicherheit öffnen und Rapport zulassen.
Die Pre-Release-Builds sind signiert über Tauri, aber (noch) nicht über die Apple-Notarisierung gegangen — daher der manuelle Freigabe-Schritt.">
<link rel="preload" href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" as="style" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" rel="stylesheet" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
+2 -2
View File
@@ -37,8 +37,8 @@ Erste Schritte Quick-StartIn sechs Schritten von Null zur ersten Rechnung. Insta
<meta name="twitter:description" content="Vollständige Anleitung zu RAPPORT — von der Installation über den täglichen Arbeitsablauf bis zur Cloud-Variante und Eigen-Builds.
Erste Schritte Quick-StartIn sechs Schritten von Null zur ersten Rechnung. InstallationmacOS, Gatekeeper, Signatur, geplante Plattformen. EinrichtungBürodaten, Mitarbeiter, Kunden, Projekte initial anlegen. Im Alltag Typischer ArbeitsablaufKunde → Offerte → Projekt → Zeit → Rechnung. Datenhaltung &amp; BackupWo die Daten liegen, wie du sie sicherst und wiederherstellst. TroubleshootingApp startet nicht, Daten weg, Update hängt. Für Fortgeschrittene Web-Modus (Multi-User)Rapport im Browser via Supabase — für Studios mit mehreren Nutzern. Entwicklung &amp; BuildAus dem Quellcode kompilieren, beitragen, eigenes Release. ChangelogVersionsgeschichte und Breaking Changes. Hilfe &amp; Support Bei Bugs oder weiteren Fragen → Issue auf Gitea . Siehe auch die FAQ für häufige Fragen.">
<link rel="preload" href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" as="style" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" rel="stylesheet" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
+2 -2
View File
@@ -74,8 +74,8 @@ Voraussetzungen Plattform Status Versionen macOS Apple Silicon (M1 M4) ✅ U
<meta name="twitter:description" content="Schritt-für-Schritt-Anleitung für die Installation der Desktop-App.
Voraussetzungen Plattform Status Versionen macOS Apple Silicon (M1 M4) ✅ Unterstützt macOS 12&#43; macOS Intel ⚠ Build auf Anfrage macOS 12&#43; Linux 🕐 Geplant — Windows 🕐 Geplant — Eine Portierung auf Linux und Windows ist mit Tauri 2 möglich. Issue erstellen , wenn du eine Plattform brauchst.">
<link rel="preload" href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" as="style" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" rel="stylesheet" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
+2 -2
View File
@@ -62,8 +62,8 @@ App startet nicht “Rapport ist beschädigt” beim ersten Start Ursache: macOS
Lösung: siehe Installation § 3. Kurz:
xattr -d com.apple.quarantine /Applications/Rapport.app App startet, zeigt aber schwarzen Bildschirm Ursache: WebView-Cache korrupt.">
<link rel="preload" href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" as="style" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" rel="stylesheet" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
+2 -2
View File
@@ -97,8 +97,8 @@ Wann brauchst du das? Anwendungsfall Empfehlung Solo-Büro, ein Mac Desktop-App
Diese Seite bleibt als Referenz erhalten, der empfohlene Weg für Multi-User-Setups ist Rapport Server.
Wann brauchst du das? Anwendungsfall Empfehlung Solo-Büro, ein Mac Desktop-App — siehe Installation 25 Personen, gleicher Standort Rapport Server auf einem Mac Mini im LAN Verteiltes Team / Home-Office Rapport Server mit SSL &#43; Reverse Proxy Hosted Backend (eigener VPS) Rapport Server auf Linux-VPS Architektur (Kurzfassung) ┌────────────┐ HTTPS ┌──────────────┐ SQL ┌────────────┐ │ Browser │ ──────────────│ nginx │ ─────────────│ Postgres │ │ / Desktop │ │ (Frontend) │ │ &#43; GoTrue │ └────────────┘ └──────────────┘ │ &#43; REST │ │ &#43; Realtime │ │ &#43; Storage │ └────────────┘ Frontend: dieselbe React-App, aber Vite-Build statt Tauri (npm run build) Backend: Postgres-Stack (Rapport Server) Auth: E-Mail / Passwort über GoTrue Storage: Belege, Logos in Object-Storage Setup Alle Setup-Schritte (Repo klonen, .env erstellen, Migrations syncen, Docker-Compose starten, Reverse-Proxy konfigurieren) sind in Rapport Server dokumentiert.">
<link rel="preload" href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" as="style" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link href="/css/compiled/main.min.c06e08dfef0637df91a1395f60428545a2f374404f936bcc7846242d8a965282.css" rel="stylesheet" integrity="sha256-wG4I3&#43;8GN9&#43;RoTlfYEKFRaLzdEBPk2vMeEYkLYqWUoI=" />
<link rel="preload" href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" as="style" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />
<link href="/css/compiled/main.min.e45261d9416b551f8ed0df1b76605b68a631bbd12c7a554705ed2e74a8a9bd5a.css" rel="stylesheet" integrity="sha256-5FJh2UFrVR&#43;O0N8bdmBbaKYxu9EselVHBe0udKipvVo=" />