Template:Firehose row: Difference between revisions
Point guest linking at Module:Firehose links (via update-page on MediaWiki MCP Server) |
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 | # 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 | impossible to relabel. | ||
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;"> | {{#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|}}}| · [{{{5}}} listen]}}</div> | <div style="flex:0 0 auto; font-family:monospace; font-size:.78em; color:#6b7566; white-space:nowrap;">{{{4|}}}{{#if:{{{5|}}}| · [{{{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:
- page title of the episode
- Has podcast
- Has topic
- Has air date
- 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.