A simple RSS feed reader for Laravel 5

Overview

Laravel 5 - Feed Reader

A simple RSS feed reader for Laravel 5

Features

  • One command to read any RSS feed
  • Different RSS feed profiles enabled

Quick Start

In the require key of composer.json file add the following:

"awjudd/feed-reader": "1.3.*"

Run the Composer update command

$ composer update

In your config/app.php add 'Awjudd\FeedReader\FeedReaderServiceProvider' to the end of the $providers array

'providers' => array(
    Illuminate\Auth\AuthServiceProvider::class,
    Illuminate\Broadcasting\BroadcastServiceProvider::class,
    ...
    Awjudd\FeedReader\FeedReaderServiceProvider::class,

),

'aliases' => array(
    'App' => Illuminate\Support\Facades\App::class,
    'Artisan' => Illuminate\Support\Facades\Artisan::class,
    ...
    'FeedReader' => Awjudd\FeedReader\Facade::class,
),

Setup

Publishing the Configuration

After installing through composer, you should publish the config file. To do this, run the following command:

$ php artisan vendor:publish

Configuration Values

Once published, the configuration file contains an array of profiles. These will define how the RSS feed reader will react. By default the "default" profile will used. For more information on: here.

How to use

Once you have all of the configuration settings set up, in order to read a RSS feed all you need to do is call the read function:

FeedReader::read('http://www.example.com/rss');

This function accepts 2 parameters however, the second parameter is optional. The second parameter is the configuration profile that should be used when reading the RSS feed.

This will return to you the SimplePie object with the RSS feed in it.

License

Feed Reader is free software distributed under the terms of the MIT license

Additional Information

Any issues, please report here

