{"repo":"j0k3r/f43.me","free":true,"listed":false,"github":"https://github.com/j0k3r/f43.me","clone":"git clone https://github.com/j0k3r/f43.me.git","description":"A more readable & cleaner feed","language":"PHP","stars":70,"topics":["feed","extractor","php","rss","symfony","symfony-application","hacktoberfest"],"license":"MIT","category":"productivity","readme_excerpt":"f43.me What's that? I'm reading a lot of feeds in the subway. Mostly when I go to work and when I come back home. We are lucky in Paris because we have data network in the subway, but sometimes, network is saturated and you can't load the webpage of an item of your feed. You're stuck with only 3 lines from the feed... That's why I've built a kind of proxy for RSS feeds that I read the most, called f43.me . It's kind of a shortcut for \"Feed For Free\" (Feed = f, For = 4, Free = 3). Tada Anyway, it's simple: fetch items from a feed grab the content make it readable store it create a new feed with readable items Contents - Workflow - Improvers - Extractors - Parsers - Converters - How to use it - Requirements - Install - Without RabbitMQ - With RabbitMQ - Try it - License Workflow When it grabs a new item, there are several steps before we can say the item is readable. Let me introduce improvers , extractors , converters and parsers . All of them works in a chain, we'll go thru all of them until we find one that match. For curious people, this workflow happen in the Extractor- parseContent method. Improvers Most of social aggregator add great value to an url. For example, Reddit and HackerNews add a comments link and Reddit also provide a category, a little preview for video or image, etc... These things are important to keep while it's still necessary to fetch the content of the target url. This is where improver helps. An improver use 3 methods: match : tells if this improver w","default_branch":null,"files":null,"tree":[],"storefront":"/r/j0k3r","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/j0k3r/f43.me/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}