Template:Firehose row: Difference between revisions

From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Jump to navigationJump to search
Magent (talk | contribs)
Point guest linking at Module:Firehose links (via update-page on MediaWiki MCP Server)
Magent (talk | contribs)
Render Has topic rather than Has guest; link every topic (via update-page on MediaWiki MCP Server)
Line 8: Line 8:
# page title of the episode
# page title of the episode
# Has podcast
# Has podcast
# Has guest
# Has topic
# Has air date
# Has air date
# Has episode url
# Has episode url
Every topic is linked, through [[Module:Firehose links]], which splits a
multi-topic value so each name gets its own link rather than one broken one.
That linking is the whole point: it is what makes the episode appear on the
page of each person, band or place it is about.


The query runs with <code>link=none</code>, so every value arrives as plain
The query runs with <code>link=none</code>, so every value arrives as plain
text. That is deliberate: Semantic MediaWiki otherwise hands over pre-rendered
text. That is deliberate: Semantic MediaWiki otherwise hands over pre-rendered
links, which defeats <code>#titleparts</code> and makes the episode link
links, which defeats <code>#titleparts</code> and makes the episode link
impossible to relabel. Linking is therefore done here — guests through
impossible to relabel.
[[Module:Firehose links]], which splits multi-guest values so each name gets its
own link rather than one broken one.


Laid out with divs rather than table markup on purpose: this template's output
Laid out with divs rather than table markup on purpose: this template's output
Line 33: Line 36:
<div style="font-size:.72em; letter-spacing:.09em; text-transform:uppercase; color:#5a6858;">{{#if:{{{2|}}}|[[{{{2}}}]]|}}</div>
<div style="font-size:.72em; letter-spacing:.09em; text-transform:uppercase; color:#5a6858;">{{#if:{{{2|}}}|[[{{{2}}}]]|}}</div>
<div style="font-weight:600; line-height:1.35;">[[{{{1}}}|{{#titleparts:{{{1}}}|0|2}}]]</div>
<div style="font-weight:600; line-height:1.35;">[[{{{1}}}|{{#titleparts:{{{1}}}|0|2}}]]</div>
{{#if:{{{3|}}}|<div style="font-size:.85em; color:#3d4a3e;">with {{#invoke:Firehose links|guestlinks|{{{3}}}}}</div>}}
{{#if:{{{3|}}}|<div style="font-size:.85em; color:#3d4a3e;">about {{#invoke:Firehose links|topiclinks|{{{3}}}}}</div>}}
</div>
</div>
<div style="flex:0 0 auto; font-family:monospace; font-size:.78em; color:#6b7566; white-space:nowrap;">{{{4|}}}{{#if:{{{5|}}}| &middot; [{{{5}}} listen]}}</div>
<div style="flex:0 0 auto; font-family:monospace; font-size:.78em; color:#6b7566; white-space:nowrap;">{{{4|}}}{{#if:{{{5|}}}| &middot; [{{{5}}} listen]}}</div>
</div></includeonly>
</div></includeonly>

Revision as of 08:31, 20 August 2026

Renders one episode row for Template:Firehose. Not intended to be called directly — it is passed to #ask as template=Firehose row.

Parameters arrive positionally, in the order the printouts are declared in Template:Firehose:

  1. page title of the episode
  2. Has podcast
  3. Has topic
  4. Has air date
  5. Has episode url

Every topic is linked, through Module:Firehose links, which splits a multi-topic value so each name gets its own link rather than one broken one. That linking is the whole point: it is what makes the episode appear on the page of each person, band or place it is about.

The query runs with link=none, so every value arrives as plain text. That is deliberate: Semantic MediaWiki otherwise hands over pre-rendered links, which defeats #titleparts and makes the episode link impossible to relabel.

Laid out with divs rather than table markup on purpose: this template's output is assembled inside a parser function call, and pipe characters in that position are a reliable source of grief.

The name has no slash in it deliberately. Pages with a slash in the title cannot currently be read or edited through the REST API, because Apache rejects the encoded slash before MediaWiki sees it — so a subpage here would be a template no bot could ever fix.