release.gno

0.74 Kb ยท 38 lines
 1package releases
 2
 3type release struct {
 4	// manual
 5	version string
 6	url     string
 7	notes   string
 8
 9	// internal
10	isLatest  bool
11	changelog *changelog
12}
13
14func (r *release) URL() string     { return r.url }
15func (r *release) Version() string { return r.version }
16func (r *release) Notes() string   { return r.notes }
17func (r *release) IsLatest() bool  { return r.isLatest }
18
19func (r *release) Title() string {
20	output := r.changelog.name + " " + r.version
21	if r.isLatest {
22		output += " (latest)"
23	}
24	return output
25}
26
27func (r *release) Link() string {
28	return "[" + r.Title() + "](" + r.url + ")"
29}
30
31func (r *release) Render() string {
32	output := ""
33	output += "## " + r.Link() + "\n\n"
34	if r.notes != "" {
35		output += r.notes + "\n\n"
36	}
37	return output
38}