getgrav / grav-plugin-feed

Grav Feed Plugin
https://getgrav.org
MIT License
16 stars 11 forks source link

[Proof of concept] Generate a podcast feed #29

Closed flaviocopes closed 7 years ago

flaviocopes commented 7 years ago

Example podcast feed generation using a blog structure.

user/pages/blog/blog.md

---
title: Blog
content:
    items: '@self.children'
    limit: 5
    order:
        by: date
        dir: desc
    pagination: true
    url_taxonomy_filters: true

feed:
    podcast: true

podcast:
    title: Verbose title of the podcast
    link: https://www.podcast.com
    language: en-us
    copyright: ©2013
    webMaster: your@email.com (Your Name)
    managingEditor: your@email.com (Your Name)
    pubDate: Sun, 01 Jan 2012 00:00:00 EST
    lastBuildDate: Thu, 02 Feb 2012 00:00:00 EST
    image:
        url: http://www.YourSite.com/ImageSize300X300.jpg
        title: Title or description of your logo
    itunes:
        owner:
            name: Your name
            email: your@email.com
        category: Education
        subcategory: Higher Education
        keywords: separate, by, comma, and, space
        explicit: no
        subtitle: Short description of the podcast - 255 character max.
        summary: Duplicate of above verbose description.
        description: Verbose description of the podcast.
        author: College, school, or department owning the podcast
    atom:
        link: http://www.YourSite.com/feed.xml
---

The feed is generated from the collection, so you have control on how many items you want to list. You're not limited to using a blog structure, this is just an example. The property

feed:
    podcast: true

is crucial to avoid generating the normal RSS feed.

Call yoursite.com/blog.rss to get the feed.

Each page under this collection will have episode information in the page header. If a blog post does not have the podcast attribute, it's not included (so you can have other posts as well)

---
podcast:
    title: Episode 1
    description: "Description"
    summary: "Summary!"
    subtitle: "something"
    enclosure: https://mysite.com/myfile.mp3    #audio file link
    guid: 1                                     #unique identifier for episode
    duration: "0:43:23"                         #format: "H:MM:SS"
    pubDate:                                    #optional, if not set uses post date. Or use "Thu, 02 Feb 2012 00:00:00 EST"
---

Hello World
jgonyea commented 7 years ago

If this helps anyone: http://itunespartner.apple.com/en/podcasts/faq

I am planning on making a plugin very soon to assist with setting this all up via the admin gui.

Thank you much for the jump start, @flaviocopes

flaviocopes commented 7 years ago

Yes, maybe it's better spinning off this PR to a separate plugin, there's lots of things you can add to make it better and simpler for podcasters, including mp3 file uploads in the blueprint etc.

I'll leave this open, but if you start work on a separate plugin, I'll then close this.

jgonyea commented 7 years ago

Yes, I'll start on a podcast plugin.

jgonyea commented 7 years ago

Podcast plugin is submitted to grav issue queue. Let me know if you need anything else.

jgonyea commented 7 years ago

I think this PR can be closed. Podcast plugin is available via gpm.