Template:Firehose: Difference between revisions
Embeddable firehose: an #ask over Category:Podcast episodes, filterable by show or guest (via create-page on MediaWiki MCP Server) |
Ask for Has image url so rows can show episode artwork (pickipedia #117) (via update-page on MediaWiki MCP Server) |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 3: | Line 3: | ||
Embeds a live list of podcast episodes. A firehose is just a query, so the same | Embeds a live list of podcast episodes. A firehose is just a query, so the same | ||
template gives you the whole scene on the front page, one show's back catalogue | template gives you the whole scene on the front page, one show's back catalogue | ||
on its own page, or every | on its own page, or every episode about a person, band or place on theirs. | ||
=== Usage === | === Usage === | ||
| Line 10: | Line 10: | ||
{{Firehose|limit=20}} more of them | {{Firehose|limit=20}} more of them | ||
{{Firehose|show=Toy Heart with Tom Power}} one show | {{Firehose|show=Toy Heart with Tom Power}} one show | ||
{{Firehose| | {{Firehose|topic=Bronwyn Keith-Hynes}} everything about one subject | ||
{{Firehose| | {{Firehose|topic={{PAGENAME}}}} the same, on that subject's own page | ||
{{Firehose|since=2026-01-01}} only episodes from this year | |||
{{Firehose|show=Grass Talk Radio|limit=5}} combine them | {{Firehose|show=Grass Talk Radio|limit=5}} combine them | ||
</pre> | </pre> | ||
| Line 18: | Line 19: | ||
* '''limit''' - how many episodes to show. Defaults to 10. | * '''limit''' - how many episodes to show. Defaults to 10. | ||
* '''show''' - restrict to one podcast. Must match the podcast's page title. | * '''show''' - restrict to one podcast. Must match the podcast's page title. | ||
* ''' | * '''topic''' - restrict to episodes about one subject: a person, a band, a festival, a tune. Must match that subject's page title. | ||
* '''guest''' - accepted as an alias for '''topic'''. | |||
* '''since''' - only episodes aired on or after this date (YYYY-MM-DD). | |||
* '''heading''' - optional heading rendered above the list. | * '''heading''' - optional heading rendered above the list. | ||
* '''order''' - '''desc''' (newest first, the default) or '''asc''', which is what you want for a show's back catalogue read in order. | |||
=== Notes === | === Notes === | ||
| Line 27: | Line 31: | ||
its episode titles parse. | its episode titles parse. | ||
Rows are drawn by [[Template:Firehose | Topics are recorded with [[Property:Has topic|Has topic]], which is deliberately | ||
general — an episode title gives up proper nouns without saying what kind of | |||
thing each one is, or whether the named party was in the room or merely | |||
discussed. One property, many entities per episode, and every entity gets the | |||
episode back on its own page. | |||
The duration is asked for as <code>?Has duration#-</code> rather than | |||
<code>?Has duration</code>. Without the <code>#-</code>, Semantic MediaWiki | |||
formats the number for reading and a running time of 3355 seconds arrives as | |||
"3,355" — which the row template then tries to divide by sixty, and | |||
<code>#expr</code> rejects the comma. | |||
Rows are drawn by [[Template:Firehose row]]. The query runs with | |||
<code>link=none</code> so that the row template receives plain values it can | |||
relabel and link itself; see that template for why. | |||
For anything this template does not cover, write the <code>#ask</code> yourself — | |||
it is an ordinary semantic query over <code>Has podcast</code>, | |||
<code>Has topic</code> and <code>Has air date</code>, and a firehose of your own | |||
design is a legitimate thing to build. | |||
[[Category:Templates]] | [[Category:Templates]] | ||
| Line 33: | Line 56: | ||
[[Category:Podcast episodes]] | [[Category:Podcast episodes]] | ||
{{#if:{{{show|}}}|[[Has podcast::{{{show}}}]]|}} | {{#if:{{{show|}}}|[[Has podcast::{{{show}}}]]|}} | ||
{{#if:{{{guest|}}}|[[Has guest::{{{ | {{#if:{{{topic|{{{guest|}}}}}}|[[Has topic::{{{topic|{{{guest}}}}}}]]|}} | ||
{{#if:{{{since|}}}|[[Has air date::>{{{since}}}]]|}} | |||
|?Has podcast= | |?Has podcast= | ||
|?Has | |?Has topic= | ||
|?Has air date#LOCL= | |?Has air date#LOCL= | ||
|?Has episode url= | |?Has episode url= | ||
|?Has duration#-= | |||
|?Has audio url= | |||
|?Has image url= | |||
|sort=Has air date | |sort=Has air date | ||
|order=desc | |order={{{order|desc}}} | ||
|limit={{{limit|10}}} | |limit={{{limit|10}}} | ||
|format=template | |format=template | ||
|template=Firehose | |template=Firehose row | ||
|link=none | |||
|searchlabel= | |searchlabel= | ||
|default=<div style="padding:.6em .2em; color:#6b7566; font-size:.9em;">No episodes recorded yet.</div> | |default=<div style="padding:.6em .2em; color:#6b7566; font-size:.9em;">No episodes recorded yet.</div> | ||
}}</includeonly> | }}</includeonly> | ||
Latest revision as of 00:04, 15 September 2026
Firehose
Embeds a live list of podcast episodes. A firehose is just a query, so the same template gives you the whole scene on the front page, one show's back catalogue on its own page, or every episode about a person, band or place on theirs.
Usage
{{Firehose}} the most recent episodes across every show
{{Firehose|limit=20}} more of them
{{Firehose|show=Toy Heart with Tom Power}} one show
{{Firehose|topic=Bronwyn Keith-Hynes}} everything about one subject
{{Firehose|topic={{PAGENAME}}}} the same, on that subject's own page
{{Firehose|since=2026-01-01}} only episodes from this year
{{Firehose|show=Grass Talk Radio|limit=5}} combine them
Parameters
- limit - how many episodes to show. Defaults to 10.
- show - restrict to one podcast. Must match the podcast's page title.
- topic - restrict to episodes about one subject: a person, a band, a festival, a tune. Must match that subject's page title.
- guest - accepted as an alias for topic.
- since - only episodes aired on or after this date (YYYY-MM-DD).
- heading - optional heading rendered above the list.
- order - desc (newest first, the default) or asc, which is what you want for a show's back catalogue read in order.
Notes
Episodes come from Category:Podcast episodes, which is populated from the podcast feeds listed in Category:Podcasts. If a show is missing from a firehose, the fix is on the wiki: add the show, or add a guest-name pattern so its episode titles parse.
Topics are recorded with Has topic, which is deliberately general — an episode title gives up proper nouns without saying what kind of thing each one is, or whether the named party was in the room or merely discussed. One property, many entities per episode, and every entity gets the episode back on its own page.
The duration is asked for as ?Has duration#- rather than
?Has duration. Without the #-, Semantic MediaWiki
formats the number for reading and a running time of 3355 seconds arrives as
"3,355" — which the row template then tries to divide by sixty, and
#expr rejects the comma.
Rows are drawn by Template:Firehose row. The query runs with
link=none so that the row template receives plain values it can
relabel and link itself; see that template for why.
For anything this template does not cover, write the #ask yourself —
it is an ordinary semantic query over Has podcast,
Has topic and Has air date, and a firehose of your own
design is a legitimate thing to build.