web frontend for git (tangled's grandpa)

git: hide .git extension

authored by

Marco Andronaco and committed by
GitHub
8a0ebe22 9d1d6aae

+25 -8
+15 -6
routes/routes.go
··· 33 33 } 34 34 35 35 type info struct { 36 - Name, Desc, Idle string 37 - d time.Time 36 + DisplayName, Name, Desc, Idle string 37 + d time.Time 38 38 } 39 39 40 40 infos := []info{} ··· 58 58 return 59 59 } 60 60 61 + name := dir.Name() 62 + 61 63 desc := getDescription(path) 62 64 63 65 infos = append(infos, info{ 64 - Name: dir.Name(), 65 - Desc: desc, 66 - Idle: humanize.Time(c.Author.When), 67 - d: c.Author.When, 66 + DisplayName: getDisplayName(name), 67 + Name: name, 68 + Desc: desc, 69 + Idle: humanize.Time(c.Author.When), 70 + d: c.Author.When, 68 71 }) 69 72 } 70 73 ··· 149 152 150 153 data := make(map[string]any) 151 154 data["name"] = name 155 + data["displayname"] = getDisplayName(name) 152 156 data["ref"] = mainBranch 153 157 data["readme"] = readmeContent 154 158 data["commits"] = commits ··· 191 195 192 196 data := make(map[string]any) 193 197 data["name"] = name 198 + data["displayname"] = getDisplayName(name) 194 199 data["ref"] = ref 195 200 data["parent"] = treePath 196 201 data["desc"] = getDescription(path) ··· 225 230 contents, err := gr.FileContent(treePath) 226 231 data := make(map[string]any) 227 232 data["name"] = name 233 + data["displayname"] = getDisplayName(name) 228 234 data["ref"] = ref 229 235 data["desc"] = getDescription(path) 230 236 data["path"] = treePath ··· 317 323 data["commits"] = commits 318 324 data["meta"] = d.c.Meta 319 325 data["name"] = name 326 + data["displayname"] = getDisplayName(name) 320 327 data["ref"] = ref 321 328 data["desc"] = getDescription(path) 322 329 data["log"] = true ··· 359 366 data["diff"] = diff.Diff 360 367 data["meta"] = d.c.Meta 361 368 data["name"] = name 369 + data["displayname"] = getDisplayName(name) 362 370 data["ref"] = ref 363 371 data["desc"] = getDescription(path) 364 372 ··· 402 410 403 411 data["meta"] = d.c.Meta 404 412 data["name"] = name 413 + data["displayname"] = getDisplayName(name) 405 414 data["branches"] = branches 406 415 data["tags"] = tags 407 416 data["desc"] = getDescription(path)
+8
routes/util.go
··· 16 16 return err == nil 17 17 } 18 18 19 + func getDisplayName(name string) string { 20 + l := len(name) - 4 21 + if name[l:] == ".git" { 22 + name = name[:l] 23 + } 24 + return name 25 + } 26 + 19 27 func getDescription(path string) (desc string) { 20 28 db, err := os.ReadFile(filepath.Join(path, "description")) 21 29 if err == nil {
+1 -1
templates/index.html
··· 10 10 <main> 11 11 <div class="index"> 12 12 {{ range .info }} 13 - <div class="index-name"><a href="/{{ .Name }}">{{ .Name }}</a></div> 13 + <div class="index-name"><a href="/{{ .Name }}">{{ .DisplayName }}</a></div> 14 14 <div class="desc">{{ .Desc }}</div> 15 15 <div>{{ .Idle }}</div> 16 16 {{ end }}
+1 -1
templates/repo-header.html
··· 2 2 <header> 3 3 <h2> 4 4 <a href="/">all repos</a> 5 - &mdash; {{ .name }} 5 + &mdash; {{ .displayname }} 6 6 {{ if .ref }} 7 7 <span class="ref">@ {{ .ref }}</span> 8 8 {{ end }}