{"id":18310321,"url":"https://github.com/torann/podcastfeed","last_synced_at":"2025-04-05T18:31:39.554Z","repository":{"id":27505735,"uuid":"30986189","full_name":"Torann/podcastfeed","owner":"Torann","description":"Podcast Generator for Laravel","archived":false,"fork":false,"pushed_at":"2018-05-29T20:38:08.000Z","size":16,"stargazers_count":48,"open_issues_count":7,"forks_count":26,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-21T08:34:52.722Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Torann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-18T20:49:15.000Z","updated_at":"2024-08-20T05:21:54.000Z","dependencies_parsed_at":"2022-09-01T00:10:36.877Z","dependency_job_id":null,"html_url":"https://github.com/Torann/podcastfeed","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Torann%2Fpodcastfeed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Torann%2Fpodcastfeed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Torann%2Fpodcastfeed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Torann%2Fpodcastfeed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Torann","download_url":"https://codeload.github.com/Torann/podcastfeed/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247383834,"owners_count":20930357,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T16:14:06.489Z","updated_at":"2025-04-05T18:31:39.204Z","avatar_url":"https://github.com/Torann.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Podcast Generator for Laravel\n\nGenerate a RSS feed for podcast for Laravel 5.\n\n## Installation\n\n- [Podcast on Packagist](https://packagist.org/packages/torann/podcastfeed)\n- [Podcast on GitHub](https://github.com/torann/podcastfeed)\n\n\nFrom the command line run\n\n```\n$ composer require torann/podcastfeed\n```\n\n### Setup\n\nOnce installed you need to register the service provider with the application. Open up `config/app.php` and find the `providers` key.\n\n```php\n'providers' =\u003e [\n    ...\n\n    Torann\\PodcastFeed\\PodcastFeedServiceProvider::class,\n\n    ...\n]\n```\n\nThis package also comes with a facade, which provides an easy way to call the the class. Open up `config/app.php` and find the `aliases` key\n\n```php\n'aliases' =\u003e [\n    ...\n\n    'PodcastFeed' =\u003e Torann\\PodcastFeed\\Facades\\PodcastFeed::class,\n\n    ...\n];\n```\n\n### Publish the configurations\n\nRun this on the command line from the root of your project:\n\n```\n$ php artisan vendor:publish --provider=\"Torann\\PodcastFeed\\PodcastFeedServiceProvider\"\n```\n\nA configuration file will be publish to `config/podcast-feed.php`.\n\n## Methods\n\n**setHeader**\nThe header of the feed can be set in the config file or manually using the `setHeader` method:\n\n```php\nPodcastFeed::setHeader([\n    'title'       =\u003e 'All About Everything',\n    'subtitle'    =\u003e 'A show about everything',\n    'description' =\u003e 'Great site description',\n    'link'        =\u003e 'http://www.example.com/podcasts/everything/index.html',\n    'image'       =\u003e 'http://example.com/podcasts/everything/AllAboutEverything.jpg',\n    'author'      =\u003e 'John Doe',\n    'email'       =\u003e 'john.doe@example.com',\n    'category'    =\u003e 'Technology',\n    'language'    =\u003e 'en-us',\n    'copyright'   =\u003e '2016 John Doe \u0026 Family',\n]);\n```\n\n**addMedia**\nAdding media to the feed.\n\n```php\nforeach($this-\u003epodcastRepository-\u003egetPublished() as $podcast)\n{\n    PodcastFeed::addMedia([\n        'title'       =\u003e $podcast-\u003etitle,\n        'description' =\u003e $podcast-\u003etitle,\n        'publish_at'  =\u003e $podcast-\u003epublish_at,\n        'guid'        =\u003e route('podcast.show', $podcast-\u003eslug),\n        'url'         =\u003e $podcast-\u003emedia-\u003eurl(),\n        'type'        =\u003e $podcast-\u003emedia_content_type,\n        'duration'    =\u003e $podcast-\u003eduration,\n        'image'       =\u003e $podcast-\u003eimage-\u003eurl(),\n    ]);\n}\n```\n\n**toString**\nConverting feed to a presentable string. The example below was pulled from a controller. In theory you could implement a caching method so that it doesn't have to render each time.\n\n```php\npublic function index()\n{\n    foreach($this-\u003epodcastRepository-\u003egetPublished() as $podcast) {\n        PodcastFeed::addMedia([\n            'title'       =\u003e $podcast-\u003etitle,\n            'description' =\u003e $podcast-\u003etitle,\n            'publish_at'  =\u003e $podcast-\u003epublish_at,\n            'guid'        =\u003e route('podcast.show', $podcast-\u003eslug),\n            'url'         =\u003e $podcast-\u003emedia-\u003eurl(),\n            'type'        =\u003e $podcast-\u003emedia_content_type,\n            'duration'    =\u003e $podcast-\u003eduration,\n            'image'       =\u003e $podcast-\u003eimage-\u003eurl(),\n        ]);\n    }\n\n    return Response::make(PodcastFeed::toString())\n        -\u003eheader('Content-Type', 'text/xml');\n}\n```\n\n## Change Log\n\n#### v0.2.1\n\n- Fixes foreign characters like 'æ', 'ø' and 'å'\n\n#### v0.2.0\n\n- Support Laravel 5\n\n\n#### v0.1.0\n\n- First release","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftorann%2Fpodcastfeed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftorann%2Fpodcastfeed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftorann%2Fpodcastfeed/lists"}