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}