Comments
  • Required SimplePie version

    Required SimplePie version

    The purpose of this pull req is fix the requirement of "dev-master" version of SimplePie package. Currently that branch doesn't exist any more. I replaced the version to a more convenient "1.x".

    This is my first pull req, please let me know if I'm doing something wrong.

    opened by tonioriol 4
  • cannot install feed reader

    cannot install feed reader

    After adding this to the require part of composer.json

    awjudd/feed-reader": "1.3.*"
    

    to my existing site and after running

    composer update
    

    I get this error:

    Your requirements could not be resolved to an installable set of packages. Problem 1 - Installation request for awjudd/feed-reader 1.3.* -> satisfiable by awjudd/feed-reader[1.3.0]. - awjudd/feed-reader 1.3.0 requires simplepie/simplepie dev-master -> satisfiable by simplepie/simplepie[dev-master] but these conflict with your requirements or minimum-stability.

    What do I have to do in order to install the feed reader to my existing project?

    opened by xermus 3
  • Server IP gets banned when trying to read feeds.

    Server IP gets banned when trying to read feeds.

    Somehow this script makes remote servers ban my server IP with modsecurity.

    What I'm trying to do:

    $feed = FeedReader::read($url);
    

    First request

    cURL error 22: The requested URL returned error: 400 Bad Request

    Following requests

    cURL error 28: Connection timed out after 10001 milliseconds

    And then I can't access the ip at all after trying to parse a feed on that server. I don't know if this problem is for all servers using modsecurity or if it's related to SiteGrounds configurations.

    opened by kjellberg 3
  • composer.json issue simplepie/simplepie dev-master

    composer.json issue simplepie/simplepie dev-master

    Hi there Trying to use your package here and getting this error

    • awjudd/feed-reader 1.2.0 requires simplepie/simplepie dev-master -> no matching package found.

    when doing this

    vagrant@homestead:~/1web/1personal_projects/downloaderProject$ composer require awjudd/feed-reader Using version ^1.2 for awjudd/feed-reader ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Your requirements could not be resolved to an installable set of packages.

    Problem 1 - Installation request for awjudd/feed-reader ^1.2 -> satisfiable by awjudd/feed-reader[1.2.0]. - awjudd/feed-reader 1.2.0 requires simplepie/simplepie dev-master -> no matching package found.

    Potential causes:

    • A typo in the package name
    • The package is not available in a stable-enough version according to your minimum-stability setting see https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion for more details.

    Read https://getcomposer.org/doc/articles/troubleshooting.md for further common problems.

    Installation failed, reverting ./composer.json to its original content. vagrant@homestead:~/1web/1personal_projects/downloaderProject$

    My suggesteion is to

    change "simplepie/simplepie": "dev-master" -> "simplepie/simplepie": "1.3.1" and it should fix this issue.

    Regards

    duplicate wontfix 
    opened by getafixx 3
  • Alias FeedReader should be key for 'Awjudd\FeedReader\Facades\FeedReader'

    Alias FeedReader should be key for 'Awjudd\FeedReader\Facades\FeedReader'

    The alias entry should be like this 'aliases' => array(

    'App'             => 'Illuminate\Support\Facades\App',
    'Artisan'         => 'Illuminate\Support\Facades\Artisan',
    ...
    'FeedReader'      => 'Awjudd\FeedReader\Facades\FeedReader',
    

    ),

    opened by yunishawash 2
  • Caching doesn't work?

    Caching doesn't work?

    I have caching enabled in the config, but it saves a new one everytime I call FeedReader::read() (so on every page load). I'm guessing the point caching is to not download the feed unless the cache is more 1hr old.

    'force-feed' option is also false.

    Am I doing something wrong?

    opened by Ricaz 2
  • Publishing config file not working in Laravel 5.1

    Publishing config file not working in Laravel 5.1

    When running php artisan vendor:publish the config file doesn't get published and therefor isn't create in the config folder.

    In registerConfiguration in the FeedReaderServiceProvider file, for Laravel 5.1 there should be something like:

    $this->publishes([
        $configPath = __DIR__ . '/../../config/config.php' => config_path('feed-reader.php'),
    ]);
    

    This will create the config file.

    opened by vdhicts 1
  • composer issue

    composer issue

    Trying to install 1.2.* on L5, but get composer error:

      Problem 1
        - Installation request for awjudd/feed-reader 1.2.* -> satisfiable by awjudd/feed-reader[1.2.0].
        - awjudd/feed-reader 1.2.0 requires simplepie/simplepie dev-master -> no matching package found.
    

    Is it only me or..? thx

    opened by subdesign 1
  • Package ignores published configuration

    Package ignores published configuration

    I am trying to to disable cache, but it seems like the package is loading the default configuration file instead of the published configuration file. It insists on caching the request but if I change the value in the default file it stops caching.

    bug 
    opened by carnevalle 1
  • Fix return type's namespace

    Fix return type's namespace

    This fixes a small problem when I use with "barryvdh/laravel-ide-helper".

    php artisan ide-helper:generate
    

    Before:

    class FeedReader extends \Awjudd\FeedReader\Facades\FeedReader{
    
            /**
             * Used to parse an RSS feed.
             *
             * @return \Awjudd\FeedReader\SimplePie 
             * @static 
             */
            public static function read($url, $configuration = 'default'){
                return \Awjudd\FeedReader\FeedReader::read($url, $configuration);
            }
    
    }
    

    After:

    class FeedReader extends \Awjudd\FeedReader\Facades\FeedReader{
    
            /**
             * Used to parse an RSS feed.
             *
             * @return \SimplePie 
             * @static 
             */
            public static function read($url, $configuration = 'default'){
                return \Awjudd\FeedReader\FeedReader::read($url, $configuration);
            }
    
    }
    
    opened by konomae 0
  • Add limit to RSS result

    Add limit to RSS result

    Hi, I want to limit the RSS result to be only 3 feeds to follow my web template. I already set on vendor/awjudd/feed-reader/src/FeedReader.php as $sp->set_item_limit(3); following http://simplepie.org/wiki/reference/simplepie/set_item_limit?s[]=limit Can you suggest better way to do this? Thanks.

    opened by fitra90 0
  • Laravel 5.3 Package Shift

    Laravel 5.3 Package Shift

    This pull request includes the changes for upgrading your Laravel Package to Laravel 5.3. Feel free to commit any additional changes to the laravel-package-5.3-shift branch.

    Before merging, you should:

    • Checkout the laravel-package-5.3-shift branch
    • Review all pull request comments for additional changes
    • Run composer update (if the pre-commands fail, add --no-scripts)
    • Thoroughly test your code

    This Shift is still in beta. If there were changes you feel could have been automated, please leave a comment on this pull request to help improve Laravel Shift.

    opened by awjudd 0
Releases(1.3.2)
  • 1.3.2(Dec 13, 2016)

  • 1.3.1(Jun 18, 2016)

    Updates

    • No longer depends on a dev-master repository, so you can up your minimum stability back to where it should be.
    • Configuration has been changed slightly (and renamed) so you will need to re-publish
    • Facade name has been changed from Awjudd\FeedReader\Facades\FeedReaderFacade to Awjudd\FeedReader\Facade
    Source code(tar.gz)
    Source code(zip)
  • 1.3.0(Jun 17, 2016)

    Updates

    • Removed the requirement on the "dev-master" branch of SimplePie
    • Minor refactoring to get it to work well with Laravel 5.2 (new configuration file)
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0(Mar 23, 2015)

  • 1.1.0.1(Aug 3, 2014)

  • 1.1.0(May 11, 2014)

  • v1.0.0(Mar 18, 2014)

Owner
Andrew Judd
Andrew Judd
Simple-podcast-generator - 👉 A very simple way to host your podcast files and generate the RSS Podcast feed 🎙

Podcast RSS Feed Generator A very simple way to host your podcast files and generate the RSS Podcast feed ?? ?? Contents Summary Requirements Installa

