diff --git a/internal/reader/subscription/finder.go b/internal/reader/subscription/finder.go index 8e0482789a0..94c6758ef7e 100644 --- a/internal/reader/subscription/finder.go +++ b/internal/reader/subscription/finder.go @@ -184,9 +184,8 @@ func (f *subscriptionFinder) findSubscriptionsFromWebPage(websiteURL string, doc } func (f *subscriptionFinder) findSubscriptionsFromWellKnownURLs(websiteURL string) (Subscriptions, *locale.LocalizedErrorWrapper) { - knownURLs := [...]struct { - path, format string - }{ + type pair struct{ path, format string } + knownURLs := []pair{ {"atom.xml", parser.FormatAtom}, {"feed.atom", parser.FormatAtom}, {"feed.xml", parser.FormatAtom}, @@ -210,6 +209,11 @@ func (f *subscriptionFinder) findSubscriptionsFromWellKnownURLs(websiteURL strin baseURLs = append(baseURLs, websiteURL) } + // github.com has atom feeds for pretty much everything, but it's not advertised anywhere. + if websiteURLRoot == "github.com" || websiteURLRoot == "www.github.com" { + knownURLs = append([]pair{{".atom", parser.FormatAtom}}, knownURLs...) + } + var subscriptions Subscriptions for _, baseURL := range baseURLs { for _, known := range knownURLs {