Hinweis: Dieser Inhalt wurde automatisch übersetzt. Feedback senden

Live Changelog

Eine automatisch aktualisierende Changelog-Seite, die nach jedem Commit über GitHub Actions aktualisiert wird. Parst Conventional Commits und zeigt Entwicklungshistorie an.

Role: DeveloperDez. 2025

Eine detaillierte Timeline der Entwicklung, extrahiert aus der Git-Commit-Historie. Diese Seite aktualisiert sich automatisch nach jedem Push auf den Main-Branch.

Changelog wird geladen...

Wie es funktioniert

Der Changelog verwendet einen GitHub Actions Workflow, der:

  1. Bei Push triggert — Jeder Push auf main führt den Workflow aus
  2. Git-Historie parst — Extrahiert Commit-Hash, Autor, Datum und Nachricht
  3. Commits kategorisiert — Erkennt Conventional Commit-Typen (feat, fix, chore, etc.)
  4. JSON-Daten aktualisiert — Schreibt nach data/changelog.json
  5. Änderungen committet — Verwendet [skip ci] um Endlosschleifen zu verhindern

Tech Stack

KomponenteTechnologieZweck
AutomatisierungGitHub ActionsTrigger bei Push auf main
SkriptTypeScript + tsxGit-Log parsen und JSON generieren
DatenJSONGeparste Commit-Daten speichern
RenderingNext.js Server ComponentDynamische Seite mit Locale-Support
i18nnext-intlLocale-bewusste Datumsformatierung

Conventional Commit Parsing

Das Skript erkennt Standard Conventional Commit Präfixe:

  • feat: — Neue Features
  • fix: — Bug Fixes
  • chore: — Wartungsaufgaben
  • docs: — Dokumentations-Updates
  • refactor: — Code Refactoring
  • style: — Styling-Änderungen
  • test: — Test-Updates
  • perf: — Performance-Verbesserungen

Commits werden automatisch kategorisiert und Statistiken berechnet.

Schleifen-Prävention

Die GitHub Action vermeidet Endlosschleifen durch:

  1. Hinzufügen von [skip ci] zur Commit-Nachricht
  2. Prüfen von if: "!contains(github.event.head_commit.message, '[skip ci]')" im Workflow

Dateien

.github/workflows/update-changelog.yml  # GitHub Action
scripts/generate-changelog.ts           # Generierungsskript
data/changelog.json                     # Generierte Daten
lib/types/changelog.ts                  # TypeScript-Typen
app/[locale]/changelog/page.tsx         # Seitenkomponente
components/changelog-stats.tsx          # Statistik-Komponente
components/changelog-table.tsx          # Tabellen-Komponente

Outcomes

  • GitHub Actions Workflow triggert bei jedem Push auf main
  • Conventional Commit Parsing (feat, fix, chore, etc.)
  • Commits nach Datum gruppiert mit locale-bewusster Formatierung
  • Volle i18n-Unterstützung über 5 Locales

Links