SQLPage v0.20.4 documentation
If you are completely new to SQLPage, you should start by reading the get started tutorial, which will guide you through the process of creating your first SQLPage application.
Building an application with SQLPage is quite simple. To create a new web page, just create a new SQL file. For each SELECT statement that you write, the data it returns will be analyzed and rendered to the user. The two most important concepts in SQLPage are components and parameters.
- components are small user interface elements that you can use to display your data in a certain way.
- top-level parameters are the properties of these components, allowing you to customize their appearance and behavior.
- row-level parameters constitute the data that you want to display in the components.
To select a component and set its top-level properties, you write the following SQL statement:
SELECT 'component_name' AS component, 'my value' AS top_level_parameter_1;
Then, you can set its row-level parameters by writing a second SELECT statement:
SELECT my_column_1 AS row_level_parameter_1, my_column_2 AS row_level_parameter_2 FROM my_table;
This page documents all the components provided by default in SQLPage and their parameters. Use this as a reference when building your SQL application. If at any point you need help, you can ask for it on the SQLPage forum.
If you know some HTML, you can also easily create your own components for your application.
components
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
description
link
title
author
category
complete
copyright
explicit
funding_url
guid
image_url
language
locked
self_link
type
Row-level parameters
description
link
title
block
date
duration
enclosure_length
enclosure_type
enclosure_url
episode
episode_type
explicit
guid
image_url
season
transcript_type
transcript_url
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.ophir.dev/blog.sql' as link,
'latest news about SQLpage' as description,
'en' as language,
'Technology' as category,
FALSE as explicit,
'https://sql.ophir.dev/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.ophir.dev/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...