routes: description and humanized time to index
This commit is contained in:
parent
d879c2dfb0
commit
1872ca726a
1
go.mod
1
go.mod
|
@ -5,6 +5,7 @@ go 1.19
|
||||||
require (
|
require (
|
||||||
github.com/alexedwards/flow v0.0.0-20220806114457-cf11be9e0e03
|
github.com/alexedwards/flow v0.0.0-20220806114457-cf11be9e0e03
|
||||||
github.com/bluekeyes/go-gitdiff v0.7.0
|
github.com/bluekeyes/go-gitdiff v0.7.0
|
||||||
|
github.com/dustin/go-humanize v1.0.0
|
||||||
github.com/go-git/go-git/v5 v5.5.1
|
github.com/go-git/go-git/v5 v5.5.1
|
||||||
gopkg.in/yaml.v3 v3.0.0
|
gopkg.in/yaml.v3 v3.0.0
|
||||||
)
|
)
|
||||||
|
|
2
go.sum
2
go.sum
|
@ -21,6 +21,8 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
|
||||||
|
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
|
||||||
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
|
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
|
||||||
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
|
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
|
||||||
github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
|
github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
|
||||||
|
|
|
@ -6,9 +6,9 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/alexedwards/flow"
|
"github.com/alexedwards/flow"
|
||||||
|
"github.com/dustin/go-humanize"
|
||||||
"icyphox.sh/legit/config"
|
"icyphox.sh/legit/config"
|
||||||
"icyphox.sh/legit/git"
|
"icyphox.sh/legit/git"
|
||||||
)
|
)
|
||||||
|
@ -25,7 +25,9 @@ func (d *deps) Index(w http.ResponseWriter, r *http.Request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
repoInfo := make(map[string]time.Time)
|
type info struct{ Name, Desc, Idle string }
|
||||||
|
|
||||||
|
infos := []info{}
|
||||||
|
|
||||||
for _, dir := range dirs {
|
for _, dir := range dirs {
|
||||||
path := filepath.Join(d.c.Repo.ScanPath, dir.Name())
|
path := filepath.Join(d.c.Repo.ScanPath, dir.Name())
|
||||||
|
@ -42,7 +44,19 @@ func (d *deps) Index(w http.ResponseWriter, r *http.Request) {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
repoInfo[dir.Name()] = c.Author.When
|
var desc string
|
||||||
|
db, err := os.ReadFile(filepath.Join(path, "description"))
|
||||||
|
if err == nil {
|
||||||
|
desc = string(db)
|
||||||
|
} else {
|
||||||
|
desc = ""
|
||||||
|
}
|
||||||
|
|
||||||
|
infos = append(infos, info{
|
||||||
|
Name: dir.Name(),
|
||||||
|
Desc: desc,
|
||||||
|
Idle: humanize.Time(c.Author.When),
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
tpath := filepath.Join(d.c.Template.Dir, "*")
|
tpath := filepath.Join(d.c.Template.Dir, "*")
|
||||||
|
@ -50,7 +64,7 @@ func (d *deps) Index(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
||||||
data := make(map[string]interface{})
|
data := make(map[string]interface{})
|
||||||
data["meta"] = d.c.Meta
|
data["meta"] = d.c.Meta
|
||||||
data["info"] = repoInfo
|
data["info"] = infos
|
||||||
|
|
||||||
if err := t.ExecuteTemplate(w, "index", data); err != nil {
|
if err := t.ExecuteTemplate(w, "index", data); err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
|
|
|
@ -12,12 +12,14 @@
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td>repository</td>
|
<td>repository</td>
|
||||||
|
<td>description</td>
|
||||||
<td>last active</td>
|
<td>last active</td>
|
||||||
</tr>
|
</tr>
|
||||||
{{ range $repo, $lc := .info }}
|
{{ range .info }}
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="/{{ $repo }}">{{ $repo }}</a></td>
|
<td><a href="/{{ .Name }}">{{ .Name }}</a></td>
|
||||||
<td>{{ $lc }}</td>
|
<td>{{ .Desc }}</td>
|
||||||
|
<td>{{ .Idle }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</table>
|
</table>
|
||||||
|
|
Loading…
Reference in New Issue