Files
build_webstatic/diary/2026-07-11.md
T
gc-dev-afjd eb098f9ff3 feat: Change license from MIT to Apache-2.0
- Added LICENSE.md file with Apache License 2.0 text.
- Created NOTICE file for attribution of third-party components.
- Updated README.md to reflect the new license and included details about the Apache-2.0 license.
- Documented the license change in the diary entry for July 12, 2026.
- Updated installation instructions in getting-started.md to reflect per-user installation.
- Added reusable license header to all source files.
- Updated various documentation files to mention the new Apache-2.0 license.
- Changed legal mentions in example content to reflect the new license.
2026-07-12 19:29:20 +02:00

70 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Entwicklungs-Tagebuch — GitCover.WebStaticBuilder
## 2026-07-11 — Phase 0/1: Eigenständiges Tool
- Dev-Repo `/mnt/brx5/work/OSS/build_webstatic` aus `www/build` (Submodul `OSS/build_webstatic`) angelegt.
- Python-Legacy (`build.py`, `i18n.py`, `sections.py`, `utils.py`, `simple_build.py`) und
`build.csx` entfernt; Verzeichnisstruktur `plans/ docs/ diary/ src/ tests/ webstatic.example/` erstellt.
- Umbenennung `GitCover.WebStaticBuilder``GitCover.WebStaticBuilder` (csproj/Assembly `webstatic`).
- Config-Modell `BuildConfig` (CLI > webstatic.json > Defaults), generische Pfade (`Directories`),
Umgebungen `work/review/staging/deploy` (Aliase `--preview/--staging/--deploy`).
- i18n: `i18n.py``I18n.cs` (JSON `i18n.json`), `{{ i18n.* }}`-Substitution + `{{ lang_links }}`.
- MT-Helfer: `TranslationService` (Azure/DeepL via REST, kein Extra-NuGet), `translate --check/--draft`.
- Pagefind im Post-Build, per Config (`pagefind`) abschaltbar.
- `init`/`serve` (HttpListener) Subcommands; `webstatic.example/` KMU-Vorlage.
- `install.sh` (→ `/opt/GitCover/webstatic`), `LICENSE.md` (MIT), AGENTS/MEMORY/SKILLS/.hermes, plans/00.
- Verifiziert: `dotnet build -c Release` ✓; Beispiel baut de/en/vi mit i18n, Pagefind, Mermaid ✓.
## 2026-07-12 — Praxiseinsatz GCC + Tool-Erkenntnisse
### Realer Einsatz: gcc.gitcover.org auf webstatic migriert
- Zweite GitCover-Site (nach GCBoK) erfolgreich mit der `webstatic`-CLI gebaut —
validiert den Tool-Workflow (Phase 3/4) unter realen Bedingungen.
- Migration: Python-Build (`build/`, `build-env/`, `*.py`) vollständig entfernt;
Multi-Page-Modell, `*.de.md` autoritativ (DE-Quelle explizit suffixiert), Banner
(`00-banner.*.md`) 1:1 aus gcbok übernommen, Eyebrow + Titel als
`<div class="page-header">` (`.eyebrow--green` + `<h1 class="page-title">`) auf
**allen** Content-Seiten vorangestellt.
- `pagefind: false` in `webstatic.json` → Such-Toggle im Chrome ist dann
nicht funktional (bewusst, da GCC keinen Volltextindex braucht).
### Wichtige Tool-Erkenntnis (für docs/plans)
- webstatic stellt KEIN `{{ title }}`/`{{ eyebrow }}`-**Seitentoken** bereit.
Frontmatter-`title`/`eyebrow` speisen nur `<title>`/Meta (SEO) und die
Navigations-Labels. Jede Seite muss Eyebrow + Titel **selbst im Body** tragen
(wie gcbok es in der Hero-/`01-`-Datei tut) — sonst fehlen die Überschriften
auf der generierten Seite. Das ist Design-Intent, kein Bug.
### Installation: per-user ist die aktive
- Aktive Installation ist die **per-user Betatester-Install** unter
`~/.local/share/GitCover/webstatic` (Launcher `~/.local/bin/webstatic`),
**nicht** `/opt/GitCover/webstatic` (existiert nicht).
- Stand lokal `7065c07`, Remote `89f720a` → Update via `webstatic update` verfügbar.
- `plan 01` Fix 1 („veraltete `/opt`-Binary") ist damit gegenstandslos; die
übrigen Fixes 27 sind bereits im Code umgesetzt (Help/Version vor Build,
Content-Check, Artefakte aus Git, Default-Envs = `development`/`staging`/`deploy`,
`tests/README.md` vorhanden).
### Status
- Version `1.0.0.0`. Subcommands vorhanden: `build`, `serve`, `init`, `translate`, `status`.
- Environments im Code: `development` (foldet `--work`/`--preview`/`--review`),
`staging`, `deploy`. `plan 00` §6/§7 noch mit `work`/`review` veraltet — korrigiert.
### 2026-07-12 (später) — Lizenzwechsel MIT → Apache-2.0
- **Grund:** Builder implementiert an vielen Stellen patentrelevante Logik; Apache-2.0
bietet explizite **Patentlizenz (§3)** + **Retorsionsklausel** (Patentlizenz erlischt
bei Patentklage) — Schutz gegen Patent-Trolle, den MIT nicht leistet.
- `LICENSE`**`LICENSE.md`** (kanonischer Dateiname im Repo/Remote; MIT-Text durch
vollständigen Apache-2.0-Text ersetzt).
- Neue **`NOTICE`** (Repo-Root): Attribution Dritt-Komponenten `Markdig` (BSD-2),
`YamlDotNet` (MIT).
- `csproj`: `PackageLicenseExpression` = `Apache-2.0`; Description „(OSS, Apache-2.0)".
- Kompakter **SPDX-Header** (`// Copyright … // SPDX-License-Identifier: Apache-2.0`)
in alle 12 `.cs`-Dateien eingefügt (Build verifiziert, 0 Warnungen/Fehler).
- Wiederverwendbarer Baustein + Rationale in `docs/license-header.md`.
- Docs angepasst: `README.md`, `AGENTS.md`, `plans/00` §12 + Repo-Struktur,
`.hermes/skills.md`, `webstatic.example`-Inhalte, Tagebuch.
- **Hinweis Dev-Repo:** `/mnt/brx5/work/OSS/build_webstatic` ist ein eigenständiger
Checkout (Remote `git.gitcover.org:OSS/build_webstatic.git`). Dort ist `LICENSE.md`
noch MIT — bei Gelegenheit dort ebenfalls auf Apache-2.0 + `NOTICE` syncen, sonst
würde ein Pull den Wechsel im per-user-Clone überschreiben.