diff options
author | Frédéric Guillot <fred@miniflux.net> | 2017-12-13 20:16:15 -0800 |
---|---|---|
committer | Frédéric Guillot <fred@miniflux.net> | 2017-12-13 20:16:15 -0800 |
commit | 827683ab59131ec38ed7cfa268bcaa6dc77d1412 (patch) | |
tree | 8461fa67142378b050fde4ee39d393e18ab71aaf /reader/atom/atom.go | |
parent | 84d912c9794eaaef0f06638d9d23716f4e02b42f (diff) |
Make sure that item URL are absolute
Diffstat (limited to 'reader/atom/atom.go')
-rw-r--r-- | reader/atom/atom.go | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/reader/atom/atom.go b/reader/atom/atom.go index f72a150..315961e 100644 --- a/reader/atom/atom.go +++ b/reader/atom/atom.go @@ -14,6 +14,7 @@ import ( "github.com/miniflux/miniflux/helper" "github.com/miniflux/miniflux/model" "github.com/miniflux/miniflux/reader/date" + "github.com/miniflux/miniflux/url" ) type atomFeed struct { @@ -70,10 +71,19 @@ func (a *atomFeed) Transform() *model.Feed { for _, entry := range a.Entries { item := entry.Transform() + entryURL, err := url.AbsoluteURL(feed.SiteURL, item.URL) + if err == nil { + item.URL = entryURL + } + if item.Author == "" { item.Author = getAuthor(a.Author) } + if item.Title == "" { + item.Title = item.URL + } + feed.Entries = append(feed.Entries, item) } @@ -89,11 +99,6 @@ func (a *atomEntry) Transform() *model.Entry { entry.Content = getContent(a) entry.Title = strings.TrimSpace(a.Title) entry.Enclosures = getEnclosures(a) - - if entry.Title == "" { - entry.Title = entry.URL - } - return entry } |