summaryrefslogtreecommitdiffstats
path: root/routes/routes.go
diff options
context:
space:
mode:
Diffstat (limited to 'routes/routes.go')
-rw-r--r--routes/routes.go35
1 files changed, 26 insertions, 9 deletions
diff --git a/routes/routes.go b/routes/routes.go
index 5a8d686..f52e86a 100644
--- a/routes/routes.go
+++ b/routes/routes.go
@@ -45,13 +45,7 @@ func (d *deps) Index(w http.ResponseWriter, r *http.Request) {
return
}
- var desc string
- db, err := os.ReadFile(filepath.Join(path, "description"))
- if err == nil {
- desc = string(db)
- } else {
- desc = ""
- }
+ desc := getDescription(path)
infos = append(infos, info{
Name: dir.Name(),
@@ -83,7 +77,7 @@ func (d *deps) RepoIndex(w http.ResponseWriter, r *http.Request) {
return
}
- files, err := gr.FileTree("")
+ commits, err := gr.Commits()
if err != nil {
d.Write500(w)
log.Println(err)
@@ -109,12 +103,25 @@ func (d *deps) RepoIndex(w http.ResponseWriter, r *http.Request) {
return
}
+ tpath := filepath.Join(d.c.Dirs.Templates, "*")
+ t := template.Must(template.ParseGlob(tpath))
+
+ if len(commits) >= 5 {
+ commits = commits[:5]
+ }
+
data := make(map[string]any)
data["name"] = name
data["ref"] = mainBranch
data["readme"] = readmeContent
+ data["commits"] = commits
+ data["desc"] = getDescription(path)
+
+ if err := t.ExecuteTemplate(w, "repo", data); err != nil {
+ log.Println(err)
+ return
+ }
- d.listFiles(files, data, w)
return
}
@@ -283,3 +290,13 @@ func (d *deps) ServeStatic(w http.ResponseWriter, r *http.Request) {
http.ServeFile(w, r, f)
}
+
+func getDescription(path string) (desc string) {
+ db, err := os.ReadFile(filepath.Join(path, "description"))
+ if err == nil {
+ desc = string(db)
+ } else {
+ desc = ""
+ }
+ return
+}