miniflux/v2

Unable to find any feed in https://www.marcusfolkesson.se/categories/blog/

Closed this issue · 2 comments

Steps to reproduce

  1. Go to the "New feed" page
  2. Paste https://www.marcusfolkesson.se/categories/blog/ as the URL
  3. Click "Find a feed"

Observed behavior

Got Unable to find any feed. message.

Expected behavior

miniflux finds https://www.marcusfolkesson.se/categories/blog/index.xml and uses it.

Extra comment

I found the feed manually by viewing the source of the page. As of writing this, /html/body/footer/div/div/div/ul/li[6]/a points to:

<a href="/categories/blog/index.xml" rel="alternate" type="application/rss+xml" title="Marcus Folkesson">
                           <span class="fa-stack fa-lg">
                               <i class="fas fa-circle fa-stack-2x"></i>
                               <i class="fas fa-rss fa-stack-1x fa-inverse"></i>
                           </span>
                       </a>

from which I was able to manually extract the feed URL.

Auto-discovery will work only if the link (<link> tag) is located in <head> section of the HTML page. The HTML code that you are referring to is just a normal HTML link on the page.

For reference: https://www.rssboard.org/rss-autodiscovery#element-link

To support autodiscovery, a link element must be added to the header, as shown in this HTML markup from The RSS Blog:

<html>
  <head>
    <title>The RSS Blog</title>
    <link rel="alternate" type="application/rss+xml" title="RSS"
      href="http://feeds.feedburner.com/TheRssBlog">
  </head>
  <body>
    <!-- the web page's contents -->
  </body>
</html>

Same thing for other feed formats like Atom: https://en.wikipedia.org/wiki/Atom_(web_standard)#Including_in_HTML

However, Miniflux should be able to discover the feeds by trying well-known URLs. Add a trailing slash to the URL and it should work: https://www.marcusfolkesson.se/categories/blog/

image

For reference:

func (f *SubscriptionFinder) FindSubscriptionsFromWellKnownURLs(websiteURL string) (Subscriptions, *locale.LocalizedErrorWrapper) {
knownURLs := map[string]string{
"atom.xml": parser.FormatAtom,
"feed.xml": parser.FormatAtom,
"feed/": parser.FormatAtom,
"rss.xml": parser.FormatRSS,
"rss/": parser.FormatRSS,
"index.rss": parser.FormatRSS,
"index.xml": parser.FormatRSS,
"feed.atom": parser.FormatAtom,
}

Auto-discovery will work only if the link (<link> tag) is located in <head> section of the HTML page. The HTML code that you are referring to is just a normal HTML link on the page.

Thanks for the context. I emailed the author of the blog to let him know.

However, Miniflux should be able to discover the feeds by trying well-known URLs. Add a trailing slash to the URL and it should work: https://www.marcusfolkesson.se/categories/blog/

I tried with a trailing slash but it didn't help. What helped was upgrading my instance to 2.2.0 🎉 Thanks!