Template:Resource: Difference between revisions
No edit summary |
No edit summary |
||
| (8 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
<!-- | <!-- | ||
================================================================== | ================================================================== | ||
== VISIBLE INFOBOX - | == VISIBLE INFOBOX - For display on the wiki page only. | ||
================================================================== | ================================================================== | ||
--> | --> | ||
| Line 20: | Line 20: | ||
{{!}}- | {{!}}- | ||
! Type | ! Type | ||
{{!}} {{{Resource Type}}} | {{!}} [[{{{Resource Type}}}]] | ||
}} | }} | ||
{{#if:{{{Author|}}}| | {{#if:{{{Author|}}}| | ||
| Line 33: | Line 33: | ||
}} | }} | ||
{{#if:{{{Topic Tags|}}}| | {{#if:{{{Topic Tags|}}}| | ||
{{!}}- | {{!}}- | ||
! Topics | ! Topics | ||
{{!}} {{{Topic Tags}}} | {{!}} {{#arraymap:{{{Topic Tags}}}|,|x|[[x|{{#replace:x|Tag:|}}]]|, }} | ||
}} | }} | ||
{{#if:{{{Status|}}}| | {{#if:{{{Status|}}}| | ||
{{!}}- | {{!}}- | ||
| Line 50: | Line 51: | ||
{{!}}- | {{!}}- | ||
! Owner | ! Owner | ||
{{!}} [[User:{{{Owner}}}|{{{Owner}}}]] | {{!}} [[{{#ifeq:{{lc:{{#titleparts:{{{Owner}}}|1|1}}}}|user|{{{Owner}}}|User:{{{Owner}}}}}|{{#replace:{{{Owner}}}|User:|}}]] | ||
}} | }} | ||
{{#if:{{{Description|}}}| | {{#if:{{{Description|}}}| | ||
| Line 58: | Line 59: | ||
}} | }} | ||
|} | |} | ||
<!-- | <!-- | ||
================================================================== | ================================================================== | ||
== HIDDEN SEMANTIC DATA - | == HIDDEN SEMANTIC DATA - The single source of truth for your headless CMS. | ||
================================================================== | ================================================================== | ||
--> | --> | ||
<div style="display:none;"> | <div style="display:none;"> | ||
[[Category:Resources]] | [[Category:Resources]] | ||
<!-- Set controlled vocabulary properties. Default status is 'Draft'. --> | |||
<!-- | |||
[[Has status::{{{Status|Draft}}}]] | [[Has status::{{{Status|Draft}}}]] | ||
{{#if:{{{Resource Type|}}}|[[Has resource type::{{{Resource Type}}}]]}} | {{#if:{{{Resource Type|}}} | ||
| [[Has resource type::{{{Resource Type}}}]] | |||
<!-- | }} | ||
{{#if:{{{Display Title|}}}|[[Has display title::{{{Display Title}}}]]}} | <!-- Set standard properties only if a value is provided. --> | ||
{{#if:{{{Subtitle|}}}|[[Has subtitle::{{{Subtitle}}}]]}} | {{#if:{{{Display Title|}}} | ||
{{#if:{{{Description|}}}|[[Has description::{{{Description}}}]]}} | | [[Has display title::{{{Display Title}}}]] | ||
{{#if:{{{URL|}}}|[[Has url::{{{URL}}}]]}} | }} | ||
{{#if:{{{Author|}}}|[[Has author::{{{Author}}}]]}} | {{#if:{{{Subtitle|}}} | ||
{{#if:{{{Owner|}}}|[[Has owner::User:{{{Owner}}}]]}} | | [[Has subtitle::{{{Subtitle}}}]] | ||
}} | |||
<!-- Robust image | {{#if:{{{Description|}}} | ||
{{#if:{{{Image|}}}|[[Has image::{{#ifeq:{{lc:{{#titleparts:{{{Image}}}|1|1}}}}|file|{{{Image}}}|File:{{{Image}}}}}]]}} | | [[Has description::{{{Description}}}]] | ||
}} | |||
<!-- | {{#if:{{{URL|}}} | ||
| [[Has url::{{{URL}}}]] | |||
}} | |||
{{#if:{{{Author|}}} | |||
| [[Has author::{{{Author}}}]] | |||
}} | |||
<!-- Robust Owner Handling: Adds 'User:' prefix only if it's missing. --> | |||
{{#if:{{{Owner|}}} | |||
| [[Has owner::{{#ifeq:{{lc:{{#titleparts:{{{Owner}}}|1|1}}}}|user|{{{Owner}}}|User:{{{Owner}}}}}]] | |||
}} | |||
<!-- Robust image handling: adds 'File:' prefix only if user forgets it. --> | |||
{{#if:{{{Image|}}} | |||
| [[Has image::{{#ifeq:{{lc:{{#titleparts:{{{Image}}}|1|1}}}}|file|{{{Image}}}|File:{{{Image}}}}}]] | |||
}} | |||
<!-- Set boolean property to return true/false for the API. --> | |||
[[Is featured::{{#ifeq:{{lc:{{{Is Featured|no}}}}}|yes|true|false}}]] | [[Is featured::{{#ifeq:{{lc:{{{Is Featured|no}}}}}|yes|true|false}}]] | ||
{{#if:{{{Topic Tags|}}} | |||
| {{#arraymap:{{{Topic Tags}}}|,|x|[[Has topic tag::x]]|\s}} | |||
{{#if:{{{Topic Tags|}}}|{{#arraymap:{{{Topic Tags | }} | ||
</div> | </div> | ||
<!-- | <!-- | ||
================================================================== | ================================================================== | ||
== CONTENT - | == CONTENT - This displays the main body of the article. | ||
================================================================== | ================================================================== | ||
--> | --> | ||
| Line 100: | Line 109: | ||
</includeonly><noinclude> | </includeonly><noinclude> | ||
'''Template:Resource''' | '''Template:Resource''' | ||
Master template for Resource entries. Call via type wrappers only (e.g., <nowiki>{{Book|…}}</nowiki>). Handles infobox and shared semantics for headless API pulls. | |||
Master template for Resource | <templatedata> | ||
{ | |||
"params": { | |||
"Image": { | |||
"label": "Image", | |||
"description": "Filename of the image for the infobox (e.g., \"Tool_Logo.png\").", | |||
"type": "wiki-file-name" | |||
}, | |||
"Display Title": { | |||
"label": "Display Title", | |||
"description": "Primary, user-facing title of the resource.", | |||
"type": "line" | |||
}, | |||
"Subtitle": { | |||
"label": "Subtitle", | |||
"description": "Short descriptive tagline.", | |||
"type": "line" | |||
}, | |||
"Resource Type": { | |||
"label": "Resource Type", | |||
"description": "Type of resource (e.g., Book, App, Course). Set by wrapper templates.", | |||
"type": "wiki-page-name" | |||
}, | |||
"Author": { | |||
"label": "Author/Creator", | |||
"description": "Creator, publisher, or vendor as appropriate.", | |||
"type": "line" | |||
}, | |||
"URL": { | |||
"label": "URL", | |||
"description": "Primary external link (homepage, store page, etc.).", | |||
"type": "url" | |||
}, | |||
"Topic Tags": { | |||
"label": "Topic Tags", | |||
"description": "Comma-separated Topic Tags. Enter either \"Tag:Habits, Tag:Productivity\" or \"Habits, Productivity\".", | |||
"type": "line", | |||
"required": true | |||
}, | |||
"Status": { | |||
"label": "Status", | |||
"description": "Publication status. Only Published should surface on the front end.", | |||
"type": "line", | |||
"suggestedvalues": [ | |||
"Draft", | |||
"Published", | |||
"Archived" | |||
], | |||
"default": "Draft", | |||
"required": true | |||
}, | |||
"Is Featured": { | |||
"label": "Featured?", | |||
"description": "Set to 'yes' to highlight this item.", | |||
"type": "boolean" | |||
}, | |||
"Owner": { | |||
"label": "Owner", | |||
"description": "Responsible username (no \"User:\" prefix).", | |||
"type": "wiki-user-name", | |||
"required": true | |||
}, | |||
"Description": { | |||
"label": "Description", | |||
"description": "Short 1–2 sentence summary shown on cards and lists.", | |||
"type": "string", | |||
"required": true | |||
}, | |||
"Content": { | |||
"label": "Main Content", | |||
"description": "Body content; wikitext/VisualEditor supported.", | |||
"type": "content", | |||
"suggested": true | |||
} | |||
}, | |||
"description": "Master template for all Resource entries. Use via type-specific wrappers (e.g., Book, App).", | |||
"format": "block" | |||
} | |||
</templatedata> | |||
</noinclude> | </noinclude> | ||
Latest revision as of 19:46, 23 September 2025
Template:Resource Master template for Resource entries. Call via type wrappers only (e.g., {{Book|…}}). Handles infobox and shared semantics for headless API pulls.
Master template for all Resource entries. Use via type-specific wrappers (e.g., Book, App).
| Parameter | Description | Type | Status | |
|---|---|---|---|---|
| Image | Image | Filename of the image for the infobox (e.g., "Tool_Logo.png"). | File | optional |
| Display Title | Display Title | Primary, user-facing title of the resource. | Line | optional |
| Subtitle | Subtitle | Short descriptive tagline. | Line | optional |
| Resource Type | Resource Type | Type of resource (e.g., Book, App, Course). Set by wrapper templates. | Page name | optional |
| Author/Creator | Author | Creator, publisher, or vendor as appropriate. | Line | optional |
| URL | URL | Primary external link (homepage, store page, etc.). | URL | optional |
| Topic Tags | Topic Tags | Comma-separated Topic Tags. Enter either "Tag:Habits, Tag:Productivity" or "Habits, Productivity". | Line | required |
| Status | Status | Publication status. Only Published should surface on the front end.
| Line | required |
| Featured? | Is Featured | Set to 'yes' to highlight this item. | Boolean | optional |
| Owner | Owner | Responsible username (no "User:" prefix). | User | required |
| Description | Description | Short 1–2 sentence summary shown on cards and lists. | String | required |
| Main Content | Content | Body content; wikitext/VisualEditor supported. | Content | suggested |