The rss component
Produces a data flow in the RSS format. Can be used to generate a podcast feed. To use this component, you must first return an HTTP header with the "application/rss+xml" content type (see http_header component). Next, you must use the shell-empty component to avoid that SQLPage generates HTML code.
Introduced in SQLPage v0.20.0.
Top-level parameters
name | required | type | description |
---|---|---|---|
description | REQUIRED | TEXT |
Describes the channel. |
link | REQUIRED | URL |
Defines the hyperlink to the channel. |
title | REQUIRED | TEXT |
Defines the title of the channel. |
author | TEXT |
Defines the group, person, or people responsible for creating the channel. | |
category | TEXT |
Defines the category of the channel. The value should be a string representing the category (e.g., "News", "Technology", etc.). | |
complete | BOOLEAN |
Specifies that a channel is complete and will not post any more items in the future. | |
copyright | TEXT |
Provides the copyright details for the channel. | |
explicit | BOOLEAN |
Indicates whether the channel contains explicit content. The value can be either TRUE or FALSE. | |
funding_url | URL |
Specifies the donation/funding links for the channel. The content of the tag is the recommended string to be used with the link. | |
guid | TEXT |
The globally unique identifier (GUID) for a channel. The value is a UUIDv5. | |
image_url | URL |
Provides a URL linking to the artwork for the channel. | |
language | TEXT |
Defines the language of the channel, specified in the ISO 639 format. For example, "en" for English, "fr" for French. | |
locked | BOOLEAN |
Tells podcast hosting platforms whether they are allowed to import this feed. | |
self_link | URL |
URL of the RSS feed. | |
type | TEXT |
Specifies the channel as either episodic or serial. The value can be either "episodic" or "serial". |
Row-level parameters
name | required | type | description |
---|---|---|---|
description | REQUIRED | TEXT |
Describes the item |
link | REQUIRED | URL |
Defines the hyperlink to the item (blog post URL, etc.). |
title | REQUIRED | TEXT |
Defines the title of the feed item (episode name, blog post title, etc.). |
block | BOOLEAN |
Prevents a specific item from appearing in podcast listening applications. | |
date | TEXT |
Indicates when the item was published (RFC-822 date-time). | |
duration | INTEGER |
The duration of an item in seconds. | |
enclosure_length | INTEGER |
The length in bytes of the audio/video episode content. | |
enclosure_type | TEXT |
The MIME media type of the audio/video episode content (e.g., "audio/mpeg", "audio/m4a", "video/m4v", "video/mp4"). | |
enclosure_url | URL |
For podcast episodes, provides a URL linking to the audio/video episode content, in mp3, m4a, m4v, or mp4 format. | |
episode | INTEGER |
The chronological number that is associated with an item. | |
episode_type | TEXT |
Defines the type of content for a specific item. The value can be either "full", "trailer", or "bonus". | |
explicit | BOOLEAN |
Indicates whether the item contains explicit content. The value can be either TRUE or FALSE. | |
guid | TEXT |
The globally unique identifier (GUID) for an item. | |
image_url | URL |
Provides a URL linking to the artwork for the item. | |
season | INTEGER |
The chronological number associated with an item's season. | |
transcript_type | TEXT |
The type of the transcript or closed captions file for the item (e.g., "text/plain", "text/html", "text/vtt", "application/json", "application/x-subrip"). | |
transcript_url | URL |
A link to a transcript or closed captions file for the item. |
Examples
An RSS channel about SQLPage latest news.
select 'http_header' as component, 'application/rss+xml' as content_type;
select 'shell-empty' as component;
select
'rss' as component,
'SQLPage blog' as title,
'https://sql-page.com/blog.sql' as link,
'latest news about SQLpage' as description,
'en' as language,
'Technology' as category,
FALSE as explicit,
'https://sql-page.com/favicon.ico' as image_url,
'Ophir Lojkine' as author,
'https://github.com/sponsors/lovasoa' as funding_url,
'episodic' as type;
select
'Hello everyone !' as title,
'https://sql-page.com/blog.sql?post=Come%20see%20me%20build%20twitter%20live%20on%20stage%20in%20Prague' as link,
'If some of you european SQLPagers are around Prague this december, I will be giving a talk about SQLPage at pgconf.eu on December 14th.' as description,
'http://127.0.0.1:8080/sqlpage_introduction_video.webm' as enclosure_url,
123456789 as enclosure_length,
'video/webm' as enclosure_type,
'2023-12-04' as date;
Once you have your rss feed ready, you can submit it to podcast directories like Apple Podcasts, Spotify, Google Podcasts...