1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
  
           | 
          package main
import (
	"path/filepath"
	"time"
)
// Data is the generic content map passed on to the page template.
type Data map[string]interface{}
type page struct {
	Data
	Base       string
	Stylesheet string
	Title      string
}
type branch struct {
	Commits []commit
	Name    string
	Project string
}
func (b branch) String() string {
	return b.Name
}
type diff struct {
	Body   string
	Commit commit
	Parent string
}
type overview struct {
	Body   string
	Hash   string
	Parent string
}
type hash struct {
	Hash  string
	Short string
}
func (h hash) String() string {
	return h.Hash
}
type object struct {
	Hash string
	Path string
}
func (o object) Dir() string {
	return filepath.Join(o.Hash[0:2], o.Hash[2:])
}
type show struct {
	Body  string
	Bin   bool
	Lines []int
	object
}
type commit struct {
	Branch  string
	Body    string
	Abbr    string
	History []overview
	Parents []string
	Hash    string
	Author  author
	Date    time.Time
	Project string
	Tree    []object
	Types   map[string]bool
	Subject string
}
type author struct {
	Email string
	Name  string
}
 |