changelog

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 25, 2026 License: MIT Imports: 5 Imported by: 0

README

go-changelog

go-changelog rendert Release-Abschnitte aus einer CHANGELOG.md und liefert eine direkt einsetzbare Bootstrap-5-Anzeige mit Versionslink, Neu-Badge, Modal und localStorage-Erinnerung.

Installation

go get github.com/realholgi/go-changelog

Verwendung

package main

import (
	_ "embed"

	"github.com/realholgi/go-changelog"
)

//go:embed CHANGELOG.md
var changelogMarkdown string

var version = "dev"

func main() {
	inhalt := changelog.Aufbereiten(changelogMarkdown, version)
	// Inhalt als Teil der Daten an html/template übergeben.
	_ = inhalt
}

Im Go-Template werden Auslöser und Modal dort platziert, wo die Anwendung sie benötigt:

<nav>
  {{.Changelog.Ausloeser}}
</nav>

<script src="/static/bootstrap.bundle.min.js"></script>
{{.Changelog.Modal}}

Bootstrap 5 muss von der Anwendung geladen werden.

Die Anzeige kann angepasst werden:

inhalt := changelog.AufbereitenMitOptionen(markdown, version, changelog.Optionen{
	ModalID:     "releaseNotes",
	StorageKey:  "my_app_changelog_seen",
	Titel:       "Release notes",
	NeuIn:       "New in",
	Schliessen:  "Close",
	Bestaetigen: "Got it",
})

Erwartet werden Release-Überschriften in dieser Form:

## [Unreleased]

## [1.2.0] - 2026-07-24

Inhalt.HTML enthält alle nicht leeren Release-Abschnitte. Inhalt.Datum enthält das Datum der aktuellen Version, sofern diese im Changelog vorhanden ist.

Lizenz

MIT

Documentation

Overview

Paket changelog bereitet ein Keep-a-Changelog-ähnliches Markdown-Dokument für eine wiederverwendbare Bootstrap-Anzeige auf.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Inhalt

type Inhalt struct {
	HTML  string
	Datum string
	// contains filtered or unexported fields
}

Inhalt enthält das gerenderte Changelog und das Datum der aktuellen Version.

func Aufbereiten

func Aufbereiten(markdown, aktuelleVersion string) Inhalt

Aufbereiten rendert alle nicht leeren Release-Abschnitte mit den Standardoptionen.

func AufbereitenMitOptionen

func AufbereitenMitOptionen(markdown, aktuelleVersion string, optionen Optionen) Inhalt

AufbereitenMitOptionen rendert alle nicht leeren Release-Abschnitte in ihrer ursprünglichen Reihenfolge und konfiguriert die Anzeige.

func (Inhalt) Ausloeser

func (i Inhalt) Ausloeser() template.HTML

Ausloeser rendert die Versionsanzeige und, falls ein Changelog vorhanden ist, den Auslöser samt Badge für das Bootstrap-Modal.

func (Inhalt) Modal

func (i Inhalt) Modal() template.HTML

Modal rendert Styles, Bootstrap-Modal und das localStorage-Verhalten. Bootstrap 5 muss von der einbindenden Anwendung geladen werden.

type Optionen

type Optionen struct {
	ModalID     string
	StorageKey  string
	Titel       string
	NeuIn       string
	Schliessen  string
	Bestaetigen string
}

Optionen passt IDs, Browser-Speicher und Beschriftungen der Anzeige an. Leere Felder werden durch deutsche Standardwerte ersetzt.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL