github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/examples/gno.land/p/demo/releases/release.gno (about)

     1  package releases
     2  
     3  type release struct {
     4  	// manual
     5  	version string
     6  	url     string
     7  	notes   string
     8  
     9  	// internal
    10  	isLatest  bool
    11  	changelog *changelog
    12  }
    13  
    14  func (r *release) URL() string     { return r.url }
    15  func (r *release) Version() string { return r.version }
    16  func (r *release) Notes() string   { return r.notes }
    17  func (r *release) IsLatest() bool  { return r.isLatest }
    18  
    19  func (r *release) Title() string {
    20  	output := r.changelog.name + " " + r.version
    21  	if r.isLatest {
    22  		output += " (latest)"
    23  	}
    24  	return output
    25  }
    26  
    27  func (r *release) Link() string {
    28  	return "[" + r.Title() + "](" + r.url + ")"
    29  }
    30  
    31  func (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  }