Template:Person: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
<includeonly> | <includeonly> | ||
__NOFACTBOX__ | __NOFACTBOX__ | ||
[[Category:People]] | |||
<!-- | <!-- ========================================================== | ||
DATA STORAGE (THE "SET" BLOCK) | |||
We use #set to store data silently. No hidden divs needed. | |||
========================================================== --> | |||
{{#set: | |||
|HasType={{{HasType|PublicFigure}}} | |||
|HasName={{{HasName|}}} | |||
|HasAltName={{{HasAltName|}}} | |||
|HasHebName={{{HasHebName|}}} | |||
|HasYiddishName={{{HasYiddishName|}}} | |||
|HasDateOfBirth={{{HasDateOfBirth|}}} | |||
|HasDateOfDeath={{{HasDateOfDeath|}}} | |||
|HasPlaceOfBirth={{{HasPlaceOfBirth|}}} | |||
|HasPlaceOfDeath={{{HasPlaceOfDeath|}}} | |||
|HasWikidataID={{{HasWikidataID|}}} | |||
|HasMazalID={{{HasMazalID|}}} | |||
|HasVIAFID={{{HasVIAFID|}}} | |||
|HasImage={{{HasImage|}}} | |||
|HasArticle={{{HasArticle|}}} | |||
}} | |||
<!-- | <!-- Handle List Properties (Split by semicolon or comma) --> | ||
< | <!-- 1. URLs: We assume raw text storage for JSON export simplicity, | ||
{{#if:{{{ | but validation happens on display. --> | ||
{{# | {{#if:{{{HasURL|}}}| | ||
{{#arraymap:{{{HasURL|}}}|;|@@|{{#set:HasURL=@@}} }} | |||
{{# | }} | ||
{{#if:{{{ | <!-- 2. Professions: We want these to be individual data points | ||
so we can query "Topic:Rabbis" later. --> | |||
{{#if:{{{HasProfession|}}}| | |||
{{#arraymap:{{{HasProfession|}}}|;|@@|{{#set:HasProfession=@@}} }} | |||
}} | |||
<!-- | <!-- ========================================================== | ||
< | VISUAL DISPLAY (THE CARD) | ||
========================================================== --> | |||
<div class="person-card" style="border:1px solid #ccc; background:#f9f9f9; padding:1em; display:flow-root; box-shadow: 2px 2px 5px rgba(0,0,0,0.1);"> | |||
<!-- | <!-- Image Block --> | ||
{{# | {{#if:{{{HasImage|}}}| | ||
<div style="float:right; margin-left:1em; max-width:200px;"> | |||
[[{{{HasImage}}}|thumb|200px|center|{{{HasName|}}}]] | |||
</div> | |||
< | |||
}} | }} | ||
</div> | <!-- Header --> | ||
<h2 style="margin-top:0;">{{{HasName|{{PAGENAME}}}}}</h2> | |||
<div class="person-data"> | |||
<!-- Names --> | |||
{{#if:{{{HasHebName|}}}{{{HasYiddishName|}}}| | |||
<p> | |||
{{#if:{{{HasHebName|}}}|'''Hebrew:''' <span lang="he" dir="rtl">{{{HasHebName}}}</span> • }} | |||
{{#if:{{{HasYiddishName|}}}|'''Yiddish:''' <span lang="yi" dir="rtl">{{{HasYiddishName}}}</span>}} | |||
</p> | |||
}} | |||
<!-- | <!-- Vital Statistics --> | ||
< | <ul> | ||
{{#if:{{{HasDateOfBirth|}}}|<li>'''Born:''' {{{HasDateOfBirth}}}{{#if:{{{HasPlaceOfBirth|}}}| in [[{{{HasPlaceOfBirth}}}]]}}</li>}} | |||
{{#if:{{{HasDateOfDeath|}}}|<li>'''Died:''' {{{HasDateOfDeath}}}{{#if:{{{HasPlaceOfDeath|}}}| in [[{{{HasPlaceOfDeath}}}]]}}</li>}} | |||
</ul> | |||
<!-- | <!-- Professional Data --> | ||
{{#if:{{{ | {{#if:{{{HasProfession|}}}| | ||
'''Known for:''' | |||
{{#arraymap:{{{HasProfession|}}}|;|@@|[[Term:@@|@@]]|, }} <!-- Auto-links to Term:Namespace --> | |||
</ | <br/> | ||
}} | }} | ||
{{#if:{{{HasArticle|}}}|'''Related Article:''' [[{{{HasArticle}}}]]<br/>}} | |||
{{#if:{{{HasArticle|}}}|'''Related | |||
<!-- External | <!-- Identifiers (Crucial for TEI/MARC21 Interop) --> | ||
{{#if:{{{HasWikidataID|}}}{{{HasVIAFID|}}}{{{HasMazalID|}}}| | |||
<hr style="margin:0.5em 0; border:0; border-top:1px dashed #ccc;"/> | |||
<small style="color:#666;"> | |||
{{#if:{{{HasWikidataID|}}}|'''Wikidata:''' [https://www.wikidata.org/wiki/{{{HasWikidataID}}} {{{HasWikidataID}}}] • }} | |||
{{#if:{{{HasVIAFID|}}}|'''VIAF:''' [https://viaf.org/viaf/{{{HasVIAFID}}} {{{HasVIAFID}}}] • }} | |||
{{#if:{{{HasMazalID|}}}|'''Mazal ID:''' {{{HasMazalID}}}}} | |||
</small> | |||
<br/> | |||
}} | |||
<!-- External Links with Validation --> | |||
{{#if:{{{HasURL|}}}| | {{#if:{{{HasURL|}}}| | ||
'''External | '''External Links:'''<br/> | ||
{{#arraymap:{{{HasURL}}}|;|@@| | {{#arraymap:{{{HasURL}}}|;|@@| | ||
{{#if: {{#rmatch:@@|^https?://}} | | {{#if: {{#rmatch:@@|^https?://}} | [@@ Link] | <!-- Invalid hidden --> }} | ||
|<br/>}} | |||
}} | }} | ||
</div> | |||
</div> | </div> | ||
</includeonly> | </includeonly> | ||