♚ PH⑦ de Soria™♛ 11 Dec 2, 2022
RSS-Bridge is a PHP project capable of generating RSS and Atom feeds for websites that don't have one

RSS-Bridge is a PHP project capable of generating RSS and Atom feeds for websites that don't have one. It can be used on webservers or as a stand-alone application in CLI mode.

RSS Bridge Community 5.5k Dec 30, 2022
An RSS reader application built with Laravel

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Ryan Chandler 4 Mar 24, 2022
A feed parser to normalise typical feed data into Atom-like constructs.

PHP5 Feed parser and normaliser A feed parser to normalise typical feed data into Atom-like constructs. This parser supports / will support: RSS 2.0 p

Chr1s HuntΞr 4 Sep 2, 2022
Simple and Lightweight PHP Class & Methods Annotations Reader

README Simple and Lightweight PHP Class & Methods Annotations Reader Forked from eriknyk/Annotations 项目地址 github https://github.com/phppkg/annotations

PHPPkg 3 Nov 25, 2021
A Blogging Platform with a built-in Feed Aggregator. Built with AngularJS and Laravel.

ReMark ReMark is an open source publishing platform built with the informed content creator in mind. It works as: A blogging platform A feed aggregato

Ren 4 Nov 1, 2019
Laravelium Feed package for Laravel.

Laravelium Feed package Laravelium Feed package for Laravel. Notes Dev branches are for development and are UNSTABLE (use on your own risk)! Installat

Laravelium 362 Nov 27, 2022
A PHP library to read and write feeds in JSONFeed, RSS or Atom format

feed-io feed-io is a PHP library built to consume and serve news feeds. It features: JSONFeed / Atom / RSS read and write support Feeds auto-discovery

null 236 Dec 22, 2022
Add instagram feed to page from JSON Data

Custom Instagram Feed Add instagram feed to page from URL ?? Edit - As of 13th April 2021 - This code does not work. Solution is being looked into, ho

tdrayson 21 Aug 29, 2022
API for Laracasts Feed built with Lumen.

Lissandra Discontinued API for Laracasts Feed built with Lumen. Lissandra fetches the Laracasts XML RSS feed and converts it to JSON format. By doing

Laravelista 15 Oct 6, 2018
A simple wrapper for PHP Intervention Library to provide a more simple interface and convenient way to convert images to webp

This package is a simple wrapper for PHP Intervention Library to provide a more simple interface and convenient way to convert images to webp - next generation format - extension, and resize them to render only needed sizes.

eyad hamza 18 Jun 28, 2022
Simple-cache - PHP FIG Simple Cache PSR

PHP FIG Simple Cache PSR This repository holds all interfaces related to PSR-16. Note that this is not a cache implementation of its own. It is merely

PHP-FIG 8k Jan 3, 2023
A simple helpdesk tickets system for Laravel 5.1+ which integrates smoothly with Laravel default users and auth system

A simple helpdesk tickets system for Laravel 5.1+ which integrates smoothly with Laravel default users and auth system, demo is available at: http://ticketit.kordy.info/tickets

Ahmed Kordy 857 Dec 30, 2022
Laravel Angular Time Tracker is a simple time tracking application built on Laravel 5.2, Angular 2, and Bootstrap 3.

Laravel 5.2, Angular 2, and Bootstrap 3.3.* Time Tracker Laravel Angular Time Tracker is a simple time tracking application built on Laravel 5.2, Angu

Jeremy Kenedy 25 Oct 11, 2022
Koel is a simple web-based personal audio streaming service written in Vue and Laravel

Koel (also stylized as koel, with a lowercase k) is a simple web-based personal audio streaming service written in Vue on the client side and Laravel on the server side. Targeting web developers, Koel embraces some of the more modern web technologies – CSS grid, audio, and drag-and-drop API to name a few – to do its job.

Koel 14.3k Jan 4, 2023
mTube is a simple video sharing platform built with Laravel.

mTube is a simple video sharing platform built with Laravel. Create personal channel share videos online with friends and family.

Nyi Nyi Lwin 115 Dec 28, 2022
A simple blog project I built when learning Laravel 8

Harmonify Blog Disclaimer: All users data previewed on the image are fake data generated with FakerPHP. Introduction Harmonify Blog is a simple blog p

Wendy Surya Wijaya 3 Dec 9, 2021
A simple and useful blog coded with laravel & php.

Blog with Setup Directions npm install composer install Set database infos in the .env php artisan migrate:fresh --seed php artisan serve npm run hot

Mustafa Tofur 1 Oct 11, 2022
A simple, proof-of-concept Laravel blog application powered by a MongoDB ORM.

Mongoblog A simple, proof-of-concept Laravel blog application powered by a MongoDB ORM. Separated API and front-end This is a RESTful application, who

Jayps 4 Nov 8, 2022