Browse Source

feat: add support for base element when discovering feeds

Frédéric Guillot 1 year ago
parent
commit
f6dc952551
1 changed files with 7 additions and 0 deletions
  1. 7 0
      internal/reader/subscription/finder.go

+ 7 - 0
internal/reader/subscription/finder.go

@@ -147,6 +147,13 @@ func (f *SubscriptionFinder) FindSubscriptionsFromWebPage(websiteURL, contentTyp
 		return nil, locale.NewLocalizedErrorWrapper(err, "error.unable_to_parse_html_document", err)
 	}
 
+	if hrefValue, exists := doc.Find("head base").First().Attr("href"); exists {
+		hrefValue = strings.TrimSpace(hrefValue)
+		if urllib.IsAbsoluteURL(hrefValue) {
+			websiteURL = hrefValue
+		}
+	}
+
 	var subscriptions Subscriptions
 	subscriptionURLs := make(map[string]bool)
 	for query, kind := range queries {