package routes import ( "fmt" "html/template" "net/http" "net/url" "repobrowser/internal/config" "repobrowser/internal/gitrepo" "repobrowser/internal/rendering" "strings" "github.com/gin-gonic/gin" ) // HandleRepoList GET / — list all repos func HandleRepoList(cfg config.RepositoryBrowserConfiguration) gin.HandlerFunc { return func(c *gin.Context) { repos := gitrepo.ListRepos(cfg) var body strings.Builder body.WriteString(fmt.Sprintf( `
%d repositories
`, len(repos), )) if len(repos) == 0 { body.WriteString(`branch: %s · %d files
`, template.HTMLEscapeString(repoName), template.HTMLEscapeString(pd.Branch), len(files), )) if err != nil || len(files) == 0 { body.WriteString(`| File | Commits |
|---|---|
| `+ `%s`+ `%s | `+ `%d |
Branches and tags in this repository
`) if err != nil || len(refs) == 0 { body.WriteString(`| Name | Type | Hash | |
|---|---|---|---|
| %s | %s | `+ `%s | `+ `%s |
branch: %s · %d commits shown
`, template.HTMLEscapeString(pd.Branch), len(commits), )) if err != nil || len(commits) == 0 { body.WriteString(`Version history · %d commits
`, template.HTMLEscapeString(path), len(commits), )) if err != nil || len(commits) == 0 { body.WriteString(`%s · %s <%s> · %s
`, template.HTMLEscapeString(subject), template.HTMLEscapeString(short), template.HTMLEscapeString(author), template.HTMLEscapeString(email), template.HTMLEscapeString(date), )) if filesOut == "" { body.WriteString(`| Status | File |
|---|---|
| %s | `+ `%s |