felfele / feeds

A completely free and independent mobile RSS reader with no algorithmic timeline
https://felfele.org
GNU Affero General Public License v3.0
17 stars 1 forks source link

RSS Parser Library #68

Open devYonz opened 1 year ago

devYonz commented 1 year ago

Hey @agazso, you may have the best RN RSS parser that supports both Atom and RSS 1.0 and 2.0 specs. Would be great to see the RSSFeedHelper broken out to a an RN-rss-parser or something like that. I'm sure you had already looked at react-native-rss-parser or tried to rn-nodify rss-parser before resorting to building your own.

One huge feature would be to implement a light HTML parser for content values like Reddit. I am currently using RenderHtml from "react-native-render-html"; but it is doing too much.

Reddit content value for: https://www.reddit.com/top.rss?t=all <content type="html">&lt;table> &lt;tr>&lt;td> &lt;a href="https://www.reddit.com/r/pics/comments/haucpf/ive_found_a_few_funny_memories_during_lockdown/"> &lt;img src="https://preview.redd.it/f58v4g8mwh551.jpg?width=640&amp;amp;crop=smart&amp;amp;auto=webp&amp;amp;s=f1ac5ce4b8411b6ba000dc0c4c37cd2e926fe814" alt="I’ve found a few funny memories during lockdown. This is from my 1st tour in 89, backstage in Vegas." title="I’ve found a few funny memories during lockdown. This is from my 1st tour in 89, backstage in Vegas." /> &lt;/a> &lt;/td>&lt;td> &amp;#32; submitted by &amp;#32; &lt;a href="https://www.reddit.com/user/ReallyRickAstley"> /u/ReallyRickAstley &lt;/a> &amp;#32; to &amp;#32; &lt;a href="https://www.reddit.com/r/pics/"> r/pics &lt;/a> &lt;br/> &lt;span>&lt;a href="https://i.redd.it/f58v4g8mwh551.jpg">[link]&lt;/a>&lt;/span> &amp;#32; &lt;span>&lt;a href="https://www.reddit.com/r/pics/comments/haucpf/ive_found_a_few_funny_memories_during_lockdown/">[comments]&lt;/a>&lt;/span> &lt;/td>&lt;/tr>&lt;/table></content>

agazso commented 1 year ago

Hey, thanks for opening an issue. I think it is a great idea to extract the feed handling to a separate package. When I started working on this I indeed looked at the rss-parser package and based on that I created RSS support for my version. This was in 2017, so I didn't know rn-nodify and there were no react-native-rss-parser or other alternatives.

In the future I plan to work on a browser based feed reader and for that this would be also handy, however at the moment I have no capacity to work on this. If you feel like tackling the problem I am happy to help though, with discussing approaches or with reviews.

I would keep HTML parsing out of the scope of this, because that is a huge topic in itself that could warrant a separate library. For reddit content the Feeds app is using the JSON feed type that reddit provides, because it is better structured and in general easier to work with. For the details, see: https://github.com/felfele/feeds/blob/master/src/helpers/redditFeedHelpers.ts

Hope this helps.

devYonz commented 1 year ago

Thanks for the tip also played with your app for a bit, the views and cards are pretty clean. Good Job!

devYonz commented 2 months ago

Fair point, i've played with a few libs since then but nothing has worked well. Also run into the issue trying to render emails. What are you working on these days?

​-Yonz

On Nov 28 2022, at 7:58 AM, Attila Gazso @.***> wrote:

Hey, thanks for opening an issue. I think it is a great idea to extract the feed handling to a separate package. When I started working on this I indeed looked at the

rss-parser

package and based on that I created RSS support for my version. This was in 2017, so I didn't know

rn-nodify

and there were no

react-native-rss-parser

or other alternatives.

In the future I plan to work on a browser based feed reader and for that this would be also handy, however at the moment I have no capacity to work on this. If you feel like tackling the problem I am happy to help though, with discussing approaches or with reviews.

I would keep HTML parsing out of the scope of this, because that is a huge topic in itself that could warrant a separate library. For reddit content the Feeds app is using the JSON feed type that reddit provides, because it is better structured and in general easier to work with.

Hope this helps.

Reply to this email directly, view it on GitHub (https://github.com/felfele/feeds/issues/68#issuecomment-1329153164), or unsubscribe (https://github.com/notifications/unsubscribe-auth/ACB372DU6WCBQMGYREXWEQDWKS273ANCNFSM6AAAAAASDTWUYA).

You are receiving this because you authored the thread.

agazso commented 2 months ago

Fair point, i've played with a few libs since then but nothing has worked well. Also run into the issue trying to render emails. What are you working on these days? ​ ​-Yonz ​

Currently I am working on a self-hosted web app instead of the mobile app. You can see a preview here for news: https://feeds.felfele.org/news Or a channel with youtube feeds: https://feeds.felfele.org/music

Eventually I would like to separate the library, but at the moment I have little time for this. I am looking at grants to get funding for this work.

devYonz commented 2 months ago

What are you doing for a paycheck? I'm working on https://vella.ai if you have some cycles to take on a project.

​-Yonz

On Apr 22 2024, at 2:43 AM, Attila Gazso @.***> wrote:

Fair point, i've played with a few libs since then but nothing has worked well. Also run into the issue trying to render emails. What are you working on these days? ​ ​-Yonz ​

Currently I am working on a self-hosted web app instead of the mobile app. You can see a preview here for news:

https://feeds.felfele.org/news

Or a channel with youtube feeds: https://feeds.felfele.org/music

Eventually I would like to separate the library, but at the moment I have little time for this. I am looking at grants to get funding for this work.

Reply to this email directly, view it on GitHub (https://github.com/felfele/feeds/issues/68#issuecomment-2068951859), or unsubscribe (https://github.com/notifications/unsubscribe-auth/ACB372G55BCKQVLOTVJFKGTY6TLVTAVCNFSM6AAAAAASDTWUYCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRYHE2TCOBVHE).

You are receiving this because you authored the thread.