all repos

mugit @ 248777362ec518bdbb38dfcdeaa72b4dd94c8cb9

🐮 git server that your cow will love
3 files changed, 27 insertions(+), 8 deletions(-)
ui: fix feeds, include links protocol
Author: Oleksandr Smirnov olexsmir@gmail.com
Committed at: 2026-02-14 15:19:34 +0200
Change ID: xvvqmromlyuukontltuktnrnmyxyylwl
Parent: d5b24c1
M internal/handlers/feed.go

@@ -2,6 +2,7 @@ package handlers

import ( "net/http" + "net/url" "github.com/gorilla/feeds" )

@@ -20,9 +21,16 @@ return

} repoName := repo.Name() + + feedLink, err := url.JoinPath("http://", h.c.Meta.Host, repoName) + if err != nil { + h.write500(w, err) + return + } + feed := &feeds.Feed{ Title: repoName, - Link: &feeds.Link{Href: h.c.Meta.Host + "/" + repoName}, + Link: &feeds.Link{Href: feedLink}, Description: desc, }

@@ -34,10 +42,11 @@ return

} for _, branch := range branches { + href, _ := url.JoinPath("http://", h.c.Meta.Host, repoName, "tree", branch.Name) feed.Items = append(feed.Items, &feeds.Item{ Id: "b:" + branch.Name, Title: "branch: " + branch.Name, - Link: &feeds.Link{Href: h.c.Meta.Host + "/tree/" + branch.Name}, + Link: &feeds.Link{Href: href}, Updated: branch.LastUpdate, }) }

@@ -49,10 +58,11 @@ h.write500(w, err)

} for _, tag := range tags { + href, _ := url.JoinPath("http://", h.c.Meta.Host, repoName, "tree", tag.Name()) feed.Items = append(feed.Items, &feeds.Item{ Id: "t:" + tag.Name(), Title: "tag: " + tag.Name(), - Link: &feeds.Link{Href: h.c.Meta.Host + "/tree/" + tag.Name()}, + Link: &feeds.Link{Href: href}, Description: desc, Updated: tag.When(), Content: tag.Message(),

@@ -76,16 +86,23 @@ h.write500(w, err)

return } + feedLink, err := url.JoinPath("http://", h.c.Meta.Host) + if err != nil { + h.write500(w, err) + return + } + feed := &feeds.Feed{ Title: h.c.Meta.Host, - Link: &feeds.Link{Href: h.c.Meta.Host}, + Link: &feeds.Link{Href: feedLink}, Description: h.c.Meta.Description, } for _, repo := range repos { + href, _ := url.JoinPath("http://", h.c.Meta.Host, repo.Name) feed.Items = append(feed.Items, &feeds.Item{ Title: repo.Name, - Link: &feeds.Link{Href: h.c.Meta.Host + "/" + repo.Name}, + Link: &feeds.Link{Href: href}, Description: repo.Desc, Id: repo.Name, Updated: repo.LastCommit,
M internal/handlers/repo.go

@@ -31,6 +31,7 @@

data := make(map[string]any) data["meta"] = h.c.Meta data["repos"] = repos + data["servername"] = h.c.Meta.Host h.templ(w, "index", data) }
M web/templates/_head.html

@@ -7,8 +7,9 @@ {{ if and .servername .gomod }}

<meta name="go-import" content="{{ .servername}}/{{ .name }} git https://{{ .servername }}/{{ .name }}"> {{ end }} {{ if and .servername .name }} - <link rel="alternate" type="application/rss" href="{{ .servername }}/{{ .name }}/feed"> - {{ else }} - <link rel="alternate" type="application/rss" href="{{ .servername }}/index.xml"> + <link rel="alternate" type="application/rss" href="https://{{ .servername }}/{{ .name }}/feed"> + {{ end }} + {{ if .servername }} + <link rel="alternate" type="application/rss" href="https://{{ .servername }}/index.xml"> {{ end }} {{ end }}