Wikipedia
eewiki
https://ee.wikipedia.org/wiki/Axa_do_%C5%8Ag%C9%94
MediaWiki 1.46.0-wmf.24
first-letter
Media
Special
Talk
User
User talk
Wikipedia
Wikipedia talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
TimedText
TimedText talk
Module
Module talk
Event
Event talk
Nana Ama Browne Klutse
0
10336
61549
61060
2026-04-20T17:15:54Z
Khadaamm
17429
61549
wikitext
text/x-wiki
{{Short description|Ghanaian climate change researcher}}
{{Infobox person
| name = Nana Ama Browne Klutse
| image = File:Nana Ama Browne Klutse in her office at the University of Ghana.jpg
| caption = Nana Ama Browne Klutse in her office at the University of Ghana
| birth_date = 23 May 1981
| nationality = [[Ghanaian]]
| occupation = Climate scientist
| employer = [[University of Ghana]]
| known_for = Chapter Atlas - [[IPCC Sixth Assessment Report]]
}}
'''Nana Ama Browne Klutse''' (wodzi le 23 May 1981) nye Ghania nufiala kple Yame ƒe Nɔnɔmeŋutinunyala.
==Ðevimenɔɣi kple sukudede ƒe nɔnɔme==
Wodzi Nana Ama Browne Klutse le 23 May 1981 le Nyanfeku Ekroful. Exɔ eƒe gɔmedzesuku le Anomabo Methodist Gɔmedzesuku kple JHS.<ref name=":0" />
Eyi edzi yi Mfantsiman Nyɔnuviwo ƒe Sekɛndrisuku eye emegbe eyi Cape Coast Yunivɛsiti le Ghana be yeaxlẽ BSc Dzɔdzɔmeŋusẽŋununya. Ewɔ eƒe PhD Yame ƒe Nɔnɔme Ŋuti Nusrɔ̃ƒe le [[Cape Town Yunivɛsiti]] le South Africa.<ref name=":0">{{Cite web|date=2021-08-18|title=Ghana's Dr. Nana Ama Browne Klutse among lead authors for 6th climate change report|url=https://citinewsroom.com/2021/08/ghanas-dr-nana-ama-browne-klutse-among-lead-authors-for-6th-climate-change-report/|access-date=2021-08-20|website=Citinewsroom - Comprehensive News in Ghana|language=en-US}}</ref>
==Dzɔdzɔmeŋutinunya me dɔwɔwɔ==
Ðɔkta Klutse srɔ̃a nu tso yame ƒe nɔnɔme ƒe tɔtrɔ le Ɣetoɖoƒe Afrika ŋu. Eƒe dɔa ku ɖe yame ƒe nɔnɔme ŋuti dzɔdzɔmeŋutinunya kple ŋgɔyiyi ŋu koŋ le [[Afrika ƒe tsidzadza]] ŋu.<ref>Klutse, NAB et al. (2016). Daily characteristics of West African summer monsoon precipitation in CORDEX simulations. Theoretical and Applied Climatology, 123(1-2): 369-86.</ref><ref>Klutse NAB et al (2018). Potential impact of 1.5 °C and 2 °C global warming on consecutive dry and wet days over West Africa. Environmental Letters, 13(5). https://doi.org/10.1088/1748-9326/aab37b</ref> Enye nufialagã le Dzɔdzɔmeŋusẽŋununya ƒe Dɔwɔƒe, [[Ghana Yunivɛsiti]].<ref name="GO_Klutse">{{cite news|last1=Donkor|first1=Kwadwo Baffoe|date=26 July 2019|title=Dr Nana Ama Browne Klutse joins NDC Abura Asebu Kwamankese race|work=Graphic Online|url=https://www.graphic.com.gh/news/politics/nana-ama-browne-klutse-joins-ndc-abura-asebu-kwamankese-race.html|access-date=8 January 2021}}</ref> Tsã la, ekpɔa Adzɔge Nukpɔƒe kple Yame ƒe Nɔnɔme Ŋuti Dɔwɔƒea dzi.<ref name="FCA">{{cite web|date=21 December 2016|title=Nana Ama Browne Klutse: Ghanaian scientist studies dynamics of west African monsoon|url=https://futureclimateafrica.org/nana-ama-browne-klutse-ghanaian-studies-dynamics-of-west-african-monsoon|access-date=8 January 2021|website=Future Climate for Africa|archive-date=8 May 2021|archive-url=https://web.archive.org/web/20210508104315/https://futureclimateafrica.org/nana-ama-browne-klutse-ghanaian-studies-dynamics-of-west-african-monsoon/|dead-url=yes}}</ref> Klutse nye [[Yame ƒe Nɔnɔme Ŋuti Nunyala le Afrika ƒe Akɔntabubu Dzɔdzɔmeŋutinunya Dɔwɔƒe]]<ref>{{cite web|date=2018-05-15|title=AIMS announces first cohort of women in Climate Change Science Fellows|url=https://africanews.space/aims-announces-first-cohort-of-women-in-climate-change-science-fellows/|access-date=2023-03-31|archive-date=2021-12-10|archive-url=https://web.archive.org/web/20211210161335/https://africanews.space/aims-announces-first-cohort-of-women-in-climate-change-science-fellows/|dead-url=yes}}</ref> eye wònye agbalẽŋlɔla vevitɔ si kpe asi ɖe [[IPCC ƒe Dɔdamɔnu Adelia ƒe Nyatakaka]] (AR6) ŋu. Edea dzi ƒo na nyɔnuvi siwo le Ghana hã vevie be woabu dzɔdzɔmeŋutinunyadɔwo ŋu eye wòdoa alɔ ŋgɔyiyi le dzɔdzɔmeŋutinunya ƒe hehexɔxɔ me le dukɔa me.<ref>{{cite web|last1=Ampofo|first1=Obrempong|date=26 February 2018|title=Mfantseman: Science teachers trained in effective teaching methods|url=http://citifmonline.com/2018/02/mfantseman-science-teachers-trained-in-effective-teaching-methods/|publisher=Citi 97.3 FM News|accessdate=3 April 2020|archive-date=25 April 2023|archive-url=https://web.archive.org/web/20230425123705/https://citifmonline.com/2018/02/mfantseman-science-teachers-trained-in-effective-teaching-methods/|dead-url=yes}}</ref>
Klutse wɔ dɔ le Ghana Yamenutome Dzɔdzɔmeŋutinunya kple Mɔ̃ɖaŋununya Dɔwɔƒe si le [[Ghana Atɔmik Ŋusẽ Dɔwɔha]] me abe numekuku dzɔdzɔmeŋutinunyala gãtɔ ene tso ƒe 2016 va ɖo ƒe 2018.<ref name="GO_Klutse" /> Do ŋgɔ na esia la, enye amedzro nufiala le Ɣetoɖoƒe Afrika Dzɔdzɔmeŋutinunya Dɔwɔƒe si Kpɔa Yame ƒe Nɔnɔme Kple Anyigba Zazã si Trɔna Ðe Nɔnɔme Ŋu (WASCAL) le Akure, Nigeria.<ref name="JoinsNDC2019">{{cite news |last1=Donkor |first1=Kwadwo |title=Dr Nana Ama Browne Klutse joins NDC Abura Asebu Kwamankese race |url=https://www.graphic.com.gh/news/politics/nana-ama-browne-klutse-joins-ndc-abura-asebu-kwamankese-race.html |accessdate=3 April 2020 |work=Graphic Online |date=26 July 2019 |language=en}}</ref>
==Dunyahehedɔ==
Klutse hã le vevie dom nu le dunyahehe me abe Dukɔa ƒe Demokrasihabɔbɔ me tɔ ene.
==Nyatakakatsoƒewo==
{{reflist}}
{{authority control}}
{{DEFAULTSORT:Klutse, Nana}}
[[Category:Climatologists]]
[[Category:Women climatologists]]
[[Category:Living people]]
[[Category:Place of birth missing (living people)]]
[[Category:Nationality missing]]
[[Category:Women atmospheric scientists]]
[[Category:Academic staff of the University of Ghana]]
[[Category:1981 births]]
[[Category:Mfantsiman Girls' Secondary School alumni]]
[[Category:University of Cape Coast alumni]]
[[Category:University of Cape Town alumni]]
[[Category:National Democratic Congress (Ghana) politicians]]
9xu4036ddk3aiuyl6ztktu6nhfddam6
61552
61549
2026-04-20T17:17:26Z
Khadaamm
17429
61552
wikitext
text/x-wiki
{{Short description|Ghanaian climate change researcher}}
{{Infobox person
| name = Nana Ama Browne Klutse
| image = File:Nana Ama Browne Klutse in her office at the University of Ghana.jpg
| caption = Nana Ama Browne Klutse in her office at the University of Ghana
| birth_date = 23 May 1981
| nationality = [[Ghanaian]]
| occupation = Climate scientist
| employer = [[University of Ghana]]
| known_for = Chapter Atlas - [[IPCC Sixth Assessment Report]]
}}
'''Nana Ama Browne Klutse''' (wodzi le 23 May 1981) nye Ghania nufiala kple Yame ƒe Nɔnɔmeŋutinunyala.
==Ðevimenɔɣi kple sukudede ƒe nɔnɔme==
Wodzi Nana Ama Browne Klutse le 23 May 1981 le Nyanfeku Ekroful. Exɔ eƒe gɔmedzesuku le Anomabo Methodist Gɔmedzesuku kple JHS.<ref name=":0" />
Eyi edzi yi Mfantsiman Nyɔnuviwo ƒe Sekɛndrisuku eye emegbe eyi Cape Coast Yunivɛsiti le Ghana be yeaxlẽ BSc Dzɔdzɔmeŋusẽŋununya. Ewɔ eƒe PhD Yame ƒe Nɔnɔme Ŋuti Nusrɔ̃ƒe le [[Cape Town Yunivɛsiti]] le South Africa.<ref name=":0">{{Cite web|date=2021-08-18|title=Ghana's Dr. Nana Ama Browne Klutse among lead authors for 6th climate change report|url=https://citinewsroom.com/2021/08/ghanas-dr-nana-ama-browne-klutse-among-lead-authors-for-6th-climate-change-report/|access-date=2021-08-20|website=Citinewsroom - Comprehensive News in Ghana|language=en-US}}</ref>
==Dzɔdzɔmeŋutinunya me dɔwɔwɔ==
Ðɔkta Klutse srɔ̃a nu tso yame ƒe nɔnɔme ƒe tɔtrɔ le Ɣetoɖoƒe Afrika ŋu. Eƒe dɔa ku ɖe yame ƒe nɔnɔme ŋuti dzɔdzɔmeŋutinunya kple ŋgɔyiyi ŋu koŋ le [[Afrika ƒe tsidzadza]] ŋu.<ref>Klutse, NAB et al. (2016). Daily characteristics of West African summer monsoon precipitation in CORDEX simulations. Theoretical and Applied Climatology, 123(1-2): 369-86.</ref><ref>Klutse NAB et al (2018). Potential impact of 1.5 °C and 2 °C global warming on consecutive dry and wet days over West Africa. Environmental Letters, 13(5). https://doi.org/10.1088/1748-9326/aab37b</ref> Enye nufialagã le Dzɔdzɔmeŋusẽŋununya ƒe Dɔwɔƒe, [[Ghana Yunivɛsiti]].<ref name="GO_Klutse">{{cite news|last1=Donkor|first1=Kwadwo Baffoe|date=26 July 2019|title=Dr Nana Ama Browne Klutse joins NDC Abura Asebu Kwamankese race|work=Graphic Online|url=https://www.graphic.com.gh/news/politics/nana-ama-browne-klutse-joins-ndc-abura-asebu-kwamankese-race.html|access-date=8 January 2021}}</ref> Tsã la, ekpɔa Adzɔge Nukpɔƒe kple Yame ƒe Nɔnɔme Ŋuti Dɔwɔƒea dzi.<ref name="FCA">{{cite web|date=21 December 2016|title=Nana Ama Browne Klutse: Ghanaian scientist studies dynamics of west African monsoon|url=https://futureclimateafrica.org/nana-ama-browne-klutse-ghanaian-studies-dynamics-of-west-african-monsoon|access-date=8 January 2021|website=Future Climate for Africa|archive-date=8 May 2021|archive-url=https://web.archive.org/web/20210508104315/https://futureclimateafrica.org/nana-ama-browne-klutse-ghanaian-studies-dynamics-of-west-african-monsoon/|dead-url=yes}}</ref> Klutse nye [[Yame ƒe Nɔnɔme Ŋuti Nunyala le Afrika ƒe Akɔntabubu Dzɔdzɔmeŋutinunya Dɔwɔƒe]]<ref>{{cite web|date=2018-05-15|title=AIMS announces first cohort of women in Climate Change Science Fellows|url=https://africanews.space/aims-announces-first-cohort-of-women-in-climate-change-science-fellows/|access-date=2023-03-31|archive-date=2021-12-10|archive-url=https://web.archive.org/web/20211210161335/https://africanews.space/aims-announces-first-cohort-of-women-in-climate-change-science-fellows/|dead-url=yes}}</ref> eye wònye agbalẽŋlɔla vevitɔ si kpe asi ɖe [[IPCC ƒe Dɔdamɔnu Adelia ƒe Nyatakaka]] (AR6) ŋu. Edea dzi ƒo na nyɔnuvi siwo le Ghana hã vevie be woabu dzɔdzɔmeŋutinunyadɔwo ŋu eye wòdoa alɔ ŋgɔyiyi le dzɔdzɔmeŋutinunya ƒe hehexɔxɔ me le dukɔa me.<ref>{{cite web|last1=Ampofo|first1=Obrempong|date=26 February 2018|title=Mfantseman: Science teachers trained in effective teaching methods|url=http://citifmonline.com/2018/02/mfantseman-science-teachers-trained-in-effective-teaching-methods/|publisher=Citi 97.3 FM News|accessdate=3 April 2020|archive-date=25 April 2023|archive-url=https://web.archive.org/web/20230425123705/https://citifmonline.com/2018/02/mfantseman-science-teachers-trained-in-effective-teaching-methods/|dead-url=yes}}</ref>
Klutse wɔ dɔ le Ghana Yamenutome Dzɔdzɔmeŋutinunya kple Mɔ̃ɖaŋununya Dɔwɔƒe si le [[Ghana Atɔmik Ŋusẽ Dɔwɔha]] me abe numekuku dzɔdzɔmeŋutinunyala gãtɔ ene tso ƒe 2016 va ɖo ƒe 2018.<ref name="GO_Klutse" /> Do ŋgɔ na esia la, enye amedzro nufiala le Ɣetoɖoƒe Afrika Dzɔdzɔmeŋutinunya Dɔwɔƒe si Kpɔa Yame ƒe Nɔnɔme Kple Anyigba Zazã si Trɔna Ðe Nɔnɔme Ŋu (WASCAL) le Akure, Nigeria.<ref name="JoinsNDC2019">{{cite news |last1=Donkor |first1=Kwadwo |title=Dr Nana Ama Browne Klutse joins NDC Abura Asebu Kwamankese race |url=https://www.graphic.com.gh/news/politics/nana-ama-browne-klutse-joins-ndc-abura-asebu-kwamankese-race.html |accessdate=3 April 2020 |work=Graphic Online |date=26 July 2019 |language=en}}</ref>
==Dunyahehedɔ==
Klutse hã le vevie dom nu le dunyahehe me abe Dukɔa ƒe Demokrasihabɔbɔ me tɔ ene.
==Nyatakakatsoƒewo==
{{reflist}}
{{authority control}}
{{DEFAULTSORT:Klutse, Nana}}
[[Category:Climatologists]]
[[Category:Women climatologists]]
[[Category:Living people]]
[[Category:Place of birth missing (living people)]]
[[Category:Nationality missing]]
[[Category:Women atmospheric scientists]]
[[Category:Academic staff of the University of Ghana]]
[[Category:1981 births]]
[[Category:Mfantsiman Girls' Secondary School alumni]]
[[Category:University of Cape Coast alumni]]
[[Category:University of Cape Town alumni]]
[[Category:National Democratic Congress (Ghana) politicians]]
lm5z552xrfzuqt2wg8m9jd9n12so5tq
Template:Infobox person
10
10496
61514
55326
2026-04-20T16:49:45Z
Khadaamm
17429
61514
wikitext
text/x-wiki
{{#invoke:infobox|infoboxTemplate|child={{{child|{{{embed|}}}}}}
| bodyclass = biography vcard
| above = {{#if:{{{honorific prefix|{{{honorific_prefix|{{{honorific-prefix|{{{pre-nominals|}}}}}}}}}}}}|<div class="honorific-prefix" style="font-size: 80%; font-weight: normal;">{{{honorific prefix|{{{honorific_prefix|{{{honorific-prefix|{{{pre-nominals|}}}}}}}}}}}}</div>}}<div class="fn">{{#if:{{{name|}}}|{{{name}}}|{{PAGENAMEBASE}}}}</div>{{#if:{{{honorific suffix|{{{honorific_suffix|{{{honorific-suffix|{{{post-nominals|}}}}}}}}}}}}|<div class="honorific-suffix" style="font-size: 80%; font-weight: normal;">{{{honorific suffix|{{{honorific_suffix|{{{honorific-suffix|{{{post-nominals|}}}}}}}}}}}}</div>}}
| subheader = {{#ifeq:{{lc: {{{child|{{{embed|}}}}}}}}|yes|{{#if:{{{embed_title|}}}|'''{{{embed_title|}}}'''}}}}
| subheader2 = {{#switch:{{{child|{{{embed|}}}}}}|yes=<!--empty when this infobox is embedded-->|#default={{#if:{{{native_name|}}}|{{#if:{{{native_name_lang|}}}|<div class="nickname" lang="{{{native_name_lang}}}">}}{{{native_name}}}{{#if:{{{native_name_lang|}}}|</div>}} }} }}
| subheaderstyle2 = font-size: 125%
| image = {{#invoke:InfoboxImage|InfoboxImage|image={{{image|}}}|size={{#ifeq:{{lc:{{{landscape|}}}}}|yes|{{min|300|{{#if:{{#ifexpr:{{{image size|{{{image_size|{{{imagesize|}}}}}}}}}}}|300|{{{image size|{{{image_size|{{{imagesize|}}}}}}}}}}}}}x200px|{{{image size|{{{image_size|{{{imagesize|}}}}}}}}}}}|sizedefault=frameless|upright={{{image_upright|1}}}|alt={{{alt|{{{image_alt|}}}}}}|suppressplaceholder=yes}}
| caption = {{{image caption|{{{caption|{{{image_caption|}}}}}}}}}
| label2 = Pronunciation
| data2 = {{{pronunciation|}}}
| label10 = Born
| data10 = {{br separated entries
|1={{#if:{{{birth_name|}}}{{{birthname|}}}|<div style="display:inline" class="nickname">{{{birth_name|{{{birthname|}}}}}}</div>}}
|2={{#invoke:person date|birth}}
|3={{#if:{{{birth_place|}}}|<div style="display:inline" class="birthplace">{{{birth_place|}}}</div>}}
}}
| label11 = Bapti{{#if:{{{baptized|}}}|z|s}}ed
| data11 = {{#if:{{{birth_date|}}}||{{{baptized|{{{baptised|}}}}}}}}
| label12 = Disappeared
| data12 = {{Br separated entries|1={{{disappeared_date|}}}|2={{{disappeared_place|}}}}}
| label13 = Status
| data13 = {{{status|{{{disappeared_status|}}}}}}
| label14 = Died
| data14 = {{br separated entries
|1={{#invoke:person date|death}}
|2={{#if:{{{death_place|}}}|<div style="display:inline" class="deathplace">{{{death_place|}}}</div>}}
}}
| label15 = Cause of death
| data15 = {{{death cause|{{{death_cause|}}}}}}
| label16 = Body discovered
| data16 = {{{body discovered|{{{body_discovered|}}}}}}
| label17 = {{#if:{{{burial_place|}}}|Burial place|Resting place}}
| data17 = {{#if:{{{burial_place|}}}|{{Br separated entries|1={{{burial_place|}}}|2={{{burial_coordinates|}}}}}|{{Br separated entries|1={{{resting place|{{{resting_place|{{{restingplace|}}}}}}}}}|2={{{resting place coordinates|{{{resting_place_coordinates|{{{restingplacecoordinates|}}}}}}}}}}}}}
| class17 = label
| label18 = Monuments
| data18 = {{{monuments|}}}
| label21 = Other names
| data21 = {{{other names|{{{other_names|{{{othername|{{{nickname|{{{alias|}}}}}}}}}}}}}}}
| class21 = nickname
| label22 = Siglum
| data22 = {{{siglum|}}}
| label23 = Citizenship
| data23 = {{{citizenship|}}}
| class23 = category
| label24 = Education
| data24 = {{{education|}}}
| label25 = Alma mater
| data25 = {{{alma mater|{{{alma_mater|}}}}}}
| label26 = Occupation{{Pluralize from text|{{{occupation|}}}|plural=s}}
| data26 = {{{occupation|}}}
| class26 = role
| label27 = Years active
| data27 = {{{years active|{{{years_active|{{{yearsactive|}}}}}}}}}
| label28 = Era
| data28 = {{{era|}}}
| class28 = category
| label29 = Employer{{Pluralize from text|{{{employer|}}}|likely=(s)|plural=s}}
| data29 = {{{employer|}}}{{main other|{{Pluralize from text| {{{employer|}}}|likely=[[Category:Pages using infobox person with multiple employers]]}}}}
| class29 = org
| label30 = {{#if:{{{organisation|}}}|Organisation|Organization}}{{#if:{{{organizations|}}}|s|{{pluralize from text|{{{organization|{{{organisation|}}}}}}|likely=(s)|plural=s}}}}
| data30 = {{{organisation|{{{organization|{{{organizations|}}}}}}}}}{{main other|{{Pluralize from text|{{{organization|{{{organisation|}}}}}}|likely=[[Category:Pages using infobox person with multiple organizations]]}}}}
| class30 = org
| label31 = Agent{{Pluralize from text|{{{agent|}}}|likely=(s)|plural=s}}
| data31 = {{{agent|}}}{{main other|{{Pluralize from text|{{{agent|}}}|likely=[[Category:Pages using infobox person with multiple agents]]}}}}
| class31 = agent
| label32 = Known for
| data32 = {{{known for|{{{known_for|{{{known|}}}}}}}}}
| label33 = Works
| data33 = {{{works|}}}
| label34 = <span style="white-space:nowrap;">Notable credit{{Pluralize from text|{{{credits|}}}|likely=(s)|plural=s}}</span>
| data34 = {{#if:{{{works|}}}||<!--
-->{{{credits|}}}{{main other|{{Pluralize from text|{{{credits|}}}|likely=[[Category:Pages using infobox person with multiple credits]]}}}}}}
| label35 = Label{{Pluralize from text|{{{label_name|}}}|likely=(s)|plural=s}}
| data35 = {{#if:{{{works|}}}{{{credits|}}}||<!--
-->{{{label_name|}}}{{main other|{{Pluralize from text|{{{label_name|}}}|likely=[[Category:Pages using infobox person with multiple labels]]}}}}}}
| label36 = <span style="white-space:nowrap;">Notable work</span>
| data36 = {{#if:{{{works|}}}{{{credits|}}}{{{label_name|}}}||{{{notable works|{{{notable_works|}}}}}}}}
| label37 = Style
| data37 = {{{style|}}}
| class37 = category
| label40 = Television
| data40 = {{{television|}}}
| label41 = Height
| data41 = {{#if:{{{height_m|{{{height_cm|}}}}}}{{{height_ft|}}}{{{height_in|}}} | {{convinfobox|{{{height_m|{{{height_cm|}}}}}}|{{#if:{{{height_m|}}}|m|cm}}|{{{height_ft|}}}|ft|{{{height_in|}}}|in}}}}{{#if:{{{height|}}} | {{infobox person/height|{{{height|}}}}}}}
| label42 = {{#if:{{{office|}}}|Office|Title}}
| data42 = {{{office|{{{title|}}}}}}
| class42 = title
| label43 = Term
| data43 = {{{term|}}}
| label44 = Predecessor
| data44 = {{{predecessor|}}}
| label45 = Successor
| data45 = {{{successor|}}}
| label46 = Political party
| data46 = {{{party|{{{political_party|}}}}}}
| class46 = org
| label47 = Other political<br />affiliations
| data47 = {{{otherparty|}}}
| class47 = org
| label48 = Movement
| data48 = {{{movement|}}}
| class48 = category
| label49 = Opponent{{Pluralize from text|{{{opponents|}}}|likely=(s)|plural=s}}
| data49 = {{{opponents|}}}{{main other|{{Pluralize from text|{{{opponents|}}}|likely=[[Category:Pages using infobox person with multiple opponents]]}}}}
| label50 = Board member of
| data50 = {{{boards|}}}
| label51 = {{#if:{{{criminal_charges|}}}|Criminal charges|Criminal charge{{pluralize from text|{{{criminal charge|{{{criminal_charge|}}}}}}|likely=(s)|plural=s}}}}
| data51 = {{{criminal_charges|{{{criminal charge|{{{criminal_charge|}}}}}}}}}{{main other|{{Pluralize from text|{{{criminal charge|{{{criminal_charge|}}}}}}|likely=[[Category:Pages using infobox person with multiple criminal charges]]}}}}
| label52 = Criminal penalty
| data52 = {{{criminal penalty|{{{criminal_penalty|}}}}}}
| label53 = {{#if:{{{judicial status|{{{judicial_status|}}}}}}|Judicial status|Criminal status}}
| data53 = {{#if:{{{judicial status|{{{judicial_status|}}}}}} | {{{judicial status|{{{judicial_status}}}}}} | {{{criminal status|{{{criminal_status|}}}}}}}}
| class53 = category
| label54 = Spouse{{#if:{{{spouses|}}}|s|{{Pluralize from text|{{{spouse|{{{spouse(s)|}}}}}}|likely=(s)|plural=s}}}}
| data54 = {{{spouse|{{{spouses|{{{spouse(s)|}}}}}}}}}{{main other|{{Pluralize from text| {{{spouse|{{{spouse(s)|}}}}}} |likely=[[Category:Pages using infobox person with multiple spouses]]}}}}
| label55 = Partner{{#if:{{{partners|}}}|s|{{Pluralize from text|{{{partner|{{{domesticpartner|{{{domestic_partner|{{{partner(s)|}}}}}}}}}}}} |likely=(s)|plural=s}}}}
| data55 = {{{partner|{{{domesticpartner|{{{domestic_partner|{{{partners|{{{partner(s)|}}}}}}}}}}}}}}}{{main other|{{Pluralize from text| {{{partner|{{{domesticpartner|{{{domestic_partner|{{{partner(s)|}}}}}}}}}}}} |likely=[[Category:Pages using infobox person with multiple partners]]}}}}
| label56 = Children
| data56 = {{{children|}}}
| label57 = {{#if:{{{parents|}}}|Parent{{Pluralize from text|{{{parents|}}}|likely=(s)|plural=s}}|<!--
-->{{#ifexpr:{{count|{{{father|}}}|{{{mother|}}}}} > 1|Parents|{{#if:{{{father|}}}|Father|{{#if:{{{mother|}}}|Mother}}}}}}}}
| data57 = {{#if:{{{parents|}}}|{{{parents}}}|{{#ifexpr:{{count|{{{father|}}}|{{{mother|}}}}} > 1|{{Unbulleted list|{{{father}}} (father)|{{{mother}}} (mother)}}|{{{mother|}}}{{{father|}}}}}}}<!--
-->{{main other|{{Pluralize from text|{{{parents|}}}|likely=[[Category:Pages using infobox person with multiple parents]]}}}}
| label58 = Relatives
| data58 = {{{relations|{{{relatives|}}}}}}
| label59 = Family
| data59 = {{{family|}}}
| label60 = Call sign
| data60 = {{{callsign|}}}
| label61 = Awards
| data61 = {{{awards|}}}
| label62 = {{#if:{{{honours|}}}|Honours|Honors}}
| data62 = {{{honours|{{{honors|}}}}}}
| data64 = {{{misc|{{{module|}}}}}}
| data65 = {{{misc2|{{{module2|}}}}}}
| data66 = {{{misc3|{{{module3|}}}}}}
| data67 = {{{misc4|{{{module4|}}}}}}
| data68 = {{{misc5|{{{module5|}}}}}}
| data69 = {{{misc6|{{{module6|}}}}}}
| label70 = Website
| data70 = {{{website|{{{homepage|{{{URL|{{{url|}}}}}}}}}}}}
| header71 = {{#if:{{{signature|}}}|{{if empty|{{{signature_type|}}}|Signature}}}}
| data72 = {{#invoke:InfoboxImage|InfoboxImage|image={{{signature|}}}|size={{{signature_size|}}}|class=infobox-signature skin-invert|sizedefault=150px|alt={{{signature alt|{{{signature_alt|}}}}}}}}
| header73 = {{#if:{{{footnotes|}}}|Notes}}
| data74 = {{#if:{{{footnotes|}}}|<div style="text-align: left;">{{{footnotes}}}</div>}}
}}<!--
-->{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages using {{if empty|{{lcfirst:{{{template_name|}}}}}|infobox person}} with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview = Page using [[Template:{{#if:{{{template_name|}}}|{{ucfirst:{{{template_name|}}}}}|Infobox person}}]] with unknown parameter "_VALUE_"|ignoreblank=n<!--this check deliberately flags empty unknown parameters; see talk, December 2022-->
| abovestyle | agent | alias | alma mater | alma_mater | alt | awards | baptised | baptized | birth_date | birth_name | birth_place | birthname | boards | body discovered | body_discovered | burial_coordinates | burial_place | callsign | caption | child | children | citizenship | credits | criminal charge | criminal penalty | criminal status | criminal_charge | criminal_charges | criminal_penalty | criminal_status | death cause | death_cause | death_date | death_place | disappeared_date | disappeared_place | disappeared_status | domestic_partner | domesticpartner | education | embed | embed_title | employer | era | family | father | footnotes | height | height_cm | height_ft | height_in | height_m | homepage | honorific prefix | honorific suffix | honorific_prefix | honorific_suffix | honorific-prefix | honorific-suffix | honors | honours | image | image caption | image size | image_alt | image_caption | image_size | image_upright | imagesize | judicial status | judicial_status | known | known for | known_for | label_name | landscape | misc | misc2 | misc3 | misc4 | misc5 | misc6 | module | module2 | module3 | module4 | module5 | module6 | monuments | mother | movement | name | native_name | native_name_lang | nickname | nocat_wdimage | notable works | notable_works | occupation | office | opponents | organisation | organization | organizations | other names | other_names | othername | otherparty | parents | partner | partners | partner(s) | party | predecessor | pre-nominals | political_party | post-nominals | pronunciation | relations | relatives | resting place | resting place coordinates | resting_place | resting_place_coordinates | restingplace | restingplacecoordinates | siglum | signature | signature alt | signature_alt | signature_size | signature_type | spouse | spouses | spouse(s) | status | style | successor | template_name | television | term | title | URL | url | website | works | years active | years_active | yearsactive }}<!--
-->{{Main other|{{#if:{{{pronunciation|}}}|[[Category:Biography template using pronunciation]]}}<!--
-->{{#if:{{{signature|}}}|[[Category:Biography with signature]]}}<!--
-->[[Category:Articles with hCards]]
}}<!--
-->{{#invoke:Check for conflicting parameters|check
| nested = 1
| template = [[Template:{{#if:{{{template_name|}}}|{{ucfirst:{{{template_name|}}}}}|Infobox person}}]]
| cat = {{main other|Category:Pages using {{if empty|{{{template_name|}}}|infobox person}} with conflicting parameters}}
| child; embed
| honorific prefix; honorific_prefix; honorific-prefix; pre-nominals
| honorific suffix; honorific_suffix; honorific-suffix; post-nominals
| image_alt; alt
| image size; image_size; imagesize
| image caption; caption; image_caption
| birth_name; birthname
| baptized; baptised
| status; disappeared_status
| death cause; death_cause
| body discovered; body_discovered
| resting place; resting_place; restingplace
| resting place coordinates; resting_place_coordinates; restingplacecoordinates
| other names; other_names; othername; nickname; alias
| alma mater; alma_mater
| years active; years_active; yearsactive
| organisation; organization; organizations
| political_party; party
| known for= known_for; known
| {{#if:{{{works|}}}|works;}} {{#if:{{{credits|}}}|credits;}} {{#if:{{{label_name|}}}|label_name;}} notable works; notable_works
| height_m; height_cm
| office; title
| criminal_charges; criminal charge; criminal_charge
| criminal penalty; criminal_penalty
| judicial status; judicial_status
| criminal status; criminal_status
| spouse; spouses; spouse(s)
| partner; domesticpartner; domestic_partner; partners; partner(s)
| {{#if:{{{parents|}}}||NULL_}}parents; {{#if:{{{father|}}}||NULL_}}father
| {{#if:{{{parents|}}}||NULL_}}parents; {{#if:{{{mother|}}}||NULL_}}mother
| relations; relatives
| honours; honors
| misc; module
| misc2; module2
| misc3; module3
| misc4; module4
| misc5; module5
| misc6; module6
| website; homepage; URL; url
}}<includeonly>{{#ifeq:{{{child|{{{embed|}}}}}}|yes||{{Wikidata image|1={{{image|}}}|2={{{nocat_wdimage|}}}}}}}</includeonly><noinclude>
{{documentation}}
</noinclude>
3h3f67kvpoxrlqpl3yf6047u17rz3l4
Template:Infobox person/doc
10
10511
61519
55369
2026-04-20T16:54:08Z
Khadaamm
17429
61519
wikitext
text/x-wiki
<noinclude>{{pp-template|small=yes}}{{pp-move-indef}}</noinclude>{{for|an infobox for fictional characters|Template:Infobox character}}
{{Template shortcut|Personbox}}
{{documentation subpage}}
{{Person infobox header}}
{{High-use|info=About [https://linkcount.toolforge.org/index.php?project=en.wikipedia.org&page=Template:Infobox_person&namespaces=0 497,000] of them (89%) are in mainspace.}}
{{Notice|Please note that in 2016, the {{para|religion}} and {{para|ethnicity}} parameters were removed from Infobox person as a result of [[Wikipedia:Village pump (policy)/Archive 126#RfC: Religion in biographical infoboxes|the RfC: Religion in biographical infoboxes]] and [[Wikipedia:Village pump (policy)/Archive 127#RfC: Ethnicity in infoboxes|the RfC: Ethnicity in infoboxes]] as clarified by [[Template talk:Infobox person/Archive 31#Ethnicity? Religion?|this discussion]].}}
{{Lua|Module:Infobox|Module:InfoboxImage|Module:Check for unknown parameters|Module:Check for conflicting parameters|Module:Person date}}
{{Tracks Wikidata|P18|cat=No local image but image on Wikidata}}
<!-- EDIT TEMPLATE DOCUMENTATION BELOW THIS LINE -->
{{tl|Infobox person}} may be used to summarize information about a particular person, usually at the top of an article.
== Redirects and calls ==
At least {{PAGESINCATEGORY:Templates calling Infobox person}} other [[:Category:Templates calling Infobox person|templates call this one]] and many templates {{Querylink|Special:WhatLinksHere/Template:Infobox_person|qs=namespace=10&hidetrans=1&hidelinks=1|redirect here}}.
== Modules ==
The following templates are suitable for use as a "module" in this one:
* Templates in [[:Category:Biographical templates usable as a module]]
* {{tl|Listen}}
* {{tl|Infobox Chinese}}
== Usage ==
The infobox may be added by pasting the template as shown below into an article and then filling in the desired fields. Any parameters left blank or omitted will not be displayed.
=== Blank template with basic parameters ===
{{Infobox person
| name = ''name''
| image = example-serious.jpg
| alt = alt
| caption = ''caption''
| birth_name = ''birth_name''
| birth_date = ''birth_date''
| birth_place = ''birth_place''
| death_date = ''death_date''
| death_place = ''death_place''
| other_names = ''other_names''
| occupation = ''occupation''
| years_active = ''years_active''
| known_for = ''known_for''
| notable_works = ''notable_works''
}}
<syntaxhighlight lang="wikitext" style="overflow:auto; line-height:1.2em;">
{{Infobox person
| name = <!-- defaults to article title when left blank -->
| image = <!-- filename only, no "File:" or "Image:" prefix, and no enclosing [[brackets]] -->
| alt = <!-- descriptive text for use by speech synthesis (text-to-speech) software -->
| caption =
| birth_name = <!-- use only if different from name -->
| birth_date = <!-- {{Birth date and age|YYYY|MM|DD}} for living people supply only the year with {{Birth year and age|YYYY}} unless the exact date is already widely published, as per [[WP:DOB]]. For people who have died, use {{Birth date|YYYY|MM|DD}}. -->
| birth_place =
| death_date = <!-- {{Death date and age|YYYY|MM|DD|YYYY|MM|DD}} (DEATH date then BIRTH date) -->
| death_place =
| other_names =
| occupation =
| years_active =
| known_for =
| notable_works =
}}
</syntaxhighlight>
<syntaxhighlight lang="wikitext" style="overflow:auto; line-height:1.2em;">
{{Infobox person
| name =
| image =
| alt =
| caption =
| birth_name =
| birth_date =
| birth_place =
| death_date =
| death_place =
| other_names =
| occupation =
| years_active =
| known_for =
| notable_works =
}}
</syntaxhighlight>
{{clear}}
=== Blank template with all parameters ===
Only the most pertinent information should be included. Please {{em|remove}} unused parameters, and refrain from inserting dubious trivia in an attempt to fill all parameters.
<syntaxhighlight lang="wikitext" style="overflow:auto; line-height:1.2em">
{{Infobox person
| honorific_prefix =
| name = <!-- defaults to article title when left blank -->
| honorific_suffix =
| native_name =
| native_name_lang =
| image = <!-- filename only, no "File:" or "Image:" prefix, and no enclosing [[brackets]] -->
| image_upright =
| landscape = <!-- yes, if wide image, otherwise leave blank -->
| alt = <!-- descriptive text for use by speech synthesis (text-to-speech) software -->
| caption =
| pronunciation =
| birth_name = <!-- use only if different from name -->
| birth_date = <!-- {{Birth date and age|YYYY|MM|DD}} for living people supply only the year with {{Birth year and age|YYYY}} unless the exact date is already widely published, as per [[WP:DOB]]. For people who have died, use {{Birth date|YYYY|MM|DD}}. -->
| birth_place =
| baptised = <!-- will not display if birth_date is entered -->
| disappeared_date = <!-- {{Disappeared date and age|YYYY|MM|DD|YYYY|MM|DD}} (disappeared date then birth date) -->
| disappeared_place =
| disappeared_status =
| death_date = <!-- {{Death date and age|YYYY|MM|DD|YYYY|MM|DD}} (enter DEATH date then BIRTH date (e.g., ...|1967|8|31|1908|2|28}} use both this parameter and |birth_date to display the person's date of birth, date of death, and age at death) -->
| death_place =
| death_cause = <!-- should only be included when the cause of death has significance for the subject's notability -->
| body_discovered =
| resting_place =
| resting_place_coordinates = <!-- {{coord|LAT|LONG|type:landmark|display=inline}} -->
| burial_place = <!-- may be used instead of resting_place and resting_place_coordinates (displays "Burial place" as label) -->
| burial_coordinates = <!-- {{coord|LAT|LONG|type:landmark|display=inline}} -->
| monuments =
| other_names =
| siglum =
| citizenship = <!-- use only when necessary per [[WP:INFONAT]] -->
| education =
| alma_mater =
| occupation =
| years_active =
| era =
| employer =
| organization =
| agent = <!-- discouraged in most cases, specifically when promotional, and requiring a reliable source -->
| known_for =
| notable_works = <!-- produces label "Notable work"; may be overridden by |credits=, which produces label "Notable credit(s)"; or by |works=, which produces label "Works"; or by |label_name=, which produces label "Label(s)" -->
| style =
| television =
| height = <!-- "X cm", "X m" or "X ft Y in" plus optional reference (conversions are automatic) -->
| title = <!-- formal/awarded/job title. The parameter |office=may be used as an alternative when the label is better rendered as "Office" (e.g. public office or appointments) -->
| term =
| predecessor =
| successor =
| party =
| otherparty =
| movement =
| opponents =
| boards =
| criminal_charges = <!-- criminality parameters should be supported with citations from reliable sources -->
| criminal_penalty =
| criminal_status =
| spouse = <!-- use article title or common name -->
| partner = <!-- (unmarried long-term partner) -->
| children =
| parents = <!-- overrides mother and father parameters -->
| mother = <!-- may be used (optionally with father parameter) in place of parents parameter (displays "Parent(s)" as label) -->
| father = <!-- may be used (optionally with mother parameter) in place of parents parameter (displays "Parent(s)" as label) -->
| relatives =
| family =
| callsign = <!-- amateur radio, use if relevant -->
| awards =
| website = <!-- {{URL|example.com}} -->
| module =
| module2 =
| module3 =
| module4 =
| module5 =
| module6 =
| signature =
| signature_type =
| signature_size =
| signature_alt =
| footnotes =
}}
</syntaxhighlight>
{{Parameter names example | _display=italics
| honorific_prefix | name | honorific_suffix
| native_name | native_name_lang
| image=example-serious.jpg | image_upright=1 | landscape | alt | caption <!--shows placement of parameters, see examples for image-->
| pronunciation
| birth_name | birth_date | birth_place | baptised <!--does not display due to birth date displayed-->
| disappeared_date | disappeared_place | disappeared_status | death_date | death_place | death_cause <!--should only be included when the cause of death has significance for the subject's notability-->
| body_discovered | resting_place | resting_place_coordinates | monuments
| other_names | siglum | citizenship | education | alma_mater
| occupation | years_active | era | employer | organization | agent | known_for | notable_works
| style | television | height
| title | term | predecessor | successor | party | otherparty | movement | opponents | boards
| criminal_charges | criminal_penalty | criminal_status
| spouse | partner | children | parents | relatives | family | callsign | awards | website
| module | module2 | module3 | module4 | module5 | module6 <!--removed the ... which only saved two lines from being shown-->
| signature=<nowiki>signature.jpg</nowiki> |signature_type | signature_size | signature_alt
| footnotes
}}
<syntaxhighlight lang="wikitext" style="overflow:auto; line-height:1.2em">
{{Infobox person
| honorific_prefix =
| name =
| honorific_suffix =
| native_name =
| native_name_lang =
| image =
| image_upright =
| landscape =
| alt =
| caption =
| pronunciation =
| birth_name =
| birth_date =
| birth_place =
| baptised =
| disappeared_date =
| disappeared_place =
| disappeared_status =
| death_date =
| death_place =
| death_cause =
| body_discovered =
| resting_place =
| resting_place_coordinates =
| burial_place =
| burial_coordinates =
| monuments =
| other_names =
| siglum =
| citizenship =
| education =
| alma_mater =
| occupation =
| years_active =
| era =
| employer =
| organization =
| agent =
| known_for =
| notable_works =
| style =
| television =
| height =
| title =
| term =
| predecessor =
| successor =
| party =
| otherparty =
| movement =
| opponents =
| boards =
| criminal_charges =
| criminal_penalty =
| criminal_status =
| spouse =
| partner =
| children =
| parents =
| mother =
| father =
| relatives =
| family =
| callsign =
| awards =
| website =
| module =
| module2 =
| module3 =
| module4 =
| module5 =
| module6 =
| signature =
| signature_type =
| signature_size =
| signature_alt =
| footnotes =
}}
</syntaxhighlight>
{{clear}}
== Parameters ==
{{notice|Do not use all these parameters for any one person. The list is long to cover a wide range of people. Use only those parameters that convey essential or notable information about the subject, and ensure that this information is sourced in the article or (if present only in the infobox) in the infobox itself.}}
Any parameters left blank or omitted will not be displayed. Many parameters have alternative names, implemented for compatibility with other templates (especially to aid merging). The preferred names are shown in the table below.
{| class="wikitable"
! Parameter
! Explanation
|-
| {{mono|honorific_prefix}}
| To appear on the line above the person's name. This is for honorifics of serious significance that are attached to the name in formal address, such as knighthoods, "The Honourable", and "His/Her Excellency"; do not use it for routine things like "{{!mxt|[[Dr.]]}}" or "{{!mxt|[[Ms.]]}}"
|-
| {{mono|name}}
| Common name of person (defaults to article name if left blank; provide {{para|birth_name}} (below) if different from {{para|name}}). If middle initials are specified (or implied) by the lead of the article, and are not specified separately in the {{para|birth_name}} parameter, include them here. ''Do not put honorifics or alternative names in this parameter.'' There are separate parameters for these things, covered below.
|-
| {{mono|honorific_suffix}}
| To appear on the line below the person's name. This is for things like {{para|honorific_suffix|[[Officer of the Order of the British Empire|OBE]]}} – honorifics of serious significance that are attached to the name in formal address, such as national orders and non-honorary doctorates; do not use it for routine things like "{{!mxt|[[Bachelor of Arts|BA]]}}". It is permissible but not required to use the {{tlx|post-nominals}} template inside this parameter; doing so requires {{tlx|post-nominals|size{{=}}100%|...}}.
|-
| {{mono|native_name}}
| The person's name in their own language, if different.
|-
| {{mono|native_name_lang}}
| [[ISO 639-1]] code, e.g., "{{pval|fr}}" for French. If more than one, use {{tlx|lang}} around each name in {{para|native_name}} instead.
|-
| {{mono|image}}
| Image name: {{pval|abc.jpg}}, {{pval|xpz.png}}, {{pval|123.gif}}, etc., without the {{code|File:}} or {{code|Image:}} prefix. If an image is desired but not available, one may add {{pval|yes}} to the {{para|needs-photo}} parameter of the {{tlx|WikiProject Biography}} template on the talk page. If no image is available yet, [[Wikipedia:Centralized discussion/Image placeholders|do not use an image placeholder]]. See [[#Image]] for further guidelines.
|-
| {{mono|image_upright}}
| Scales the image thumbnail from its default size by the given factor. Values less than 1 scale the image down (0.9 = 90%) and values greater than 1 scale the image up (1.15 = 115%).
|-
| {{mono|landscape}}
| Set to <code>yes</code> when using wide, short images. The image height (rather than width) will be limited to 200 pixels.
|-
| {{mono|alt}}
| Descriptive [[Wikipedia:Manual of Style/Accessibility/Alternative text for images|{{code|alt}} text for the image]], for visually impaired readers. One word (such as {{pval|photograph}}) is rarely sufficient. Do not copy-paste the value of {{para|caption}} (below) into this parameter. Example of the difference: "Willie Nelson at a concert in Dallas, 1989" is good as {{para|caption}} value; "Nelson in western-wear with an acoustic guitar, on stage in a daytime show with band in background" is an {{para|alt}} description. If nothing meaningful can be said that isn't already in the caption, use the [[Wikipedia:Manual of Style/Accessibility/Alternative text for images#Captions and nearby text|stock text]] {{para|alt|refer to caption}}.
|-
| {{mono|caption}}
| Caption for image, if needed. Try to include the date of photo, some context (check the <code>File:</code> or [[Wikimedia Commons|Commons]] page for the image). Image credit should generally not be included per [[MOS:CREDITS]].
|-
| {{mono|pronunciation}}
| Details of how to pronounce the individual's native name. <!--copied from TemplateData description, if changed please update there also-->
|-
| {{mono|birth_name}}
| Name at birth; use only if different from {{para|name}}.
|-
| {{mono|birth_date}}
| Date of birth: Use {{tlx|birth date and age}} (if living) or {{tlx|birth date}} (if dead). {{crossref|See template's page for details on usage.}} If only a year of birth is known, or age as of a certain date, consider using {{tlx|birth year and age}} or {{tlx|birth based on age as of date}}. For living people [[Wikipedia:Biographies of living persons#Privacy of personal information and using primary sources|supply only the year unless the exact date is already widely published]]. Treat such cases as if only the year is known, so use {{tlx|birth year and age}} or a similar option. The templates mentioned in this paragraph emit metadata indicating the date is in the Gregorian calendar; if the date is in the Julian calendar, do not use these templates, just write the date.
|-
| {{mono|{{vanchor|birth_place}}}}
| Place of birth: {{var|city}}, {{var|administrative region}}, {{var|country}}.
* Use the name of the birthplace at the time of birth, e.g.: {{pval|Saigon}} (prior to 1976) or {{pval|Ho Chi Minh City}} (post-1976).
* [[Wikipedia:Manual of Style/Icons#Do not use flags to indicate locations of birth, residence, or death|Do not use a flag template]], coat of arms, or other icon.
* [[Wikipedia:Manual of Style/Infoboxes#Purpose|Omit unnecessary or redundant details]]. For example, it is not necessary to state: {{!xt|{{pval|New York City, [[New York (state)|New York]], United States}}}} when {{xt|{{pval|New York City, U.S.}}}} conveys essentially the same information more concisely.
* Country name should be visible (not just in a link target). Well-known countries [[Wikipedia:Manual of Style/Linking#What generally should not be linked|should generally not be linked]], but historical and less-well-known countries can be.
* For modern subjects, the country should generally be a sovereign state; for United Kingdom locations, the constituent [[Countries of the United Kingdom|countries of the UK]] are sometimes used instead, when more appropriate in the context.
* For historical subjects, use the place name most appropriate for the context and our readership.
* Historical sovereign should be clear from the place of birth, as this determines nationality and citizenship. {{xt|Porbandar, Kathiawar Agency, British India}}; {{xt|San Juan, Puerto Rico, Spanish Empire}}
* For subsequent places (of death, etc.) it is not necessary to repeat jurisdictional details or links for the same place name.
* Follow [[MOS:USA]], e.g. "US" instead of "USA"
|-
| {{mono|baptised}}<br/>or {{mono|baptized}}
| Date of baptism: {{em|Only}} for use when birth date is not known (e.g., for [[Ludwig van Beethoven]]). Will not display if a birth date is entered. Do not use subtemplates. Parameter <code>baptized</code> can be used for articles that use American English spelling.
|-
| {{mono|disappeared_date}}
| (For missing people) Date of disappearance: Use {{tlx|disappeared date and age}} (if birth date is known) or {{tlx|disappeared date}} (if birth date unknown).
|-
| {{mono|disappeared_place}}
| (For missing people) Place of disappearance: {{var|city}}, {{var|administrative region}}, {{var|country}}. <!--This space is needed for readability, due to quirk of these templated elements being in proximity.--> ({{crossref|See {{para|birth_place}}, [[#birth place|above]], for instructions on how to use this parameter}}, including: no flag templates, inappropriate linking, redundancy, anachronisms, "country" definitions, etc.)
|-
| {{mono|disappeared_status}}
| (For missing people) Current status for the person, e.g., if the person is still regarded as missing (using {{tlx|missing for}} to calculate the time since disappearance), or if the person has been [[Declared death in absentia|declared dead ''{{lang|la|in absentia}}'']], with a date for such a ruling.
|-
| {{mono|death_date}}
| Date of death: Use {{tlx|death date and age}} (if birth date is known) or {{tlx|death date}} (if birth date unknown). {{crossref|See template's page for details on usage.}} If exact dates are unknown, consider using {{tlx|death year and age}}. The templates mentioned in this paragraph emit metadata indicating the date is in the Gregorian calendar; if the date is in the Julian calendar, do not use these templates, just write the date.
|-
| {{mono|death_place}}
| Place of death: {{var|city}}, {{var|administrative region}}, {{var|country}}. ({{crossref|See {{para|birth_place}}, [[#birth place|above]], for instructions on how to use this parameter}}, including: no flag templates, inappropriate linking, redundancy, anachronisms, "country" definitions, etc.)
|-
| {{mono|death_cause}}
| Cause of death. Should be clearly defined and sourced, and should only be included when the cause of death has significance for the subject's notability, e.g. [[James Dean]], [[John Lennon]]. It should not be filled in for unremarkable deaths such as those from old age or routine illness, e.g. [[Bruce Forsyth]], [[Eduard Khil]].
|-
| {{mono|body_discovered}}
| Place where the body was discovered (if different from place of death). {{var|city}}, {{var|administrative region}}, {{var|country}}. ({{crossref|See {{para|birth_place}}, [[#birth place|above]], for instructions on how to use this parameter}}, including: no flag templates, inappropriate linking, redundancy, anachronisms, "country" definitions, etc.)
|-
| {{mono|burial_place}}
| Place of burial {{var|city}}, {{var|administrative region}}, {{var|country}}. ({{crossref|See {{para|birth_place}}, [[#birth place|above]], for instructions on how to use this parameter}}, including: no flag templates, inappropriate linking, redundancy, anachronisms, "country" definitions, etc. {{crossref|See {{para|resting_place}} for non-burials}}.)
|-
| {{mono|burial_coordinates}}
| Coordinates for place of burial, to accompany {{para|burial_place}}. Use {{tlx|coord}} template.
|-
| {{mono|resting_place}}
| Location of columbarium, ash-scattering, etc. If no location, leave blank. {{var|city}}, {{var|administrative region}}, {{var|country}}. ({{crossref|See {{para|birth_place}}, [[#birth place|above]], for instructions on how to use this parameter}}, including: no flag templates, inappropriate linking, redundancy, anachronisms, "country" definitions, etc.)
|-
| {{mono|resting_place_coordinates}}
| Coordinates for location of columbarium, ash-scattering etc. Use {{tlx|coord}} template.
|-
| {{mono|monuments}}
| Significant monuments erected, buildings named, etc., in honour of the subject. If many, link to an appropriate section of the article instead.
|-
| {{mono|other_names}}
| Other notable names for the person, if different from {{para|name}} and {{para|birth_name}}. [[Wikipedia:Manual of Style/Biographies#Pseudonyms|This can include]] stage names, maiden/married names, nicknames, criminal aliases, etc.
|-
| {{mono|siglum}}
| [[Siglum]] or monogram, a text shortcut (often formed from the initials of the name, with variations) used to sign work, if relevant.
|-
| {{mono|citizenship}}
| Country of legal citizenship. Rarely needed - omit if the same as birth country. See [[WP:INFONAT]] for detailed guidelines. {{crossref|Also see {{para|birth_place}}, [[#birth place|above]], for instructions on how to use this parameter}}, including: no flag templates, inappropriate linking, anachronisms, "country" definitions, etc.
|-
| {{mono|education}}
| Include subject's educational credentials, typically university degrees. List the full article title of each degree-granting parent institution, followed by degree(s) earned in parentheses, e.g. an alumnus of [[Harvard College]], [[Harvard Law School]], and the [[Kellogg School of Management]] would be listed as: <br>
[[Harvard University]] (BA, JD) <br>
[[Northwestern University]] (MBA) <br><br> If insufficient information is available to determine specific credentials attained, the 'alma_mater' parameter may be more appropriate.
|-
| {{mono|alma_mater}}
| ''[[Alma mater]]''. This parameter is a more concise alternative to (not addition to) {{para|education}}, and will often consist of the linked name of the last-attended institution of higher education (not secondary schools). It is usually not relevant to include either parameter for non-graduates, but article talk page consensus may conclude otherwise, as perhaps at [[Bill Gates]].
|-
| {{mono|occupation}}
| Occupation(s) as given in the lead. Use list markup for three or more entries, e.g. with {{tlx|flatlist}}. Please observe [[sentence case]] and capitalise only the first letter of the first item; e.g.:
{{block indent|1={{Flatlist|
* Musician
* singer-songwriter
* actor
}}}}
|-
| {{mono|years_active}}
| Date range in years during which the subject was active in their principal occupation(s) and/or other activity for which they are notable. Use the format {{code|1950–2000}}, or {{code|1970–present}} if still active. [[Wikipedia:Manual of Style/Dates and numbers#Ranges|Date ranges]] always use an [[Wikipedia:Manual of Style#En dashes|en dash]], not hyphen. If no dates of birth and/or death are known for the subject, only a ''[[floruit]]'' date range, as is common with ancient subjects, this parameter can be used for it. If approximate (''[[wikt:circa#English|circa]]'') dates are known for either or both, put them in the {{para|birth_date}} and {{para|death_date}} parameters. Helpful templates: {{tlx|floruit}}, {{tlx|circa}}.
|-
| {{mono|era}}
| Era (e.g., {{pval|Medieval}}) in which the person lived; less specific than {{para|years_active}}. Should not be used if dates are available.
|-
| {{mono|employer}}
| Employer(s), if relevant.
|-
| {{mono|organization}} or {{mono|organisation}}
| Non-employing organization(s), if relevant.
|-
| {{mono|agent}}
| The subject's agent (individual and/or agency), discouraged in most cases, specifically when promotional, and requiring a [[Wikipedia:Identifying reliable sources|reliable source]].
|-
| {{mono|known_for}}
| A brief description of why the person is notable.
|-
| {{ubl|{{mono|notable_works}};<br/> {{small|alternatives:}}
|{{mono|credits}}
|{{mono|label_name}}
|{{mono|works}}
}}
| Title(s) of notable work(s) (publications, compositions, sculptures, films, etc.) by the subject, if any. Produces the label '''Notable work'''. May be overridden by {{para|credits}}, which produces '''Notable credit(s)'''; or by {{para|works}}, which produces '''Works'''; or by {{para|label_name}}, which produces '''Label(s)'''.
* The {{para|notable_works}}, {{para|credits}}, and {{para|label_name}} parameters are intended to be (at most) short [[#Inline lists|inline lists]].
* The {{para|label_name}} variant is used for one or more record labels with which a performer is associated, or a fashion label in which a designer has been heavily involved or for which they are well known. Remember that this parameter is an alternative to the others mentioned here and is not used along with them.
* The {{para|works}} variant is intended to link to {{em|a specific list article}} for a larger body of work (not all of which may be individually notable).
|-
| {{mono|style}}
| The style of the subject's works, if applicable. {{crossref|This parameter is not for [[Style (manner of address)|styles of address or office]]; see {{para|honorific_prefix}}.}}
|-
| {{mono|television}}
| Television programmes presented by or {{em|closely}} associated with the subject. For multiple entries, use an [[#Inline lists|inline list]].
|-
| {{mono|height}}
| If person was notable for their height, or if height is relevant. If used, this should also include the year of the measurement if the person had not reached full adulthood when this stat was published. {{crossref|See documentation of this parameter at [[Template:Infobox sportsperson#height|Template:Infobox sportsperson]] for more information.}}
|-
| {{mono|title}}
| Multiple uses:
* Formal title, such as {{pval|First Lady of Japan}} for [[Akie Abe]].
* Awarded title, such as {{pval|Mr. Olympia}} for [[Arnold Schwarzenegger]].
* Job title, such as {{pval|President of Calvin College}} for [[Anthony Diekema]].
* A combination of the above, such as {{pval|Professor of Mathematics}} and {{pval|[[Fellow of the Royal Society]]}} for [[Bill Parry (mathematician)|Bill Parry]]
For multiple entries, use an [[#Inline lists|inline list]].
Use the {{para|awards}} parameter, below, for awarded honors that are not really titles. A single award should not use both parameters.
|-
| {{mono|office}}
| May be used as an alternative to {{para|title}} when the label is better displayed as '''Office''' (e.g. public office or appointments). Using this parameter will override {{para|title}}.
|-
| {{mono|term}}
| Years the person held the {{para|title}} or {{para|office}} listed above. Helpful template: {{tlx|reign}} (also used for civil offices).
|-
| {{mono|predecessor}}
| Person who previously held the {{para|title}} or {{para|office}} listed above.
|-
| {{mono|successor}}
| Person who subsequently held the {{para|title}} or {{para|office}} listed above.
|-
| {{mono|party}}
| If relevant. Field labelled '''Political party'''.
|-
| {{mono|otherparty}}
| If relevant. Field labelled '''Other political affiliations'''.
|-
| {{mono|movement}}
| If relevant. Can be [[Social movement|social]], [[Political movement|political]] (non-party), [[Art movement|artistic]], [[Philosophical movement|philosophical]], [[List of literary movements|literary]], [[Cultural movement|cultural]], etc.
|-
| {{mono|opponents}}
| Notable relevant opponents (e.g., for major political office).
|-
| {{mono|boards}}
| For [[board of directors]] membership(s), if relevant. Field labeled '''Board member of'''.
|-
| {{ubl|{{mono|criminal_charges}}|{{mono|criminal_penalty}}|{{mono|criminal_status}}}}
| For convicted criminals only. Please be certain to support these parameters with citations from reliable sources, in the article body.
|-
| {{mono|spouse}}
| Name of spouse(s), followed by years of marriage. Use the format ''Name (m. 1950)'' for a current spouse, and ''Name (m. 1970–1999)'' for former spouse(s). Use article title (if linking) or [[Wikipedia:Article titles#Use commonly recognizable names|common name]]. For multiple entries, use an [[#Inline lists|inline list]]. For deceased persons still married at time of death, do not include the end year.
|-
| {{mono|partner}}
| If particularly relevant, or if the partner is notable; "partner" here means unmarried life partners in a [[domestic partnership]] (of any gender or sexual orientation), not business partner. Use the format ''Name (1950–present)'' for current partner and ''Name (1970–1999)'' for former partner(s).
|- id=children
| {{mono|children}}
| Typically the number of children (e.g., {{pval|3}}); only list names of independently notable or particularly relevant children. Names may be preceded by a number to show total children and avoid implying that named children are the only offspring. For multiple entries, use an [[#Inline lists|inline list]]. {{em|For [[Wikipedia:Biographies of living persons#Privacy of names|privacy reasons]], consider omitting the names of living children, unless notable.}}
|-
| {{mono|parents}}
| Names of parents; include only if they are independently notable or particularly relevant. For multiple entries, use an [[#Inline lists|inline list]]. If subject has only one notable mother and/or only one notable father, {{para|mother}} and {{para|father}} parameters may be used instead. These parameters may be used for biological, adoptive, foster, or step-parents.
|-
| {{mono|mother}}
| Name of mother; include only if subject has one mother who is independently notable or particularly relevant. Displays '''Parent(s)''' as label, and is overridden by the {{para|parents}} parameter.
|-
| {{mono|father}}
| Name of father; include only if subject has one father who is independently notable or particularly relevant. Displays '''Parent(s)''' as label, and is overridden by the {{para|parents}} parameter.
|-
| {{mono|relatives}}
| Names of siblings or other relatives; include only if independently notable and particularly relevant. Include the relationship in parentheses after the name (sister, uncle, etc.). For multiple entries, use an [[#Inline lists|inline list]].
|-
| {{mono|callsign}}
| Amateur radio [[call sign]], if relevant.
|-
| {{mono|awards}}
| Notable awards. If many, link to an appropriate section of the article instead. Use {{para|title}} parameter, above, for awarded titles; A single award should not use both parameters.
|-
| {{mono|website}}
| Official website only. Unofficial websites should be placed under <code><nowiki>==External links==</nowiki></code> in the body of the article. Use {{tlx|URL}} as in {{tnull|URL|Example.com}}. Do not display the {{samp|www.}} part unless the site requires it.
|-
| {{ubl | {{mono|module}} | {{mono|module2}} | {{mono|module3}} | {{mono|module4}} | {{mono|module5}} | {{mono|module6}} }}
| Used for embedding other infoboxes into this one. Example:
<syntaxhighlight lang="wikitext">
{{Infobox person
| name = Paul McCartney
...
| module =
{{Infobox musical artist
| embed = yes
| instrument = piano
...
}} <!-- end of Infobox musical artist -->
...
}} <!-- end of Infobox person -->
</syntaxhighlight>
{{crossref|For more detailed information, see [[Wikipedia:WikiProject Infoboxes/embed]].}}
|-
| {{mono|signature}}
| An image of the person's signature. Please use image name: {{pval|abc.jpg}}, {{pval|xpz.png}}, {{pval|123.gif}}, etc., without the {{samp|File:}} or {{samp|Image:}} prefix
|-
| {{mono|signature_type}}
| Changes the '''Signature''' label to the preferred argument, such as '''Seal'''
|-
| {{mono|signature_size}}
| Default is {{samp|150px}}. If necessary, a signature can be resized manually as per the {{para|image_size}} parameter.
|-
| {{mono|signature_alt}}
| Alt text for the signature image. For example, for {{samp|[[:File:Thomas Jefferson Signature.svg]]}}, the alt text might be {{para|signature_alt| Th: Jefferson}}, spelling out the signature exactly as it appears in the image.
|-
| {{mono|footnotes}}
| Textual notes about any of the infobox data. This is not for reference citations. If an infobox parameter's value needs a citation, [[Wikipedia:Citing sources|cite inline]] at the end of the value. Citations will appear in the article's references section along with the other citations in the article.
|-
| {{mono|image_size}}
| {{strongbad|Deprecated}}. Size to display image: {{pval|200px}} (set width), {{pval|x300px}} (set height), or {{pval|200x300px}} (max width & max height). If empty or omitted, this defaults to {{samp|frameless}} (default is {{samp|220px}}, but logged-in users can change this by clicking on "my preferences" and adjusting thumbnail size). [[Wikipedia:Image use policy#Displayed image size|Use of this parameter is discouraged]]. Use {{para|image_upright}} instead. Do not use "{{!mxt|×}}" or capital "{{!mxt|X}}"
|-
| {{mono|template_name}}
| '''This parameter should not be used in articles.''' It allows other templates to specify a template name such as ''Infobox architect'' for parameter tracking categories, like [[:Category:Pages using infobox architect with unknown parameters]] instead of [[:Category:Pages using infobox person with unknown parameters]]. The parameter is found in templates which use [[Template:Infobox person]] via [[Module:Template wrapper]], see [[:Category:Templates calling Infobox person]].
|}
=== Additional parameter usage explanation ===
==== Image ====
The image in the infobox should be representative of the person who is the subject of the article. For some historical figures, particularly those born in the 18th century or before, this image is often a painting or other artistic depiction of the individual (see [[George Washington]]). Persons born in the 20th century onward, such as [[Barack Obama]], are most often represented by a photograph of the individual.
When the subject of a biographical article has recently died, particularly those who have been publicly known for decades, editors may come to a consensus on the article's talk page regarding what image would best be suited for the infobox. An example of such a discussion can be found in the talk page archives for [[Elizabeth II]] (section [[Talk:Elizabeth II/Archive 45#Infobox photograph for after her death|Infobox photograph for after her death]]); in this instance, the 2015 photograph of Elizabeth II that was present in the article's infobox when discussions began was eventually replaced with a photograph of her taken in 1958.
=== Inline lists ===
{{Main|WP:Manual of Style/Lists#Horizontal lists|WP:Manual of Style/Lists#Unbulleted lists}}
Parameters with multiple values should be formatted with inline-list templates.
'''Horizontal''' ones include {{tlx|hlist}} or {{tlx|flatlist}}. In [[Wikipedia:Manual of Style/Lists#Horizontal lists|horizontal style]], only the first item is capitalized (aside from [[Wikipedia:Manual of Style/Capital letters#Proper names|proper names]]).
This style is best for short items, and few of them. Mid-dots, commas or semicolons are available as separators (use semicolons or mid-dots if any items contain their own commas). For example:
* {{para|parameter_name|{{tlp|hlist |Foo |bar |baz}}}} → {{hlist |Foo |bar |baz}}
* {{para|parameter_name|{{tlp|cslist |Foo |bar |baz}}}} → {{cslist |Foo |bar |baz}}
* {{para|parameter_name|{{tlp|cslist |Foo, fee |bar, bor |baz, biz |semi=true}}}} → {{cslist |Foo, fee |bar, bor |baz, biz |semi=true}}
Horizontal list example with {{tlx|hlist|Item one|item two|item three}}: {{hlist|Item one|item two|item three}}
'''Vertical''' templates are {{tlx|plainlist}} and {{tlx|unbulleted list}} (vertical), use [[Wikipedia:Manual of Style/Lists#Unbulleted lists|unbulleted, non-indented lists]] for clean display in infoboxes. Entries may be all [[sentence case]], or all lowercase (aside from proper names) after the first.
This style is best for long items, and longer lists. For long lists of information that may not be of immediate interest but retained for reference, the {{tlx|collapsible list}} template can be used; this is not a universally accessible option, so should not be used for key information.
''[[Wikipedia:Manual of Style/Lists#Line breaks|Do not use {{tag|br|s}} markup]]'' to create fake lists, as in: {{!mxt|<nowiki>Item one<br />item two<br />item three</nowiki>}}.
Vertical list example:, using {{tlx|unbulleted list|Item one|item two|item three}}:
{{unbulleted list|Item one|item two|item three}}
== Example ==
{{Infobox person{{#ifeq:{{SUBPAGENAME}}|sandbox |/sandbox}}
| name = Bill Gates
| post-nominals =
| image = Bill Gates 2017 (cropped).jpg
| alt = Head and shoulders photo of Bill Gates
| caption = Gates in 2017
| birth_name = William Henry Gates III
| birth_date = {{birth date and age|1955|10|28}}
| birth_place = [[Seattle, Washington]], U.S.
| known_for = Co-founder of [[Microsoft]] and [[Bill & Melinda Gates Foundation]]
| education = [[Harvard University]] (dropped out)
| occupation = {{hlist|Software developer|investor|entrepreneur}}
| years_active = 1972–present
| title = {{indented plainlist|
* Co-[[chairperson]] of the Bill & Melinda Gates Foundation
* Chairman and founder of [[Branded Entertainment Network]]
* Chairman and founder of [[Cascade Investment]]
* Chairman and co-founder of [[TerraPower]]
* Founder of [[Breakthrough Energy]]
* Technology advisor of Microsoft}}
| boards = {{plainlist|
* [[Berkshire Hathaway]]
* Microsoft (former, both)}}
| spouse = {{marriage|[[Melinda French]]|January 1, 1994|August 2, 2021|reason=divorce}}
| children = 3
| father = [[Bill Gates Sr.]]
| mother = [[Mary Maxwell Gates|Mary Maxwell]]
| website = {{URL|https://www.gatesnotes.com}}
| awards = {{ubl|[[Presidential Medal of Freedom]] (2016)|[[Hilal-e-Pakistan]] (2022)}}
| signature = Bill Gates signature.svg
| signature_alt = William H. Gates III
}}
<syntaxhighlight lang="wikitext" style="overflow: auto">
{{Infobox person
| name = Bill Gates
| post-nominals =
| image = Bill Gates 2017 (cropped).jpg
| alt = Head and shoulders photo of Bill Gates
| caption = Gates in 2017
| birth_name = William Henry Gates III
| birth_date = {{birth date and age|1955|10|28}}
| birth_place = [[Seattle, Washington]], U.S.
| known_for = Co-founder of [[Microsoft]] and [[Bill & Melinda Gates Foundation]]
| education = [[Harvard University]] (dropped out)
| occupation = {{hlist|Software developer|investor|entrepreneur}}
| years_active = 1972–present
| title = {{indented plainlist|
* Co-[[chairperson]] of the Bill & Melinda Gates Foundation
* Chairman and founder of [[Branded Entertainment Network]]
* Chairman and founder of [[Cascade Investment]]
* Chairman and co-founder of [[TerraPower]]
* Founder of [[Breakthrough Energy]]
* Technology advisor of Microsoft}}
| boards = {{plainlist|
* [[Berkshire Hathaway]]
* Microsoft (former, both)}}
| spouse = {{marriage|[[Melinda French]]|January 1, 1994|August 2, 2021|reason=divorce}}
| children = 3
| father = [[Bill Gates Sr.]]
| mother = [[Mary Maxwell Gates|Mary Maxwell]]
| website = {{URL|https://www.gatesnotes.com}}
| awards = {{ubl|[[Presidential Medal of Freedom]] (2016)|[[Hilal-e-Pakistan]] (2022)}}
| signature = Bill Gates signature.svg
| signature_alt = William H. Gates III
}}
</syntaxhighlight>
== Microformat ==
{{UF-hcard-person}}
{{clear}}
== TemplateData ==
{{TemplateData header}}
<div style="width:auto; overflow:scroll">
<templatedata>
{
"description": "An infobox for articles about people",
"format": "{{_\n| __________________ = _\n}}\n",
"params": {
"honorific_prefix": {
"description": "Honorific prefix(es), to appear on the line above the person's name",
"label": "Honorific prefix",
"aliases": [
"honorific-prefix",
"honorific prefix",
"pre-nominals"
]
},
"name": {
"description": "Common name of person (defaults to article name if left blank; provide birth_name (below) if different from name). If middle initials are specified (or implied) by the lead of the article, and are not specified separately in the birth_name field, include them here.",
"label": "Name",
"type": "string",
"suggested": true
},
"honorific_suffix": {
"description": "Honorific suffix(es), to appear on the line below the person's name",
"label": "Post-nominals",
"aliases": [
"honorific-suffix",
"honorific suffix",
"post-nominals"
]
},
"native_name": {
"description": "The person's name in their own language, if different.",
"label": "Native name",
"type": "string"
},
"native_name_lang": {
"description": "ISO 639-1 code, e.g., \"fr\" for French. If more than one, use Template:lang in 'native_name' instead.",
"label": "Native name language"
},
"image": {
"description": "Image name: abc.jpg, xpz.png, 123.gif, etc. If an image is desired but not available, one may add \"yes\" to the \"needs-photo\" section of the :Template:WPBiography on the talkpage. If no image is available yet, do not use an image placeholder.",
"label": "Image",
"example": "abc.jpg, xpz.png, 123.gif",
"type": "wiki-file-name",
"suggested": true
},
"image_size": {
"description": "DEPRECATED/DISCOURAGED. Size to display image: 200px (set width), x300px (set height), or 200x300px (max width & max height). This defaults to frameless (default is 220px, but logged in users can change this by clicking on \"my preferences\" and adjusting thumbnail size) if empty or omitted. Use of this parameter is discouraged as per WP:IMGSIZE. Use image_upright instead.",
"label": "DEPRECATED: Image size",
"aliases": [
"image size",
"imagesize"
],
"example": "200px",
"default": "220px",
"deprecated": "DEPRECATED: Use of this parameter is discouraged as per WP:IMGSIZE. Delete it when encountered and use image_upright instead."
},
"alt": {
"description": "Alt text for image, for visually impaired readers. One word (such as \"photograph\") is rarely sufficient. See WP:ALT.",
"label": "Alt",
"type": "string",
"aliases": [
"image_alt"
]
},
"caption": {
"description": "Caption for image, if needed. Try to include date of photo when relevant.",
"label": "Caption",
"aliases": [
"image caption",
"image_caption"
],
"type": "string"
},
"pronunciation": {
"description": "Details of how to pronounce the individual's native name.",
"label": "Native name pronunciation"
},
"birth_name": {
"description": "Name at birth; use only if different from name.",
"label": "Birth name",
"aliases": [
"birthname"
],
"type": "string"
},
"birth_date": {
"description": "Date of birth: {{Birth date and age|YYYY|MM|DD}} for living people. For people who have died, use {{Birth date|YYYY|MM|DD}}. If only a year of birth is known, or age as of a certain date, consider using Template:birth year and age or Template:birth based on age as of date.",
"label": "Birth date",
"type": "content"
},
"birth_place": {
"description": "Place of birth: city, administrative region, sovereign state. Use the name of the birthplace at the time of birth, e.g.: Saigon (prior to 1976), Ho Chi Minh City (post 1976). Do not use a flag template.",
"label": "Birth place",
"type": "string"
},
"baptised": {
"description": "Date of baptism: ONLY for use when birth date is not known (e.g., Beethoven). Will not display if a birth date is entered. Do not use subtemplates. Parameter 'baptized' can be used for articles that use American english spelling.",
"label": "Baptised",
"aliases": [
"baptized"
],
"type": "date"
},
"disappeared_date": {
"description": "(For missing people) Date of disappearance: Template:disappeared date and age (if birth date is known) or Template:disappeared date (if birth date unknown).",
"label": "Disappeared date"
},
"disappeared_place": {
"description": "(For missing people) Place of disappearance: city, administrative region, sovereign state. Do not use a flag template.",
"label": "Disappeared place"
},
"disappeared_status": {
"description": "(For missing people) Current status for the person, e.g., if the person is still regarded as missing (using Template:missing for to calculate the time since disappearance), or if the person has been declared dead in absentia, with a date for such a ruling.",
"label": "Disappeared status",
"aliases": [
"status"
]
},
"death_date": {
"description": "Date of death: {{Death date and age|YYYY|MM|DD|YYYY|MM|DD}} (if birth date is known) or Template:death date (if birth date unknown). See Template:Death date/doc for details on usage. If exact dates are unknown, consider using Template:death year and age.",
"label": "Death date"
},
"death_place": {
"description": "Place of death: city, administrative region, sovereign state. Note: Do not use a flag template. Use the name of the deathplace at the time of death, e.g.: Saigon (prior to 1976), Ho Chi Minh City (post 1976)",
"label": "Death place",
"type": "string"
},
"death_cause": {
"description": "Cause of death. This should only be included when the cause of death has significance for the subject's notability.",
"label": "Death cause",
"aliases": [
"death cause"
]
},
"body_discovered": {
"description": "Place where the body was discovered (if different from place of death). Do not use a flag template.",
"label": "Body discovered",
"aliases": [
"body discovered"
]
},
"resting_place": {
"description": "Place of burial, ash-scattering, etc. Do not use a flag template.",
"label": "Resting place",
"aliases": [
"resting place",
"restingplace"
]
},
"resting_place_coordinates": {
"description": "Coordinates for place of burial, ash-scattering etc. Use Template:coord template.",
"label": "Resting place coordinates",
"aliases": [
"resting place coordinates",
"restingplacecoordinates"
]
},
"monuments": {
"description": "Significant monuments erected, buildings named, etc., in honour of the subject. If many, link to an appropriate section of the article instead.",
"label": "Monuments"
},
"other_names": {
"description": "Other notable names for the person, if different from name and birth_name.",
"label": "Other names",
"aliases": [
"other names",
"othername",
"nickname",
"alias"
]
},
"siglum": {
"description": "Siglum, monogram, shortcut, if relevant.",
"label": "Siglum"
},
"citizenship": {
"description": "Country of legal citizenship. Rarely needed. Should only be used if citizenship cannot be inferred from the birthplace. Do not use a flag template.",
"label": "Citizenship",
"type": "string"
},
"education": {
"description": "Include subject's educational credentials, typically university degrees. List the full article title of each degree-granting parent institution, followed by degree(s) earned in parentheses, e.g. an alumnus of [[Harvard College]], [[Harvard Law School]], and the [[Kellogg School of Management]] would be listed as: [[Harvard University]] (BA, JD) [[Northwestern University]] (MBA). If insufficient information is available to determine specific credentials attained, the 'alma_mater' parameter may be more appropriate.",
"label": "Education"
},
"alma_mater": {
"description": "Alma mater. This parameter is a more concise alternative to 'education', and will most often simply consist of the linked name of the last-attended higher education institution. It is usually not relevant to include either parameter for non-graduates, but article talk page consensus may conclude otherwise, as at Bill Gates.",
"label": "Alma mater",
"aliases": [
"alma mater"
]
},
"occupation": {
"description": "Occupation(s) as given in the lead.",
"label": "Occupation"
},
"years_active": {
"description": "Date range in years during which the subject was active in their principal occupation(s) and/or other activity for which they are notable. Use the format 1950–2000, or 1970–present if still active (note the use of an en dash, not hyphen). If no dates of birth and/or death are known for the subject, only a floruit date range, as is common with ancient subjects, this parameter can be used for it. If approximate (circa) dates are known for either or both, put them in the birth_date and death_date parameters.",
"label": "Years active",
"aliases": [
"years active",
"yearsactive"
]
},
"era": {
"description": "Era during which the subject lived or was active. Less specific than 'years active'.",
"label": "Era"
},
"employer": {
"description": "Employer(s), if relevant.",
"label": "Employer"
},
"organization": {
"description": "Non-employing organization(s), if relevant.",
"label": "Organization",
"aliases": [
"organizations",
"organisation",
"organisations"
]
},
"agent": {
"description": "The subject's agent (individual and/or agency), discouraged in most cases, specifically when promotional, and requiring a reliable source.",
"label": "Agent"
},
"known_for": {
"description": "A brief description of what the person is notable for.",
"label": "Known For",
"aliases": [
"known for",
"known"
],
"example": "Environmental activism"
},
"notable_works": {
"description": "Title(s) of notable work(s) (publications, compositions, sculptures, films, etc.) by the subject, if any.",
"label": "Notable works",
"aliases": [
"works",
"credits",
"notable works",
"label_name"
]
},
"style": {
"description": "The style in which the subject works, if applicable.",
"label": "Style"
},
"television": {
"description": "Television programmes presented by or closely associated with the subject.",
"label": "Television"
},
"height": {
"description": "If person was notable for their height, or if height is relevant. If used, this should also include the year of the measurement if the person had not reached full adulthood when this stat was published. See documentation of this parameter at Template:Infobox sportsperson for more information.",
"label": "Height"
},
"height_m": {
"description": "If person was notable for their height, or if height is relevant, their height in metres (it will be automatically converted to Imperial).",
"label": "Height in metres",
"type": "number"
},
"height_cm": {
"description": "If person was notable for their height, or if height is relevant, their height in centimetres (it will be automatically converted to Imperial).",
"label": "Height in centimetres",
"type": "number"
},
"height_ft": {
"description": "If person was notable for their height, or if height is relevant, their height in whole feet (it will be automatically converted to SI). Use with height_in.",
"label": "Height in feet",
"type": "number"
},
"height_in": {
"description": "If person was notable for their height, or if height is relevant, their height in remaining inches (it will be automatically converted to SI). Use with height_ft.",
"label": "Remaining height in inches",
"type": "number"
},
"title": {
"description": "Multiple uses: Formal title, such as First Lady of Japan for Akie Abe.; Awarded title, such as Mr. Olympia for Arnold Schwarzenegger.; Job title, such as President of Calvin College for Anthony Diekema.; A combination of the above, such as Professor of Mathematics and Fellow of the Royal Society for Bill Parry See also \"awards\" parameter, below, for awarded honors that are not really titles. A single award should not use both parameters.",
"label": "Title",
"aliases": [
"office"
]
},
"term": {
"description": "Years the person held the title listed above.",
"label": "Term"
},
"predecessor": {
"description": "Person who previously held the title listed above.",
"label": "Predecessor"
},
"successor": {
"description": "Person who subsequently held the title listed above.",
"label": "Successor"
},
"party": {
"description": "If relevant. Field labelled Political party.",
"label": "Party",
"aliases": [
"political_party"
]
},
"otherparty": {
"description": "If relevant. Field labelled Other political affiliations.",
"label": "Other party"
},
"movement": {
"description": "If relevant. '''Movement''' can be social, political (non-party), artistic, philosophical, literary, cultural, etc.",
"label": "Movement"
},
"opponents": {
"description": "Notable relevant opponents (e.g., for major political office).",
"label": "Opponents"
},
"boards": {
"description": "For board of directors membership(s), if relevant. Field labeled Board member of.",
"label": "Boards"
},
"criminal_charges": {
"description": "For convicted criminals only. Please be certain to support these parameters with citations from reliable sources in the article body.",
"label": "Criminal charge(s)",
"aliases": [
"criminal_charge",
"criminal charge"
]
},
"criminal_penalty": {
"label": "Criminal penalty",
"description": "For convicted criminals only. Please be certain to support these parameters with citations from reliable sources, in the article body.",
"aliases": [
"criminal penalty"
]
},
"criminal_status": {
"label": "Criminal status",
"description": "For convicted criminals only. Please be certain to support these parameters with citations from reliable sources, in the article body.",
"aliases": [
"judicial_status",
"judicial status",
"criminal status"
]
},
"spouse": {
"description": "Name of spouse(s), followed by years of marriage. Use the format Name (married 1950–present) for a current spouse, and Name (married 1970–1999) for former spouse(s). Separate entries using Template:Plainlist or Template:Unbulleted list. For deceased persons still married at time of death, do not include an end year. {{Marriage}} may be used.",
"label": "Spouse(s)",
"aliases": [
"spouses",
"spouse(s)"
]
},
"partner": {
"description": "For unmarried life partners in a domestic partnership (of any gender or sexual orientation), not business partners. Use the format Name (1950–present) for current partner and Name (1970–1999) for former partner(s).",
"label": "Partner(s)",
"aliases": [
"partners",
"partner(s)",
"domestic_partner",
"domesticpartner"
]
},
"children": {
"description": "Number of children, or list of independently notable names, in which case, separate entries using Template:Plainlist or Template:Unbulleted list. Names may be preceded by a number to show total children and avoid implying that named children are the only offspring. For privacy reasons, consider omitting the names of children of living persons, unless notable.",
"label": "Children",
"example": "3"
},
"parents": {
"description": "Names of parents. Separate entries using Template:Plainlist or Template:Unbulleted list. If subject has only one notable mother and/or father, 'mother' and 'father' parameters may be used instead",
"label": "Parent(s)"
},
"mother": {
"description": "Name of mother; include only if subject has one mother who is independently notable or particularly relevant. Overwritten by 'parents' parameter.",
"label": "Mother",
"type": "string"
},
"father": {
"description": "Name of father; include only if subject has one father who is independently notable or particularly relevant. Overwritten by 'parents' parameter.",
"label": "Father",
"type": "string"
},
"relatives": {
"description": "Names of siblings or other relatives. Include the relationship in parentheses after the name (sister, uncle, etc). Separate entries using Template:Plainlist or Template:Unbulleted list.",
"label": "Relatives",
"aliases": [
"relations"
]
},
"family": {
"description": "Family or house of the individual, if notable.",
"label": "Family"
},
"callsign": {
"description": "Amateur radio call sign, if relevant.",
"label": "Callsign"
},
"awards": {
"description": "Notable awards. If many, link to an appropriate section of the article instead. See also \"title\" parameter, above, for awarded titles. A single award should not use both parameters.",
"label": "Awards"
},
"honours": {
"description": "Honours the individual has been awarded, if notable.",
"label": "Honours",
"aliases": [
"honors"
]
},
"website": {
"description": "Official website only. Unofficial websites should be placed under ==External links== in the body of the article. Use {{URL}}. Do not include the www. part unless the server requires it. Use camel case capitalization to make multiword domain names easier to read.",
"label": "Website",
"aliases": [
"homepage",
"URL",
"url"
],
"type": "content",
"example": "{{URL|example.com}}",
"suggested": true
},
"module": {
"description": "Used for embedding other infoboxes into this one.",
"label": "Module",
"aliases": [
"misc"
]
},
"module2": {
"description": "Used for embedding other infoboxes into this one.",
"label": "Module two",
"aliases": [
"misc2"
]
},
"module3": {
"description": "Used for embedding other infoboxes into this one.",
"label": "Module three",
"aliases": [
"misc3"
]
},
"module4": {
"description": "Used for embedding other infoboxes into this one.",
"label": "Module four",
"aliases": [
"misc4"
]
},
"module5": {
"description": "Used for embedding other infoboxes into this one.",
"label": "Module five",
"aliases": [
"misc5"
]
},
"module6": {
"description": "Used for embedding other infoboxes into this one.",
"label": "Module six",
"aliases": [
"misc6"
]
},
"child": {
"label": "DEPRECATED: Use as an embedded infobox",
"description": "DEPRECATED: Use this infobox within another one. For experts only.",
"example": "yes",
"deprecated": true,
"aliases": [
"embed"
]
},
"signature": {
"description": "An image of the person's signature. Please use image name: abc.jpg, xpz.png, 123.gif, etc.",
"label": "Signature",
"type": "wiki-file-name"
},
"signature_type": {
"description": "Alter from Signature to, for example, Seal",
"label": "Signature type",
"type": "string"
},
"signature_size": {
"description": "Default is 150px. If necessary, a signature can be resized manually as per the \"image_size\" parameter.",
"label": "Signature size"
},
"signature_alt": {
"description": "Alt text for the signature image. For example, for :File:Thomas Jefferson Signature.svg, the alt text might be |signature_alt= Th: Jefferson, spelling out the signature exactly as it appears in the image.",
"label": "Signature alt",
"aliases": [
"signature alt"
],
"type": "string"
},
"footnotes": {
"description": "Notes about any of the infobox data.",
"label": "Footnotes"
},
"abovestyle": {
"description": "DEPRECATED: A CSS style to use for the individual's name, over-riding the community norm. Use only in exception circumstances.",
"label": "DEPRECATED: Name CSS over-ride",
"deprecated": true
},
"image_upright": {
"label": "Image upright",
"description": "Scales the image thumbnail from its default size by the given factor. Values less than 1 scale the image down (0.9 = 90%) and values greater than 1 scale the image up (1.15 = 115%).",
"example": "1.15",
"default": "1",
"type": "number"
},
"landscape": {
"label": "Landscape",
"description": "Set to yes when using wide, short images. The image height (rather than width) will be limited to 200 pixels.",
"type": "boolean"
},
"burial_place": {
"label": "Burial place",
"description": "Place of burial, alternative to 'Resting place' Displays the label 'Burial place'.",
"type": "content"
},
"burial_coordinates": {
"label": "Burial place coordinates",
"description": "Coordinates for place of burial, to accompany 'Burial place'. Use {{coord}} template."
},
"nocat_wdimage": {
"label": "nocat_wdimage",
"description": "Where an infobox has no image but Wikidata has an image name, add an image or |nocat_wdimage=yes to the infobox.",
"type": "string"
},
"template_name": {
"label": "Template name",
"description": "Used when {{Infobox person}} is wrapped by another template. This would be the (lower-case) name of the wrapping template, without the \"Template:\" prefix."
}
},
"paramOrder": [
"honorific_prefix",
"name",
"honorific_suffix",
"native_name",
"native_name_lang",
"image",
"image_upright",
"landscape",
"alt",
"caption",
"pronunciation",
"other_names",
"siglum",
"birth_name",
"birth_date",
"birth_place",
"baptised",
"disappeared_date",
"disappeared_place",
"disappeared_status",
"death_date",
"death_place",
"death_cause",
"body_discovered",
"resting_place",
"resting_place_coordinates",
"burial_place",
"burial_coordinates",
"monuments",
"citizenship",
"education",
"alma_mater",
"occupation",
"years_active",
"era",
"employer",
"organization",
"agent",
"known_for",
"notable_works",
"style",
"television",
"height",
"height_m",
"height_cm",
"height_ft",
"height_in",
"title",
"term",
"predecessor",
"successor",
"party",
"otherparty",
"movement",
"opponents",
"boards",
"criminal_charges",
"criminal_penalty",
"criminal_status",
"spouse",
"partner",
"children",
"parents",
"mother",
"father",
"relatives",
"family",
"callsign",
"awards",
"honours",
"website",
"template_name",
"module",
"module2",
"module3",
"module4",
"module5",
"module6",
"signature",
"signature_type",
"signature_size",
"signature_alt",
"footnotes",
"nocat_wdimage",
"child",
"abovestyle",
"image_size"
]
}
</templatedata>
</div>
== Tracking categories ==
* {{clc|Pages using infobox person with unknown parameters}}
* {{clc|Pages using infobox person with conflicting parameters}}
* {{clc|Pages using infobox person with deprecated parameters}}
* {{clc|Pages using infobox person with multiple employers}}
* {{clc|Pages using infobox person with multiple organizations}}
* {{clc|Pages using infobox person with multiple agents}}
* {{clc|Pages using infobox person with multiple credits}}
* {{clc|Pages using infobox person with multiple labels}}
* {{clc|Pages using infobox person with multiple opponents}}
* {{clc|Pages using infobox person with multiple criminal charges}}
* {{clc|Pages using infobox person with multiple spouses}}
* {{clc|Pages using infobox person with multiple partners}}
* {{clc|Pages using infobox person with multiple parents}}
* {{clc|Biography template using pronunciation}}
* {{clc|Biography with signature}}
* {{clc|No local image but image on Wikidata}} – Used by [[Template:Wikidata image]] to track articles where an infobox has no image but [[Wikidata]] has an image name. To exclude articles from this category, add an image or {{para|nocat_wdimage|yes}} to the infobox.
== See also ==
* {{clc|Category:Templates calling Infobox person}}
Variations of this template which use [[Wikidata]]:
* {{tl|Infobox person/Wikidata}}
Dependencies:
* {{tl|Br separated entries}}
* {{tl|Pluralize from text}}
* {{tl|Main other}}
* {{tl|Convinfobox}}
* {{tl|Infobox person/height}}
* {{tl|Count}}
* {{tl|Unbulleted list}}
* {{tl|If empty}}
Alternative templates are listed at [[Wikipedia:WikiProject Biography/Infoboxes|WikiProject Biography/Infoboxes]] and within the [[:Category:People and person infobox templates|people and person infobox templates category]].
<div style="display: none">{{reflist}}</div>
{{Film- and television-related infobox templates}}
<includeonly>
{{Basepage subpage|
[[Category:Infobox templates|Person]]
[[Category:People and person infobox templates| ]]
[[Category:Biographical templates usable as a module|Person]]
[[Category:Infobox templates with module parameter|Person]]
[[Category:Templates that add a tracking category]]
}}
</includeonly>
9dp2ef18lmnx1c569lyjvn2fcwfxso5
Njideka Akunyili Crosby
0
10998
61537
59103
2026-04-20T17:08:16Z
InternetArchiveBot
12362
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
61537
wikitext
text/x-wiki
{{Databox|item=Q21284874}}
'''Njideka Akunjili Crosby''' nye aɖaŋudɔwɔla aɖe si wodzi ɖe Nigeria dukɔ me. Eƒe ŋkɔ ɖi hoo ɖe eƒe nutata ɖe aɖaŋu me si ɖea amenyenye, dekɔnuwo ƒe nudede wo nɔewo me kple yevublotsinɔlawo ƒe numetotowo fiana.<ref>https://www.wmagazine.com/story/njideka-akunyili-crosby-artist-painter</ref> Wodzii le ƒe akpe ɖeka alafa asieke blaenyi-vɔ-etɔ̃ me (1983) le Enugu tokɔ si le Nigeria la me. Ezɔ mɔ yi Amerika dukɔa me le esime wòxɔ ƒe wuiade ko. Le eƒe sukudede ƒe mɔzɔzɔ me la, ede suku le “Swarthmore College, Pennsyvania Academy of the Fine Arts, kple Yale University School of Art” hã eye afi mae wòxɔ “MFA” ƒe ɖaseɖigbalē la le. Njideka Akunyili Crosby.
Akunyili Crosby ƒe dɔwɔwɔwo lɔ aŋɔsisi na nu, nɔnɔmetatawo kple fotowo siwo wòwɔ tsɔtsɔ yi teƒe kple dukɔ bubuwo me. Zi geɖe la, etsɔa ame ŋutɔ kple dekɔnuwo ƒe nɔnɔmetatawo si tso Nigeriatɔwo ŋu la dea eme. Eƒe aɖaŋudɔwo ɖea eƒe nuteƒekpɔkpɔwo fiana to dekɔnu kple degbenɔnɔ ƒe nɔnɔme vovovowo me. Eɖea aƒe me nuwo kpɔkpɔ gaglaa fiana eye nu siawo doa ka kplikplikpli kple ame siwo ƒe ŋutinya kple kple nuwɔnawo ŋu we nu ƒome tsoe la fiana nyuie. Eƒe dɔ nyany1 siwo bɔ ɖe teƒe geɖe la ƒe ɖewoe nye; sr-ɖeɖe ƒe nɔnɔmetata si wòwɔ le ƒe akpe eve kple wuieve me (2012), si wòtsɔ ɖe San Francisco Blemanuwodzraɖoƒe si le ŋkuʋuʋue nutaƒe la, kple “Mother and Son” alo Vinɔ kple Via ŋutsuvi le ƒe akpe eve kple wuiade (2016) me si wòatsɔ kpe ɖe eƒe nutoa me ƒe Blemanuwodzraɖoƒe ƒe akpa aɖe ŋu. Akpa siawo ɖea ŋutete si le esi be wòalɔ̃ nu ɖeka kple nukpɔkpɔ ƒe akpa aɖewo atsɔ aɖe ŋutinya siwo gɔmesese sesēna la fia.
Wode dzesi Akunyili Crosby tɔxεe ɖe akpa si wòlé le aɖaŋudɔwɔwɔ me kple kafukafu nunanawo fu. Nunana alo “award” siwo dometɔ aɖewoe nye “[[:en:John_D._and_Catherine_T._MacArthur_Foundation|MacArthur Fellowship]]” le ƒe akpe eve kple wuiadre me (2017). Eƒe dɔwo dze le dɔwɔƒe xɔŋkɔ siwo le xexeame godoo la abe “Tale in London kple Whitney Museum siwo le New York dukɔa me.
== Dɔwɔwɔ Kple Sukudede ==
Wodzi Njideka le ƒe akpe ɖeka alɔfa asieke blanyi vɔ et me eye wonyi le [[:en:Enugu_(city)|Enugu]] le [[:en:Nigeria|Nigeria]]. Eƒe dzɔtsoƒe tso [[:en:Igbo_people|Igboe]] eye wòdoa gbe eve siwoe nye Igbo kple Iŋlisigbe. Eƒe ƒometɔ aɖewoe nye Akunyili Crosby si nye fofoa, Chike Akunyili, dada si nye amekola kple [[:en:Dora_Akunyili|Dora_Akunyili]] si nye atikeŋutinunyalagãwo [[:en:Pharmacology|Pharmacology]] ƒe nufialagã le Nigeria [[:en:Njideka_Akunyili_Crosby#cite_note-W_Magazine-7|-7]] ƒe yunivesiti me eye wònye dukɔa ƒe nuɖuɖu kple atike ŋuti dɔwɔƒe ƒe dɔdzikpɔlagã tsã. Akunyili Crosby ʋu yi ɖe Legos le esime wòxɔ ƒe wuiet- be yeade sek1ndrisuku si woyɔna be fianyɔnuwo ƒe kɔledzi si le Yaba Legos nuto la me. Dada ɖu Amerikatɔwo ƒe loto agbalēvi si woɖe ŋkɔ na be ‘’green card’’ na eƒe ƒomea si wɔe be Akunyili kple nɔvia ŋutsuwo te ŋu yi ɖe Amerika dukɔ la me eye wona ga ƒe kpekpeɖeŋu wo be woade suku ahasr- nu le afi ma.
Le ƒe akpe ɖeka alɔfa asieke blasieke vɔ asieke lia me le esime wòxɔ ƒe wuiade la, edzo le Nigeria kple nɔvia nyɔnu Ijeoma, eye wòʋu yi ɖe Amerika dukɔa me. Ezã ƒe ɖeka tsɔ srɔ̃ nu na “SAT” eye wòxɔ Amerikatɔwo ƒe ŋutinya, dzɔdzɔmeŋunya, kple akɔŋtabubu ƒe nusɔsrɔ̃ hafi yi Nigeria be yeasubɔ ƒe ɖeka le dukɔa ƒe subusubudɔ nu.
Esi wòwu eƒe subusubudɔa nu vɔ la, etrɔ yi Amerika be yeasr- nu le Philadelphia dukɔ me. Exɔ eƒe aŋɔsisi ƒe klasi gbãtɔ le nutoame ƒe sukukɔkɔa me le Philadelphia afi si eƒe nufiala Jeff Reed de dzi ƒo nε be wòabia be yeayi Swarthmore kɔlεdzi. Ewu Swarthmore kɔlεdzi nu le ƒe akpe eve kple ene (2004) me, afi si wòsr- aɖaŋudɔwo kple nugbagbeŋutinunya le abe “Mello Mays” ƒe suku kɔkɔ dede ƒe hati ene. Enɔ nudidi siwo nɔ anyi do ŋgɔ na atikewɔnyawo la dim gbã be yeatsɔ awɔ dɔ le atikewɔƒe me hafi atsɔ tso nya me be yewu aɖaŋudɔ nu. Medze aɖaŋudɔwo yome o va se ɖe eƒe ƒe maml1tɔ me le Swarhmore esi wòkpɔe be yekpɔ dzidzɔ ɖe yeƒe aɖaŋudɔwo ŋu le yeƒe dzɔdzɔmeŋutinunya vɔ megbe. Ese le eɖokui me be edze be yeagblɔ nuteƒekpɔkpɔ si su ye si abe Nigeriatɔwo ene le ame siwo le adzɔge 3ii la dome to eƒe aɖaŋudɔwo wɔwɔ me.
Esi wòwu Swarthmore nu le ƒe akpe eve kple ene me la, (2004) esrɔ̃ nu le Pennsylvania suku si kpɔ aɖaŋudɔwo wɔwɔ gbɔ. Afi siae wòxɔ ɖaseɖigbalē le le Baccalaureate megbe le ƒe akpe eve kple ade lia me (2006). Emegbe ede Yale Yunivεsiti ƒe aɖaŋudɔsr-ƒe, afi si wòxɔ aɖaŋudɔ nyuiwo ƒe dzikpɔla le.
== Nuwɔmɔnu ==
Etsɔ foto siwo eya ŋutɔ ɖe kpe ɖe esiwo ƒomea ɖe le Nigeria la kpe ɖe axa siwo tso Nigeria ƒe nɔnɔmetata gbalē xɔ ŋkɔwo me la nu. Fotowo nye ƒuƒoƒo siwo le eƒe dɔwɔwɔ me si wòzã avɔ le eƒe nutatawo dɔwo takã me.
Eƒe nu vevitɔwoe nye fotoɖeɖe, aŋɔsisi, aka ŋudɔwɔwɔ, avɔwo, kple amadede ƒe nuŋlɔtiwo. Tso kpe ɖe Nigeriatɔwo ƒe ŋusēkpɔɖeamedzi sesewo ŋu hã la, eƒe atsã dodowo tsoa dekɔnuwo, ame ŋutɔ ƒe nuteƒekpɔkpɔ kple ɣetoɖoƒetɔwo ƒe agbalēsɔsrɔ̃ me. Esi wònɔ dɔ siawo wɔm la, enɔ tame bum le eƒe nyasela eveawo ŋuti vevie: Amerika kple Nigeriatɔwo.
Togbɔ be enɔ esiawo katã wɔm hã la, womete ŋu ma eƒe dɔwo ɖe Amerikatɔwo alo Nigeriatɔwo ƒe hatsotso me o, ke boŋ enye ame ŋutɔ ƒe agbemeŋutinya si wòtu ɖe eƒe nɔnɔme si mewɔ ɖeka kple dɔ bubu aɖeke o la me.
Nyɔnuwo nɔa ŋusē ƒe nɔnɔme me le eƒe dɔwo ƒe akpa gãtɔwo me. Exɔe se be medze be woabia gbe nyunuwo ƒe dɔwɔƒe o, eye wònye ame si nye gomekpɔla veviedonula le nya sia me. Akunyili Crosby hã di be yeawɔ ameha vovovowo siwo ƒe srɔɖeɖe ƒe nɔnɔmetata si teƒe mekpɔkpɔ o la le Nigeria le esime wònɔ tsitsim o la ƒe ɖewo: abe ameyibo kple yevuwo ƒe srɔɖeɖe. Edea sr-a si nye yevu eye wòtso Taxasi eƒe dɔwɔwɔ geɖewo me.
“Eƒe ŋutilã ƒe akpa susuewo” le ƒe akpe eve kple ewoa me le esime wòƒoƒu nutata, aŋɔsisi, nɔnɔmetatawo ƒe kɔklɔ kple nuwo de agbalē dzi. Le akpa sia me la, Crosby wɔ awuwo tso agbalē ƒe ƒuƒoƒo ƒomevi aɖe si zãa agbalē siwo wowɔ do ŋgɔ si wotsɔ de nugbadza aɖe dzi. Dɔ sia ɖe Crosby ƒe ɖevi me nɔnɔ le esime wòmlɔ anyi ɖe aba dzi le xɔ ƒuƒlu aɖe me si wotsɔ nɔnɔmetata siwo do ƒome kple eƒe domenyinuwo ƒo xlãe la fia. Teƒea kple amea ƒe nɔnɔme la ɖe Edouard Manet ƒe aŋɔsisi ƒe nɔnɔme fia le “The Dead Toreador” ƒe Tanya si wotia be “Eƒe akpa susueawo la” ƒo nu tso vovototo siwo le agbenɔnɔ si wònɔ le Amerika kple Nigeria le esime wònɔ tsimtsim la dome ŋu.
== Ŋusẽkpɔɖeamedzi ==
Le esime wònɔ Nyɔnufiawo ƒe kɔledzi la, Akunyili Crosby do go Nigeria, Britain, kple Amerikatɔwo ƒe dekɔnu xɔ ŋkɔ geɖe siwo de sɔsɔ ge kple eƒe dɔwo kpakple dekɔnu nutalawo ƒe dɔwɔwɔ sɔ kple wo nɔewo. Eɖea eƒe nuteƒekpɔkpɔ ŋutɔ abe Nigeria nyɔnu si le Amerika fiana le eƒe dɔwɔwɔwo me. [1]. Eƒe nukpɔsusu sia nye be Afrikatɔwo natsɔ Afrikatɔwo ƒe ƒomedodo kplikplikpli awɔ ɖeka kple Ɣetoɖoƒetɔwo ƒe nutata, afia to Kerry James Marshall ƒe dɔwɔwɔ me.[1] Nutala Wangechi Mutu ƒoe ɖe enu be wòazã nɔnɔmetata geɖe atsɔ awɔ bubuwoe.[1] Mutu zãa nɔnɔmetatawo tsɔ ƒoa nu esime Akunyili Crosby ƒe mɔnu la léa fɔ ɖe nuwɔwɔ adodoewo ŋu. Etsɔa fotowo yia teƒe bubuwo eye wòdea avɔwo eme be woatsɔ ahe akpa vovovowo abe ɖa ƒe atsyãwo, atsyãwo, xɔtuɖaŋu, kple xɔmenuwo tso dekɔnu eveawo me.[28] Fotowo tsɔtsɔ yi teƒe bubu ɖea foto aɖe si Akunyili Crosby lɔna la ƒe nukpɔkpɔ dzi kpɔtɔna.
Le eya gome la, edze abe ale si nyatakakawo buna ne amewo le ʋuʋum le dekɔnuwo domee ene.[10] Agbalẽŋlɔla Chinua Achebe ƒe susu si le esi be yeatrɔ yevugbea ɖe yeɔe dekɔnuwo nu la, wɔ dɔ ɖes Akunyili Crosby ƒe nutata dzi. Achebe gblɔ be ne wotrɔ yevugbea la, woate ŋu azãe atsɔ atso eƒe Afrika ƒe nuteƒekpɔkpɔ ƒe agba ɖe. Le eƒe dɔwɔwɔ me la, Akunyili Crosby gbã yevugbe eye wòzãnɛ tsɔ wɔa dekɔnu si to vovo la ƒe. Akunyili Crosby yɔ nutala xɔŋkɔ siwo nye Édouard Vuillard kple Chris Ofili be wonye ŋusẽkpɔɖeamedziwo. Ŋusẽkpɔɖeamedzi bubu aɖewoe nye J.D. Okhai Ojeikere kple Malick Sidibé, Afrikatɔwo ƒe aɖaŋudɔwo ƒe fotoɖela nyuiwo. Eyɔ Kerry James Marshal hã be enye ŋusēdoamela. Abe Akunyili Crosby ene la, Marshall yɔ Eroputɔwo ƒe aɖaŋudɔwo ƒe kɔnyinyi. Eƒe dɔwɔwɔ na kakaɖedzie be yeaxɔ kɔnyinyi ma le ye ŋutɔ yeƒe mɔ dzi.
== Ame ŋutɔ ƒe agbenɔnɔ ==
Akunyili Crosby ɖe Justin Crosby, ame si hã nye nutala.[1] Ewɔ xɔlɔ̃wo eye wòdzra eƒe dɔwɔwɔ kple nutala bubuwo abe Wangechi Mutu kple Kehinde Wiley ene.mkj
== Nuheheɖego ==
Akunyili Crosby wɔ blemanudzraɖoƒe kple nutatawo ƒe agbɔsɔsɔ gbogbo aɖe le United States kple dukɔwo dome. Eƒe solo ɖe dzesiwo dometɔ aɖewoe nye;
* I Still Face You (2013), Franklin Art Works, Minneapolis;[32]
* Hammer Projects: Njideka Akunyili Crosby (2015-2016), Hammer Museum, Los Angeles;[33]
* Predecessors (2017), originating at the Contemporary Arts Center, Cincinnati;[34]
* Njideka Akunyili Crosby I Counterparts (2018-2019), originating at the Baltimore Museum of Art;[35] and
* Njideka Akunyili Crosby: “The Beautyful Ones” (2018), National Portrait Gallery, London.[36]
Egakpɔ gome le hamenɔnɔ ƒe nuheheɖego wɔna vovovowo me siwo dometɔ aɖewoe nye;
* The Grand Balcony (2016), La Biennale de Montreal;[37]
* A Good Neighbour (2017), Istanbul Biennial;[38]
* Prospect. 4: The Lotus in Spite of the Swamp (2017), Prospect New Orleans;[39] and
* May You Live in Interesting Times (2019), 58th Venice Biennale.[40]
Eƒe dɔwɔwɔ tɔxε aɖe siwo bɔ ɖe xexeme
* The Rest of Her Remains (2010), Yale University Art Gallery, New Haven, Connecticut [41]
* Efulefu: The Lost One (2011), Rubell Museum, Miami/Washington, D.C.[42]
* I Always Face You, Even When it Seems Otherwise (2012),
* Pennsylvania Academy of the Fine Arts, Philadelphia [43] Janded (2012),
* San Francisco Museum of Modern Art [44]
* Nkem (2012), Rubell Museum, Miami/Washington, D.C. [42]
* Nwantinti (2012), Studio Museum in Harlem, New York [45] Wedding Portrait (2012),
* San Francisco Museum of Modern Art [46]
* "The Beautyful Ones Are Not Yet Born” Might Not Hold True For Much Longer (2013), Nasher Museum of Art, Durham, North Carolina [47]
* Predecessors (2013), Tate, London [48]
* Thelma Golden (2013), National Portrait Gallery, Smithsonian Institution, Washington, D.C. [49]
* Sunday Morning (Predecessors #3) (2014), Zeitz Museum of Contemporary Art Africa, Cape Town[50]
* "The Beautyful Ones" Series #5 (2016), Buffalo AKG Art Museum, Buffalo, New York [51]
* Facets: Screen Wall (2016), Institute of Contemporary Art, Boston[52]
* Garden, Thriving (2016), Museum of Contemporary Art, Los Angeles[53]
* Mother and Child (2016), Metropolitan Museum of Art, New York[54]
* Portals (2016), Whitney Museum, New York[55]
* See Through (2016), Pérez Art Museum Miami[56]
* Super Blue Omo (2016), Norton Museum of Art, West Palm Beach, Florida [57] Wedding Souvenirs (2016), National Museum of African Art, Smithsonian Institution, Washington, D.C. [58]
* Dwell: Aso Ebi (2017), Baltimore Museum of Art [59]
* “The Beautyful Ones” Series #7 (2018), Institute of Contemporary Art, Boston [60]
* Remain, Thriving (2018), Tate, London [61]
* Eko Skyscraper (2019), National Gallery of Art, Washington, D.C. [62]
Kafukafu kple bubudede ame ŋu;
* 2014, Smithsonian American Art Museum's James Dickey Contemporary Art Prize [2]
* 2015 Next Generation prize at the New Museum of Contemporary Art [63]
* 2015 The Studio Museum in Harlem's Wein Artist Prize.[29]
* 2015 Foreign Policy's Leading 100 Global Thinkers of 2015 [64]
* 2015 Joyce Alexander Wein Artist Prize at the Studio Museum in Harlem [63]
* 2016 Prix Canson[63] 2016 Financial Times Women of the Year award [65]
* 2016 Shortlisted for the 2017 Future Generation Art Prize [14]
* 2016 Distinguished Alumni Award, Pennsylvania Academy of the Fine Arts [66]
* 2017 MacArthur Fellows Program [19]
* 2019 Honorary Doctorate of Arts, Swarthmore College[4]
* 2020 Honoree of the Great Immigrants Award by the Carnegie Corporation of New York [67]
Agbal8 kple ɖeɖefiagbal8wo
* 2019 Berry, Ian, and Steven Matijcio, Njideka Akunyili Crosby: Predecessors, The Frances Young Tang Teaching Museum and Art Gallery at Skidmore College and Contemporary Arts Center, Cincinnati, Ohio, 2019.
* 2016 Brutvan, Cheryl, Njideka Akunyili Crosby: I Refuse to be Invisible, West Palm Beach: Norton Museum of Art, 2016.
* 2015 Cornell, Lauren, and Helga Christoffersen, ed. Surround Audience: New Museum Triennial 2015. New York: Skira Rizzoli Publications, Inc., 2015.
* 2013 Baptist, Stephanie, ed. Njideka Akunyili & Simone Leigh: I Always Face You, Even When it Seems Otherwise. London: Tiwani Contemporary, 2013.
* 2013 Merjian, Ara H. Vitamin D2, London: Phaidon, 2013.
* 2013 The Bronx Museum of Arts, Bronx Calling: The Second AIM Biennial. New York: The Bronx Museum of the Arts, 2013.
== Aɖaŋudɔwo Ꞙe Asime ==
Akunyili Crosby has been represented by Victoria Miro in London since 2014 and by David Zwirner (since 2018).[68]
By 2016, demand for Akunyili Crosby’s work, which she produces slowly, far outweighed supply, prompting her prices to soar at auction.[69] She became one of the artists featured in Nathaniel Kahn's 2018 documentary The Price of Everything where she discusses her career and attitude to her art market.[70] It culminated with her painting Drown being sold at Sotheby's contemporary art auction in November 2016 for $900,000. Her first painting to come to market was Untitled which sold for $93,000 in September 2016 at Sotheby's New York.[71]
In March 2017, a work by Akunyili Crosby titled The Beautyful Ones (Series #1c), the first painting of five belonging to The Beautyful Ones Series, was sold by a private collector for $3 million at Christie's London.[72][73][74][75]
In May 2018, Akunyili Crosby set a new personal auction record with the sale of her painting Bush Babies for nearly $3.4 million at Sotheby's New York.
== Kpekpeɖeŋuxɔƒe ==
# Solway, Diane (15 August 2017). "https://www.wmagazine.com/story/njideka-akunyili-crosby-artist-painter[[Nigerian Painter Njideka Akunyili Crosby Tells an Afropolitan Story in America"|"]]. W Magazine. Retrieved 2019-04-12. ^
# "https://newsdesk.si.edu/releases/njideka-akunyili-crosby-2014-winner-smithsonian-american-art-museum-s-james-dicke-contempor<nowiki/>Smithsonian Newsdesk. The Smithsonian. Retrieved 14 February 2018.l
# karen. "https://www.npr.org/2018/01/02/575118490/macarthur-genius-paints-nigerian-childhood-alongside-her-american-present NPR. Retrieved 14 February 2018.
# "https://web.archive.org/web/20181126164826/http://www.njidekaakunyili.com/cv". Njideka Akunyili Crosby. Retrieved 14 February 2018.
# Great women artists. Phaidon Press. 2019. p. 28.[[:en:ISBN_(identifier)|ISBN_]][[:en:Special:BookSources/978-0714878775|-0714878775]].
# Crow, Kelly (September 21, 2018). "https://www.wsj.com/articles/the-art-market-pounces-on-its-next-big-star-now-she-has-to-hold-on-1537539884". The Wall Street Journal. Retrieved August 22, 2023.
# Solway, Diane (15 August 2017). "https://www.wmagazine.com/story/njideka-akunyili-crosby-artist-painter". W Magazine. Retrieved 14 February 2018
# https://www.encyclopedia.com/education/news-wires-white-papers-and-books/akunyili-dora. www.encyclopedia.com. Retrieved 2020-11-01.
# "https://www.sfmoma.org/watch/njideka-akunyili-crosby-on-painting-cultural-collision/". www.sfmoma.org. Retrieved 2020-05-04.
# Ando, Erica; CROSBY, NJIDEKA AKUNYILI (2016). "Njideka Akunyili Crosby". BOMB (137): 44–54[[:en:ISSN_(identifier)|/ISSN_)]][https://search.worldcat.org/issn/0743-3204 0743-3204].[[:en:JSTOR_(identifier)|JSTOR_(identifier)]][https://www.jstor.org/stable/24878869 24878869]
# [https://web.archive.org/web/20250223171804/https://www.mmuf.org/news-events/news/swarthmore-mmuf-fellow-njideka-akunyili-crosby-named-macarthur-fellow /swarthmore-mmuf-fellow-njideka-akunyili-crosby-named-macarthur-fellow]". mmuf.org. The Andrew W. Mellon Foundation. 22 October 2017. Retrieved 9 April 2018.
# Ando, Erica. "[https://bombmagazine.org/articles/njideka-akunyili-crosby/ /articles/njideka-akunyili-crosby/]". Bomb Magazine. Retrieved 28 February 2019.
# Charis, Olivia (22 September 2022). [https://yaledailynews.com/blog/2022/09/21/yale-art-alum-showcased-at-yale-center-of-british-art-in-museum-first/ /blog/2022/09/21/yale-art-alum-showcased-at-yale-center-of-british-art-in-museum-first/]"". Yale Daily News. Retrieved 27 March 2024.
# "[https://www.swarthmore.edu/news-events/artist-njideka-akunyili-crosby-04-named-a-woman-year /artist-njideka-akunyili-crosby-04-named-a-woman-year]. Swarthmore College. 21 December 2016. Retrieved 14 February 2018.
# Jump up to:a b c d Steadman, Ryan (4 May 2016). [https://observer.com/2016/05/the-complicated-beauty-of-njideka-akunyili-crosby/ /the-complicated-beauty-of-njideka-akunyili-crosby/]". The Observer. Retrieved 14 February 2018.
# [https://hammer.ucla.edu/exhibitions/2015/off-site-exhibitions-njideka-akunyili-crosby-the-beautyful-ones-and-two-films-by-akosua-adoma-owusu /off-site-exhibitions-njideka-akunyili-crosby-the-beautyful-ones-and-two-films-by-akosua-adoma-owusu]". Hammer Museum. 12 September 2015. Retrieved 27 March 2024.
# "[https://www.swarthmore.edu/news-events/artist-njideka-akunyili-crosby-04-named-a-woman-year swarthmore.edu/news-events/artist-njideka-akunyili-crosby-04-named-a-woman-year]". www.swarthmore.edu. 21 December 2016. Retrieved 2018-08-06.
# "[https://shop.norton.org/products/njideka-akunyili-crosby-i-refuse-to-be-invisible njideka-akunyili-crosby-i-refuse-to-be-invisible]". The Store at the Norton Museum of Art. Retrieved 27 March 2024
# "https://www.macfound.org/fellows/979/". www.macfound.org. Retrieved 2018-02-24.
# "[https://www.moca.org/exhibition/moca-mural-njideka-akunyili-crosby /moca-mural-njideka-akunyili-crosby]". The Museum of Contemporary Art, Los Angeles. Retrieved 2018-03-09.
# Liscia, Valentina Di (2021-11-05). "[http://hyperallergic.com/690079/met-museum-reimagines-the-period-room-through-the-lens-of-afrofuturism/ /met-museum-reimagines-the-period-room-through-the-lens-of-afrofuturism/]". Hyperallergic. Retrieved 2022-02-02.
# "[https://www.themodern.org/exhibition/women-painting-women /women-painting-women]". Modern Art Museum of Fort Worth. Retrieved 14 May 2022.
# "[https://npg.si.edu/exhibition/portraiture-now-kinship -kinship]". npg.si.edu. 2022-10-17. Retrieved 2023-08-14.
# Zelt, Natalie (August 8, 2018). "https://www.degruyter.com/downloadpdf/j/culture.2018.2.issue-1/culture-2018-0020/culture-2018-0020.pdf" (PDF). Open Cultural Studies. 2 (1): 212–224.[[:en:Doi_(identifier)|Doi]] :https://doi.org/10.1515%2Fculture-2018-0020 https://en.wikipedia.org/wiki/S2CID_(identifier)[https://api.semanticscholar.org/CorpusID:194922873 194922873]
# Dedieu, Jean-Philippe. "[https://www.newyorker.com/culture/photo-booth/njideka-akunyili-crosbys-intimate-universes /njideka-akunyili-crosbys-intimate-universes]". The New Yorker. Retrieved 14 February 2018.
# "[http://www.culturetype.com/2015/10/28/studio-museum-awards-2015-wein-artist-prize-to-njideka-akunyili-crosby/%27 studio-museum-awards-2015-wein-artist-prize-to-njideka-akunyili-crosby/%27]". Retrieved 2019-04-06.
# "https://artgallery.yale.edu/collections/objects/167658". artgallery.yale.edu. Retrieved 2024-03-27.
# "https://www.themodern.org/exhibition/4539". the modern.org. The Modern. Retrieved 12 April 2019.
# Ando, Erica (15 September 2016). "https://bombmagazine.org/articles/njideka-akunyili-crosby/". Bomb Magazine.
# Maryland Institute College of Art (January 3, 2018). "https://www.youtube.com/watch?v=HiyX3Xl2SAM]".[[:en:YouTube|YouTube]] https://web.archive.org/web/20220317114248/https://www.youtube.com/watch?v=HiyX3Xl2SAM from the original on 17 March 2022. Retrieved 18 December 2022.
# Pogrebin, Robin (May 21, 2023). "[https://www.nytimes.com/2023/05/21/arts/design/njideka-akunyili-crosby-zwirner.html /arts/design/njideka-akunyili-crosby-zwirner.html]". The New York Times. Retrieved 27 March 2024.
# [https://web.archive.org/web/20221218024544/https://walkerart.org/magazine/njideka-akunyili-and-her-elegant-scrapbook -akunyili-and-her-elegant-scrapbook]
# "[https://hammer.ucla.edu/exhibitions/2015/hammer-projects-njideka-akunyili-crosby hammer-projects-njideka-akunyili-crosby]". .[[:en:Hammer_Museum|Hammer_Museum]] .https://en.wikipedia.org/wiki/University_of_California,_Los_Angeles<nowiki/>https://web.archive.org/web/20220629000759/https://hammer.ucla.edu/exhibitions/2015/hammer-projects-njideka-akunyili-crosby from the original on 29 June 2022. Retrieved 18 December 2022.
# "[https://tang.skidmore.edu/exhibitions/225-opener-30-njideka-akunyili-crosby-predecessors predecessors]". Tang Museum. [[:en:Skidmore_College|Skidmore_College]]. [https://web.archive.org/web/20221218025520/https://tang.skidmore.edu/exhibitions/225-opener-30-njideka-akunyili-crosby-predecessors /225-opener-30-njideka-akunyili-crosby-predecessors] from the original on 18 December 2022. Retrieved 18 December 2022.
# "https://www.themodern.org/exhibition/4539". TheModern.https://en.wikipedia.org/wiki/Modern_Art_Museum_of_Fort_Worth[https://web.archive.org/web/20220521084733/https://www.themodern.org/exhibition/4539 themodern.org/exhibition/4539] from the original on 21 May 2022. Retrieved 18 December 2022.
# "[https://www.npg.org.uk/whatson/display/2018/njideka-akunyili-crosby njideka-akunyili-crosby] "The Beautyful Ones"". NPG.[[:en:National_Portrait_Gallery,_London|National_Portrait_Gallery,_London]] . from the original on 18 December 2022. Retrieved 18 December 2022.
# "https://macm.org/en/exhibitions/la-biennale-de-montreal-2016/". MACM. [[:en:Musée_d'art_contemporain_de_Montréal|/Mus%C3%A9e_d%27art_contemporain_de_Montr%C3%A9al]] [https://web.archive.org/web/20220529084200/https://macm.org/en/exhibitions/la-biennale-de-montreal-2016/ a-biennale-de-montreal-2016/]from the original on 29 May 2022. Retrieved 18 December 2022.
# "[https://bienal.iksv.org/en/biennial-archive/15th-istanbul-biennial -archive/15th-istanbul-biennial]".[https://web.archive.org/web/20220520202155/https://bienal.iksv.org/en/biennial-archive/15th-istanbul-biennial -archive/15th-istanbul-biennial] from the original on 20 May 2022. Retrieved 18 December 2022.
# Moffitt, Evan (25 January 2018). "https://www.frieze.com/article/prospect4".[[:en:Frieze_(magazine)|Frieze]] (193). [https://web.archive.org/web/20220703082945/https://www.frieze.com/article/prospect4 .frieze.com/article/prospect4] from the original on 3 July 2022. Retrieved 18 December 2022.
# "[https://www.labiennale.org/en/art/2019/partecipants/njideka-akunyili-crosby /njideka-akunyili-crosby]"[[:en:Venice_Biennale|Venice_Biennale]]. 13 May 2019.[https://web.archive.org/web/20220523151741/https://www.labiennale.org/en/art/2019/partecipants/njideka-akunyili-crosby njideka-akunyili-crosby] from the original on 23 May 2022. Retrieved 18 December 2022.
# "[https://artgallery.yale.edu/collections/objects/167658 /collections/objects/167658]". [[:en:Yale_University_Art_Gallery|Yale_University_Art_Gallery]] Archived from the origin[https://web.archive.org/web/20221218033812/https://rubellmuseum.org/154-exhibitions/current-exhibitions/no-man-s-land/642-nml-njideka-akunyili-crosby -akunyili-crosby]al on 18 December 2022. Retrieved 18 December 2022.
# ".[https://rubellmuseum.org/154-exhibitions/current-exhibitions/no-man-s-land/642-nml-njideka-akunyili-crosby njideka-akunyili-crosby][[:en:Rubell_Museum|Rubell_Museum]].[https://web.archive.org/web/20221218033812/https://rubellmuseum.org/154-exhibitions/current-exhibitions/no-man-s-land/642-nml-njideka-akunyili-crosby njideka-akunyili-crosby] from the original on 18 December 2022. Retrieved 18 December 2022.
# "[https://www.pafa.org/museum/collection/item/i-always-face-you-even-when-it-seems-otherwise i-always-face-you-even-when-it-seems-otherwise]". PAFA. .[[:en:Pennsylvania_Academy_of_the_Fine_Arts|/Pennsylvania_Academy_of_the_Fine_Arts]] 28 December 2014.[https://web.archive.org/web/20221218034046/https://www.pafa.org/museum/collection/item/i-always-face-you-even-when-it-seems-otherwise i-always-face-you-even-when-it-seems-otherwise] from the original on 18 December 2022. Retrieved 18 December 2022.
# "https://www.sfmoma.org/artwork/2013.8/". SFMoMA. . Archived from the original on 17 March 2022. Retrieved 18 December 2022.
# [https://studiomuseum.org/collection-item/nwantinti /nwantinti]". StudioMuseum.[[:en:Studio_Museum_in_Harlem|/Studio_Museum_in_Harlem]] . 21 November 2018. f[https://web.archive.org/web/20221218034204/https://studiomuseum.org/collection-item/nwantinti /nwantinti]rom the original on 18 December 2022. Retrieved 18 December 2022.
# "https://www.sfmoma.org/artwork/2013.9/". SFMoMA. [[:en:San_Francisco_Museum_of_Modern_Art|San_Francisco_Museum_of_Modern_Art]]. from the original on 17 March 2022.[https://web.archive.org/web/20220317114248/https://www.sfmoma.org/artwork/2013.9/ .archive.org/] 18 December 2022.
# "[https://emuseum.nasher.duke.edu/objects/19558/the-beautyful-ones-are-not-yet-born-might-not-hold-true-fo? /the-beautyful-ones-are-not-yet-born-might-not-hold-true-fo?]". Nasher.[[:en:Duke_University|/Duke_University]]. [https://web.archive.org/web/20221218034414/https://emuseum.nasher.duke.edu/objects/19558/the-beautyful-ones-are-not-yet-born-might-not-hold-true-fo https://web.archive] from the original on 18 December 2022. Retrieved 18 December 2022.
# "[https://www.tate.org.uk/art/artworks/crosby-predecessors-t14021 predecessors-t14021]". [[:en:Tate|Tate]][https://web.archive.org/web/20220812100455/https://www.tate.org.uk/art/artworks/crosby-predecessors-t14021 .archive] from the original on 12 August 2022. Retrieved 18 December 2022.
# [https://www.si.edu/object/thelma-golden:npg_NPG.2019.100 thelma-golden:npg_NPG.2019.100]"". SI. .[[:en:Smithsonian_Institution|/Smithsonian_Institution]] https://web.archive.org/web/20221218035810/https://www.si.edu/object/thelma-golden:npg_NPG.2019.100 from the original on 18 December 2022. Retrieved 18 December 2022.
# "[https://zeitzmocaa.museum/art/sunday-morning/ sunday-morning/]. ZetzMOCAA.[[:en:Zeitz_Museum_of_Contemporary_Art_Africa|/Zeitz_Museum_of_Contemporary_Art_Africa]]. https://web.archive.org/web/20210724212524/https://zeitzmocaa.museum/art/sunday-morning/ from the original on 24 July 2021. Retrieved 18 December 2022.
# "[https://buffaloakg.org/artworks/20173-beautyful-ones-series-5 beautyful-ones-series-5] Series #5". [[:en:Buffalo_AKG_Art_Museum|Buffalo_AKG_Art_Museum]] [https://web.archive.org/web/20221218034913/https://buffaloakg.org/artworks/20173-beautyful-ones-series-5 https://web.archive.] from the original on 18 December 2022. Retrieved 18 December 2022.
# "[https://www.icaboston.org/art/njideka-akunyili-crosby/facets-screen-wall /facets-screen-wall]l". ICABoston. [[:en:Institute_of_Contemporary_Art,_Boston|/Institute_of_Contemporary_Art,_Boston]]. [https://web.archive.org/web/20220704124630/https://www.icaboston.org/art/njideka-akunyili-crosby/facets-screen-wall archive.] from the original on 4 July 2022. Retrieved 18 December 2022.
# [https://www.moca.org/collection/work/garden-thriving /garden-thriving]". MOCA.[[:en:Museum_of_Contemporary_Art,_Los_Angeles|Museum_of_Contemporary_Art,_Los_Angeles]] [https://web.archive.org/web/20221218035339/https://www.moca.org/collection/work/garden-thriving archive.] from the original on 18 December 2022. Retrieved 18 December 2022.
# [https://www.metmuseum.org/art/collection/search/738627? .org/art/collection/search/738627?]". MetMuseum.[[:en:Metropolitan_Museum_of_Art|https://en.wikipMetropolitan_Museum_of_Art]]. Archived from the original on 22 November 2022. Retrieved [[:en:Metropolitan_Museum_of_Art|edia.org/wiki/]]18 December 2022.
# "[https://whitney.org/collection/works/48677 /collection/works/48677]". Whitney.[[:en:Whitney_Museum|/Whitney_Museum]]. [https://web.archive.org/web/20221012185848/https://whitney.org/collection/works/48677 .archive.] from the original on 12 October 2022. Retrieved 18 December 2022.
# "[https://www.pamm.org/en/artwork/2017.028 /artwork/2017.028]". PAMM. [[:en:Pérez_Art_Museum_Miami|_Art_Museum_Miami]]<nowiki/>i. Retrieved 18 December 2022.
# "[https://www.norton.org/collections/contemporary contemporary]". Norton.[[:en:Norton_Museum_of_Art|Norton_Museum_of_Art]].[https://web.archive.org/web/20221218035126/https://www.norton.org/collections/contemporary .archive.]from the original on 18 December 2022. Retrieved 18 December 2022.
# "[https://www.si.edu/object/wedding-souvenirs:nmafa_2017-5-1 wedding-souvenirs:nmafa_2017-5-1]". SI. [[:en:Smithsonian_Institution|Smithsonian_Institution]]. [https://web.archive.org/web/20220708223848/https://www.si.edu/object/wedding-souvenirs:nmafa_2017-5-1 archive.] from the original on 8 July 2022. Retrieved 18 December 2022.
# "[https://collection.artbma.org/objects/96049/dwell-aso-ebi? well-aso-ebi?]". ArtBMA. [[:en:Baltimore_Museum_of_Art|Baltimore_Museum_of_Art]]. Archived from the original on 18 December 2022. Retrieved 18 December 2022.[https://web.archive.org/web/20221218035934/https://collection.artbma.org/objects/96049/dwell-aso-ebi .archive]
# "[https://www.icaboston.org/art/njideka-akunyili-crosby/%E2%80%9C-beautyful-ones%E2%80%9D-series-7 beautyful-ones%E2%80%9D-series-7]". ICABoston. [[:en:Institute_of_Contemporary_Art,_Boston|Institute_of_Contemporary_Art,_Boston]]<nowiki/>t, Boston.[https://web.archive.org/web/20221218040106/https://www.icaboston.org/art/njideka-akunyili-crosby/%E2%80%9C-beautyful-ones%E2%80%9D-series-7 .archive.]from the original on 18 December 2022. Retrieved 18 December 2022.
# [https://www.tate.org.uk/art/artworks/crosby-remain-thriving-t15718 remain-thriving-t15718]. [[:en:Tate|Tate]][https://web.archive.org/web/20211009115341/https://www.tate.org.uk/art/artworks/crosby-remain-thriving-t15718 .archive.] from the original on 9 October 2021. Retrieved 18 December 2022.
# "[https://www.nga.gov/collection/art-object-page.222462.html object-page.222462.html]". NGA. [[:en:National_Gallery_of_Art|/National_Gallery_of_Art]]. [https://web.archive.org/web/20220614222229/https://www.nga.gov/collection/art-object-page.222462.html .archive.] from the original on 14 June 2022. Retrieved 18 December 2022.
# Heawood, Sophie (3 October 2016). "T[https://www.theguardian.com/lifeandstyle/2016/oct/03/nigerian-artist-myth-authentic-african-experience-njideka-akunyili-crosby-harlem-studio-museum -artist-myth-authentic-african-experience-njideka-akunyili-crosby-harlem-studio-museum]". The Guardian. Retrieved 13 February 2018.
# "[http://2015globalthinkers.foreignpolicy.com/#!artists/detail/crosby .foreignpolicy.com/#!artists/detail/crosby]. Foreign Policy.com. Retrieved 14 February 2018.
# "[https://www.ft.com/content/4ff0cb62-bc74-11e6-8b45-b8b81dd5d080 bc74-11e6-8b45-b8b81dd5d080]". Financial Times. 7 December 2016. Retrieved 14 February 2018.
# "[https://www.pafa.org/alumni/alumni-awards alumni-awards]". Pennsylvania Academy of the Fine Arts. 23 September 2019.
# "[https://www.carnegie.org/awards/honoree/njideka-akunyili-crosby/ -akunyili-crosby/]". Carnegie Corporation of New York. Retrieved June 14, 2024.
# Robin Pogrebin (21 May 2023), [https://www.nytimes.com/2023/05/21/arts/design/njideka-akunyili-crosby-zwirner.html h-akunyili-crosby-zwirner.html], Despite Her Rapid Rise New York Times.
# Henri Neuendorf (November 9, 2018),https://news.artnet.com/market/david-zwirner-njideka-akunyili-crosby-1392595<nowiki/>https://en.wikipedia.org/wiki/Artnet.
# Lang, Brent (January 16, 2018). "[https://variety.com/2018/film/news/sundance-hbo-buys-price-of-everything-1202665286/ buys-price-of-everything-1202665286/]"". [[:en:Variety_(magazine)|/Variety_]]. Retrieved February 9, 2018.
# "[http://www.culturetype.com/2018/05/22/njideka-akunyili-crosby-sets-new-auction-record-with-non-figurative-painting-proceeds-benefit-studio-museum-in-harlem/%27 njideka-akunyili-crosby-sets-new-auction-record-with-non-figurative-painting-proceeds-benefit-studio-museum-in-harlem/%27]". Retrieved 2020-05-07.
# "https://www.victoria-miro.com/exhibitions/537/". Retrieved 2019-03-21.
# "https://www.victoria-miro.com/exhibitions/537/". Victoria Miro. Retrieved 2020-05-07.
# [["Njideka Akunyili Crosby (b. 1983), The Beautyful One|"Njideka Akunyili Crosby (b. 1983), The Beautyfu]]. . www.christies.com. Retrieved 2020-05-07.
# https://www.carnegie.org/awards/honoree/njideka-akunyili-crosby/ Retrieved January 21, 2023.
Further reading[edit] Akunyili Crosby, Njideka (Spring 2025). https://issues.aperture.org/article/2025/1/1/njideka-akunyili-crosby-endless-returns [[:en:Aperture_(magazine)|/Aperture]] (Interview). No. 258. Interviewed by Onyewuenyi, Ikechúkwú. pp. 32–45. [[:en:OCLC_(identifier)|OCLC1481673]]
1mcv52ua0ikj488yc3xq5yjnoxu1yci
User talk:Vɔ̃ɖinyenye le ŋkɔwo ŋu
3
11256
61512
61473
2026-04-20T15:01:08Z
MediaWiki message delivery
4897
/* Tech News: 2026-17 */ new section
61512
wikitext
text/x-wiki
Àte ŋu abia nusianum. Nusianu si nèdi le Eʋegbe me.
== Ku ɖe wò Delete tag ŋu (re) ==
{{done}} , thank you for the message [[User:Quinlan83|Quinlan83]] ([[User talk:Quinlan83|talk]]) 12:24, 19 Afɔfiɛ 2026 (UTC)
== <span lang="en" dir="ltr">Tech News: 2026-17</span> ==
<div lang="en" dir="ltr">
<section begin="technews-2026-W17"/><div class="plainlinks">
Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/17|Translations]] are available.
'''Weekly highlight'''
* After two years of development, [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]], also known as [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror 6]], is to be promoted out of beta on Tuesday, April 21. It brings better code and wikitext readability, reduction in typing errors, and other [[mw:Special:MyLanguage/Help:Extension:CodeMirror|benefits]] to all users of the standard syntax highlighter. A huge thank you to volunteer [https://phabricator.wikimedia.org/p/Bhsd/ Bhsd] who developed many of the new features, including [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Code folding|code folding]], [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Autocompletion|autocompletion]], and [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Linting|linting]]. [https://phabricator.wikimedia.org/T259059]
* A major update to the Wikipedia app for iOS is now rolling out, redesigning the interface to align with Apple's latest "Liquid Glass" visual design. [https://apps.apple.com/us/app/wikipedia/id324715238 Download the latest version] and explore the update.
'''Updates for editors'''
* [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|Reading lists]] is a feature which allows readers to save articles to a list for reading later. This feature is now in beta on Arabic, French, Indonesian, Vietnamese, and Chinese Wikipedias and by default for all new accounts on all Wikipedias.
* An experiment which explores extending [[mw:Special:MyLanguage/Readers/Reader Growth/Mobile page previews|Page Previews to mobile web]] will be launched in the week of April 20 on Arabic, English, French, Italian, Polish, and Vietnamese Wikipedias. Page Previews are pop-ups that display a thumbnail, lead paragraph, and a link to open the full article of a blue link, thereby improving content discovery. The feature is already available on desktop and in the apps. [[m:Special:MyLanguage/List of experiments in Product and Technology#Template|Read more about this experiment and others]].
* On several wikis, logged-in editors who haven't [[mw:Special:MyLanguage/Help:Email confirmation|confirmed their email addresses]] can now see a banner encouraging them to do so. Having the email address confirmed allows a user to restore access to the account if they lose it. [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security#Encouraging users to confirm their email addresses|Learn more]]. [https://phabricator.wikimedia.org/T421366]
* [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:15}} community-submitted {{PLURAL:15|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where editing very large wiki pages in the 2017 wikitext editor caused slow loading, preview and scrolling lag, and performance issues when selecting, cutting, or pasting content, has now been fixed. [https://phabricator.wikimedia.org/T184857]
'''Updates for technical contributors'''
* As part of the promotion of [[mw:Special:MyLanguage/Help:Extension:CodeMirror|CodeMirror]] from a beta feature, all users will use [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] for syntax highlighting when editing JavaScript, CSS, JSON, Vue and Lua content pages. [https://phabricator.wikimedia.org/T419332]
* The <code>mirrors.wikimedia.org</code> service for Debian and Ubuntu users will sunset and stop working on May 15. The resources for the service will be replaced with new and better options. Some users may need to switch to a different server which should take about a minute. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/LJYRIS4WB66HIRCAO4GIDTXCMDVZRBMA/ You can read more]. [https://phabricator.wikimedia.org/T416707]
* The <bdi lang="zxx" dir="ltr"><code><nowiki>image</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>oldimage</nowiki></code></bdi> table will be removed from [[wikitech:Help:Wiki Replicas|wikireplicas]]. If your tools or queries access <bdi lang="zxx" dir="ltr"><code><nowiki>image</nowiki></code></bdi> or <bdi lang="zxx" dir="ltr"><code><nowiki>oldimage</nowiki></code></bdi> directly, please update them to use the <bdi lang="zxx" dir="ltr"><code><nowiki>file</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>filerevision</nowiki></code></bdi> table before 28 May. [https://phabricator.wikimedia.org/T28741]
* Following the recent implementation of global API rate limits on unidentified traffic, the Wikimedia Foundation will continue efforts to ensure [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]] by applying global limits to identified API traffic beginning the last week of April. These limits are intentionally set as high as possible to minimise impact on the community. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, see [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]] and [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits/FAQ|Frequently Asked Questions]].
* The [[mw:Special:MyLanguage/Attribution API|Attribution API]] is now available as a [[mw:Special:MyLanguage/Wikimedia APIs/Stability policy|beta]]. The API fetches information for crediting Wikimedia articles and media files wherever they are used. Reference documentation is available through the REST Sandbox special page available on all Wikimedia wikis (such as the [https://en.wikipedia.org/w/index.php?api=attribution.v0-beta&title=Special%3ARestSandbox REST sandbox on English Wikipedia]). Share your feedback on the [[mw:Talk:Attribution API|project talk page]].
* There is no new MediaWiki version this week.
'''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]] • [[m:Special:MyLanguage/Tech/News#contribute|Contribute]] • [[m:Special:MyLanguage/Tech/News/2026/17|Translate]] • [[m:Tech|Get help]] • [[m:Talk:Tech/News|Give feedback]] • [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].''
</div><section end="technews-2026-W17"/>
</div>
<bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15:01, 20 Afɔfiɛ 2026 (UTC)
<!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30432763 -->
fbsx7iygp69nj8myudonmtlcqnoaf6v
Farhan Rana (Rajpoot)
0
11283
61513
2026-04-20T16:47:29Z
Khadaamm
17429
Created page with "'''Farhan Rana Rajpoot''' ([[Urdu]]:فرحان رانا راجپوت), si wonya wu to eƒe asiléƒe ŋutɔŋutɔ Farhan Rana Rajpoot, nye Pakistantɔ sinimawɔla, internet dzi ame xɔŋkɔ, kple YouTuber. Wodzii le April 20 lia dzi le ƒe 2000 me le Okara nuto me le Punjab nuto me, Pakistan. Exɔ ŋkɔ vevietɔ to eƒe nukokoedonamelawo ƒe fefe siwo wòwɔ le YouTube kple TikTok dzi eye woda asi ɖe edzi be enye modzakaɖelawo dometɔ ɖeka le modzakaɖenyawo me le Pak..."
61513
wikitext
text/x-wiki
'''Farhan Rana Rajpoot''' ([[Urdu]]:فرحان رانا راجپوت), si wonya wu to eƒe asiléƒe ŋutɔŋutɔ Farhan Rana Rajpoot, nye Pakistantɔ sinimawɔla, internet dzi ame xɔŋkɔ, kple YouTuber. Wodzii le April 20 lia dzi le ƒe 2000 me le Okara nuto me le Punjab nuto me, Pakistan. Exɔ ŋkɔ vevietɔ to eƒe nukokoedonamelawo ƒe fefe siwo wòwɔ le YouTube kple TikTok dzi eye woda asi ɖe edzi be enye modzakaɖelawo dometɔ ɖeka le modzakaɖenyawo me le Pakistan.<ref>{{Cite web|url=https://metoo.pk/2021/09/who-is-farhan-rana-rajpoot-the-famous-pakistani-youtuber/|title=Who is Farhan Rana Rajpoot? The famous Pakistani Youtuber – MeToo Pakistan|website=metoo.pk|language=en-US|access-date=2026-04-18}}</ref> <ref name=":1">{{Cite web|url=https://www.reddit.com/r/FILMuary/comments/1rfi3x1/film_25_the_woman_in_cabin_10_2025_dir_simon/|title=Reddit - Film 25 - The Woman in Cabin 10 (2025) dir Simon Stone and Farhan Rana Rajpoot|website=www.reddit.com|access-date=2026-04-17}}</ref>
== Nusiwo ŋu woke ɖo ==
{{Reflist}}
== Kadodo Siwo Le Gome ==
* [[imdbname:13073974|Farhan Rana Rajpoot]] at [[IMDb]]
* [https://www.thetvdb.com/people/9152177-farhan-rana-rajpoot Farhan Rana Rajpoot] on [[TheTVDB]] (in English).
* [https://www.facebook.com/farhanranarajpoot1 Farhan Rana Rajpoot] on [[Facebook]]
* [https://www.youtube.com/@FarhanRanaRajpoott Farhan Rana Rajpoot] on [[YouTube]]
* [https://www.justwatch.com/pk/search?q=Farhan%20Rana%20Rajpoot&person_id=2886867 Farhan Rana Rajpoot at JustWatch Streaming Guide]'''.'''
* [https://audiomack.com/farhanranarajpoot Farhan Rana Rajpoot - Listen Free on Audiomack]
sbig9w2ytqhoo0ppszo18ziaehzmd6l
Module:Check for conflicting parameters
828
11284
61515
2026-04-20T16:50:21Z
Khadaamm
17429
Created page with "local p = {} local function trim(s) return s:match('^%s*(.-)%s*$') end local function isnotempty(s) return s and s:match('%S') end function p.check(frame) local args = frame.args local pargs = frame:getParent().args local checknested = isnotempty(args['nested']) local delimiter = isnotempty(args['delimiter']) and args['delimiter'] or ';' local argpairs = {} for k, v in pairs(args) do if type(k) == 'number' then local plist = mw.text.split(v, delimiter)..."
61515
Scribunto
text/plain
local p = {}
local function trim(s)
return s:match('^%s*(.-)%s*$')
end
local function isnotempty(s)
return s and s:match('%S')
end
function p.check(frame)
local args = frame.args
local pargs = frame:getParent().args
local checknested = isnotempty(args['nested'])
local delimiter = isnotempty(args['delimiter']) and args['delimiter'] or ';'
local argpairs = {}
for k, v in pairs(args) do
if type(k) == 'number' then
local plist = mw.text.split(v, delimiter)
local pfound = {}
local count = 0
for ii, vv in ipairs(plist) do
vv = trim(vv)
if checknested and pargs[vv] or isnotempty(pargs[vv]) then
count = count + 1
table.insert(pfound, vv)
end
end
if count > 1 then
table.insert(argpairs, pfound)
end
end
end
local warnmsg = {}
local res = ''
local cat = ''
if args['cat'] and mw.ustring.match(args['cat'],'^[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]:') then
cat = args['cat']
end
local template = args['template'] and ' in ' .. args['template'] or ''
if #argpairs > 0 then
for i, v in ipairs( argpairs ) do
table.insert(
warnmsg,
mw.ustring.format(
'Using more than one of the following parameters%s: <code>%s</code>.',
template,
table.concat(v, '</code>, <code>')
)
)
if cat ~= '' then
res = res .. '[[' .. cat .. '|' .. (v[1] == '' and ' ' or '') .. v[1] .. ']]'
end
end
end
if #warnmsg > 0 then
res = require('Module:If preview')._warning({
table.concat(warnmsg, '<br>')
}) .. res
end
return res
end
return p
59n770hna40q9pw4oa0dsp86euaks0u
Module:Check for unknown parameters
828
11285
61516
2026-04-20T16:50:52Z
Khadaamm
17429
Created page with "-- This module may be used to compare the arguments passed to the parent -- with a list of arguments, returning a specified result if an argument is -- not on the list require ('strict'); local p = {} local mapframe_params = { 'coord', 'coordinates', 'id', 'qid', 'mapframe', 'mapframe-area_km2', 'mapframe-area_mi2', 'mapframe-caption', 'mapframe-coord', 'mapframe-coordinates', 'mapframe-custom', 'mapframe-frame-coord', 'mapframe-frame-coordinates', 'mapf..."
61516
Scribunto
text/plain
-- This module may be used to compare the arguments passed to the parent
-- with a list of arguments, returning a specified result if an argument is
-- not on the list
require ('strict');
local p = {}
local mapframe_params = {
'coord',
'coordinates',
'id',
'qid',
'mapframe',
'mapframe-area_km2',
'mapframe-area_mi2',
'mapframe-caption',
'mapframe-coord',
'mapframe-coordinates',
'mapframe-custom',
'mapframe-frame-coord',
'mapframe-frame-coordinates',
'mapframe-frame-height',
'mapframe-frame-width',
'mapframe-geomask',
'mapframe-geomask-fill',
'mapframe-geomask-fill-opacity',
'mapframe-geomask-stroke-color',
'mapframe-geomask-stroke-colour',
'mapframe-geomask-stroke-width',
'mapframe-height',
'mapframe-id',
'mapframe-length_km',
'mapframe-length_mi',
'mapframe-line',
'mapframe-line-stroke-color',
'mapframe-line-stroke-colour',
'mapframe-marker',
'mapframe-marker-color',
'mapframe-marker-colour',
'mapframe-point',
'mapframe-population',
'mapframe-shape',
'mapframe-shape-fill',
'mapframe-shape-fill-opacity',
'mapframe-shape-stroke-color',
'mapframe-shape-stroke-colour',
'mapframe-stroke-color',
'mapframe-stroke-colour',
'mapframe-stroke-width',
'mapframe-switcher',
'mapframe-type',
'mapframe-width',
'mapframe-wikidata',
'mapframe-zoom'
}
local function trim(s)
return s:match('^%s*(.-)%s*$')
end
local function isnotempty(s)
return s and s:match('%S')
end
local function clean(text)
-- Return text cleaned for display and truncated if too long.
-- Strip markers are replaced with dummy text representing the original wikitext.
local pos, truncated
local function truncate(text)
if truncated then
return ''
end
if mw.ustring.len(text) > 25 then
truncated = true
text = mw.ustring.sub(text, 1, 25) .. '...'
end
return mw.text.nowiki(text)
end
local parts = {}
for before, tag, remainder in text:gmatch('([^\127]*)\127[^\127]*%-(%l+)%-[^\127]*\127()') do
pos = remainder
table.insert(parts, truncate(before) .. '<' .. tag .. '>...</' .. tag .. '>')
end
table.insert(parts, truncate(text:sub(pos or 1)))
return table.concat(parts)
end
function p._check(args, pargs)
if type(args) ~= "table" or type(pargs) ~= "table" then
-- TODO: error handling
return
end
-- create the list of known args, regular expressions, and the return string
local knownargs = {}
if isnotempty(args['mapframe_args']) then
for _, v in ipairs(mapframe_params) do
knownargs[v] = 1
end
end
local regexps = {}
for k, v in pairs(args) do
if type(k) == 'number' then
v = trim(v)
knownargs[v] = 1
elseif k:find('^regexp[1-9][0-9]*$') then
table.insert(regexps, '^' .. v .. '$')
end
end
-- loop over the parent args, and make sure they are on the list
local ignoreblank = isnotempty(args['ignoreblank'])
local showblankpos = isnotempty(args['showblankpositional'])
local values = {}
for k, v in pairs(pargs) do
if type(k) == 'string' and knownargs[k] == nil then
local knownflag = false
for _, regexp in ipairs(regexps) do
if mw.ustring.match(k, regexp) then
knownflag = true
break
end
end
if not knownflag and ( not ignoreblank or isnotempty(v) ) then
table.insert(values, clean(k))
end
elseif type(k) == 'number' and knownargs[tostring(k)] == nil then
local knownflag = false
for _, regexp in ipairs(regexps) do
if mw.ustring.match(tostring(k), regexp) then
knownflag = true
break
end
end
if not knownflag and ( showblankpos or isnotempty(v) ) then
table.insert(values, k .. ' = ' .. clean(v))
end
end
end
-- add results to the output tables
local res = {}
if #values > 0 then
local unknown_text = args['unknown'] or 'Found _VALUE_, '
if mw.getCurrentFrame():preprocess( "{{REVISIONID}}" ) == "" then
local preview_text = args['preview']
if isnotempty(preview_text) then
preview_text = require('Module:If preview')._warning({preview_text})
elseif preview_text == nil then
preview_text = unknown_text
end
unknown_text = preview_text
end
for _, v in pairs(values) do
-- Fix odd bug for | = which gets stripped to the empty string and
-- breaks category links
if v == '' then v = ' ' end
-- avoid error with v = 'example%2' ("invalid capture index")
local r = unknown_text:gsub('_VALUE_', {_VALUE_ = v})
table.insert(res, r)
end
end
return table.concat(res)
end
function p.check(frame)
local args = frame.args
local pargs = frame:getParent().args
return p._check(args, pargs)
end
return p
mf5u017ry3j5wcsi9ctzrqfash3oih5
Template:Purge
10
11286
61517
2026-04-20T16:51:17Z
Khadaamm
17429
Created page with "{{#invoke:Purge|main}}<noinclude> {{documentation}} </noinclude>"
61517
wikitext
text/x-wiki
{{#invoke:Purge|main}}<noinclude>
{{documentation}}
</noinclude>
jp4ln3hv505tbr6kcpy61x7wo9joahj
Module:Purge
828
11287
61518
2026-04-20T16:52:49Z
Khadaamm
17429
Created page with "-- This module implements [[Template:Purge]]. local p = {} local function makeUrlLink(url, display) return string.format('[%s %s]', url, display) end function p._main(args) -- Make the URL local url do local title if args.page then title = mw.title.new(args.page) if not title then error(string.format( "'%s' is not a valid page name", args.page ), 2) end else title = mw.title.getCurrentTitle() end if args.anchor then title..."
61518
Scribunto
text/plain
-- This module implements [[Template:Purge]].
local p = {}
local function makeUrlLink(url, display)
return string.format('[%s %s]', url, display)
end
function p._main(args)
-- Make the URL
local url
do
local title
if args.page then
title = mw.title.new(args.page)
if not title then
error(string.format(
"'%s' is not a valid page name",
args.page
), 2)
end
else
title = mw.title.getCurrentTitle()
end
if args.anchor then
title.fragment = args.anchor
end
url = title:fullUrl{action = 'purge'}
end
-- Make the display
local display
if args.page then
display = args[1] or 'Purge'
else
display = mw.html.create('span')
display
:attr('title', 'Purge this page')
:wikitext(args[1] or 'Purge')
display = tostring(display)
end
-- Output the HTML
local root = mw.html.create('span')
root
:addClass('noprint')
:addClass('plainlinks')
:addClass('purgelink')
:wikitext(makeUrlLink(url, display))
return tostring(root)
end
function p.main(frame)
local args = frame:getParent().args
return p._main(args)
end
return p
7zn4wpraqp0o2q6ovvb2j9zno19p3zp
Template:Person infobox header
10
11288
61520
2026-04-20T16:55:00Z
Khadaamm
17429
Created page with "{{ombox|type=content|text=The design and content of [[:Category:People and person infobox templates|biographical infoboxes]] must comply with Wikipedia's [[Wikipedia:Verifiability|verifiability policy]], as well as the [[Wikipedia:Manual of Style/Infoboxes|infobox]] and [[Wikipedia:Manual of Style/Biography|biographical style guidelines]]. All content displayed by this template must adhere to the '''Wikipedia:Biographies of living persons|biographies of living persons..."
61520
wikitext
text/x-wiki
{{ombox|type=content|text=The design and content of [[:Category:People and person infobox templates|biographical infoboxes]] must comply with Wikipedia's [[Wikipedia:Verifiability|verifiability policy]], as well as the [[Wikipedia:Manual of Style/Infoboxes|infobox]] and [[Wikipedia:Manual of Style/Biography|biographical style guidelines]]. All content displayed by this template must adhere to the '''[[Wikipedia:Biographies of living persons|biographies of living persons policy]]''' when applicable. [[Wikipedia:Citing sources|Unsourced or poorly sourced]] [[Wikipedia:Contentious|contentious]] material '''must be removed''', especially if it is potentially [[Wikipedia:Libel|libelous]].}}<noinclude>
{{documentation
|content=
{{no documentation}}
[[Category:People and person infobox templates]]
}}
</noinclude>
cko6dk6awluiq5pbeleyd4pmnsa4dox
Template:Parameter names example
10
11289
61521
2026-04-20T16:55:42Z
Khadaamm
17429
Created page with "<includeonly>{{#invoke:Parameter names example|main}}</includeonly><noinclude> {{documentation}}<!-- Add categories to the /doc subpage, interwikis to Wikidata, not here --> </noinclude>"
61521
wikitext
text/x-wiki
<includeonly>{{#invoke:Parameter names example|main}}</includeonly><noinclude>
{{documentation}}<!-- Add categories to the /doc subpage, interwikis to Wikidata, not here -->
</noinclude>
4dc1wzmglz31ir81jrn4ik3iy1v4jpt
Module:Parameter names example
828
11290
61522
2026-04-20T16:58:13Z
Khadaamm
17429
Created page with "-- This module implements {{parameter names example}}. local p = {} local function makeParam(s) local lb = '{' local rb = '}' return lb:rep(3) .. s .. rb:rep(3) end local function italicize(s) return "''" .. s .. "''" end local function plain(s) return s end function p._main(args, frame) -- Find how we want to format the arguments to the template. local formatFunc if args._display == 'italics' or args._display == 'italic' then formatFunc = italic..."
61522
Scribunto
text/plain
-- This module implements {{parameter names example}}.
local p = {}
local function makeParam(s)
local lb = '{'
local rb = '}'
return lb:rep(3) .. s .. rb:rep(3)
end
local function italicize(s)
return "''" .. s .. "''"
end
local function plain(s)
return s
end
function p._main(args, frame)
-- Find how we want to format the arguments to the template.
local formatFunc
if args._display == 'italics' or args._display == 'italic' then
formatFunc = italicize
elseif args._display == 'plain' then
formatFunc = plain
else
formatFunc = makeParam
end
-- Build the table of template arguments.
local targs = {}
for k, v in pairs(args) do
if type(k) == 'number' then
targs[v] = formatFunc(v)
elseif not k:find('^_') then
targs[k] = v
end
end
--targs['nocat'] = 'yes';
--targs['categories'] = 'no';
--targs['demo'] = 'yes';
-- Find the template name.
local template
if args._template then
template = args._template
else
local currentTitle = mw.title.getCurrentTitle()
if currentTitle.prefixedText:find('/sandbox$') then
template = currentTitle.prefixedText
else
template = currentTitle.basePageTitle.prefixedText
end
end
-- Call the template with the arguments.
frame = frame or mw.getCurrentFrame()
local success, result = pcall(
frame.expandTemplate,
frame,
{title = template, args = targs}
)
if success then
return result
else
return ''
end
end
function p.main(frame)
local args = require('Module:Arguments').getArgs(frame, {
wrappers = 'Template:Parameter names example'
})
return p._main(args, frame)
end
return p
to0eolw8xx8fiql0ynvd8cfvp3ukqw4
Template:Notice
10
11291
61523
2026-04-20T16:59:12Z
Khadaamm
17429
Created page with "{{Mbox | name = Notice | demospace = {{{demospace|}}} | style = {{#if:{{{style|}}} |{{{style}}} }} | subst = <includeonly>{{subst:substcheck}}</includeonly> | type = notice | image = {{#if:{{{image|}}} |[[File:{{{image}}}|40px|Notice|alt={{{imagealt|}}}]]}} | small = {{{small|}}} | smallimage = {{#if:{{{image|}}} |[[File:{{{image}}}|30px|Notice|alt={{{imagealt|}}}]]}} | imageright = {{#if:{{{imageright|}}} |{{{imageright}}} |{{#if:{{{shor..."
61523
wikitext
text/x-wiki
{{Mbox
| name = Notice
| demospace = {{{demospace|}}}
| style = {{#if:{{{style|}}} |{{{style}}} }}
| subst = <includeonly>{{subst:substcheck}}</includeonly>
| type = notice
| image = {{#if:{{{image|}}} |[[File:{{{image}}}|40px|Notice|alt={{{imagealt|}}}]]}}
| small = {{{small|}}}
| smallimage = {{#if:{{{image|}}} |[[File:{{{image}}}|30px|Notice|alt={{{imagealt|}}}]]}}
| imageright = {{#if:{{{imageright|}}} |{{{imageright}}} |{{#if:{{{shortcut|{{{shortcut1|}}}}}} |{{Ombox/shortcut|{{{shortcut|{{{shortcut1|}}}}}}|{{{shortcut2|}}}|{{{shortcut3|}}}|{{{shortcut4|}}}|{{{shortcut5|}}}}}}} }}
| textstyle = {{{textstyle|text-align: {{#if:{{{center|}}}|center|{{{align|left}}}}};}}}
| text = {{#if:{{{header|{{{heading|{{{title|}}}}}}}}} |<div style="{{{headstyle|text-align: {{#if:{{{center|}}}|center|left}};}}}">'''{{{header|{{{heading|{{{title|}}}}}}}}}'''</div>}}<!--
-->{{{text|{{{content|{{{reason|{{{1}}}}}}}}}}}}
}}{{Editnotice EXPECTUNUSEDTEMPLATE}}<noinclude>
{{Documentation}}
</noinclude>
4a8p8j4z9awirfyhaohw79cm3yf8esd
Template:Editnotice EXPECTUNUSEDTEMPLATE
10
11292
61524
2026-04-20T16:59:42Z
Khadaamm
17429
Created page with "{{#ifeq:Template:Editnotices|{{FULLROOTPAGENAME}}|__EXPECTUNUSEDTEMPLATE__}}<noinclude>{{documentation}}</noinclude>"
61524
wikitext
text/x-wiki
{{#ifeq:Template:Editnotices|{{FULLROOTPAGENAME}}|__EXPECTUNUSEDTEMPLATE__}}<noinclude>{{documentation}}</noinclude>
1zwqf3zeqxnh21v7kbtjaygvxm2lqko
Template:Mbox
10
11293
61525
2026-04-20T17:00:05Z
Khadaamm
17429
Created page with "{{#invoke:Message box|mbox}}<noinclude> {{documentation}} <!-- Add categories to the /doc subpage; interwikis go to Wikidata, thank you! --> </noinclude>"
61525
wikitext
text/x-wiki
{{#invoke:Message box|mbox}}<noinclude>
{{documentation}}
<!-- Add categories to the /doc subpage; interwikis go to Wikidata, thank you! -->
</noinclude>
aqsrswx233se5jbjaza2b2hrk7pgx53
Template:Clear
10
11294
61526
2026-04-20T17:00:46Z
Khadaamm
17429
Created page with "<div style="clear:{{{1|both}}};" class={{{class|}}}></div><noinclude> {{documentation}} </noinclude>"
61526
wikitext
text/x-wiki
<div style="clear:{{{1|both}}};" class={{{class|}}}></div><noinclude>
{{documentation}}
</noinclude>
an9yinekx1cqo1nkoi5u8nuqub9qbvg
Template:TemplateData header
10
11295
61527
2026-04-20T17:01:49Z
Khadaamm
17429
Created page with "<div class="templatedata-header">{{#if:{{{noheader|}}}|<!-- noheader: -->{{Template parameter usage|{{{1|{{BASEPAGENAME}}}}}|based=y}}|<!-- +header: -->This is the {{#if:{{{nolink|}}}|<!-- +header, nolink TD -->TemplateData|<!-- +header, +link [[TD]]; DEFAULT: -->[[Wikipedia:TemplateData|TemplateData]]}}<!-- e.o. #if:nolink; DEFAULT: --> for this template used by [[mw:Extension:TemplateWizard|TemplateWizard]], [[Wikipedia:VisualEditor|VisualEditor]] and other..."
61527
wikitext
text/x-wiki
<div class="templatedata-header">{{#if:{{{noheader|}}}|<!--
noheader:
-->{{Template parameter usage|{{{1|{{BASEPAGENAME}}}}}|based=y}}|<!--
+header:
-->This is the {{#if:{{{nolink|}}}|<!--
+header, nolink TD
-->TemplateData|<!--
+header, +link [[TD]]; DEFAULT:
-->[[Wikipedia:TemplateData|TemplateData]]}}<!--
e.o. #if:nolink; DEFAULT:
--> for this template used by [[mw:Extension:TemplateWizard|TemplateWizard]], [[Wikipedia:VisualEditor|VisualEditor]] and other tools. {{Template parameter usage|{{{1|{{BASEPAGENAME}}}}}|based=y}}<!--
e.o. #if:noheader
-->}}
'''TemplateData for {{{1|{{BASEPAGENAME}}}}}'''
</div><includeonly><!--
check parameters
-->{{#invoke:Check for unknown parameters|check
|unknown={{template other|1=[[Category:Pages using TemplateData header with unknown parameters|_VALUE_]]}}
|template=Template:TemplateData header
|1 |nolink |noheader
|preview=<div class="error" style="font-weight:normal">Unknown parameter '_VALUE_' in [[Template:TemplateData header]].</div>
}}<!--
-->{{template other|{{sandbox other||
[[Category:Templates using TemplateData]]
}}}}</includeonly><!--
--><noinclude>{{Documentation}}</noinclude>
dm3fsfuowxw0chxh4fnnh51ar884k3v
Template:Template parameter usage
10
11296
61528
2026-04-20T17:02:18Z
Khadaamm
17429
Created page with "{{#switch:{{{label|}}} |=[https://bambots.brucemyers.com/TemplateParam.php?wiki=enwiki&template={{Urlencode:{{#if:{{{1|}}}|{{ROOTPAGENAME:{{{1|}}}}}|{{ROOTPAGENAME}}}}}} {{#ifeq:{{yesno-no|{{{lc}}}}}|no|S|s}}ee a monthly parameter usage report] for {{#if:{{{1|}}}|[[Template:{{ROOTPAGENAME:{{{1|}}}}}]]|this template}} in articles{{#ifeq:{{yesno-no|{{{based}}}}}|yes| based on {{#if:{{{1|}}}|its|this}} TemplateData}}. |None|none=[https://bambots.brucemyers.com/Templat..."
61528
wikitext
text/x-wiki
{{#switch:{{{label|}}}
|=[https://bambots.brucemyers.com/TemplateParam.php?wiki=enwiki&template={{Urlencode:{{#if:{{{1|}}}|{{ROOTPAGENAME:{{{1|}}}}}|{{ROOTPAGENAME}}}}}} {{#ifeq:{{yesno-no|{{{lc}}}}}|no|S|s}}ee a monthly parameter usage report] for {{#if:{{{1|}}}|[[Template:{{ROOTPAGENAME:{{{1|}}}}}]]|this template}} in articles{{#ifeq:{{yesno-no|{{{based}}}}}|yes| based on {{#if:{{{1|}}}|its|this}} TemplateData}}.
|None|none=[https://bambots.brucemyers.com/TemplateParam.php?wiki=enwiki&template={{Urlencode:{{#if:{{{1|}}}|{{ROOTPAGENAME:{{{1|}}}}}|{{ROOTPAGENAME}}}}}} {{#ifeq:{{yesno-no|{{{lc}}}}}|no|P|p}}arameter usage report]{{#ifeq:{{yesno-no|{{{based}}}}}|yes| based on {{#if:{{{1|}}}|its|this}} TemplateData}}
|for|For=[https://bambots.brucemyers.com/TemplateParam.php?wiki=enwiki&template={{Urlencode:{{#if:{{{1|}}}|{{ROOTPAGENAME:{{{1|}}}}}|{{ROOTPAGENAME}}}}}} {{#ifeq:{{yesno-no|{{{lc}}}}}|no|P|p}}arameter usage report] for {{#if:{{{1|}}}|[[Template:{{ROOTPAGENAME:{{{1|}}}}}]]|[[Template:{{ROOTPAGENAME}}]]}}{{#ifeq:{{yesno-no|{{{based}}}}}|yes| based on {{#if:{{{1|}}}|its|this}} TemplateData}}.
|#default=[https://bambots.brucemyers.com/TemplateParam.php?wiki=enwiki&template={{Urlencode:{{#if:{{{1|}}}|{{ROOTPAGENAME:{{{1|}}}}}|{{ROOTPAGENAME}}}}}} {{{label|}}}]{{#ifeq:{{yesno-no|{{{based}}}}}|yes| based on {{#if:{{{1|}}}|its|this}} TemplateData}}
}}<noinclude>
{{documentation}}
</noinclude>
fenf674wxid9swzlpd9p77yc9n9kzm0
Template:FULLROOTPAGENAME
10
11297
61529
2026-04-20T17:02:54Z
Khadaamm
17429
Created page with "{{ safesubst:<noinclude/>#if: {{ safesubst:<noinclude/>Ns has subpages | {{ safesubst:<noinclude/>#if:{{{1|}}}|{{ safesubst:<noinclude/>NAMESPACE:{{{1}}}}}|{{ safesubst:<noinclude/>NAMESPACE}}}} }} | {{ safesubst:<noinclude/>#titleparts:{{ safesubst:<noinclude/>#if:{{{1|}}}|{{{1}}}|{{ safesubst:<noinclude/>FULLPAGENAME}}}}|1}} | {{ safesubst:<noinclude/>#if:{{{1|}}}|{{{1}}}|{{ safesubst:<noinclude/>FULLPAGENAME}}}} }}<noinclude> {{documentation}} </noinclude>"
61529
wikitext
text/x-wiki
{{ safesubst:<noinclude/>#if: {{ safesubst:<noinclude/>Ns has subpages | {{ safesubst:<noinclude/>#if:{{{1|}}}|{{ safesubst:<noinclude/>NAMESPACE:{{{1}}}}}|{{ safesubst:<noinclude/>NAMESPACE}}}} }}
| {{ safesubst:<noinclude/>#titleparts:{{ safesubst:<noinclude/>#if:{{{1|}}}|{{{1}}}|{{ safesubst:<noinclude/>FULLPAGENAME}}}}|1}}
| {{ safesubst:<noinclude/>#if:{{{1|}}}|{{{1}}}|{{ safesubst:<noinclude/>FULLPAGENAME}}}}
}}<noinclude>
{{documentation}}
</noinclude>
tk494gglkhfogc40do2k58d4bbttx9o
Template:Basepage subpage
10
11298
61530
2026-04-20T17:03:23Z
Khadaamm
17429
Created page with "{{safesubst:<noinclude/>#switch: <!--If no or empty "page" parameter then detect basepage/subpage/subsubpage--> {{safesubst:<noinclude/>#if:{{{page|}}} | {{safesubst:<noinclude/>#if:{{safesubst:<noinclude/>#titleparts:{{{page}}}|0|3}} | subsubpage <noinclude><!-- Subsubpage or lower --></noinclude> | {{safesubst:<noinclude/>#if:{{safesubst:<noinclude/>#titleparts:{{{page}}}|0|2}} | subpage | basepage }} }} | {{safesubst:<noi..."
61530
wikitext
text/x-wiki
{{safesubst:<noinclude/>#switch:
<!--If no or empty "page" parameter then detect
basepage/subpage/subsubpage-->
{{safesubst:<noinclude/>#if:{{{page|}}}
| {{safesubst:<noinclude/>#if:{{safesubst:<noinclude/>#titleparts:{{{page}}}|0|3}}
| subsubpage <noinclude><!-- Subsubpage or lower --></noinclude>
| {{safesubst:<noinclude/>#if:{{safesubst:<noinclude/>#titleparts:{{{page}}}|0|2}}
| subpage
| basepage
}}
}}
| {{safesubst:<noinclude/>#if:{{safesubst:<noinclude/>#titleparts:{{safesubst:<noinclude/>FULLPAGENAME}}|0|3}}
| subsubpage <noinclude><!-- Subsubpage or lower --></noinclude>
| {{safesubst:<noinclude/>#if:{{safesubst:<noinclude/>#titleparts:{{safesubst:<noinclude/>FULLPAGENAME}}|0|2}}
| subpage
| basepage
}}
}}
}}
| basepage = {{{1|}}}
| subpage = {{{2|}}}
| subsubpage = {{{3| {{{2|}}} }}} <noinclude><!-- Respecting empty parameter on purpose --></noinclude>
}}<noinclude><!-- End switch -->
{{Documentation}}
</noinclude>
pnrmop1xf89eekro22mpghvvgjgo4qd
Template:Block indent
10
11299
61531
2026-04-20T17:04:31Z
Khadaamm
17429
Created page with "<templatestyles src="Block indent/styles.css"/><div class="block-indent {{{class|}}}" {{#if:{{{left|}}}{{{em|}}}{{{right|}}}{{{style|}}}|style="{{#if:{{{left|{{{em|}}}}}}|padding-left: {{{left|{{{em}}}}}}em;}}{{#if:{{{right|}}}|padding-right: {{{right}}}em;}}{{#if:{{{style|}}}|{{{style}}}}}"}}>{{{1|{{{text|{{{content|{{{quote|<noinclude>{{lorem ipsum}}</noinclude><includeonly>{{error|Error: No content given to indent (or equals sign used in the actual argument to an unna..."
61531
wikitext
text/x-wiki
<templatestyles src="Block indent/styles.css"/><div class="block-indent {{{class|}}}" {{#if:{{{left|}}}{{{em|}}}{{{right|}}}{{{style|}}}|style="{{#if:{{{left|{{{em|}}}}}}|padding-left: {{{left|{{{em}}}}}}em;}}{{#if:{{{right|}}}|padding-right: {{{right}}}em;}}{{#if:{{{style|}}}|{{{style}}}}}"}}>{{{1|{{{text|{{{content|{{{quote|<noinclude>{{lorem ipsum}}</noinclude><includeonly>{{error|Error: No content given to indent (or equals sign used in the actual argument to an unnamed parameter)}}</includeonly>}}}}}}}}}}}}</div><noinclude>
{{documentation}}
</noinclude>
s97n0kekohfw61aczb4rdypuzqrqlog
Template:Block indent/styles.css
10
11300
61532
2026-04-20T17:04:50Z
Khadaamm
17429
Created page with "/* {{pp|small=yes}} */ .block-indent { padding-left: 3em; padding-right: 0; overflow: hidden; }"
61532
sanitized-css
text/css
/* {{pp|small=yes}} */
.block-indent {
padding-left: 3em;
padding-right: 0;
overflow: hidden;
}
nfitosdxrisv7d8vbx8wjpk5z3nyqgb
Template:Documentation subpage
10
11301
61533
2026-04-20T17:05:41Z
Khadaamm
17429
Created page with "<includeonly><!-- -->{{#ifeq:{{lc:{{SUBPAGENAME}}}} |{{{override|doc}}} | <!--(this template has been transcluded on a /doc or /{{{override}}} page)--> </includeonly><!-- -->{{#ifeq:{{{doc-notice|show}}} |show | {{Mbox | type = notice | style = margin-bottom:1.0em; | image = [[File:Edit-copy green.svg|40px|alt=icon]] | text = {{strong|This is a Wikipedia:Template documentation|documentation subp..."
61533
wikitext
text/x-wiki
<includeonly><!--
-->{{#ifeq:{{lc:{{SUBPAGENAME}}}} |{{{override|doc}}}
| <!--(this template has been transcluded on a /doc or /{{{override}}} page)-->
</includeonly><!--
-->{{#ifeq:{{{doc-notice|show}}} |show
| {{Mbox
| type = notice
| style = margin-bottom:1.0em;
| image = [[File:Edit-copy green.svg|40px|alt=icon]]
| text =
{{strong|This is a [[Wikipedia:Template documentation|documentation subpage]]}} for {{terminate sentence|{{{1|[[:{{SUBJECTSPACE}}:{{BASEPAGENAME}}]]}}}}}<br />It may contain usage information, [[Wikipedia:Categorization|categories]] and other content that is not part of the original {{#if:{{{text2|}}} |{{{text2}}} |{{#if:{{{text1|}}} |{{{text1}}} |{{#ifeq:{{SUBJECTSPACE}} |{{ns:User}} |{{lc:{{SUBJECTSPACE}}}} template page |{{#if:{{SUBJECTSPACE}} |{{lc:{{SUBJECTSPACE}}}} page|article}}}}}}}}.
}}
}}<!--
-->{{DEFAULTSORT:{{{defaultsort|{{PAGENAME}}}}}}}<!--
-->{{#if:{{{nocat|}}}{{{inhibit|}}}|<!--(don't categorize)-->
|<includeonly><!--
-->{{#ifexist:{{NAMESPACE}}:{{BASEPAGENAME}}
| [[Category:{{#switch:{{SUBJECTSPACE}} |Template=Template |Module=Module |User=User |#default=Wikipedia}} documentation pages]]
| [[Category:Documentation subpages without corresponding pages]]
}}<!--
--></includeonly>
}}<!--
(completing initial #ifeq: at start of template:)
--><includeonly>
| <!--(this template has not been transcluded on a /doc or /{{{override}}} page)-->
}}<!--
--></includeonly><noinclude>{{Documentation}}</noinclude>
ngbz78vpmpnny1xbfvkmebdalzs512j
Template:Para
10
11302
61534
2026-04-20T17:06:48Z
Khadaamm
17429
Created page with "<code class="tpl-para" style="word-break:break-word;{{SAFESUBST:<noinclude />#if:{{{plain|}}}|border: none; background-color: inherit;}} {{SAFESUBST:<noinclude />#if:{{{plain|}}}{{{mxt|}}}{{{green|}}}{{{!mxt|}}}{{{red|}}}|color: {{SAFESUBST:<noinclude />#if:{{{mxt|}}}{{{green|}}}|#006400|{{SAFESUBST:<noinclude />#if:{{{!mxt|}}}{{{red|}}}|#8B0000|inherit}}}};}} {{SAFESUBST:<noinclude />#if:{{{style|}}}|{{{style}}}}}">|{{SAFESUBST:<noinclude />#if:{{{1|}}}|{{{1}}}=..."
61534
wikitext
text/x-wiki
<code class="tpl-para" style="word-break:break-word;{{SAFESUBST:<noinclude />#if:{{{plain|}}}|border: none; background-color: inherit;}} {{SAFESUBST:<noinclude />#if:{{{plain|}}}{{{mxt|}}}{{{green|}}}{{{!mxt|}}}{{{red|}}}|color: {{SAFESUBST:<noinclude />#if:{{{mxt|}}}{{{green|}}}|#006400|{{SAFESUBST:<noinclude />#if:{{{!mxt|}}}{{{red|}}}|#8B0000|inherit}}}};}} {{SAFESUBST:<noinclude />#if:{{{style|}}}|{{{style}}}}}">|{{SAFESUBST:<noinclude />#if:{{{1|}}}|{{{1}}}=}}{{{2|}}}</code><noinclude>
{{Documentation}}
<!-- Categories go near the bottom of the /doc subpage – interwikis go to Wikidata, thank you! -->
</noinclude>
9bs2ftecq9eid2hliyadkmm2ks00w8w
Template:Lua
10
11303
61535
2026-04-20T17:07:32Z
Khadaamm
17429
Created page with "<includeonly>{{#invoke:Lua banner|main}}</includeonly><noinclude> {{Lua|Module:Lua banner}} {{documentation}} <!-- Categories go on the /doc subpage and interwikis go on Wikidata. --> </noinclude>"
61535
wikitext
text/x-wiki
<includeonly>{{#invoke:Lua banner|main}}</includeonly><noinclude>
{{Lua|Module:Lua banner}}
{{documentation}}
<!-- Categories go on the /doc subpage and interwikis go on Wikidata. -->
</noinclude>
pnmjp3f3fl321yf2jpg5syebi412n7b
Module:Lua banner
828
11304
61536
2026-04-20T17:07:51Z
Khadaamm
17429
Created page with "-- This module implements the {{lua}} template. local yesno = require('Module:Yesno') local mList = require('Module:List') local mTableTools = require('Module:TableTools') local mMessageBox = require('Module:Message box') local p = {} function p.main(frame) local origArgs = frame:getParent().args local args = {} for k, v in pairs(origArgs) do v = v:match('^%s*(.-)%s*$') if v ~= '' then args[k] = v end end return p._main(args) end function p._main(args)..."
61536
Scribunto
text/plain
-- This module implements the {{lua}} template.
local yesno = require('Module:Yesno')
local mList = require('Module:List')
local mTableTools = require('Module:TableTools')
local mMessageBox = require('Module:Message box')
local p = {}
function p.main(frame)
local origArgs = frame:getParent().args
local args = {}
for k, v in pairs(origArgs) do
v = v:match('^%s*(.-)%s*$')
if v ~= '' then
args[k] = v
end
end
return p._main(args)
end
function p._main(args)
local modules = mTableTools.compressSparseArray(args)
local box = p.renderBox(modules)
local trackingCategories = p.renderTrackingCategories(args, modules)
return box .. trackingCategories
end
function p.renderBox(modules)
local boxArgs = {}
if #modules < 1 then
boxArgs.text = '<strong class="error">Error: no modules specified</strong>'
else
local moduleLinks = {}
for i, module in ipairs(modules) do
moduleLinks[i] = string.format('[[:%s]]', module)
local maybeSandbox = mw.title.new(module .. '/sandbox')
if maybeSandbox and maybeSandbox.exists then
moduleLinks[i] = moduleLinks[i] .. string.format(' ([[:%s|sandbox]])', maybeSandbox.fullText)
end
end
local moduleList = mList.makeList('bulleted', moduleLinks)
local title = mw.title.getCurrentTitle()
if title.subpageText == "doc" then
title = title.basePageTitle
end
if title.contentModel == "Scribunto" then
boxArgs.text = 'This module depends on the following other modules:' .. moduleList
else
boxArgs.text = 'This template uses [[Wikipedia:Lua|Lua]]:\n' .. moduleList
end
end
boxArgs.type = 'notice'
boxArgs.small = true
boxArgs.image = '[[File:Lua-Logo.svg|30px|alt=|link=]]'
return mMessageBox.main('mbox', boxArgs)
end
function p.renderTrackingCategories(args, modules, titleObj)
if yesno(args.nocat) then
return ''
end
local cats = {}
-- Error category
if #modules < 1 then
cats[#cats + 1] = 'Lua templates with errors'
end
-- Lua templates category
titleObj = titleObj or mw.title.getCurrentTitle()
local subpageBlacklist = {
doc = true,
sandbox = true,
sandbox2 = true,
testcases = true
}
if not subpageBlacklist[titleObj.subpageText] then
local protCatName
if titleObj.namespace == 10 then
local category = args.category
if not category then
local categories = {
['Module:String'] = 'Templates based on the String Lua module',
['Module:Math'] = 'Templates based on the Math Lua module',
['Module:BaseConvert'] = 'Templates based on the BaseConvert Lua module',
['Module:Citation/CS1'] = 'Templates based on the Citation/CS1 Lua module'
}
category = modules[1] and categories[modules[1]]
category = category or 'Lua-based templates'
end
cats[#cats + 1] = category
protCatName = "Templates using under-protected Lua modules"
elseif titleObj.namespace == 828 then
protCatName = "Modules depending on under-protected modules"
end
if not args.noprotcat and protCatName then
local protLevels = {
autoconfirmed = 1,
extendedconfirmed = 2,
templateeditor = 3,
sysop = 4
}
local currentProt
if titleObj.id ~= 0 then
-- id is 0 (page does not exist) if am previewing before creating a template.
currentProt = titleObj.protectionLevels["edit"][1]
end
if currentProt == nil then currentProt = 0 else currentProt = protLevels[currentProt] end
for i, module in ipairs(modules) do
if module ~= "WP:libraryUtil" then
local moduleTitle = mw.title.new(module)
local moduleProt = moduleTitle and moduleTitle.protectionLevels["edit"][1]
if moduleProt == nil then moduleProt = 0 else moduleProt = protLevels[moduleProt] end
if moduleProt < currentProt then
cats[#cats + 1] = protCatName
break
end
end
end
end
end
for i, cat in ipairs(cats) do
cats[i] = string.format('[[Category:%s]]', cat)
end
return table.concat(cats)
end
return p
dq7qzq2ns8wqfpy25uvhp3np9z9bde7
Template:Tracks Wikidata
10
11305
61538
2026-04-20T17:08:27Z
Khadaamm
17429
Created page with "{{Sister project | image = [[File:Wikidata-logo-with-magnifying-glass-icon.svg|40px|link=Wikipedia:Wikidata]] | position = {{{position|}}} | text = This {{template other | template | {{module other | module | {{category other | category | page <!-- not template, module, or category --> }} }} }} [[:Category:{{{cat|Wikidata tracking categories}}}|tracks]] {{#if:{{{section|}}} | one or more [[Wikidata]] properties; see {{Section..."
61538
wikitext
text/x-wiki
{{Sister project
| image = [[File:Wikidata-logo-with-magnifying-glass-icon.svg|40px|link=Wikipedia:Wikidata]]
| position = {{{position|}}}
| text = This {{template other
| template
| {{module other
| module
| {{category other
| category
| page <!-- not template, module, or category -->
}}
}}
}} [[:Category:{{{cat|Wikidata tracking categories}}}|tracks]] {{#if:{{{section|}}}
| one or more [[Wikidata]] properties; see {{Section link||{{{section}}}}} for details.
| the [[Wikidata]] propert{{#if:{{{2|}}}|ies:|y:}} {{#invoke:Uses Wikidata|usesProperty}}
}}
}}<includeonly>{{#switch:{{SUBPAGENAME}}
|sandbox |testcases |doc= <!--no category-->
|#default = {{template other
| [[Category:Templates tracking Wikidata]]
| {{module other
| [[Category:Modules tracking Wikidata]]
| {{category other
| <!-- if used in a category, don't automatically add parent category -->
| <!-- not template, module, or category -->
}}
}}
}}
}}</includeonly><noinclude>
{{Documentation}}<!-- Add categories and interwikis to the /doc sub-page -->
</noinclude>
7tc9ffs0uh5p7zhqdmtv1esq6o76x8s
Template:Film- and television-related infobox templates
10
11306
61539
2026-04-20T17:09:22Z
Khadaamm
17429
Created page with "{{Navbox | name = Film- and television-related infobox templates | title = Film- and television-related infobox templates | listclass = hlist | state = {{{state|autocollapse}}} | group1 = [[Wikipedia:List of infoboxes#Film|Film]] | list1 = * [[Template:Infobox film|Film]] ** [[Template:Infobox film/short description|/short description]] * [[Template:Infobox film or theatre festival|Film or theatre festival]] * Template:Infobox art movement|Art move..."
61539
wikitext
text/x-wiki
{{Navbox
| name = Film- and television-related infobox templates
| title = Film- and television-related infobox templates
| listclass = hlist
| state = {{{state|autocollapse}}}
| group1 = [[Wikipedia:List of infoboxes#Film|Film]]
| list1 =
* [[Template:Infobox film|Film]]
** [[Template:Infobox film/short description|/short description]]
* [[Template:Infobox film or theatre festival|Film or theatre festival]]
* [[Template:Infobox art movement|Art movement]]
* [[Template:Infobox cinema market|Cinema market]]
* [[Template:Infobox movie quote|Movie quote]]
| group2 = [[Wikipedia:List of infoboxes#Television|Television]]
| list2 =
* [[Template:Infobox television|Television]]
** [[Template:Infobox television/Short description|/Short description]]
* [[Template:Infobox television season|Television season]]
** [[Template:Infobox reality competition season|Reality competition season]]
* [[Template:Infobox television episode|Television episode]]
** [[Template:Infobox television crossover episode|crossover]]
*** [[Template:Infobox television crossover episode/part|/part]]
** ''[[Template:Infobox Doctor Who episode|Doctor Who]]''
** ''[[Template:Infobox Futurama episode|Futurama]]''
** ''[[Template:Infobox Simpsons episode|Simpsons]]''
* [[Template:Infobox animanga/Video|Animanga]]
| group3 = Misc video
| list3 =
* ''[[Template:Infobox Paris by Night|Paris by Night]]''
* [[Template:Infobox machinima|Machinima]]
| group4 = Industry
| list4 =
* [[Template:Infobox award|Award]]
* [[Template:Infobox awards list|Awards list]]
* [[Template:Infobox film awards|Film awards]]
** [[Template:Infobox film awards/link|/link]]
** [[Template:Infobox film awards/style|/style]]
* [[Template:Infobox broadcasting network|Broadcasting network]]
* [[Template:Infobox television channel|Television channel]]
* [[Template:Infobox television station|Television station]]
* [[Template:Infobox programming block|Programming block]]
* [[Template:Infobox presenter|Presenter]]
| group5 = [[Wikipedia:List of infoboxes#Photography|Technical]]
| list5 =
* [[Template:Infobox camera|Camera]]
* [[Template:Infobox movie camera|Movie camera]]
* [[Template:Infobox camera mount|Camera mount]]
* [[Template:Infobox photographic lens|Photographic lens]]
* [[Template:Infobox lens design|Lens design]]
* [[Template:Infobox photographic film|Photographic film]]
| group6 = [[Wikipedia:List of infoboxes#Fictional elements|Fiction]]
| list6 =
* [[Template:Infobox fictional artifact|Artifact]]
* [[Template:Infobox character|Character]]
** [[Template:Infobox Doctor Who doctor|Doctor Who doctor]]
** [[Template:Infobox G.I. Joe character|''G.I. Joe'']]
** [[Template:Infobox soap character|Soap opera]]
* [[Template:Infobox fictional family|Family]]
** [[Template:Infobox fictional family/member|Family member]]
* [[Template:Infobox fictional location|Location]]
* [[Template:Infobox fictional organisation|Organisation]]
* [[Template:Infobox fictional race|Race]]
* [[Template:Infobox fictional vehicle|Vehicle]]
| group7 = Template modules
| list7 =
* [[Template:Infobox name module|Name module]]
* [[Template:Based on|Based on]]
* [[Template:Infobox person|Person]]
* [[Template:Listen|Listen]]
| group8 = Related
| list8 =
* [[Template:Infobox advertising|Advertising]]
* [[Template:Infobox media franchise|Media franchise]]
* [[Template:Infobox audio drama|Audio drama]]
* [[Template:Infobox podcast|Podcast]]
* [[Template:Infobox radio station|Radio station]]
* [[Template:Infobox radio show|Radio show]]
}}<noinclude>
{{Documentation}}
</noinclude>
f8ik4bsipy145ylrinaubi93ilbrurb
Template:Navbox
10
11307
61540
2026-04-20T17:09:42Z
Khadaamm
17429
Created page with "<includeonly>{{#invoke:Navbox|navbox}}</includeonly><noinclude> {{Documentation}} </noinclude>"
61540
wikitext
text/x-wiki
<includeonly>{{#invoke:Navbox|navbox}}</includeonly><noinclude>
{{Documentation}}
</noinclude>
tqodcaa2vvhehqaod229udlla0wimek
Module:Navbox
828
11308
61541
2026-04-20T17:10:13Z
Khadaamm
17429
Created page with "require('strict') local p = {} local cfg = mw.loadData('Module:Navbox/configuration') local inArray = require("Module:TableTools").inArray local getArgs -- lazily initialized local hiding_templatestyles = {} -- global passthrough variables local passthrough = { [cfg.arg.above]=true,[cfg.arg.aboveclass]=true,[cfg.arg.abovestyle]=true, [cfg.arg.basestyle]=true, [cfg.arg.below]=true,[cfg.arg.belowclass]=true,[cfg.arg.belowstyle]=true, [cfg.arg.bodyclass]=true, [cfg.a..."
61541
Scribunto
text/plain
require('strict')
local p = {}
local cfg = mw.loadData('Module:Navbox/configuration')
local inArray = require("Module:TableTools").inArray
local getArgs -- lazily initialized
local hiding_templatestyles = {}
-- global passthrough variables
local passthrough = {
[cfg.arg.above]=true,[cfg.arg.aboveclass]=true,[cfg.arg.abovestyle]=true,
[cfg.arg.basestyle]=true,
[cfg.arg.below]=true,[cfg.arg.belowclass]=true,[cfg.arg.belowstyle]=true,
[cfg.arg.bodyclass]=true,
[cfg.arg.groupclass]=true,
[cfg.arg.image]=true,[cfg.arg.imageclass]=true,[cfg.arg.imagestyle]=true,
[cfg.arg.imageleft]=true,[cfg.arg.imageleftstyle]=true,
[cfg.arg.listclass]=true,
[cfg.arg.name]=true,
[cfg.arg.navbar]=true,
[cfg.arg.state]=true,
[cfg.arg.title]=true,[cfg.arg.titleclass]=true,[cfg.arg.titlestyle]=true,
argHash=true
}
-- helper functions
local andnum = function(s, n) return string.format(cfg.arg[s .. '_and_num'], n) end
local isblank = function(v) return (v or '') == '' end
local function concatstrings(s)
local r = table.concat(s, '')
if r:match('^%s*$') then return nil end
return r
end
local function concatstyles(s)
local r = ''
for _, v in ipairs(s) do
v = mw.text.trim(v, "%s;")
if not isblank(v) then r = r .. v .. ';' end
end
if isblank(r) then return nil end
return r
end
local function getSubgroup(args, listnum, listText, prefix)
local subArgs = {
[cfg.arg.border] = cfg.keyword.border_subgroup,
[cfg.arg.navbar] = cfg.keyword.navbar_plain,
argHash = 0
}
local hasSubArgs = false
local subgroups_and_num = prefix and {prefix} or cfg.arg.subgroups_and_num
for k, v in pairs(args) do
k = tostring(k)
for _, w in ipairs(subgroups_and_num) do
w = string.format(w, listnum) .. "_"
if (#k > #w) and (k:sub(1, #w) == w) then
subArgs[k:sub(#w + 1)] = v
hasSubArgs = true
subArgs.argHash = subArgs.argHash + (v and #v or 0)
end
end
end
return hasSubArgs and p._navbox(subArgs) or listText
end
-- Main functions
function p._navbox(args)
if args.type == cfg.keyword.with_collapsible_groups then
return p._withCollapsibleGroups(args)
elseif args.type == cfg.keyword.with_columns then
return p._withColumns(args)
end
local function striped(wikitext, border)
-- Return wikitext with markers replaced for odd/even striping.
-- Child (subgroup) navboxes are flagged with a category that is removed
-- by parent navboxes. The result is that the category shows all pages
-- where a child navbox is not contained in a parent navbox.
local orphanCat = cfg.category.orphan
if border == cfg.keyword.border_subgroup and args[cfg.arg.orphan] ~= cfg.keyword.orphan_yes then
-- No change; striping occurs in outermost navbox.
return wikitext .. orphanCat
end
local first, second = cfg.class.navbox_odd_part, cfg.class.navbox_even_part
if args[cfg.arg.evenodd] then
if args[cfg.arg.evenodd] == cfg.keyword.evenodd_swap then
first, second = second, first
else
first = args[cfg.arg.evenodd]
second = first
end
end
local changer
if first == second then
changer = first
else
local index = 0
changer = function (code)
if code == '0' then
-- Current occurrence is for a group before a nested table.
-- Set it to first as a valid although pointless class.
-- The next occurrence will be the first row after a title
-- in a subgroup and will also be first.
index = 0
return first
end
index = index + 1
return index % 2 == 1 and first or second
end
end
local regex = orphanCat:gsub('([%[%]])', '%%%1')
return (wikitext:gsub(regex, ''):gsub(cfg.marker.regex, changer)) -- () omits gsub count
end
local function processItem(item, nowrapitems)
if item:sub(1, 2) == '{|' then
-- Applying nowrap to lines in a table does not make sense.
-- Add newlines to compensate for trim of x in |parm=x in a template.
return '\n' .. item .. '\n'
end
if nowrapitems == cfg.keyword.nowrapitems_yes then
local lines = {}
for line in (item .. '\n'):gmatch('([^\n]*)\n') do
local prefix, content = line:match('^([*:;#]+)%s*(.*)')
if prefix and not content:match(cfg.pattern.nowrap) then
line = string.format(cfg.nowrap_item, prefix, content)
end
table.insert(lines, line)
end
item = table.concat(lines, '\n')
end
if item:match('^[*:;#]') then
return '\n' .. item .. '\n'
end
return item
end
local function has_navbar()
return args[cfg.arg.navbar] ~= cfg.keyword.navbar_off
and args[cfg.arg.navbar] ~= cfg.keyword.navbar_plain
and (
args[cfg.arg.name]
or mw.getCurrentFrame():getParent():getTitle():gsub(cfg.pattern.sandbox, '')
~= cfg.pattern.navbox
)
end
-- extract text color from css, which is the only permitted inline CSS for the navbar
local function extract_color(css_str)
-- return nil because navbar takes its argument into mw.html which handles
-- nil gracefully, removing the associated style attribute
return mw.ustring.match(';' .. css_str .. ';', '.*;%s*([Cc][Oo][Ll][Oo][Rr]%s*:%s*.-)%s*;') or nil
end
local function renderNavBar(titleCell)
if has_navbar() then
local navbar = require('Module:Navbar')._navbar
titleCell:wikitext(navbar{
[cfg.navbar.name] = args[cfg.arg.name],
[cfg.navbar.mini] = 1,
[cfg.navbar.fontstyle] = extract_color(
(args[cfg.arg.basestyle] or '') .. ';' .. (args[cfg.arg.titlestyle] or '')
)
})
end
end
local function renderTitleRow(tbl)
if not args[cfg.arg.title] then return end
local titleRow = tbl:tag('tr')
local titleCell = titleRow:tag('th'):attr('scope', 'col')
local titleColspan = 2
if args[cfg.arg.imageleft] then titleColspan = titleColspan + 1 end
if args[cfg.arg.image] then titleColspan = titleColspan + 1 end
titleCell
:cssText(args[cfg.arg.basestyle])
:cssText(args[cfg.arg.titlestyle])
:addClass(cfg.class.navbox_title)
:attr('colspan', titleColspan)
renderNavBar(titleCell)
titleCell
:tag('div')
-- id for aria-labelledby attribute
:attr('id', mw.uri.anchorEncode(args[cfg.arg.title]) .. args.argHash)
:addClass(args[cfg.arg.titleclass])
:css('font-size', '114%')
:css('margin', '0 4em')
:wikitext(processItem(args[cfg.arg.title]))
end
local function getAboveBelowColspan()
local ret = 2
if args[cfg.arg.imageleft] then ret = ret + 1 end
if args[cfg.arg.image] then ret = ret + 1 end
return ret
end
local function renderAboveRow(tbl)
if not args[cfg.arg.above] then return end
tbl:tag('tr')
:tag('td')
:addClass(cfg.class.navbox_abovebelow)
:addClass(args[cfg.arg.aboveclass])
:cssText(args[cfg.arg.basestyle])
:cssText(args[cfg.arg.abovestyle])
:attr('colspan', getAboveBelowColspan())
:tag('div')
-- id for aria-labelledby attribute, if no title
:attr('id', (not args[cfg.arg.title]) and
(mw.uri.anchorEncode(args[cfg.arg.above]) .. args.argHash)
or nil)
:wikitext(processItem(args[cfg.arg.above], args[cfg.arg.nowrapitems]))
end
local function renderBelowRow(tbl)
if not args[cfg.arg.below] then return end
tbl:tag('tr')
:tag('td')
:addClass(cfg.class.navbox_abovebelow)
:addClass(args[cfg.arg.belowclass])
:cssText(args[cfg.arg.basestyle])
:cssText(args[cfg.arg.belowstyle])
:attr('colspan', getAboveBelowColspan())
:tag('div')
:wikitext(processItem(args[cfg.arg.below], args[cfg.arg.nowrapitems]))
end
local function renderListRow(tbl, index, listnum, listnums_size)
local row = tbl:tag('tr')
if index == 1 and args[cfg.arg.imageleft] then
row
:tag('td')
:addClass(cfg.class.noviewer)
:addClass(cfg.class.navbox_image)
:addClass(args[cfg.arg.imageclass])
:css('width', '1px') -- Minimize width
:css('padding', '0 2px 0 0')
:cssText(args[cfg.arg.imageleftstyle])
:attr('rowspan', listnums_size)
:tag('div')
:wikitext(processItem(args[cfg.arg.imageleft]))
end
local group_and_num = andnum('group', listnum)
local groupstyle_and_num = andnum('groupstyle', listnum)
if args[group_and_num] then
local groupCell = row:tag('th')
-- id for aria-labelledby attribute, if lone group with no title or above
if listnum == 1 and not (args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group2]) then
groupCell
:attr('id', mw.uri.anchorEncode(args[cfg.arg.group1]) .. args.argHash)
end
groupCell
:attr('scope', 'row')
:addClass(cfg.class.navbox_group)
:addClass(args[cfg.arg.groupclass])
:cssText(args[cfg.arg.basestyle])
-- If groupwidth not specified, minimize width
:css('width', args[cfg.arg.groupwidth] or '1%')
groupCell
:cssText(args[cfg.arg.groupstyle])
:cssText(args[groupstyle_and_num])
:wikitext(args[group_and_num])
end
local listCell = row:tag('td')
if args[group_and_num] then
listCell
:addClass(cfg.class.navbox_list_with_group)
else
listCell:attr('colspan', 2)
end
if not args[cfg.arg.groupwidth] then
listCell:css('width', '100%')
end
local rowstyle -- usually nil so cssText(rowstyle) usually adds nothing
if index % 2 == 1 then
rowstyle = args[cfg.arg.oddstyle]
else
rowstyle = args[cfg.arg.evenstyle]
end
local list_and_num = andnum('list', listnum)
local listText = inArray(cfg.keyword.subgroups, args[list_and_num])
and getSubgroup(args, listnum, args[list_and_num]) or args[list_and_num]
local oddEven = cfg.marker.oddeven
if listText:sub(1, 12) == '</div><table' then
-- Assume list text is for a subgroup navbox so no automatic striping for this row.
oddEven = listText:find(cfg.pattern.navbox_title) and cfg.marker.restart or cfg.class.navbox_odd_part
end
local liststyle_and_num = andnum('liststyle', listnum)
local listclass_and_num = andnum('listclass', listnum)
listCell
:css('padding', '0')
:cssText(args[cfg.arg.liststyle])
:cssText(rowstyle)
:cssText(args[liststyle_and_num])
:addClass(cfg.class.navbox_list)
:addClass(cfg.class.navbox_part .. oddEven)
:addClass(args[cfg.arg.listclass])
:addClass(args[listclass_and_num])
:tag('div')
:css('padding',
(index == 1 and args[cfg.arg.list1padding]) or args[cfg.arg.listpadding] or '0 0.25em'
)
:wikitext(processItem(listText, args[cfg.arg.nowrapitems]))
if index == 1 and args[cfg.arg.image] then
row
:tag('td')
:addClass(cfg.class.noviewer)
:addClass(cfg.class.navbox_image)
:addClass(args[cfg.arg.imageclass])
:css('width', '1px') -- Minimize width
:css('padding', '0 0 0 2px')
:cssText(args[cfg.arg.imagestyle])
:attr('rowspan', listnums_size)
:tag('div')
:wikitext(processItem(args[cfg.arg.image]))
end
end
local function has_list_class(htmlclass)
local patterns = {
'^' .. htmlclass .. '$',
'%s' .. htmlclass .. '$',
'^' .. htmlclass .. '%s',
'%s' .. htmlclass .. '%s'
}
for arg, _ in pairs(args) do
if type(arg) == 'string' and mw.ustring.find(arg, cfg.pattern.class) then
for _, pattern in ipairs(patterns) do
if mw.ustring.find(args[arg] or '', pattern) then
return true
end
end
end
end
return false
end
-- there are a lot of list classes in the wild, so we add their TemplateStyles
local function add_list_styles()
local frame = mw.getCurrentFrame()
local function add_list_templatestyles(htmlclass, templatestyles)
if has_list_class(htmlclass) then
return frame:extensionTag{
name = 'templatestyles', args = { src = templatestyles }
}
else
return ''
end
end
local hlist_styles = add_list_templatestyles('hlist', cfg.hlist_templatestyles)
local plainlist_styles = add_list_templatestyles('plainlist', cfg.plainlist_templatestyles)
-- a second workaround for [[phab:T303378]]
-- when that issue is fixed, we can actually use has_navbar not to emit the
-- tag here if we want
if has_navbar() and hlist_styles == '' then
hlist_styles = frame:extensionTag{
name = 'templatestyles', args = { src = cfg.hlist_templatestyles }
}
end
-- hlist -> plainlist is best-effort to preserve old Common.css ordering.
-- this ordering is not a guarantee because most navboxes will emit only
-- one of these classes [hlist_note]
return hlist_styles .. plainlist_styles
end
local function needsHorizontalLists(border)
if border == cfg.keyword.border_subgroup or args[cfg.arg.tracking] == cfg.keyword.tracking_no then
return false
end
return not has_list_class(cfg.pattern.hlist) and not has_list_class(cfg.pattern.plainlist)
end
local function hasBackgroundColors()
for _, key in ipairs({cfg.arg.titlestyle, cfg.arg.groupstyle,
cfg.arg.basestyle, cfg.arg.abovestyle, cfg.arg.belowstyle}) do
if tostring(args[key]):find('background', 1, true) then
return true
end
end
return false
end
local function hasBorders()
for _, key in ipairs({cfg.arg.groupstyle, cfg.arg.basestyle,
cfg.arg.abovestyle, cfg.arg.belowstyle}) do
if tostring(args[key]):find('border', 1, true) then
return true
end
end
return false
end
local function isIllegible()
local styleratio = require('Module:Color contrast')._styleratio
for key, style in pairs(args) do
if tostring(key):match(cfg.pattern.style) then
if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then
return true
end
end
end
return false
end
local function getTrackingCategories(border)
local cats = {}
if needsHorizontalLists(border) then table.insert(cats, cfg.category.horizontal_lists) end
if hasBackgroundColors() then table.insert(cats, cfg.category.background_colors) end
if isIllegible() then table.insert(cats, cfg.category.illegible) end
if hasBorders() then table.insert(cats, cfg.category.borders) end
return cats
end
local function renderTrackingCategories(builder, border)
local title = mw.title.getCurrentTitle()
if title.namespace ~= 10 then return end -- not in template space
local subpage = title.subpageText
if subpage == cfg.keyword.subpage_doc or subpage == cfg.keyword.subpage_sandbox
or subpage == cfg.keyword.subpage_testcases then return end
for _, cat in ipairs(getTrackingCategories(border)) do
builder:wikitext('[[Category:' .. cat .. ']]')
end
end
local function renderMainTable(border, listnums)
local tbl = mw.html.create('table')
:addClass(cfg.class.nowraplinks)
:addClass(args[cfg.arg.bodyclass])
local state = args[cfg.arg.state]
if args[cfg.arg.title] and state ~= cfg.keyword.state_plain and state ~= cfg.keyword.state_off then
if state == cfg.keyword.state_collapsed then
state = cfg.class.collapsed
end
tbl
:addClass(cfg.class.collapsible)
:addClass(state or cfg.class.autocollapse)
end
tbl:css('border-spacing', 0)
if border == cfg.keyword.border_subgroup or border == cfg.keyword.border_none then
tbl
:addClass(cfg.class.navbox_subgroup)
:cssText(args[cfg.arg.bodystyle])
:cssText(args[cfg.arg.style])
else -- regular navbox - bodystyle and style will be applied to the wrapper table
tbl
:addClass(cfg.class.navbox_inner)
:css('background', 'transparent')
:css('color', 'inherit')
end
tbl:cssText(args[cfg.arg.innerstyle])
renderTitleRow(tbl)
renderAboveRow(tbl)
local listnums_size = #listnums
for i, listnum in ipairs(listnums) do
renderListRow(tbl, i, listnum, listnums_size)
end
renderBelowRow(tbl)
return tbl
end
local function add_navbox_styles(hiding_templatestyles)
local frame = mw.getCurrentFrame()
-- This is a lambda so that it doesn't need the frame as a parameter
local function add_user_styles(templatestyles)
if not isblank(templatestyles) then
return frame:extensionTag{
name = 'templatestyles', args = { src = templatestyles }
}
end
return ''
end
-- get templatestyles. load base from config so that Lua only needs to do
-- the work once of parser tag expansion
local base_templatestyles = cfg.templatestyles
local templatestyles = add_user_styles(args[cfg.arg.templatestyles])
local child_templatestyles = add_user_styles(args[cfg.arg.child_templatestyles])
-- The 'navbox-styles' div exists to wrap the styles to work around T200206
-- more elegantly. Instead of combinatorial rules, this ends up being linear
-- number of CSS rules.
return mw.html.create('div')
:addClass(cfg.class.navbox_styles)
:wikitext(
add_list_styles() .. -- see [hlist_note] applied to 'before base_templatestyles'
base_templatestyles ..
templatestyles ..
child_templatestyles ..
table.concat(hiding_templatestyles)
)
:done()
end
-- work around [[phab:T303378]]
-- for each arg: find all the templatestyles strip markers, insert them into a
-- table. then remove all templatestyles markers from the arg
local strip_marker_pattern = '(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)'
local argHash = 0
for k, arg in pairs(args) do
if type(arg) == 'string' then
for marker in string.gfind(arg, strip_marker_pattern) do
table.insert(hiding_templatestyles, marker)
end
argHash = argHash + #arg
args[k] = string.gsub(arg, strip_marker_pattern, '')
end
end
if not args.argHash then args.argHash = argHash end
local listnums = {}
for k, _ in pairs(args) do
if type(k) == 'string' then
local listnum = k:match(cfg.pattern.listnum)
if listnum and args[andnum('list', tonumber(listnum))] then
table.insert(listnums, tonumber(listnum))
end
end
end
table.sort(listnums)
local border = mw.text.trim(args[cfg.arg.border] or args[1] or '')
if border == cfg.keyword.border_child then
border = cfg.keyword.border_subgroup
end
-- render the main body of the navbox
local tbl = renderMainTable(border, listnums)
local res = mw.html.create()
-- render the appropriate wrapper for the navbox, based on the border param
if border == cfg.keyword.border_none then
res:node(add_navbox_styles(hiding_templatestyles))
local nav = res:tag('div')
:attr('role', 'navigation')
:node(tbl)
-- aria-labelledby title, otherwise above, otherwise lone group
if args[cfg.arg.title] or args[cfg.arg.above] or (args[cfg.arg.group1]
and not args[cfg.arg.group2]) then
nav:attr(
'aria-labelledby',
mw.uri.anchorEncode(
args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group1]
) .. args.argHash
)
else
nav:attr('aria-label', cfg.aria_label .. args.argHash)
end
elseif border == cfg.keyword.border_subgroup then
-- We assume that this navbox is being rendered in a list cell of a
-- parent navbox, and is therefore inside a div with padding:0em 0.25em.
-- We start with a </div> to avoid the padding being applied, and at the
-- end add a <div> to balance out the parent's </div>
res
:wikitext('</div>')
:node(tbl)
:wikitext('<div>')
else
res:node(add_navbox_styles(hiding_templatestyles))
local nav = res:tag('div')
:attr('role', 'navigation')
:addClass(cfg.class.navbox)
:addClass(args[cfg.arg.navboxclass])
:cssText(args[cfg.arg.bodystyle])
:cssText(args[cfg.arg.style])
:css('padding', '3px')
:node(tbl)
-- aria-labelledby title, otherwise above, otherwise lone group
if args[cfg.arg.title] or args[cfg.arg.above]
or (args[cfg.arg.group1] and not args[cfg.arg.group2]) then
nav:attr(
'aria-labelledby',
mw.uri.anchorEncode(
args[cfg.arg.title] or args[cfg.arg.above] or args[cfg.arg.group1]
) .. args.argHash
)
else
nav:attr('aria-label', cfg.aria_label .. args.argHash)
end
end
if (args[cfg.arg.nocat] or cfg.keyword.nocat_false):lower() == cfg.keyword.nocat_false then
renderTrackingCategories(res, border)
end
return striped(tostring(res), border)
end --p._navbox
function p._withCollapsibleGroups(pargs)
-- table for args passed to navbox
local targs = {}
-- process args
local passthroughLocal = {
[cfg.arg.bodystyle] = true,
[cfg.arg.border] = true,
[cfg.arg.style] = true,
}
for k,v in pairs(pargs) do
if k and type(k) == 'string' then
if passthrough[k] or passthroughLocal[k] then
targs[k] = v
elseif (k:match(cfg.pattern.num)) then
local n = k:match(cfg.pattern.num)
local list_and_num = andnum('list', n)
if ((k:match(cfg.pattern.listnum) or k:match(cfg.pattern.contentnum))
and targs[list_and_num] == nil
and pargs[andnum('group', n)] == nil
and pargs[andnum('sect', n)] == nil
and pargs[andnum('section', n)] == nil) then
targs[list_and_num] = concatstrings({
pargs[list_and_num] or '',
pargs[andnum('content', n)] or ''
})
if (targs[list_and_num] and inArray(cfg.keyword.subgroups, targs[list_and_num])) then
targs[list_and_num] = getSubgroup(pargs, n, targs[list_and_num])
end
elseif ((k:match(cfg.pattern.groupnum) or k:match(cfg.pattern.sectnum) or k:match(cfg.pattern.sectionnum))
and targs[list_and_num] == nil) then
local titlestyle = concatstyles({
pargs[cfg.arg.groupstyle] or '',
pargs[cfg.arg.secttitlestyle] or '',
pargs[andnum('groupstyle', n)] or '',
pargs[andnum('sectiontitlestyle', n)] or ''
})
local liststyle = concatstyles({
pargs[cfg.arg.liststyle] or '',
pargs[cfg.arg.contentstyle] or '',
pargs[andnum('liststyle', n)] or '',
pargs[andnum('contentstyle', n)] or ''
})
local title = concatstrings({
pargs[andnum('group', n)] or '',
pargs[andnum('sect', n)] or '',
pargs[andnum('section', n)] or ''
})
local list = concatstrings({
pargs[list_and_num] or '',
pargs[andnum('content', n)] or ''
})
if list and inArray(cfg.keyword.subgroups, list) then
list = getSubgroup(pargs, n, list)
end
local abbr_and_num = andnum('abbr', n)
local state = (pargs[abbr_and_num] and pargs[abbr_and_num] == pargs[cfg.arg.selected])
and cfg.keyword.state_uncollapsed
or (pargs[andnum('state', n)] or cfg.keyword.state_collapsed)
targs[list_and_num] =p._navbox({
cfg.keyword.border_child,
[cfg.arg.navbar] = cfg.keyword.navbar_plain,
[cfg.arg.state] = state,
[cfg.arg.basestyle] = pargs[cfg.arg.basestyle],
[cfg.arg.title] = title,
[cfg.arg.titlestyle] = titlestyle,
[andnum('list', 1)] = list,
[cfg.arg.liststyle] = liststyle,
[cfg.arg.listclass] = pargs[andnum('listclass', n)],
[cfg.arg.image] = pargs[andnum('image', n)],
[cfg.arg.imageleft] = pargs[andnum('imageleft', n)],
[cfg.arg.listpadding] = pargs[cfg.arg.listpadding],
argHash = pargs.argHash
})
end
end
end
end
-- ordering of style and bodystyle
targs[cfg.arg.style] = concatstyles({targs[cfg.arg.style] or '', targs[cfg.arg.bodystyle] or ''})
targs[cfg.arg.bodystyle] = nil
-- child or subgroup
if targs[cfg.arg.border] == nil then targs[cfg.arg.border] = pargs[1] end
return p._navbox(targs)
end --p._withCollapsibleGroups
function p._withColumns(pargs)
-- table for args passed to navbox
local targs = {}
-- tables of column numbers
local colheadernums = {}
local colnums = {}
local colfooternums = {}
-- process args
local passthroughLocal = {
[cfg.arg.evenstyle]=true,
[cfg.arg.groupstyle]=true,
[cfg.arg.liststyle]=true,
[cfg.arg.oddstyle]=true,
[cfg.arg.state]=true,
}
for k,v in pairs(pargs) do
if passthrough[k] or passthroughLocal[k] then
targs[k] = v
elseif type(k) == 'string' then
if k:match(cfg.pattern.listnum) then
local n = k:match(cfg.pattern.listnum)
targs[andnum('liststyle', n + 2)] = pargs[andnum('liststyle', n)]
targs[andnum('group', n + 2)] = pargs[andnum('group', n)]
targs[andnum('groupstyle', n + 2)] = pargs[andnum('groupstyle', n)]
if v and inArray(cfg.keyword.subgroups, v) then
targs[andnum('list', n + 2)] = getSubgroup(pargs, n, v)
else
targs[andnum('list', n + 2)] = v
end
elseif (k:match(cfg.pattern.colheadernum) and v ~= '') then
table.insert(colheadernums, tonumber(k:match(cfg.pattern.colheadernum)))
elseif (k:match(cfg.pattern.colnum) and v ~= '') then
table.insert(colnums, tonumber(k:match(cfg.pattern.colnum)))
elseif (k:match(cfg.pattern.colfooternum) and v ~= '') then
table.insert(colfooternums, tonumber(k:match(cfg.pattern.colfooternum)))
end
end
end
table.sort(colheadernums)
table.sort(colnums)
table.sort(colfooternums)
-- HTML table for list1
local coltable = mw.html.create( 'table' ):addClass('navbox-columns-table')
local row, col
local tablestyle = ( (#colheadernums > 0) or (not isblank(pargs[cfg.arg.fullwidth])) )
and 'width:100%'
or 'width:auto; margin-left:auto; margin-right:auto'
coltable:cssText(concatstyles({
'border-spacing: 0px; text-align:left',
tablestyle,
pargs[cfg.arg.coltablestyle] or ''
}))
--- Header row ---
if (#colheadernums > 0) then
row = coltable:tag('tr')
for k, n in ipairs(colheadernums) do
col = row:tag('th'):addClass('navbox-abovebelow')
col:cssText(concatstyles({
(k > 1) and 'border-left:2px solid #fdfdfd' or '',
'font-weight:bold',
pargs[cfg.arg.colheaderstyle] or '',
pargs[andnum('colheaderstyle', n)] or ''
}))
col:attr('colspan', tonumber(pargs[andnum('colheadercolspan', n)]))
col:wikitext(pargs[andnum('colheader', n)])
end
end
--- Main columns ---
row = coltable:tag('tr'):css('vertical-align', 'top')
for k, n in ipairs(colnums) do
if k == 1 and isblank(pargs[andnum('colheader', 1)])
and isblank(pargs[andnum('colfooter', 1)])
and isblank(pargs[cfg.arg.fullwidth]) then
local nopad = inArray(
{'off', '0', '0em', '0px'},
mw.ustring.gsub(pargs[cfg.arg.padding] or '', '[;%%]', ''))
if not nopad then
row:tag('td'):wikitext(' ')
:css('width', (pargs[cfg.arg.padding] or '5em'))
end
end
col = row:tag('td'):addClass('navbox-list')
col:cssText(concatstyles({
(k > 1) and 'border-left:2px solid #fdfdfd' or '',
'padding:0px',
pargs[cfg.arg.colstyle] or '',
((n%2 == 0) and pargs[cfg.arg.evencolstyle] or pargs[cfg.arg.oddcolstyle]) or '',
pargs[andnum('colstyle', n)] or '',
'width:' .. (pargs[andnum('colwidth', n)] or pargs[cfg.arg.colwidth] or '10em')
}))
local wt = pargs[andnum('col', n)]
if wt and inArray(cfg.keyword.subgroups, wt) then
wt = getSubgroup(pargs, n, wt, cfg.arg.col_and_num)
end
col:tag('div'):newline():wikitext(wt):newline()
end
--- Footer row ---
if (#colfooternums > 0) then
row = coltable:tag('tr')
for k, n in ipairs(colfooternums) do
col = row:tag('td'):addClass('navbox-abovebelow')
col:cssText(concatstyles({
(k > 1) and 'border-left:2px solid #fdfdfd' or '',
'font-weight:bold',
pargs[cfg.arg.colfooterstyle] or '',
pargs[andnum('colfooterstyle', n)] or ''
}))
col:attr('colspan', tonumber(pargs[andnum('colfootercolspan', n)]))
col:wikitext(pargs[andnum('colfooter', n)])
end
end
-- assign table to list1
targs[andnum('list', 1)] = tostring(coltable)
if isblank(pargs[andnum('colheader', 1)])
and isblank(pargs[andnum('col', 1)])
and isblank(pargs[andnum('colfooter', 1)]) then
targs[andnum('list', 1)] = targs[andnum('list', 1)] ..
cfg.category.without_first_col
end
-- Other parameters
targs[cfg.arg.border] = pargs[cfg.arg.border] or pargs[1]
targs[cfg.arg.evenodd] = (not isblank(pargs[cfg.arg.evenodd])) and pargs[cfg.arg.evenodd] or nil
targs[cfg.arg.list1padding] = '0px'
targs[andnum('liststyle', 1)] = 'background:transparent;color:inherit;'
targs[cfg.arg.style] = concatstyles({pargs[cfg.arg.style], pargs[cfg.arg.bodystyle]})
targs[cfg.arg.tracking] = 'no'
return p._navbox(targs)
end --p._withColumns
-- Template entry points
function p.navbox (frame, boxtype)
local function readArgs(args, prefix)
local function readSubgroups(element, i)
if inArray(cfg.keyword.subgroups, args[prefix .. andnum(element, i)]) then
for _, v in ipairs(cfg.arg.subgroups_and_num) do
readArgs(args, prefix .. string.format(v, i) .. "_")
end
readArgs(args, prefix .. andnum('col', i) .. "_")
end
end
-- Read the arguments in the order they'll be output in, to make references
-- number in the right order.
local _
_ = args[prefix .. cfg.arg.title]
_ = args[prefix .. cfg.arg.above]
-- Limit this to 20 as covering 'most' cases (that's a SWAG) and because
-- iterator approach won't work here
local boxtype = args.type or cfg.keyword[boxtype]
if boxtype == cfg.keyword.with_columns then
for i = 1, 20 do
_ = args[prefix .. andnum('colheader', i)]
end
for i = 1, 20 do
readSubgroups('col', i)
end
for i = 1, 20 do
_ = args[prefix .. andnum('colfooter', i)]
end
end
for i = 1, 20 do
_ = args[prefix .. andnum('group', i)]
readSubgroups('list', i)
end
_ = args[prefix .. cfg.arg.below]
end
if not getArgs then
getArgs = require('Module:Arguments').getArgs
end
local args = getArgs(frame, {wrappers = {cfg.pattern[boxtype or 'navbox']}})
readArgs(args, "")
args.argHash = nil -- we shouldn't accept argHash passed from a template
args.type = args.type or cfg.keyword[boxtype]
return p['_navbox'](args)
end
p[cfg.keyword.with_collapsible_groups] = function (frame)
return p.navbox(frame, 'with_collapsible_groups')
end
p[cfg.keyword.with_columns] = function (frame)
return p.navbox(frame, 'with_columns')
end
return p
1s4hl193ornydh8zrrhga8nr1v6arn9
Module:Navbox/configuration
828
11309
61542
2026-04-20T17:10:58Z
Khadaamm
17429
Created page with "return { aria_label = 'Navbox', nowrap_item = '%s<span class="nowrap">%s</span>', templatestyles = mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Module:Navbox/styles.css' } }, hlist_templatestyles = 'Hlist/styles.css', plainlist_templatestyles = 'Plainlist/styles.css', -- do not localize marker table marker = { oddeven = '\127_ODDEVEN_\127', restart = '\127_ODDEVEN0_\127', regex = '\127_ODDEVEN(%d?)_\127' }, category = {..."
61542
Scribunto
text/plain
return {
aria_label = 'Navbox',
nowrap_item = '%s<span class="nowrap">%s</span>',
templatestyles = mw.getCurrentFrame():extensionTag{
name = 'templatestyles', args = { src = 'Module:Navbox/styles.css' }
},
hlist_templatestyles = 'Hlist/styles.css',
plainlist_templatestyles = 'Plainlist/styles.css',
-- do not localize marker table
marker = {
oddeven = '\127_ODDEVEN_\127',
restart = '\127_ODDEVEN0_\127',
regex = '\127_ODDEVEN(%d?)_\127'
},
category = {
orphan = '[[Category:Navbox orphans]]',
horizontal_lists = 'Navigational boxes without horizontal lists',
background_colors = 'Navboxes using background colours',
illegible = 'Potentially illegible navboxes',
borders = 'Navboxes using borders',
without_first_col = '[[Category:Pages using navbox columns without the first column]]'
},
keyword = {
border_subgroup = 'subgroup',
border_child = 'child',
border_none = 'none',
evenodd_swap = 'swap',
navbar_off = 'off',
navbar_plain = 'plain',
nocat_false = 'false',
nowrapitems_yes = 'yes',
orphan_yes = 'yes',
state_collapsed = 'collapsed',
state_off = 'off',
state_plain = 'plain',
state_uncollapsed = 'uncollapsed',
subgroups = {'subgroup', 'child', ''},
subpage_doc = 'doc',
subpage_sandbox = 'sandbox',
subpage_testcases = 'testcases',
tracking_no = 'no',
with_collapsible_groups = 'with collapsible groups',
with_collapsible_groups_short = 'collapsible',
with_columns = 'with columns',
with_columns_short = 'columns',
},
class = {
autocollapse = 'autocollapse',
collapsible = 'mw-collapsible',
collapsed = 'mw-collapsed',
-- Warning
navbox = 'navbox', -- WMF currently hides 'navbox' from mobile,
-- so you probably shouldn't change the navbox class.
navbox_abovebelow = 'navbox-abovebelow',
navbox_group = 'navbox-group',
navbox_image = 'navbox-image',
navbox_inner = 'navbox-inner',
navbox_list = 'navbox-list',
navbox_list_with_group = 'navbox-list-with-group',
navbox_part = 'navbox-', -- do not l10n
navbox_styles = 'navbox-styles',
navbox_subgroup = 'navbox-subgroup',
navbox_title = 'navbox-title', -- l10n only if you change pattern.navbox_title below
navbox_odd_part = 'odd', -- do not l10n
navbox_even_part = 'even', -- do not l10n
nomobile = 'nomobile',
nowraplinks = 'nowraplinks',
noviewer = 'noviewer', -- used to remove images from MediaViewer
notheme = 'notheme'
},
pattern = {
class = 'class',
colnum = '^col(%d+)$',
colheadernum = '^col(%d+)header$',
colfooternum = '^col(%d+)footer$',
contentnum = '^content(%d+)$',
groupnum = '^group(%d+)$',
hlist = 'hlist',
listnum = '^list(%d+)$',
navbox = 'Template:Navbox',
navbox_title = '<th[^>]*"navbox%-title"',
nowrap = '^<span class="nowrap">',
num = '^%a+(%d+)$',
plainlist = 'plainlist',
sandbox = '/sandbox$',
sectionnum = '^section(%d+)$',
sectnum = '^sect(%d+)$',
style = 'style$',
with_collapsible_groups = 'Template:Navbox with collapsible groups',
with_columns = 'Template:Navbox with columns',
},
arg = {
abbr_and_num = 'abbr%d',
above = 'above',
aboveclass = 'aboveclass',
abovestyle = 'abovestyle',
basestyle = 'basestyle',
below = 'below',
belowclass = 'belowclass',
belowstyle = 'belowstyle',
bodyclass = 'bodyclass',
bodystyle = 'bodystyle',
border = 'border',
content_and_num = 'content%d',
contentstyle = 'contentstyle',
contentstyle_and_num = 'content%dstyle',
colheaderstyle = 'colheaderstyle',
colheader_and_num = 'col%dheader',
colheaderstyle_and_num = 'col%dheaderstyle',
colheadercolspan_and_num = 'col%dheadercolspan',
colstyle = 'colstyle',
col_and_num = 'col%d',
colstyle_and_num = 'col%dstyle',
colwidth = 'colwidth',
colwidth_and_num = 'col%dwidth',
colfooterstyle = 'colfooterstyle',
colfooter_and_num = 'col%dfooter',
colfooterstyle_and_num = 'col%dfooterstyle',
colfootercolspan_and_num = 'col%dfootercolspan',
coltablestyle = 'coltablestyle',
evencolstyle = 'evencolstyle',
evenodd = 'evenodd',
evenstyle = 'evenstyle',
fullwidth = 'fullwidth',
group1 = 'group1',
group2 = 'group2',
group_and_num = 'group%d',
groupclass = 'groupclass',
groupstyle = 'groupstyle',
groupstyle_and_num = 'group%dstyle',
groupwidth = 'groupwidth',
image = 'image',
image_and_num = 'image%d',
imageclass = 'imageclass',
imageleft = 'imageleft',
imageleft_and_num = 'imageleft%d',
imageleftstyle = 'imageleftstyle',
imagestyle = 'imagestyle',
innerstyle = 'innerstyle',
list1padding = 'list1padding',
list_and_num = 'list%d',
listclass = 'listclass',
listclass_and_num = 'list%dclass',
listpadding = 'listpadding',
liststyle = 'liststyle',
liststyle_and_num = 'list%dstyle',
name = 'name',
navbar = 'navbar',
navboxclass = 'navboxclass',
nocat = 'nocat',
nowrapitems = 'nowrapitems',
oddcolstyle = 'oddcolstyle',
oddstyle = 'oddstyle',
orphan = 'orphan',
padding = 'padding',
sect_and_num = 'sect%d',
section_and_num = 'section%d',
sectiontitlestyle_and_num = 'section%dtitlestyle',
secttitlestyle = 'secttitlestyle',
selected = 'selected',
state = 'state',
state_and_num = 'state%d',
style = 'style',
subgroups_and_num = {'subgroup%d', 'child%d', '%d'},
templatestyles = 'templatestyles',
child_templatestyles = 'child templatestyles',
title = 'title',
titleclass = 'titleclass',
titlestyle = 'titlestyle',
tracking = 'tracking',
},
-- names of navbar arguments
navbar = {
name = 1,
fontstyle = 'fontstyle',
mini = 'mini'
}
}
hfe9tuviwm23frg4eyuetl5fcr6lsto
Template:Plainlist
10
11310
61543
2026-04-20T17:12:16Z
Khadaamm
17429
Created page with "<templatestyles src="Plainlist/styles.css"/><div class="plainlist {{{class|}}}" {{safesubst<noinclude />:#if:{{{style|}}}{{{indent|}}}|style="{{safesubst<noinclude />:#if:{{{indent|}}}|margin-left: {{safesubst<noinclude />:#expr:{{{indent}}}*1.6}}em;}} {{{style|}}}"}}>{{safesubst<noinclude />:#if:{{{1|}}}| {{{1}}} </div>}}{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages using plainlist with unknown parameters|_VALUE_{{PAGENAME}}]]}}|prev..."
61543
wikitext
text/x-wiki
<templatestyles src="Plainlist/styles.css"/><div class="plainlist {{{class|}}}" {{safesubst<noinclude />:#if:{{{style|}}}{{{indent|}}}|style="{{safesubst<noinclude />:#if:{{{indent|}}}|margin-left: {{safesubst<noinclude />:#expr:{{{indent}}}*1.6}}em;}} {{{style|}}}"}}>{{safesubst<noinclude />:#if:{{{1|}}}|
{{{1}}}
</div>}}{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages using plainlist with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[Template:Plainlist]] with unknown parameter "_VALUE_"|ignoreblank=y| class | style | indent | 1 }}<noinclude></div>
{{documentation}}
</noinclude>
3dxfjhodv9m8vibb93y5xdv5zsvp5nu
Template:Plainlist/styles.css
10
11311
61544
2026-04-20T17:12:32Z
Khadaamm
17429
Created page with "/* {{pp-template|small=yes}} */ .plainlist ol, .plainlist ul { line-height: inherit; list-style: none; margin: 0; padding: 0; /* Reset Minerva default */ } .plainlist ol li, .plainlist ul li { margin-bottom: 0; }"
61544
sanitized-css
text/css
/* {{pp-template|small=yes}} */
.plainlist ol,
.plainlist ul {
line-height: inherit;
list-style: none;
margin: 0;
padding: 0; /* Reset Minerva default */
}
.plainlist ol li,
.plainlist ul li {
margin-bottom: 0;
}
9iguthb0t8w7c89r3am2dbgv55d4w1c
Template:Infobox person module documentation
10
11312
61545
2026-04-20T17:13:31Z
Khadaamm
17429
Created page with "This infobox may be used to create a genre-specific section within {{tl|Infobox person}} (or similar [[:Category:People and person infobox templates|biographical infobox templates]]) for cases where a person may be notable in more than one field; a generic example is shown below. For guidance on usage, see [[Wikipedia:Infobox modules]]. Also see the [[Template:Infobox]] documentation which explains [[Template:Infobox/doc#Embedding|embedding]] and Template:Infobox/doc#S..."
61545
wikitext
text/x-wiki
This infobox may be used to create a genre-specific section within {{tl|Infobox person}} (or similar [[:Category:People and person infobox templates|biographical infobox templates]]) for cases where a person may be notable in more than one field; a generic example is shown below. For guidance on usage, see [[Wikipedia:Infobox modules]]. Also see the [[Template:Infobox]] documentation which explains [[Template:Infobox/doc#Embedding|embedding]] and [[Template:Infobox/doc#Subboxes|subboxes]].
<syntaxhighlight lang="wikitext">
{{Infobox person
| name =
| image =
| caption =
| birth_date =
| birth_place =
| <!-- etc. -->
| module =
{{EMBEDDED TEMPLATE NAME | child=yes <!-- or embed=yes or subbox=yes -->
| parameter-1 =
| parameter-2 =
| parameter-3 =
| parameter-4 =
| <!-- etc. -->
}}
}}
</syntaxhighlight><noinclude>
[[Category:Template namespace templates]]
[[Category:Documentation shared content templates]]
</noinclude>
8ja0p0n8l65sff4pyo578k14zbysh39
Category:Pages with script errors
14
11313
61546
2026-04-20T17:14:01Z
Khadaamm
17429
Created page with "{{Commons category|Pages with script errors}} {{polluted category}} {{hidden category}} {{empty category}} {{int:scribunto-common-error-category-desc}} This category is populated automatically by the MediaWiki software, its name being at [[:MediaWiki:Scribunto-common-error-category]]. It contains pages with errors in the [[Wikipedia:Lua in Wikipedia|Lua]] script being used to display them. This category is sorted by page name and ignores the namespace. [{{fullurl:Special..."
61546
wikitext
text/x-wiki
{{Commons category|Pages with script errors}}
{{polluted category}}
{{hidden category}}
{{empty category}}
{{int:scribunto-common-error-category-desc}} This category is populated automatically by the MediaWiki software, its name being at [[:MediaWiki:Scribunto-common-error-category]]. It contains pages with errors in the [[Wikipedia:Lua in Wikipedia|Lua]] script being used to display them.
This category is sorted by page name and ignores the namespace. [{{fullurl:Special:Search|profile=advanced&search=incategory%3A%22{{urlencode:{{MediaWiki:Scribunto-common-error-category}}}}%22&ns0=1}} This search] only displays articles in the category, and [https://en.wikipedia.org/w/index.php?search=incategory%3A%22Pages+with+script+errors%22+-intitle%3A%2F%5C%2Fsandbox%2F+-intitle%3A%2F%5C%2Ftestcase%2F&ns10=1 this search] only displays templates (not including sandboxes and testcases) in the category (both searches may include recently removed articles).
;API calls that return xml formatted lists
*{{plain link|1=https://en.wikipedia.org/w/api.php?action=query&list=categorymembers&cmtitle=Category%3APages%20with%20script%20errors&cmprop=title&cmlimit=500&cmnamespace=0&format=xml Article namespace}} ({{plain link|1=https://en.wikipedia.org/w/api.php?action=query&list=categorymembers&cmtitle=Category%3APages%20with%20script%20errors&cmprop=title&cmlimit=500&cmnamespace=1&format=xml pages in Talk space}})
*{{plain link|1=https://en.wikipedia.org/w/api.php?action=query&list=categorymembers&cmtitle=Category%3APages%20with%20script%20errors&cmprop=title&cmlimit=500&cmnamespace=10&format=xml Template namespace}}
*{{plain link|1=https://en.wikipedia.org/w/api.php?action=query&list=categorymembers&cmtitle=Category%3APages%20with%20script%20errors&cmprop=title%7Ctimestamp&cmlimit=500&cmsort=timestamp&cmdir=desc&format=xml By date}}
{{collapse top|API calls by namespace including recent-first}}
{{APIQuery categorymembers/table}}
{{collapse bottom}}
;Petscan links, in case the API lists are not working
*[https://petscan.wmflabs.org/?depth=0&project=wikipedia&language=en&links_to_any=&negcats=&after=&sortorder=ascending&wikidata_label_language=&langs_labels_yes=&ores_prob_from=&edits%5Bflagged%5D=both&ns%5B0%5D=1&cb_labels_yes_l=1&combination=subset&outlinks_any=&sitelinks_no=&minlinks=&sortby=none&show_soft_redirects=both&categories=Pages+with+script+errors&wikidata_prop_item_use=&interface_language=en&ores_type=any&min_sitelink_count=&templates_yes=&manual_list=&larger=&search_max_results=500&manual_list_wiki=&sitelinks_any=&since_rev0=&cb_labels_any_l=1&ores_prediction=any&search_wiki=&cb_labels_no_l=1&common_wiki=auto&source_combination=&edits%5Banons%5D=both&namespace_conversion=keep&common_wiki_other=&max_age=&doit= Article namespace]
*[https://petscan.wmflabs.org/?output_compatability=catscan&sortby=none&min_redlink_count=1&after=&active_tab=tab_pageprops&negcats=&ores_prediction=any&output_limit=&templates_any=&sparql=&cb_labels_no_l=1&search_filter=&langs_labels_any=&search_max_results=500&minlinks=&pagepile=&wikidata_source_sites=&max_age=&cb_labels_yes_l=1&cb_labels_any_l=1&links_to_any=&language=en&links_to_no=&sortorder=ascending&interface_language=en&manual_list=&categories=Pages+with+script+errors&namespace_conversion=keep&ns%5B10%5D=1&maxlinks=&langs_labels_yes=&wikidata_prop_item_use=&common_wiki_other=&combination=subset&sitelinks_no=&templates_yes=&project=wikipedia&ores_prob_to=&edits%5Banons%5D=both&links_to_all=&sitelinks_yes=&templates_no=&doit= Template namespace]
{{CatAutoTOC}}
[[Category:Wikipedia errors|Script]]
[[Category:Tracking categories automatically populated by MediaWiki]]
7cnffngjl33lh2xrbiejlfuas3wg9jn
Module:Pagetype/disambiguation
828
11314
61547
2026-04-20T17:14:48Z
Khadaamm
17429
Created page with "-- This page contains a table of all disambiguation templates and their -- redirects. Templates names are capitalized, and the Template: prefix is -- removed. Templates are grouped with the main template first, followed by -- its redirects. return { ["Disambiguation"] = true, ["Begriffsklärung"] = true, ["DAB"] = true, ["Dab"] = true, ["Dab page"] = true, ["Dabpage"] = true, ["Dbig"] = true, ["Dis"] = true, ["Disam"] = true, ["Disamb"] = true, ["Disambig"] =..."
61547
Scribunto
text/plain
-- This page contains a table of all disambiguation templates and their
-- redirects. Templates names are capitalized, and the Template: prefix is
-- removed. Templates are grouped with the main template first, followed by
-- its redirects.
return {
["Disambiguation"] = true,
["Begriffsklärung"] = true,
["DAB"] = true,
["Dab"] = true,
["Dab page"] = true,
["Dabpage"] = true,
["Dbig"] = true,
["Dis"] = true,
["Disam"] = true,
["Disamb"] = true,
["Disambig"] = true,
["Disambig misspelling"] = true,
["Disambig-plants"] = true,
["Disambiguation page"] = true,
["Manual of Style disambiguation"] = true,
["Meta disambig"] = true,
["MOS disambiguation"] = true,
["MoS disambiguation"] = true,
["Portal disambig"] = true,
["Portal disambiguation"] = true,
["Project disambiguation"] = true,
["Shortcut disambig"] = true,
["Wikipedia disambiguation"] = true,
["WP disambig"] = true,
["WP-disambig"] = true,
["Airport disambiguation"] = true,
["Airport disambig"] = true,
["Biology disambiguation"] = true,
["Call sign disambiguation"] = true,
["Callsigndis"] = true,
["Caselaw disambiguation"] = true,
["Case law disambiguation"] = true,
["Chinese title disambiguation"] = true,
["Chinese title disambig"] = true,
["CJKVdab"] = true,
["Disambig-Chinese-char-title"] = true,
["Disambiguation cleanup"] = true,
["Cleanup disambig"] = true,
["Cleanup disambiguation"] = true,
["CleanupDisambig"] = true,
["Dab cleanup"] = true,
["Dab-cleanup"] = true,
["Dabclean"] = true,
["Disamb-cleanup"] = true,
["Disambcleanup"] = true,
["Disambig cleanup"] = true,
["Disambig-cleanup"] = true,
["Disambig-CU"] = true,
["Disambig-cu"] = true,
["Disambigcleanup"] = true,
["Disambiguate-cleanup"] = true,
["Disambiguation-cleanup"] = true,
["Geodis-cleanup"] = true,
["Disambiguation with potential"] = true,
["Disambiguation with possibilties"] = true,
["Genus disambiguation"] = true,
["Genus disambig"] = true,
["Greek letter organization disambiguation"] = true,
["GLO disambiguation"] = true,
["Hangul title disambiguation"] = true,
["Hospital disambiguation"] = true,
["Hospitaldis"] = true,
["Human name disambiguation"] = true,
["Bio-dab"] = true,
["Hndab"] = true,
["HNDIS"] = true,
["HnDis"] = true,
["Hndis"] = true,
["Hndisambig"] = true,
["Human name dab"] = true,
["Name list"] = true,
["Personal name"] = true,
["Personal name disambiguation"] = true,
["Human name disambiguation cleanup"] = true,
["Hndis-cleanup"] = true,
["Personal name disambiguation cleanup"] = true,
["Hurricane season disambiguation"] = true,
["Letter–number combination disambiguation"] = true,
["Letter-Number Combination Disambiguation"] = true,
["Letter-Number combination disambiguation"] = true,
["Letter-number combination disambiguation"] = true,
["Letter-NumberCombDisambig"] = true,
["Letter-NumberCombdisambig"] = true,
["Letter-NumberCombinationDisambiguation"] = true,
["LNCD"] = true,
["Mathematical disambiguation"] = true,
["Math dab"] = true,
["Math disambiguation"] = true,
["Math-dab"] = true,
["Mathdab"] = true,
["Mathematics disambiguation"] = true,
["Maths disambiguation"] = true,
["Military unit disambiguation"] = true,
["Mil-unit-dis"] = true,
["Mil-unit-disambig"] = true,
["Music disambiguation"] = true,
["Music disambig"] = true,
["Number disambiguation"] = true,
["Numberdis"] = true,
["Numdab"] = true,
["Numdisambig"] = true,
["Opus number disambiguation"] = true,
["Phonetics disambiguation"] = true,
["Place name disambiguation"] = true,
["DisambigG"] = true,
["DisambigGeo"] = true,
["Disambiggeo"] = true,
["Geo-dis"] = true,
["Geodab"] = true,
["Geodis"] = true,
["Geodisambig"] = true,
["Geographic disambiguation"] = true,
["Geographical disambiguation"] = true,
["Pnd"] = true,
["Road disambiguation"] = true,
["Roaddis"] = true,
["School disambiguation"] = true,
["School disambig"] = true,
["Schooldab"] = true,
["Schooldis"] = true,
["Species Latin name abbreviation disambiguation"] = true,
["Species Latin name disambiguation"] = true,
["LatinNameDisambig"] = true,
["Species disambiguation"] = true,
["SpeciesLatinNameDisambig"] = true,
["Station disambiguation"] = true,
["Station dab"] = true,
["Synagogue disambiguation"] = true,
["Taxonomy disambiguation"] = true,
["Template disambiguation"] = true,
["Template ambiguous"] = true,
["Template dab"] = true,
["Template disambig"] = true,
["WoO number disambiguation"] = true,
}
120emfqmecg5jbyx2n1prgswwe275a0
Module:Pagetype/rfd
828
11315
61548
2026-04-20T17:15:37Z
Khadaamm
17429
Created page with "-- This page contains a table of all RfD templates and their -- redirects. Templates names are capitalized, and the Template: prefix is -- removed. Templates are grouped with the main template first, followed by -- its redirects. return { -- Template forms (these should be substituted so we should rarely see these) ["Redirect for discussion"] = true, ["RFD"] = true, ["RfD"] = true, ["Rfd1"] = true, ["Rfd-t"] = true, ["Rfd"] = true, ["Rfd-NPF"] = true, ["..."
61548
Scribunto
text/plain
-- This page contains a table of all RfD templates and their
-- redirects. Templates names are capitalized, and the Template: prefix is
-- removed. Templates are grouped with the main template first, followed by
-- its redirects.
return {
-- Template forms (these should be substituted so we should rarely see these)
["Redirect for discussion"] = true,
["RFD"] = true,
["RfD"] = true,
["Rfd1"] = true,
["Rfd-t"] = true,
["Rfd"] = true,
["Rfd-NPF"] = true,
["Rfd-NPF/core"] = true,
-- Module forms
["#invoke:RfD"] = true,
["<includeonly>safesubst:</includeonly>#invoke:RfD"] = true, -- The form made by substituting RfD
}
9dx0g2c8g863kg6hcwx1wgsou16k45p
Module:Authority control/auxiliary
828
11316
61550
2026-04-20T17:16:29Z
Khadaamm
17429
Created page with "require('strict') local p = {} --[[======================================================]] --[[ Format validation functions ]] --[[======================================================]] function p.botanistV(id) return mw.ustring.match(id,"^[%u%l%d%. '-]+$") end -- NCDA: NOID Check Digit Algorithm; see [[wikipedia:Check digit#NCDA]] local ncda -- leave this as a local since NCDA is commonly used among ARK identifiers and could be useful for v..."
61550
Scribunto
text/plain
require('strict')
local p = {}
--[[======================================================]]
--[[ Format validation functions ]]
--[[======================================================]]
function p.botanistV(id)
return mw.ustring.match(id,"^[%u%l%d%. '-]+$")
end
-- NCDA: NOID Check Digit Algorithm; see [[wikipedia:Check digit#NCDA]]
local ncda -- leave this as a local since NCDA is commonly used among ARK identifiers and could be useful for validating other identifiers later
do -- initialize these constants only once but scope them in a block so local namespace doesn't get cluttered with these
local r29s = [[0123456789bcdfghjkmnpqrstvwxz]] -- radix 29 "betanumeric" digit string
local r29n = r29s:len()
local r29v2d, r29d2v = {}, {}
for i = 1, r29n do
local v, d = i-1, r29s:sub(i, i)
r29v2d[v], r29d2v[d] = d, v
end
function ncda(sid)
local n, sum = sid:len(), 0
for i = 1, n do
sum = sum + i * (r29d2v[sid:sub(i, i)] or 0)
end
return r29v2d[sum % r29n]
end
end
function p.validateBNF(id)
local FRBNF = id:sub(1, -2)
return FRBNF:match('^%d%d%d%d%d%d%d%d$') ~= nil and ncda('cb'..FRBNF) == id:sub(-1) and id
end
function p.validateIsni(id) --Validate ISNI (and ORCID) and returns it as a 16 characters string or returns false if it's invalid. See http://support.orcid.org/knowledgebase/articles/116780-structure-of-the-orcid-identifier
id = id:gsub( '[ %-]', '' ):upper()
if not id:match( '^%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d[%dX]$' ) then
return false
end
local total = 0
for i = 1, 15 do
local digit = id:byte( i ) - 48 --Get integer value
total = (total + digit) * 2
end
local remainder = total % 11
local result = (12 - remainder) % 11
local checkdigit
if result == 10 then
checkdigit = 'X'
else
checkdigit=tostring( result )
end
if checkdigit ~= string.char( id:byte( 16 ) ) then
return false
end
return id
end
function p.orcidV(id)
id = p.validateIsni(id)
if not id then
return false
end
return id:sub( 1, 4 )..'-'..id:sub( 5, 8 )..'-'..id:sub( 9, 12 )..'-'..id:sub( 13, 16 )
end
function p.tlsV(id)
id = id:gsub(' +', '_')
local idlen = mw.ustring.len(id)
if idlen < 4 or idlen > 90 then
return false
end
local regex = '^%u'..string.rep("[%w_',%.%-%(%)%*%/–&]", idlen - 1)..'$'
if not mw.ustring.match(id,regex ) then
return false
end
return id
end
--[[======================================================]]
--[[ Custom link functions ]]
--[[======================================================]]
function p.ISILlink(id,label)
if not id:match('^%D%D?%D?%D?%-.+$') then
return false
end
for _, prefix in ipairs({'AT', 'AU', 'BE', 'CA', 'CH', 'DE', 'FI', 'FR', 'IT', 'KR', 'NZ', 'US', 'ZDB'}) do
if id:match('^'..prefix..'%-') then
return '[https://w3id.org/isil/'..id..' ' .. (label or 'ISIL') .. ']'
end
end
return '[[International Standard Identifier for Libraries and Related Organizations|ISIL]]: ' .. id
end
function p.uscgLink(id)
local id2 = id:match( '^[1-7]%-%d%d?%d?%d?%d?$' ) or id:match( '^[1-7]%-%d%d?%d?%d?%d?%.%d*[1-9]$' )
if id2 then
return '[https://www.navcen.uscg.gov/pdf/lightlists/LightList%20V'..mw.ustring.sub(id2,1,1)..'.pdf '..id2..']'
else
return false
end
end
function p.ccg(id)
id = id:match('^[NAIP]?[1-9]%d*$') or id:match('^[NAIP]?[1-9]%d*%.%d+$')
if not id then return false end
local link = 'https://www.notmar.gc.ca/'
local prefix = string.sub(id, 1, 1) -- get first character of id
local suffix = string.sub(id, 2) -- remove first character of id
local interval = require('Module:Interval')._main
local v
if prefix=='N' then
local int = interval({1, 7.5, 14.4, 100, 121, 173, 211, 235, 269.99, 326, 396, 450.1, 471.7, 499, n=suffix})
if int=='1-2' then v = 1
elseif int=='2-3' then v = 75
elseif int=='3-4' then v = 144
elseif int=='4-5' then v = 100
elseif int=='5-6' then v = 121
elseif int=='6-7' then v = 173
elseif int=='7-8' then v = 211
elseif int=='8-9' then v = 235
elseif int=='9-10' then v = 26999
elseif int=='10-11' then v = 326
elseif int=='11-12' then v = 396
elseif int=='12-13' then v = 4501
elseif int=='13-14' then v = 4717
elseif int=='14-15' then v = 499
end
link = link .. 'publications/list-lights/newfoundland/n' .. v .. '-en'
elseif prefix=='A' then
local int = interval({5, 114.5, 145, 163, 268, 271, 301.5, 327, 686.5, 704.85, 883.2, 942, 1085, 1169.1, 1584.5, 1773, 1823.55, 2190, 2369, 2389, n=suffix})
if int=='1-2' then v = 5
elseif int=='2-3' then v = 1145
elseif int=='3-4' then v = 145
elseif int=='4-5' then v = 162
elseif int=='5-6' then v = 268
elseif int=='6-7' then v = 271
elseif int=='7-8' then v = 3015
elseif int=='8-9' then v = 327
elseif int=='9-10' then v = 6865
elseif int=='10-11' then v = 7048
elseif int=='11-12' then v = 883
elseif int=='12-13' then v = 942
elseif int=='13-14' then v = 1085
elseif int=='14-15' then v = 11691
elseif int=='15-16' then v = 15845
elseif int=='16-17' then v = 1773
elseif int=='17-18' then v = 182355
elseif int=='18-19' then v = 2190
elseif int=='19-20' then v = 2369
elseif int=='20-21' then v = 2389
end
link = link .. 'publications/list-lights/atl/a' .. v .. '-en'
elseif prefix=='I' then
local int = interval({0.05, 401.1, 403.4, 551.06, 552, 624, 708, 731.2, 768, 814, 983, 1046, 1059.6, 1082, 1162, 1204.7, 1233.3, 1328, 1330, 1346.2, 1377.8, 1408, 1410, 1420, 1445, 1470, 1520, 1534, 1540.6, 1554, 1557.7, 1558.8, 1563.1, 1625.5, 1671.7, 1716.96, 2545, n=suffix})
if int=='1-2' then v = '01'
elseif int=='2-3' then v = 4011
elseif int=='3-4' then v = 4034
elseif int=='4-5' then v = 55106
elseif int=='5-6' then v = 552
elseif int=='6-7' then v = 624
elseif int=='7-8' then v = 708
elseif int=='8-9' then v = 7312
elseif int=='9-10' then v = 768
elseif int=='10-11' then v = 814
elseif int=='11-12' then v = 983
elseif int=='12-13' then v = 1046
elseif int=='13-14' then v = 10596
elseif int=='14-15' then v = 1082
elseif int=='15-16' then v = 1162
elseif int=='16-17' then v = 12047
elseif int=='17-18' then v = 12333
elseif int=='18-19' then v = 1328
elseif int=='19-20' then v = 1330
elseif int=='20-21' then v = 13462
elseif int=='21-22' then v = 13778
elseif int=='22-23' then v = 1408
elseif int=='23-24' then v = 1410
elseif int=='24-25' then v = 1420
elseif int=='25-26' then v = 1445
elseif int=='26-27' then v = 1470
elseif int=='27-28' then v = 1520
elseif int=='28-29' then v = 1534
elseif int=='29-30' then v = 15406
elseif int=='30-31' then v = 1554
elseif int=='31-32' then v = 15577
elseif int=='32-33' then v = 15588
elseif int=='33-34' then v = 1562
elseif int=='34-35' then v = 16255
elseif int=='35-36' then v = 16717
elseif int=='36-37' then v = 171696
elseif int=='37-38' then v = 2545
end
link = link .. 'publications/list-lights/inland-waters/i' .. v .. '-en'
elseif prefix=='P' then
link = link .. 'publications/list-lights/pac/p'
else
link = link .. 'list-lights'
end
return '[[CCG (identifier)|CCG]]: [' .. link .. ' ' .. id .. ']'
end
return p
mgku9gzaar8u6cdkjptv9kfkm0wsqrc
Module:EditAtWikidata
828
11317
61551
2026-04-20T17:17:01Z
Khadaamm
17429
Created page with "-- Module to display an icon with a tooltip such as "Edit this at Wikidata". -- Icon is linked to the Wikidata entry for the article where this is placed. -- This message is only displayed if a local_parameter is not supplied -- i.e. when called from a template, it can be coded not to display the message. -- The qid of a Wikidata entry can optionally be supplied for testing outside the article. -- Usage: -- {{#invoke:EditAtWikidata|showMessage|local_parameter}} -- {{#inv..."
61551
Scribunto
text/plain
-- Module to display an icon with a tooltip such as "Edit this at Wikidata".
-- Icon is linked to the Wikidata entry for the article where this is placed.
-- This message is only displayed if a local_parameter is not supplied
-- i.e. when called from a template, it can be coded not to display the message.
-- The qid of a Wikidata entry can optionally be supplied for testing outside the article.
-- Usage:
-- {{#invoke:EditAtWikidata|showMessage|local_parameter}}
-- {{#invoke:EditAtWikidata|showMessage|qid=<ArticleID>|local_parameter}}
local p = {}
local i18n =
{
["message"] = "Edit this at Wikidata"
}
local function trimToNil(text)
-- Return trimmed non-empty text, or nil.
if type(text) == 'string' then
return text:match('(%S.-)%s*$')
end
end
function p._showMessage(args)
local local_parm = trimToNil(args[1])
if local_parm then return "" end
-- Parameter qid=x specifies the Wikidata ID for the article.
-- This is not normally used except for testing outside the article.
local qid = trimToNil(args.qid) or mw.wikibase.getEntityIdForCurrentPage()
if qid and mw.wikibase.entityExists(qid) then
-- Parameter pid=x uses x as an anchor in the link to the Wikidata entry.
local anchor = trimToNil(args.pid)
-- Parameter nbsp replaces the leading space with
local space = trimToNil(args.nbsp) and " " or " "
return
space ..
"[[File:OOjs UI icon edit-ltr-progressive.svg|frameless|text-top|10px" ..
"|alt=" .. i18n.message ..
"|link=https://www.wikidata.org/wiki/" .. qid ..
(anchor and ("#" .. anchor) or "") ..
"|class=noprint" ..
"|" .. i18n.message ..
"]]"
end
return ""
end
function p.showMessage(frame)
return p._showMessage(frame.args)
end
return p
hod1hfo0n331jsuhscew67pebepcmju
Template:Hlist/styles.css
10
11318
61553
2026-04-20T17:17:46Z
Khadaamm
17429
Created page with "/* {{pp-template}} */ /* * hlist styles are defined in core and Minerva and differ in Minerva. The * current definitions here (2023-01-01) are sufficient to override Minerva * without use of the hlist-separated class. The most problematic styles were * related to margin, padding, and the bullet. Check files listed at * [[MediaWiki talk:Common.css/to do#hlist-separated]] */ /* * TODO: When the majority of readership supports it (or some beautiful world * in which..."
61553
sanitized-css
text/css
/* {{pp-template}} */
/*
* hlist styles are defined in core and Minerva and differ in Minerva. The
* current definitions here (2023-01-01) are sufficient to override Minerva
* without use of the hlist-separated class. The most problematic styles were
* related to margin, padding, and the bullet. Check files listed at
* [[MediaWiki talk:Common.css/to do#hlist-separated]]
*/
/*
* TODO: When the majority of readership supports it (or some beautiful world
* in which grade C support is above the minimum threshold), use :is()
*/
.hlist dl,
.hlist ol,
.hlist ul {
margin: 0;
padding: 0;
}
/* Display list items inline */
.hlist dd,
.hlist dt,
.hlist li {
/*
* don't trust the note that says margin doesn't work with inline
* removing margin: 0 makes dds have margins again
* We also want to reset margin-right in Minerva
*/
margin: 0;
display: inline;
}
/* Display requested top-level lists inline */
.hlist.inline,
.hlist.inline dl,
.hlist.inline ol,
.hlist.inline ul,
/* Display nested lists inline */
.hlist dl dl,
.hlist dl ol,
.hlist dl ul,
.hlist ol dl,
.hlist ol ol,
.hlist ol ul,
.hlist ul dl,
.hlist ul ol,
.hlist ul ul {
display: inline;
}
/* Hide empty list items */
.hlist .mw-empty-li {
display: none;
}
/* TODO: :not() can maybe be used here to remove the later rule. naive test
* seems to work. more testing needed. like so:
*.hlist dt:not(:last-child)::after {
* content: ": ";
*}
*.hlist dd:not(:last-child)::after,
*.hlist li:not(:last-child)::after {
* content: " · ";
* font-weight: bold;
*}
*/
/* Generate interpuncts */
.hlist dt::after {
content: ": ";
}
.hlist dd::after,
.hlist li::after {
content: "\a0· ";
font-weight: bold;
}
.hlist dd:last-child::after,
.hlist dt:last-child::after,
.hlist li:last-child::after {
content: none;
}
/* Add parentheses around nested lists */
.hlist dd dd:first-child::before,
.hlist dd dt:first-child::before,
.hlist dd li:first-child::before,
.hlist dt dd:first-child::before,
.hlist dt dt:first-child::before,
.hlist dt li:first-child::before,
.hlist li dd:first-child::before,
.hlist li dt:first-child::before,
.hlist li li:first-child::before {
content: " (";
font-weight: normal;
}
.hlist dd dd:last-child::after,
.hlist dd dt:last-child::after,
.hlist dd li:last-child::after,
.hlist dt dd:last-child::after,
.hlist dt dt:last-child::after,
.hlist dt li:last-child::after,
.hlist li dd:last-child::after,
.hlist li dt:last-child::after,
.hlist li li:last-child::after {
content: ")";
font-weight: normal;
}
/* Put ordinals in front of ordered list items */
.hlist ol {
counter-reset: listitem;
}
.hlist ol > li {
counter-increment: listitem;
}
.hlist ol > li::before {
content: " " counter(listitem) "\a0";
}
.hlist dd ol > li:first-child::before,
.hlist dt ol > li:first-child::before,
.hlist li ol > li:first-child::before {
content: " (" counter(listitem) "\a0";
}
c4a9gdxc068l0us4sz11634bne7iv2z
Module:Navbox/styles.css
828
11319
61554
2026-04-20T17:18:19Z
Khadaamm
17429
Created page with "/* {{pp|small=y}} */ .navbox { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; text-align: center; padding: 1px; margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */ } .navbox .navbox { margin-top: 0; /* No top margin for nested navboxes */ } .navbox + .navbox, /* TODO: remove first line after transclusions have updated */ .navbox + .navbox-styles + .navbox { margin-top: -1px; /* Single pix..."
61554
sanitized-css
text/css
/* {{pp|small=y}} */
.navbox {
box-sizing: border-box;
border: 1px solid #a2a9b1;
width: 100%;
clear: both;
font-size: 88%;
text-align: center;
padding: 1px;
margin: 1em auto 0; /* Prevent preceding content from clinging to navboxes */
}
.navbox .navbox {
margin-top: 0; /* No top margin for nested navboxes */
}
.navbox + .navbox, /* TODO: remove first line after transclusions have updated */
.navbox + .navbox-styles + .navbox {
margin-top: -1px; /* Single pixel border between adjacent navboxes */
}
.navbox-inner,
.navbox-subgroup {
width: 100%;
}
.navbox-group,
.navbox-title,
.navbox-abovebelow {
padding: 0.25em 1em;
line-height: 1.5em;
text-align: center;
}
.navbox-group {
white-space: nowrap;
/* @noflip */
text-align: right;
}
.navbox,
.navbox-subgroup {
background-color: #fdfdfd;
color:inherit;
}
.navbox-list {
line-height: 1.5em;
border-color: #fdfdfd; /* Must match background color */
}
.navbox-list-with-group {
text-align: left;
border-left-width: 2px;
border-left-style: solid;
}
/* cell spacing for navbox cells */
/* Borders above 2nd, 3rd, etc. rows */
/* TODO: figure out how to replace tr as structure;
* with div structure it should be just a matter of first-child */
tr + tr > .navbox-abovebelow,
tr + tr > .navbox-group,
tr + tr > .navbox-image,
tr + tr > .navbox-list {
border-top: 2px solid #fdfdfd; /* Must match background color */
}
.navbox-title {
background-color: #ccf; /* Level 1 color */
color:inherit;
}
.navbox-abovebelow,
.navbox-group,
.navbox-subgroup .navbox-title {
background-color: #ddf; /* Level 2 color */
color:inherit;
}
.navbox-subgroup .navbox-group,
.navbox-subgroup .navbox-abovebelow {
background-color: #e6e6ff; /* Level 3 color */
color:inherit;
}
.navbox-even {
background-color: #f7f7f7;
color:inherit;
}
.navbox-odd {
background-color: transparent;
color:inherit;
}
/* TODO: figure out how to remove reliance on td as structure */
.navbox .hlist td dl,
.navbox .hlist td ol,
.navbox .hlist td ul,
.navbox td.hlist dl,
.navbox td.hlist ol,
.navbox td.hlist ul {
padding: 0.125em 0;
}
.navbox .navbar {
display: block;
font-size: 100%;
}
.navbox-title .navbar {
/* @noflip */
float: left;
/* @noflip */
text-align: left;
/* @noflip */
margin-right: 0.5em;
}
/** T367463 */
body.skin--responsive .navbox-image img {
max-width: none !important;
}
@media print {
body.ns-0 .navbox {
display: none !important;
}
}
k44fmwmfchdhrnl1r4xacguhg5ufyv4
Template:UF-hcard-person
10
11320
61555
2026-04-20T17:23:18Z
Khadaamm
17429
Created page with "The HTML markup produced by this template includes an [[HCard|hCard microformat]], which makes the person's details [[Parsing|parsable]] by computers, either acting automatically to catalogue articles across Wikipedia or via a browser tool operated by a reader, to (for example) add the subject to an address book or database. For more information about the use of [[microformat]]s on Wikipedia, please see [[Wikipedia:WikiProject Microformats|the microformat project]]. ===..."
61555
wikitext
text/x-wiki
The HTML markup produced by this template includes an [[HCard|hCard microformat]], which makes the person's details [[Parsing|parsable]] by computers, either acting automatically to catalogue articles across Wikipedia or via a browser tool operated by a reader, to (for example) add the subject to an address book or database. For more information about the use of [[microformat]]s on Wikipedia, please see [[Wikipedia:WikiProject Microformats|the microformat project]].
=== Sub-templates ===
Date-of-birth ("bday") information will only be included in the microformat if {{tl|birth date}}, or {{tl|birth date and age}} are used in the infobox. ([[Wikipedia:WikiProject Microformats/dates|Do not use these if the date is before 1583]]). Be cautious about using these if the person is still living, per [[WP:DOB]].
To include a URL, use [[Template:URL]], specifying the url as the value of unnamed param 1; example:
: <code><nowiki>{{URL|1=https://www.somedomain.com/foo/bar?q=weird_stuff&xyz=more_stuff}}</nowiki></code>.
'''Please do not remove instances of these sub-templates.'''
=== Classes ===
hCard uses HTML classes including:
{{Flatlist|
*adr
*agent
*bday
*birthplace
*category
*country-name
*deathdate
*deathplace
*extended-address
*family-name
*fn (required)
*given-name
*honorific-prefix
*honorific-suffix
*label
*locality
*n
*nickname
*note
*org
*role
*url
*vcard
}}
'''Please do not rename or remove these classes nor collapse nested elements which use them.'''<includeonly>{{#ifeq:{{SUBPAGENAME}}|doc | |{{#ifeq:{{SUBPAGENAME}}|sandbox | |[[Category:Templates generating hCards]]}} }}</includeonly><noinclude>
[[Category:Templates generating hCards]]
[[Category:Microformat message templates]]
</noinclude>
euzap3d1bdsv4gjs66egp0w3cy4b3oq
Module:Color contrast
828
11321
61556
2026-04-20T17:24:00Z
Khadaamm
17429
Created page with "-- -- This module implements -- {{Color contrast ratio}} -- {{Greater color contrast ratio}} -- {{ColorToLum}} -- {{RGBColorToLum}} -- local p = {} local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' ) local function sRGB (v) if (v <= 0.03928) then v = v / 12.92 else v = math.pow((v+0.055)/1.055, 2.4) end return v end local function rgbdec2lum(R, G, B) if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then return 0.2126 *..."
61556
Scribunto
text/plain
--
-- This module implements
-- {{Color contrast ratio}}
-- {{Greater color contrast ratio}}
-- {{ColorToLum}}
-- {{RGBColorToLum}}
--
local p = {}
local HTMLcolor = mw.loadData( 'Module:Color contrast/colors' )
local function sRGB (v)
if (v <= 0.03928) then
v = v / 12.92
else
v = math.pow((v+0.055)/1.055, 2.4)
end
return v
end
local function rgbdec2lum(R, G, B)
if ( 0 <= R and R < 256 and 0 <= G and G < 256 and 0 <= B and B < 256 ) then
return 0.2126 * sRGB(R/255) + 0.7152 * sRGB(G/255) + 0.0722 * sRGB(B/255)
else
return ''
end
end
local function hsl2lum(h, s, l)
if ( 0 <= h and h < 360 and 0 <= s and s <= 1 and 0 <= l and l <= 1 ) then
local c = (1 - math.abs(2*l - 1))*s
local x = c*(1 - math.abs( math.fmod(h/60, 2) - 1) )
local m = l - c/2
local r, g, b = m, m, m
if( 0 <= h and h < 60 ) then
r = r + c
g = g + x
elseif( 60 <= h and h < 120 ) then
r = r + x
g = g + c
elseif( 120 <= h and h < 180 ) then
g = g + c
b = b + x
elseif( 180 <= h and h < 240 ) then
g = g + x
b = b + c
elseif( 240 <= h and h < 300 ) then
r = r + x
b = b + c
elseif( 300 <= h and h < 360 ) then
r = r + c
b = b + x
end
return rgbdec2lum(255*r, 255*g, 255*b)
else
return ''
end
end
local function color2lum(c)
if (c == nil) then
return ''
end
-- html '#' entity
c = c:gsub("#", "#")
-- whitespace
c = c:match( '^%s*(.-)[%s;]*$' )
-- unstrip nowiki strip markers
c = mw.text.unstripNoWiki(c)
-- lowercase
c = c:lower()
-- first try to look it up
local L = HTMLcolor[c]
if (L ~= nil) then
return L
end
-- convert from hsl
if mw.ustring.match(c,'^hsl%([%s]*[0-9][0-9%.]*[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then
local h, s, l = mw.ustring.match(c,'^hsl%([%s]*([0-9][0-9%.]*)[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$')
return hsl2lum(tonumber(h), tonumber(s)/100, tonumber(l)/100)
end
-- convert from rgb
if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*,[%s]*[0-9][0-9]*[%s]*%)$') then
local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*,[%s]*([0-9][0-9]*)[%s]*%)$')
return rgbdec2lum(tonumber(R), tonumber(G), tonumber(B))
end
-- convert from rgb percent
if mw.ustring.match(c,'^rgb%([%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*,[%s]*[0-9][0-9%.]*%%[%s]*%)$') then
local R, G, B = mw.ustring.match(c,'^rgb%([%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*,[%s]*([0-9][0-9%.]*)%%[%s]*%)$')
return rgbdec2lum(255*tonumber(R)/100, 255*tonumber(G)/100, 255*tonumber(B)/100)
end
-- remove leading # (if there is one) and whitespace
c = mw.ustring.match(c, '^[%s#]*([a-f0-9]*)[%s]*$')
-- split into rgb
local cs = mw.text.split(c or '', '')
if( #cs == 6 ) then
local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[2])
local G = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[4])
local B = 16*tonumber('0x' .. cs[5]) + tonumber('0x' .. cs[6])
return rgbdec2lum(R, G, B)
elseif ( #cs == 3 ) then
local R = 16*tonumber('0x' .. cs[1]) + tonumber('0x' .. cs[1])
local G = 16*tonumber('0x' .. cs[2]) + tonumber('0x' .. cs[2])
local B = 16*tonumber('0x' .. cs[3]) + tonumber('0x' .. cs[3])
return rgbdec2lum(R, G, B)
end
-- failure, return blank
return ''
end
-- This exports the function for use in other modules.
-- The colour is passed as a string.
function p._lum(color)
return color2lum(color)
end
function p._greatercontrast(args)
local bias = tonumber(args['bias'] or '0') or 0
local css = (args['css'] and args['css'] ~= '') and true or false
local v1 = color2lum(args[1] or '')
local c2 = args[2] or 'white'
local v2 = color2lum(c2)
local c3 = args[3] or 'black'
local v3 = color2lum(c3)
local ratio1 = -1;
local ratio2 = -1;
if (type(v1) == 'number' and type(v2) == 'number') then
ratio1 = (v2 + 0.05)/(v1 + 0.05)
ratio1 = (ratio1 < 1) and 1/ratio1 or ratio1
end
if (type(v1) == 'number' and type(v3) == 'number') then
ratio2 = (v3 + 0.05)/(v1 + 0.05)
ratio2 = (ratio2 < 1) and 1/ratio2 or ratio2
end
if css then
local c1 = args[1] or ''
if mw.ustring.match(c1, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or
mw.ustring.match(c1, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then
c1 = '#' .. c1
end
if mw.ustring.match(c2, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or
mw.ustring.match(c2, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then
c2 = '#' .. c2
end
if mw.ustring.match(v3, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') or
mw.ustring.match(v3, '^[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]$') then
c3 = '#' .. c3
end
return 'background-color:' .. c1 .. '; color:' .. ((ratio1 > 0) and (ratio2 > 0) and ((ratio1 + bias > ratio2) and c2 or c3) or '') .. ';'
end
return (ratio1 > 0) and (ratio2 > 0) and ((ratio1 + bias > ratio2) and c2 or c3) or ''
end
function p._ratio(args)
local v1 = color2lum(args[1])
local v2 = color2lum(args[2])
if (type(v1) == 'number' and type(v2) == 'number') then
-- v1 should be the brighter of the two.
if v2 > v1 then
v1, v2 = v2, v1
end
return (v1 + 0.05)/(v2 + 0.05)
else
return args['error'] or '?'
end
end
function p._styleratio(args)
local style = (args[1] or ''):lower()
local bg, fg = 'white', 'black'
local lum_bg, lum_fg = 1, 0
if args[2] then
local lum = color2lum(args[2])
if lum ~= '' then bg, lum_bg = args[2], lum end
end
if args[3] then
local lum = color2lum(args[3])
if lum ~= '' then fg, lum_fg = args[3], lum end
end
local slist = mw.text.split(mw.ustring.gsub(mw.ustring.gsub(style or '', '&#[Xx]23;', '#'), '#', '#'), ';')
for k = 1,#slist do
local s = slist[k]
local k,v = s:match( '^[%s]*([^:]-):([^:]-)[%s;]*$' )
k = k or ''
v = v or ''
if (k:match('^[%s]*(background)[%s]*$') or k:match('^[%s]*(background%-color)[%s]*$')) then
local lum = color2lum(v)
if( lum ~= '' ) then bg, lum_bg = v, lum end
elseif (k:match('^[%s]*(color)[%s]*$')) then
local lum = color2lum(v)
if( lum ~= '' ) then bg, lum_fg = v, lum end
end
end
if lum_bg > lum_fg then
return (lum_bg + 0.05)/(lum_fg + 0.05)
else
return (lum_fg + 0.05)/(lum_bg + 0.05)
end
end
--[[
Use {{#invoke:Color contrast|somecolor}} directly or
{{#invoke:Color contrast}} from a wrapper template.
Parameters:
-- |1= — required; A color to check.
--]]
function p.lum(frame)
local color = frame.args[1] or frame:getParent().args[1]
return p._lum(color)
end
function p.ratio(frame)
local args = frame.args[1] and frame.args or frame:getParent().args
return p._ratio(args)
end
function p.styleratio(frame)
local args = frame.args[1] and frame.args or frame:getParent().args
return p._styleratio(args)
end
function p.greatercontrast(frame)
local args = frame.args[1] and frame.args or frame:getParent().args
return p._greatercontrast(args)
end
return p
bx0blwcv5isqzm2jrxnp01lj4148n73
Module:Color contrast/colors
828
11322
61557
2026-04-20T17:24:32Z
Khadaamm
17429
Created page with "return { aliceblue = 0.92880068253475, antiquewhite = 0.84646951707754, aqua = 0.7874, aquamarine = 0.8078549208338, azure = 0.97265264954166, beige = 0.8988459998705, bisque = 0.80732327372979, black = 0, blanchedalmond = 0.85084439608156, blue = 0.0722, blueviolet = 0.12622014321946, brown = 0.098224287876511..."
61557
Scribunto
text/plain
return {
aliceblue = 0.92880068253475,
antiquewhite = 0.84646951707754,
aqua = 0.7874,
aquamarine = 0.8078549208338,
azure = 0.97265264954166,
beige = 0.8988459998705,
bisque = 0.80732327372979,
black = 0,
blanchedalmond = 0.85084439608156,
blue = 0.0722,
blueviolet = 0.12622014321946,
brown = 0.098224287876511,
burlywood = 0.51559844533893,
cadetblue = 0.29424681085422,
chartreuse = 0.76032025902623,
chocolate = 0.23898526114557,
coral = 0.37017930872924,
cornflowerblue = 0.30318641994179,
cornsilk = 0.93562110372965,
crimson = 0.16042199953026,
cyan = 0.7874,
darkblue = 0.018640801980939,
darkcyan = 0.20329317839046,
darkgoldenrod = 0.27264703559993,
darkgray = 0.39675523072563,
darkgreen = 0.091143429047575,
darkgrey = 0.39675523072563,
darkkhaki = 0.45747326349994,
darkmagenta = 0.07353047651207,
darkolivegreen = 0.12651920884889,
darkorange = 0.40016167026524,
darkorchid = 0.13413142174857,
darkred = 0.054889674531132,
darksalmon = 0.40541471563381,
darkseagreen = 0.43789249325969,
darkslateblue = 0.065792846227988,
darkslategray = 0.067608151928044,
darkslategrey = 0.067608151928044,
darkturquoise = 0.4874606277449,
darkviolet = 0.10999048339343,
deeppink = 0.23866895828276,
deepskyblue = 0.44481603395575,
dimgray = 0.14126329114027,
dimgrey = 0.14126329114027,
dodgerblue = 0.27442536991456,
firebrick = 0.10724525535015,
floralwhite = 0.95922484825004,
forestgreen = 0.18920812076002,
fuchsia = 0.2848,
gainsboro = 0.71569350050648,
ghostwhite = 0.94311261886323,
gold = 0.69860877428159,
goldenrod = 0.41919977809569,
gray = 0.2158605001139,
green = 0.15438342968146,
greenyellow = 0.80609472611453,
grey = 0.2158605001139,
honeydew = 0.96336535554782,
hotpink = 0.34658438169715,
indianred = 0.21406134963884,
indigo = 0.03107561486337,
ivory = 0.99071270600615,
khaki = 0.77012343394121,
lavender = 0.80318750514521,
lavenderblush = 0.90172748631046,
lawngreen = 0.73905893124963,
lemonchiffon = 0.94038992245622,
lightblue = 0.63709141280807,
lightcoral = 0.35522120733135,
lightcyan = 0.94587293494829,
lightgoldenrodyellow = 0.93348351018297,
lightgray = 0.65140563741982,
lightgreen = 0.69091979956865,
lightgrey = 0.65140563741982,
lightpink = 0.58566152734898,
lightsalmon = 0.4780675225206,
lightseagreen = 0.35050145117042,
lightskyblue = 0.56195637618331,
lightslategray = 0.23830165007287,
lightslategrey = 0.23830165007287,
lightsteelblue = 0.53983888284666,
lightyellow = 0.98161818392882,
lime = 0.7152,
limegreen = 0.44571042246098,
linen = 0.88357340984379,
magenta = 0.2848,
maroon = 0.045891942324215,
mediumaquamarine = 0.49389703310801,
mediumblue = 0.044077780212328,
mediumorchid = 0.21639251153773,
mediumpurple = 0.22905858091648,
mediumseagreen = 0.34393112338131,
mediumslateblue = 0.20284629471622,
mediumspringgreen = 0.70704308194184,
mediumturquoise = 0.5133827926448,
mediumvioletred = 0.14371899849357,
midnightblue = 0.02071786635086,
mintcream = 0.97834604947588,
mistyrose = 0.82183047859185,
moccasin = 0.80083000991567,
navajowhite = 0.76519682342785,
navy = 0.015585128108224,
oldlace = 0.91900633405549,
olive = 0.20027537200568,
olivedrab = 0.22593150951929,
orange = 0.4817026703631,
orangered = 0.25516243753416,
orchid = 0.31348806761439,
palegoldenrod = 0.78792647887614,
palegreen = 0.77936759006353,
paleturquoise = 0.76436077921714,
palevioletred = 0.28754994117889,
papayawhip = 0.87797100199835,
peachpuff = 0.74905589878251,
peru = 0.30113074877936,
pink = 0.63271070702466,
plum = 0.45734221587969,
powderblue = 0.68254586500605,
purple = 0.061477070432439,
rebeccapurple = 0.07492341159447,
red = 0.2126,
rosybrown = 0.32319457649407,
royalblue = 0.16663210743188,
saddlebrown = 0.097922285020521,
salmon = 0.36977241527596,
sandybrown = 0.46628543696283,
seagreen = 0.19734199706275,
seashell = 0.92737862206922,
sienna = 0.13697631337098,
silver = 0.52711512570581,
skyblue = 0.55291668518184,
slateblue = 0.14784278062136,
slategray = 0.20896704076536,
slategrey = 0.20896704076536,
snow = 0.96533341834849,
springgreen = 0.73052306068529,
steelblue = 0.20562642207625,
tan = 0.48237604163921,
teal = 0.16996855778968,
thistle = 0.56818401093733,
tomato = 0.30638612719415,
turquoise = 0.5895536427578,
violet = 0.40315452986676,
wheat = 0.74909702820482,
white = 1,
whitesmoke = 0.91309865179342,
yellow = 0.9278,
yellowgreen = 0.50762957208707,
}
chi69ar1btd4wp6xbk3uez6sfu0vipn
Category:People and person infobox templates
14
11323
61558
2026-04-20T17:25:38Z
Khadaamm
17429
Created page with "{{Cat more|Wikipedia:WikiProject Biography/Infoboxes}} {{template category |type = infobox |topic = people and persons |help = }} Many of these infoboxes use the [[hCard]] [[microformat]]; see [[WP:UF|the microformats project]] for details. ==Using sortkeys== ''This section applies to adding an infobox to the category, nothing special needs to be done when adding an infobox to an article.'' To add an infobox to this category, make sure to use a Help:Category#Sort o..."
61558
wikitext
text/x-wiki
{{Cat more|Wikipedia:WikiProject Biography/Infoboxes}}
{{template category
|type = infobox
|topic = people and persons
|help =
}}
Many of these infoboxes use the [[hCard]] [[microformat]]; see [[WP:UF|the microformats project]] for details.
==Using sortkeys==
''This section applies to adding an infobox to the category, nothing special needs to be done when adding an infobox to an article.''
To add an infobox to this category, make sure to use a [[Help:Category#Sort order|sort key]]. For example, when adding [[Template:Infobox scientist]], one would use "Scientist" as the sortkey for that template. [[Help:Piped link|Piping]] the category with the word "Scientist" ensures that the template is inserted into the category under "S".
[[Category:Infobox templates]]
[[Category:People and person templates by task|infobox]]
[[Category:WikiProject Biography templates|Infoboxes]]
rj92k0usae8gco3j8h3wuz2tp7cyelb
Template:No documentation
10
11324
61559
2026-04-20T17:25:58Z
Khadaamm
17429
Created page with "{{SAFESUBST:<noinclude />#invoke:Unsubst||date=__DATE__ |$B={{Ombox | type = content | name = Improve documentation | class = ambox-Refimprove | image = [[File:Edit-copy green with red question mark.svg|50x40px|link=|alt=]] | text = This {{#switch:{{NAMESPACE}}|{{ns:828}}=module|#default=template}}'s '''[[Wikipedia:Template documentation|documentation]] is missing, inadequate''', or does not accurately describe its functionality or the Help:Template#Parameters|parame..."
61559
wikitext
text/x-wiki
{{SAFESUBST:<noinclude />#invoke:Unsubst||date=__DATE__ |$B={{Ombox
| type = content
| name = Improve documentation
| class = ambox-Refimprove
| image = [[File:Edit-copy green with red question mark.svg|50x40px|link=|alt=]]
| text = This {{#switch:{{NAMESPACE}}|{{ns:828}}=module|#default=template}}'s '''[[Wikipedia:Template documentation|documentation]] is missing, inadequate''', or does not accurately describe its functionality or the [[Help:Template#Parameters|parameters]] in its code. {{#if:{{{reason|}}}|''(Reason: {{{reason}}})''|}} Please help [{{fullurl:{{FULLPAGENAME}}{{#ifexpr:{{#ifexist:{{FULLPAGENAME}}/doc|1|0}} or {{yesno|1={{{linkdocsub|no}}}|yes=1|no=0}}|/doc}}|action=edit}} add, expand, or improve it]. {{#if:{{{talk|{{{1|}}}}}} |See [[{{TALKPAGENAME}}|talk page]] for details.|}} {{#if:{{{date|{{{2|}}}}}} |{{small|''({{{date}}})''}}}}
}}<includeonly>{{#switch:{{SUBPAGENAME}}|doc|sandbox|testcases=|#default={{Dated maintenance category|||Templates with missing or incorrect documentation}}}}</includeonly>}}<noinclude>
{{Documentation}}
</noinclude>
c1wjmj2cqhp617vqq8sva0h83k6g75k
Module:Unsubst
828
11325
61560
2026-04-20T17:26:27Z
Khadaamm
17429
Created page with "local checkType = require('libraryUtil').checkType local p = {} local BODY_PARAM = '$B' local specialParams = { ['$params'] = 'parameter list', ['$aliases'] = 'parameter aliases', ['$flags'] = 'flags', ['$B'] = 'template content', ['$template-name'] = 'template invocation name override', } function p.main(frame, body) -- If we are substing, this function returns a template invocation, and if -- not, it returns the template body. The template body can be specif..."
61560
Scribunto
text/plain
local checkType = require('libraryUtil').checkType
local p = {}
local BODY_PARAM = '$B'
local specialParams = {
['$params'] = 'parameter list',
['$aliases'] = 'parameter aliases',
['$flags'] = 'flags',
['$B'] = 'template content',
['$template-name'] = 'template invocation name override',
}
function p.main(frame, body)
-- If we are substing, this function returns a template invocation, and if
-- not, it returns the template body. The template body can be specified in
-- the body parameter, or in the template parameter defined in the
-- BODY_PARAM variable. This function can be called from Lua or from
-- #invoke.
-- Return the template body if we aren't substing.
if not mw.isSubsting() then
if body ~= nil then
return body
elseif frame.args[BODY_PARAM] ~= nil then
return frame.args[BODY_PARAM]
else
error(string.format(
"no template content specified (use parameter '%s' from #invoke)",
BODY_PARAM
), 2)
end
end
-- Sanity check for the frame object.
if type(frame) ~= 'table'
or type(frame.getParent) ~= 'function'
or not frame:getParent()
then
error(
"argument #1 to 'main' must be a frame object with a parent " ..
"frame available",
2
)
end
-- Find the invocation name.
local mTemplateInvocation = require('Module:Template invocation')
local name
if frame.args['$template-name'] and '' ~= frame.args['$template-name'] then
name = frame.args['$template-name'] -- override whatever the template name is with this name
else
name = mTemplateInvocation.name(frame:getParent():getTitle())
end
-- Combine passed args with passed defaults
local args = {}
if string.find( ','..(frame.args['$flags'] or '')..',', ',%s*override%s*,' ) then
for k, v in pairs( frame:getParent().args ) do
args[k] = v
end
for k, v in pairs( frame.args ) do
if not specialParams[k] then
if v == '__DATE__' then
v = mw.getContentLanguage():formatDate( 'F Y' )
end
args[k] = v
end
end
else
for k, v in pairs( frame.args ) do
if not specialParams[k] then
if v == '__DATE__' then
v = mw.getContentLanguage():formatDate( 'F Y' )
end
args[k] = v
end
end
for k, v in pairs( frame:getParent().args ) do
args[k] = v
end
end
-- Trim parameters, if not specified otherwise
if not string.find( ','..(frame.args['$flags'] or '')..',', ',%s*keep%-whitespace%s*,' ) then
for k, v in pairs( args ) do args[k] = mw.ustring.match(v, '^%s*(.*)%s*$') or '' end
end
-- Pull information from parameter aliases
local aliases = {}
if frame.args['$aliases'] then
local list = mw.text.split( frame.args['$aliases'], '%s*,%s*' )
for k, v in ipairs( list ) do
local tmp = mw.text.split( v, '%s*>%s*' )
aliases[tonumber(mw.ustring.match(tmp[1], '^[1-9][0-9]*$')) or tmp[1]] = ((tonumber(mw.ustring.match(tmp[2], '^[1-9][0-9]*$'))) or tmp[2])
end
end
for k, v in pairs( aliases ) do
if args[k] and ( not args[v] or args[v] == '' ) then
args[v] = args[k]
end
args[k] = nil
end
-- Remove empty parameters, if specified
if string.find( ','..(frame.args['$flags'] or '')..',', ',%s*remove%-empty%s*,' ) then
local tmp = 0
for k, v in ipairs( args ) do
if v ~= '' or ( args[k+1] and args[k+1] ~= '' ) or ( args[k+2] and args[k+2] ~= '' ) then
tmp = k
else
break
end
end
for k, v in pairs( args ) do
if v == '' then
if not (type(k) == 'number' and k < tmp) then args[k] = nil end
end
end
end
-- Order parameters
if frame.args['$params'] then
local params, tmp = mw.text.split( frame.args['$params'], '%s*,%s*' ), {}
for k, v in ipairs(params) do
v = tonumber(mw.ustring.match(v, '^[1-9][0-9]*$')) or v
if args[v] then tmp[v], args[v] = args[v], nil end
end
for k, v in pairs(args) do tmp[k], args[k] = args[k], nil end
args = tmp
end
return mTemplateInvocation.invocation(name, args)
end
p[''] = p.main -- For backwards compatibility
return p
eu3d3ip0gtd6n65iz4vmtpogb62rxdi
Module:Infobox power station
828
11326
61561
2026-04-20T17:27:36Z
Khadaamm
17429
Created page with "--[[ Power supply units Custom module to autofill six parameters for use in Template:Infobox power station Parameters are: ps_units_operational → The number of generation units operational and their nameplate capacity → Example: 3 × 100 MW<br>1 × 110 MW ps_units_manu_model → The manufacturer and model of the generation units → Example: Vestas V164 ps_units_uc → The number of generation units under construction → Example: 2 × 150 MW<br>1 × 160 MW ps_..."
61561
Scribunto
text/plain
--[[
Power supply units
Custom module to autofill six parameters for use in Template:Infobox power station
Parameters are:
ps_units_operational
→ The number of generation units operational and their nameplate capacity
→ Example: 3 × 100 MW<br>1 × 110 MW
ps_units_manu_model
→ The manufacturer and model of the generation units
→ Example: Vestas V164
ps_units_uc
→ The number of generation units under construction
→ Example: 2 × 150 MW<br>1 × 160 MW
ps_units_decommissioned
→ The number of generation units decommissioned
→ Example: 1 × 75 MW<br>1 × 70 MW
ps_units_planned
ps_units_cancelled
--]]
local p = {}
local i18n = {
["langcode"] = "en",
["op_lbl"] = "Units operational",
["mm_lbl"] = "Make and model",
["uc_lbl"] = "Units under const.",
["dc_lbl"] = "Units decommissioned",
["pl_lbl"] = "Units planned",
["ca_lbl"] = "Units cancelled",
}
-- numerically sort sequential tables whose values contain a number, like "350 MW"
-- sort on first number found
local function numcomp1( x, y )
x = tonumber( tostring(x):match("%d+") ) or 0
y = tonumber( tostring(y):match("%d+") ) or 0
return x < y
end
-- numerically sort sequential tables whose values contain two numbers, like "1 x 350 MW"
-- sort on second number found
local function numcomp2( x, y )
x = tonumber( tostring(x):match("%d+%D+(%d+)") ) or 0
y = tonumber( tostring(y):match("%d+%D+(%d+)") ) or 0
return x < y
end
-- alphabetically sort sequential tables whose values may contain wikilinks.
-- Formats: "[[Link|Text]]" or "[[Link]]" or "Text"
local function linkcomp( a, b )
-- a = a:gsub("%[%[.*|", ""):gsub("%[%[", ""):gsub("]]","") -> test for best
a = a:match("%[%[.*|(.*)]]") or a:match("%[%[(.*)]]") or a
b = b:match("%[%[.*|(.*)]]") or b:match("%[%[(.*)]]") or b
return a < b
end
--Render monolingual text
local function rendermlt(props, langcode)
for k, v in ipairs(props) do
v = v.mainsnak or v
if v.snaktype == "value" and v.datavalue.value.language == langcode then
return v.datavalue.value.text
end
end
end
-- Render quantity from snak
local function renderqty(snak, langcode)
if snak and snak.snaktype == "value" then
qty = tonumber(snak.datavalue.value.amount)
if not qty then return end
-- get qid of unit
local uqid = (snak.datavalue.value.unit or ""):match("(Q%d+)")
-- scan table of unit symbols
local usym = ""
for i2, v2 in ipairs( mw.wikibase.getAllStatements(uqid, "P5061") ) do
if v2.mainsnak.snaktype == "value"
and v2.mainsnak.datavalue.value.language == langcode then
usym = " " .. v2.mainsnak.datavalue.value.text
break
end
end
return qty .. usym
end
end
-- Take a qid and return the shortname (P1813) or label, linked to an article if possible
local function linkedname(qid, langcode)
local props1813 = mw.wikibase.getBestStatements(qid, "P1813")
-- may have to use mw.wikibase.getLabelByLang(qid, langcode) on multi-lingual wikis:
local lbl = rendermlt(props1813, langcode) or mw.wikibase.getLabel(qid)
local lnk = mw.wikibase.getSitelink(qid)
return lnk and lbl and ("[[" .. lnk .. "|" .. lbl .."]]")
or lnk and ("[[" .. lnk .. "]]")
or lbl
end
p.psunits = function(frame)
local args = frame.args
local psu_op = args.ps_units_operational or ""
local psu_mm = args.ps_units_manu_model or ""
local psu_uc = args.ps_units_uc or ""
local psu_dc = args.ps_units_decommissioned or ""
local psu_pl = args.ps_units_planned or ""
local psu_ca = args.ps_units_cancelled or ""
local qid = args.qid or ""
if qid == "" then qid = mw.wikibase.getEntityIdForCurrentPage() end
if not qid then return nil end
local langcode = args.lang or ""
if langcode == "" then langcode = i18n.langcode end
local status = {}
local mm = {}
local cap = {}
local num = {}
local props516 = mw.wikibase.getBestStatements(qid, "P516")
if #props516 > 0 then
for i1, v1 in ipairs(props516) do
-- set default count of this engine to 1
num[i1] = 1
-- set default status of this engine to planned
status[i1] = "pl"
-- model should be value of P516, get manufacturer from the linked P176 and capacity from linked P2109
-- if there is a value that isn't a model, just use the value
local mdlqid = (v1.mainsnak.snaktype == "value") and v1.mainsnak.datavalue.value.id
if mdlqid then
-- look for a shortname to use for model display label, otherwise use model label
local mdl = linkedname(mdlqid, langcode)
local mfr
local props176snak = mw.wikibase.getBestStatements(mdlqid, "P176")[1]
if props176snak then
-- model has a manufacturer
props176snak = props176snak and props176snak.mainsnak
local mfrqid = (props176snak.snaktype == "value") and props176snak.datavalue.value.id
if mfrqid then
-- look for a shortname to use for manufacturer display label, otherwise use manufacturer label
mfr = linkedname(mfrqid, langcode)
end
end
mm[i1] = mfr and mdl and (mfr .. " " .. mdl) or mfr or mdl
-- get default capacity
local props2109snak = mw.wikibase.getBestStatements(mdlqid, "P2109")[1]
props2109snak = props2109snak and props2109snak.mainsnak
cap[i1] = renderqty(props2109snak, langcode)
elseif v1.mainsnak.snaktype == "somevalue" then
mm[i1] = "Unknown"
-- set default capacity
cap[i1] = 0
end
local quals = v1.qualifiers
if quals then
-- determine status from service retirement/entry/inception
local dcsnak = quals.P730 and quals.P730[1].snaktype
local opsnak = quals.P729 and quals.P729[1].snaktype
local ucsnak = quals.P571 and quals.P571[1].snaktype
if dcsnak == "value" or dcsnak == "somevalue" then
status[i1] = "dc"
elseif opsnak == "value" or opsnak == "somevalue" then
status[i1] = "op"
elseif ucsnak == "value" or ucsnak == "somevalue" then
status[i1] = "uc"
end
-- override if state of use (P5817) is cancelled-abandoned (Q30108381)
if quals.P5817
and quals.P5817[1].snaktype == "value"
and quals.P5817[1].datavalue.value.id == "Q30108381" then
status[i1] = "ca"
end
-- override default capacity from qualifier P2109 if available
if quals.P2109 and quals.P2109[1].snaktype == "value" then
cap[i1] = renderqty(quals.P2109[1], langcode)
end
-- if quantity (P1114) is given, replace num value
if quals.P1114 and quals.P1114[1].snaktype == "value" then
num[i1] = tonumber(quals.P1114[1].datavalue.value.amount) or 1
end
end
-- convert capacity in kW to MW
if (cap[i1] or ""):sub(-2) == "kW" then
local c = tonumber(cap[i1]:match("%d+"))
cap[i1] = c/1000 .. " " .. "MW"
end
end
end
-- construct set of manufacturers and models of operational units
-- key is the manufacturer + model and value is count of that
local opmm = {}
for i, v in ipairs(status) do
if v == "op" and mm[i] then opmm[mm[i]] = (opmm[mm[i]] or 0) + num[i] end
end
-- construct html string from the set of manufacturers and models
-- first make a sequential table
local opmmseq = {}
for k, v in pairs(opmm) do
opmmseq[#opmmseq+1] = k .. " (" .. v .. ")"
end
table.sort(opmmseq, linkcomp)
if psu_mm == "" then psu_mm = table.concat(opmmseq, "<br>") end
-- construct sets of capacities of operational units (opcap),
-- units under construction (uccap), decommissioned (dccap)],
-- planned (plcap) and cancelled (cacap)
-- key is the capacity and value is count of that capacity.
local opcap, uccap, dccap, plcap, cacap = {}, {}, {}, {}, {}
for i, v in ipairs(status) do
if v == "uc" and cap[i] then uccap[cap[i]] = (uccap[cap[i]] or 0) + num[i] end
if v == "op" and cap[i] then opcap[cap[i]] = (opcap[cap[i]] or 0) + num[i] end
if v == "dc" and cap[i] then dccap[cap[i]] = (dccap[cap[i]] or 0) + num[i] end
if v == "pl" and cap[i] then plcap[cap[i]] = (plcap[cap[i]] or 0) + num[i] end
if v == "ca" and cap[i] then cacap[cap[i]] = (cacap[cap[i]] or 0) + num[i] end
end
-- construct html strings from the sets of capacities
-- first make a sequential table
-- under construction
local uccapseq = {}
for k, v in pairs(uccap) do
uccapseq[#uccapseq+1] = v .. " × " .. k
end
table.sort(uccapseq, numcomp2)
if psu_uc == "" then psu_uc = table.concat(uccapseq, "<br>") end
-- operational
local opcapseq = {}
for k, v in pairs(opcap) do
opcapseq[#opcapseq+1] = v .. " × " .. k
end
table.sort(opcapseq, numcomp2)
if psu_op == "" then psu_op = table.concat(opcapseq, "<br>") end
-- decommissioned
local dccapseq = {}
for k, v in pairs(dccap) do
dccapseq[#dccapseq+1] = v .. " × " .. k
end
table.sort(dccapseq, numcomp2)
if psu_dc == "" then psu_dc = table.concat(dccapseq, "<br>") end
-- planned
local plcapseq = {}
for k, v in pairs(plcap) do
plcapseq[#plcapseq+1] = v .. " × " .. k
end
table.sort(plcapseq, numcomp2)
if psu_pl == "" then psu_pl = table.concat(plcapseq, "<br>") end
-- cancelled
local cacapseq = {}
for k, v in pairs(cacap) do
cacapseq[#cacapseq+1] = v .. " × " .. k
end
table.sort(cacapseq, numcomp2)
if psu_ca == "" then psu_ca = table.concat(cacapseq, "<br>") end
-- construct table rows
local out = ""
-- operational
if psu_op ~= "" then
out = out .. "<tr><th>" .. i18n.op_lbl
.. "</th><td>" .. psu_op .. "</td></tr>"
end
-- make & model
if psu_mm ~= "" then
out = out .. "<tr><th>" .. i18n.mm_lbl
.. "</th><td>" .. psu_mm .. "</td></tr>"
end
-- planned
if psu_pl ~= "" then
out = out .. "<tr><th>" .. i18n.pl_lbl
.. "</th><td>" .. psu_pl .. "</td></tr>"
end
-- cancelled
if psu_ca ~= "" then
out = out .. "<tr><th>" .. i18n.ca_lbl
.. "</th><td>" .. psu_ca .. "</td></tr>"
end
-- under const.
if psu_uc ~= "" then
out = out .. "<tr><th>" .. i18n.uc_lbl
.. "</th><td>" .. psu_uc .. "</td></tr>"
end
-- decommissioned
if psu_dc ~= "" then
out = out .. "<tr><th>" .. i18n.dc_lbl
.. "</th><td>" .. psu_dc .. "</td></tr>"
end
if args.dbug and args.dbug ~= "" then
local debugstr = "debug info<br>"
for i, v in pairs(status) do
debugstr = debugstr .. i .. " - " .. v .. " - " .. (cap[i] or "") .. " - " .. (mm[i] or "") .. " x " .. (num[i] or "") .. "<br>"
end
local count = 0
for k, v in pairs(opmm) do
count = count +1
end
debugstr = debugstr .. "opmm size = " .. count
out = out .. "<tr><td colspan='2'>" .. debugstr .. "</td></tr>"
end
-- Construct html hack to fit in when passed to Template:Infobox, which prefixes the data with
-- <td colspan="2" style="text-align:center"> and suffixes it with </td></tr>
if #out > 0 then
out = "</td>" .. out:sub(1,-11)
end
return out
end
return p
1x84jjikmsbqqold9743kb2e3arld6a
Template:PAGENAMEBASE
10
11327
61562
2026-04-20T17:30:39Z
Khadaamm
17429
Created page with "{{safesubst:<noinclude/>#invoke:String|replace|{{{1|{{safesubst:<noinclude/>PAGENAME}}}}}|%s+%b()$||1|false}}<noinclude> {{documentation}} </noinclude>"
61562
wikitext
text/x-wiki
{{safesubst:<noinclude/>#invoke:String|replace|{{{1|{{safesubst:<noinclude/>PAGENAME}}}}}|%s+%b()$||1|false}}<noinclude>
{{documentation}}
</noinclude>
hfmr5rmcuhdncvzny8x6n6ob8hddcpq