Difference between revisions of "Template:Honor infobox"

From Pathfinder Wiki
(Conditionally superimpose Not Available at AdventSource over image)
(fix missing translation for pilot author and state (both don't need to be translated...))
 
(104 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
<noinclude>
 
<noinclude>
 
This template creates an infobox for an honor.
 
This template creates an infobox for an honor.
==TODO==
 
*Fix broken things
 
  
==Example==
+
==Mechanics==
<nowiki>{{Honor infobox2
+
The mechanics are just opaque magic (sorry).
|honorname=Aboriginal Lore
+
 
|skill=1
+
==Example== <!--T:3-->
|year=2001
+
<div class="toccolours">
|category=Arts and Crafts
+
<nowiki><div style="max-width: 300px"></nowiki>
|authority=General Conference
+
:<nowiki>{{</nowiki>Honor infobox<br/>
|insignia=Aboriginallore.png
+
::|honorlandingpage=AY Honors/Camping Skills IV<br/>
}}</nowiki>
+
::|skill=2<br/>
{{Honor infobox2
+
::|year=2001<br/>
|honorname=Aboriginal Lore
+
::|category=Recreation<br/>
|skill=1
+
::|authority=General Conference<br/>
 +
::|insignia=Camping_Skills_IV.png<br/>
 +
::|insignia_source=foo<br/>
 +
::|master1=Wilderness<br/>
 +
:}}
 +
<nowiki></div></nowiki>
 +
</div>
 +
<div style="max-width: 300px">
 +
{{Honor infobox
 +
|honorlandingpage=AY Honors/Camping Skills IV
 +
|skill=2
 
|year=2001
 
|year=2001
|category=Arts and Crafts
+
|category=Recreation
 
|authority=General Conference
 
|authority=General Conference
|insignia=Aboriginallore.png
+
|insignia=Camping_Skills_IV.png
 +
|insignia_source=foo
 +
|master1=Wilderness
 
}}
 
}}
</noinclude>
+
</div>
<includeonly>{| style="text-align: center; box-shadow: 5px 5px 10px rgba(0,0,0, .3); border-radius: 10px; margin-bottom: 0;"
+
<!--T:4-->
|-
+
[[Category:UsesLoops]]</noinclude>
|colspan="2" style="font-size:1.6rem; font-weight: bold;"|{{{honorname}}}
+
<includeonly><!-- Get the List of Master Honors -->{{#vardefine:localCategory|{{{category|{{GetHonorMetaData|language=/en}}}}}}}{{#vardefine:master|{{GetMasterCategoryList|category={{#var:localCategory}}|master1={{{master1|{{GetHonorMetaData|language=/en|parameter=master1}}}}}|master2={{{master2|{{GetHonorMetaData|language=/en|parameter=master2}}}}}}}}}<!-- create the string-variables holding the content for the see more section -->{{#vardefine:i|0}}{{#vardefine:locSeeAlsoLess|}}{{#vardefine:locSeeAlsoMore|}}<!-- get all interesting links for see also into one variable separated by | -->{{#vardefine:locSeeAlsoAll|{{#var:master}}{{GetHonorSeeAlso}}}}{{#if:{{#explode: {{#var:locSeeAlsoAll}}|%{{!}}%|{{#var:i}} }} | {{#vardefine:locSeeAlsoLess|{{#explode: {{#var:locSeeAlsoAll}}|%{{!}}%|{{#var:i}} }} }}{{#vardefine: i | {{#expr: {{#var: i }} + 1 }} }}{{#while: | {{#explode: {{#var:locSeeAlsoAll}}|%{{!}}%|{{#var:i}} }} | {{#ifexpr: {{#var:i}}<3|<!--yes-->{{#vardefine:locSeeAlsoLess|{{#var:locSeeAlsoLess}}<br>{{#explode: {{#var:locSeeAlsoAll}}|%{{!}}%|{{#var:i}} }} }}|<!--no-->{{#vardefine:locSeeAlsoMore|{{#var:locSeeAlsoMore}}{{#ifexpr:{{#var:i}}>3|<br>}}{{#explode: {{#var:locSeeAlsoAll}}|%{{!}}%|{{#var:i}} }} }} }}{{#vardefine: i | {{#expr: {{#var: i }} + 1 }} }} }} }}<!-- get the patch -->{{#vardefine:localInsignia|{{{insignia|{{GetHonorMetaData|language=/en|parameter=insignia|dontTranslate=true}}}}}}}{{#vardefine:honorstate|{{{state|{{GetHonorMetaData|dontTranslate=true|parameter=state}}}}}}}{{#vardefine:patch|{{#if:{{#var:localInsignia}}|{{#switch:{{#var:localInsignia}}
|-
+
|No Patch.png
|colspan="2" style="padding: .5rem 2rem;"|
+
|No_Patch.png={{Localize|{{#ifeq:{{#var:honorstate}}|piloting|Pilot No Patch|No Patch}}|Images}}
{{#if:{{{insignia_source|}}}
+
|{{#var:localInsignia}}
  |{{Superimpose
+
}}|{{Localize|{{#ifeq:{{#var:honorstate}}|piloting|Pilot No Patch|No Patch}}|Images}}}}}}<!--
       | base = {{{insignia|No_Patch.png}}}
+
check if Not availabel at AdventSource should be shown
       | base_width = 150px
+
-->{{#vardefine:locPilotAuthor|{{#ifeq:{{#var:honorstate}}|piloting|{{{pilotAuthor|{{GetHonorMetaData|dontTranslate=true|parameter=pilotAuthor}}}}}}}|}}{{#vardefine:showNotAdventSrc|{{#ifeq:{{#var:honorstate}}|piloting|true|{{#if:{{{insignia_source|{{GetHonorMetaData|language=/en|parameter=insignia_source}}}}}|true|false}}}}}}
       | float = Not available at AdventSource.png
+
<templatestyles src="Honor infobox/style.css" /><div class="mw-parser-output">
 +
{{Infobox
 +
|bodyclass=honor-infobox
 +
|above={{#ifeq:{{#var:honorstate}}|piloting|{{Localize|NAD Pilot for}}|{{GetHonorName|page={{{honorlandingpage|}}}}}}}
 +
|subheader={{#ifeq:{{#var:honorstate}}|piloting|{{GetHonorName|page={{{honorlandingpage|}}}}}}}
 +
|subheader2=[[AY Honors/{{#var:localCategory}}{{GetLangSuffix}}|{{Localize|{{#var:localCategory}}}}]]
 +
|image={{#ifeq:{{#var:showNotAdventSrc}}|true|{{Superimpose
 +
       | base = {{#var:patch}}
 +
       | base_width = 100%
 +
      | base_max_width = 150px
 +
       | float = {{Localize|Not available at AdventSource|Images}}
 
       | float_width = 170px
 
       | float_width = 170px
 
       | align=center
 
       | align=center
Line 38: Line 58:
 
     }}
 
     }}
 
   |{{Superimpose
 
   |{{Superimpose
       | base = {{{insignia|No_Patch.png}}}
+
       | base = {{#var:patch}}
       | base_width = 150px
+
       | base_width = 100%
 +
      | base_max_width = 150px
 
       | align=center
 
       | align=center
 
     }}
 
     }}
 
}}
 
}}
|-
+
|col1_label1={{Localize|Skill Level}}
|colspan="2" style="padding: 0 0 .5rem 0; font-size: 1.5rem;" |<span style="color:\
+
|col1_data1={{Honor infobox/echoSkillLevel | skill={{{skill|{{GetHonorMetaData|parameter=skill}}}}}}}
{{SkillColor|skill={{{skill}}}|star=1}};">{{#fas:dumbbell}}</span> <span style="color: {{SkillColor|skill={{{skill}}}|star=2}};">{{#fas:dumbbell}}</span> <span style="color: {{SkillColor|skill={{{skill}}}|star=3}};">{{#fas:dumbbell}}</span>
+
 
|-
+
|col1_label2={{#ifeq:{{#var:honorstate}}|piloting||{{Localize|Approval authority}}}}
!colspan="2" style="text-align: center; font-size: 1rem; font-weight: bold;" |Part of
+
|col1_data2={{#ifeq:{{#var:honorstate}}|piloting||{{#if:{{{authority|}}}|{{Localize|{{{authority}}}|Authorities}}|{{GetHonorMetaData|parameter=authority}}}}}}
|-
+
|col2_label2={{#ifeq:{{#var:honorstate}}|piloting||{{Localize|Year of Introduction}}}}
|colspan="2" | {{{category}}}
+
|col2_data2={{#ifeq:{{#var:honorstate}}|piloting||{{#vardefine:localYear|{{{year|{{GetHonorMetaData|language=/en|parameter=year}}}}}}}{{#iferror:{{#expr:1+{{#var:localYear|X}} }}|{{Localize|Unknown}}|{{#var:localYear}} }} }}
|-
+
|rowclass3=honor-infobox-seeAlso
! style="text-align: center; font-size: 1rem; font-weight: bold;" |Approval authority
+
|col1_label3={{Localize|See also}}
! style="text-align: center; font-size: 1rem; font-weight: bold;" |Year of Introduction
+
|col1_data3={{#var:locSeeAlsoLess}}{{#if: {{#var:locSeeAlsoMore}}|
|-
+
<div id="infobox-see-also" class="mw-collapsible mw-collapsed" data-expandtext="{{Localize|More}}" data-collapsetext="{{Localize|Less}}"><br>
|{{{authority|Unknown}}}
+
{{#var:locSeeAlsoMore}}
|{{{year|Unknown}}}
+
</div>}}
|}
+
|col1_noDefaultStyle4=true
<includeonly>
+
|col1_data4={{#ifeq:{{#var:honorstate}}|piloting|<htmltag tagname="a" class="btn btn-accent" href="https://form.jotform.com/220234764665155?honorProposal={{#invoke:String|urlencode|{{#titleparts:{{PAGENAME}}|1|2}}}}" target="_blank">{{Localize|Give Feedback}}</htmltag>|}}
 +
|col1_class4=honor-infobox-button
 +
|col1_noDefaultStyle5=true
 +
|col1_data5={{#if:{{#var:locPilotAuthor}}|<htmltag tagname="a" class="btn btn-accent" href="{{fullurl:Special:EmailUser/{{#var:locPilotAuthor}}}}" target="_blank">{{Localize|Contact Pilot Author}}</htmltag>|}}
 +
|col1_class5=honor-infobox-button
 +
|col1_noDefaultStyle10=true
 +
|col1_data10={{#ifsysop:<div class="dropdown"><htmltag tagname="button" class="btn btn-accent dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{Localize|Downloads}}</htmltag><div class="dropdown-menu" aria-labelledby="dropdownMenuButton"><htmltag tagname="a" href="{{fullurl:{{#titleparts:{{PAGENAME}}|2|1}}/Requirements{{GetLangSuffix}}|action=mpdf}}" class="dropdown-item">{{Localize|Requirements}}
 +
</htmltag><htmltag tagname="a" href="{{fullurl:{{#titleparts:{{PAGENAME}}|2|1}}/Answer Key{{GetLangSuffix}}|action=mpdf}}" class="dropdown-item">{{Localize|Answer Key}}</htmltag></div></div>|}}
 +
|col1_class10=honor-infobox-button
 +
}}
 +
</div>{{#invoke:Utilities|logger|{{Localize|{{#var:localCategory}}}}}}
 +
</includeonly>

Latest revision as of 20:55, 28 April 2022

This template creates an infobox for an honor.

Mechanics

The mechanics are just opaque magic (sorry).

Example

<div style="max-width: 300px">

{{Honor infobox
|honorlandingpage=AY Honors/Camping Skills IV
|skill=2
|year=2001
|category=Recreation
|authority=General Conference
|insignia=Camping_Skills_IV.png
|insignia_source=foo
|master1=Wilderness
}}

</div>


Camping Skills IV
Recreation
Skill Level
123
Approval authority
General Conference
Year of Introduction
2001
See also