Documentation
¶
Overview ¶
Package renderer provides deterministic Markdown rendering for changelogs.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrInvalidPreset = errors.New("invalid preset")
ErrInvalidPreset is returned when an invalid options preset name is provided.
Functions ¶
func RenderMarkdown ¶
RenderMarkdown renders a changelog to Keep a Changelog formatted Markdown. The output is deterministic: same input always produces identical output.
Types ¶
type Config ¶ added in v0.4.0
type Config struct {
Preset string // default, minimal, full, core, standard
MaxTier string // optional tier override
}
Config holds configuration for rendering options.
type Options ¶
type Options struct {
// IncludeReferences includes issue/PR links in entries.
IncludeReferences bool
// IncludeCommits includes commit SHAs in references.
IncludeCommits bool
// LinkReferences creates hyperlinks for issues, PRs, and commits
// when a repository URL is available. Requires IncludeReferences.
LinkReferences bool
// IncludeAuthors appends author attribution for external contributors.
// Authors listed in Changelog.Maintainers or known bots are excluded.
IncludeAuthors bool
// IncludeSecurityMetadata includes CVE/GHSA/severity in security entries.
IncludeSecurityMetadata bool
// MarkBreakingChanges prefixes breaking changes with **BREAKING:**.
MarkBreakingChanges bool
// IncludeCompareLinks adds version comparison links at the bottom.
IncludeCompareLinks bool
// IncludeUnreleasedLink adds an [Unreleased] link comparing latest version to HEAD.
// This lets users see what's been merged since the last release.
IncludeUnreleasedLink bool
// CompactMaintenanceReleases groups consecutive maintenance-only releases
// (those with only dependencies, documentation, build, tests, internal changes)
// into a single compact section like "## Versions 0.71.1 - 0.71.10 (Maintenance)".
CompactMaintenanceReleases bool
// MaxTier filters change types to include only those at or above this tier.
// Default is TierOptional (include all).
MaxTier changelog.Tier
}
Options controls how the Markdown is rendered.
func CoreOptions ¶ added in v0.4.0
func CoreOptions() Options
CoreOptions returns options for KACL-compliant core output.
func DefaultOptions ¶
func DefaultOptions() Options
DefaultOptions returns the default rendering options. Includes commit links and reference linking when repository URL is available.
func FullOptions ¶
func FullOptions() Options
FullOptions returns options for maximum detail. Same as DefaultOptions but with CompactMaintenanceReleases disabled to show all releases expanded instead of grouping maintenance releases.
func MinimalOptions ¶
func MinimalOptions() Options
MinimalOptions returns options for minimal output.
func OptionsFromConfig ¶ added in v0.4.0
OptionsFromConfig creates Options from a Config struct. It first applies the preset, then overrides MaxTier if specified.
func OptionsFromPreset ¶ added in v0.4.0
OptionsFromPreset returns options for the given preset name. Valid presets are: default, minimal, full, core, standard.
func StandardOptions ¶ added in v0.4.0
func StandardOptions() Options
StandardOptions returns options including standard tier types.