SHA256
- 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.
70 lines
4.6 KiB
Markdown
70 lines
4.6 KiB
Markdown
# 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 2–7 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.
|