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

4.6 KiB
Raw Blame History

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.WebStaticBuilderGitCover.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.pyI18n.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.
  • LICENSELICENSE.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.