Separation as Tool

This commit is contained in:
2026-07-11 13:43:52 +02:00
commit f542382e58
80 changed files with 5863 additions and 0 deletions
+73
View File
@@ -0,0 +1,73 @@
# GCBoK.WebStaticBuilder
Eigenständiger, quelloffener **Static-Site-Generator** der GitCover Commons für
mehrsprachige, SEO-optimierte, compliance-freundliche Websites. Ersetzt den
früheren C#-Builderskript der GCBoK-Website durch ein generisches, für KMU
einsetzbares Werkzeug.
- **Sprache:** C# / .NET 10 (kompilierte Konsole)
- **Lizenz:** MIT
- **Kein Python:** einzige externe Abhängigkeit ist `npx pagefind` (Suchindex, optional)
- **Funktionen:** Markdown + YAML-Frontmatter → statisches HTML pro Sprache,
Navigation, SEO-Kopf (OpenGraph/JSON-LD), `sitemap.xml`, `robots.txt`,
Mermaid-Diagramme, client-seitige Volltextsuche (Pagefind), UI-Lokalisierung
über `{{ i18n.* }}`, optionaler Machine-Translation-Helfer (Entwürfe).
## Schnellstart
```bash
# Tool bauen
dotnet build -c Release
# Beispiel-Seite erzeugen und bauen
dotnet bin/Release/net10.0/webstatic.dll init mysite
cd mysite
dotnet ../../bin/Release/net10.0/webstatic.dll build --env work
# Lokal ansehen
dotnet ../../bin/Release/net10.0/webstatic.dll serve --port 8000
```
## Umgebungen
| `--env` | baseUrl (Beispiel) | Zweck |
|----------|------------------------------|------------------------|
| `work` | `http://localhost:8000` | Lokale Entwicklung |
| `review` | `https://review.gitcover.org`| Freigabe/Vorschau |
| `staging`| `https://gcbok.gitcover.org` | Abnahme (brx5) |
| `deploy` | `https://gcbok.org` | Production |
Aliase: `--preview` = `work`, `--staging` = `staging`, `--deploy` = `deploy`.
## Konfiguration (`webstatic.json`)
CLI-Flags haben Vorrang vor `webstatic.json`, dieses vor eingebauten Defaults.
Siehe `webstatic.example/webstatic.json` und `docs/getting-started.md`.
## Installation für KMU
```bash
./install.sh # -> /opt/GitCover/webstatic, Symlink /usr/local/bin/webstatic
```
## Machine Translation (optional)
```bash
webstatic translate --check # fehlende Übersetzungen melden
export WEBSTATIC_TRANSLATOR_KEY=... # API-Key (Azure/DeepL)
webstatic translate --draft # Entwürfe nach .translation-drafts/
```
Entwürfe überschreiben niemals Quelldateien.
## Verzeichnisstruktur
```
plans/ Produktplan & Folgepläne
docs/ Anleitungen (KMU, Admin)
diary/ Entwicklungs-Tagebuch
src/ C#-Quellcode (GCBoK.WebStaticBuilder)
tests/ (künftig) Unit/Integrationstests
webstatic.example/ Vorlage-Site für KMU
install.sh KMU-Installation
```