Template:Resource: Difference between revisions
No edit summary |
No edit summary |
||
| (11 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
<includeonly> | <includeonly> | ||
{| class="wikitable" style="float:right; margin-left:1em; width:300px;" | <!-- | ||
| colspan="2" style="text-align:center;" | {{#if:{{{Image|}}}|[[File:{{{Image}}}|290px]]|''No image'' | ================================================================== | ||
== VISIBLE INFOBOX - For display on the wiki page only. | |||
================================================================== | |||
--> | |||
{{#if:{{{Display Title|}}}|{{!}}- | {| class="wikitable wyos-infobox" style="float:right; margin-left:1em; width:300px;" | ||
| colspan="2" style="text-align:center;" | {{#if:{{{Image|}}}|[[File:{{{Image}}}|290px]]|''No image provided''}} | |||
{{#if:{{{Display Title|}}}| | |||
{{!}}- | |||
! Display Title | ! Display Title | ||
{{!}} {{{Display Title}}} | {{!}} {{{Display Title}}} | ||
}} | }} | ||
{{#if:{{{Subtitle|}}}|{{!}}- | {{#if:{{{Subtitle|}}}| | ||
{{!}}- | |||
! Subtitle | ! Subtitle | ||
{{!}} {{{Subtitle | {{!}} {{{Subtitle}}} | ||
}} | }} | ||
{{#if:{{{ | {{#if:{{{Resource Type|}}}| | ||
! | {{!}}- | ||
{{!}} [[ | ! Type | ||
{{!}} [[{{{Resource Type}}}]] | |||
}} | }} | ||
|- | {{#if:{{{Author|}}}| | ||
! | {{!}}- | ||
! Author/Creator | |||
{{!}} {{{Author}}} | |||
}} | |||
{{#if:{{{URL|}}}| | |||
{{!}}- | |||
! URL | ! URL | ||
| [[ | {{!}} [{{{URL}}} Visit Site] | ||
}} | |||
{{#if:{{{Topic Tags|}}}| | |||
{{!}}- | |||
! Topics | |||
{{!}} {{#arraymap:{{{Topic Tags}}}|,|x|[[x|{{#replace:x|Tag:|}}]]|, }} | |||
}} | |||
{{#if:{{{Status|}}}| | |||
{{!}}- | |||
! Status | ! Status | ||
| | {{!}} {{{Status}}} | ||
|- | }} | ||
! | {{#if:{{{Is Featured|}}}| | ||
{{!}}- | |||
{{#if:{{{Description|}}}|{{!}}- | ! Featured | ||
{{!}} {{#ifeq:{{lc:{{{Is Featured|no}}}}}|yes|Yes|No}} | |||
}} | |||
{{#if:{{{Owner|}}}| | |||
{{!}}- | |||
! Owner | |||
{{!}} [[{{#ifeq:{{lc:{{#titleparts:{{{Owner}}}|1|1}}}}|user|{{{Owner}}}|User:{{{Owner}}}}}|{{#replace:{{{Owner}}}|User:|}}]] | |||
}} | |||
{{#if:{{{Description|}}}| | |||
{{!}}- | |||
! Description | ! Description | ||
{{!}} {{{Description}}} | {{!}} {{{Description}}} | ||
}} | }} | ||
|} | |} | ||
<!-- | |||
================================================================== | |||
== 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}}}]] | ||
[[Has resource type::{{{Resource Type | {{#if:{{{Resource Type|}}} | ||
[[Has display title::{{{Display Title | | [[Has resource type::{{{Resource Type}}}]] | ||
[[Has | }} | ||
[[Has description::{{{Description|}}}]] | <!-- Set standard properties only if a value is provided. --> | ||
[[Has | {{#if:{{{Display Title|}}} | ||
{{# | | [[Has display title::{{{Display Title}}}]] | ||
{{#arraymap:{{{ | }} | ||
{{#if:{{{Subtitle|}}} | |||
| [[Has subtitle::{{{Subtitle}}}]] | |||
}} | |||
{{#if:{{{Description|}}} | |||
| [[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}}]] | |||
{{#if:{{{Topic Tags|}}} | |||
| {{#arraymap:{{{Topic Tags}}}|,|x|[[Has topic tag::x]]|\s}} | |||
}} | |||
</div> | </div> | ||
<!-- | |||
================================================================== | |||
== CONTENT - This displays the main body of the article. | |||
================================================================== | |||
--> | |||
{{{Content|}}} | |||
</includeonly><noinclude> | </includeonly><noinclude> | ||
'''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. | |||
<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 |