Wikipedia
scnwiki
https://scn.wikipedia.org/wiki/P%C3%A0ggina_principali
MediaWiki 1.45.0-wmf.8
first-letter
Mèdia
Spiciali
Discussioni
Utenti
Discussioni utenti
Wikipedia
Discussioni Wikipedia
File
Discussioni file
MediaWiki
Discussioni MediaWiki
Template
Discussioni template
Aiutu
Discussioni aiutu
Catigurìa
Discussioni catigurìa
Purtali
Discussioni purtali
Pruggettu
Discussioni pruggettu
TimedText
TimedText talk
Mòdulu
Discussioni mòdulu
Event
Event talk
Pico Bolívar
0
42763
770559
749512
2025-07-05T03:58:42Z
200.24.154.85
770559
wikitext
text/x-wiki
[[File:Bolívar usgs.jpg|thumb|200px|Pico Bolivar. A Parte suddorientale da Muntagna]]
[[File:GPS measuring of altitude on Bolívar Peak made in 2002, which stated a height of 4,978 ±0.4 metres..jpg|thumb|left|100px|D-GPS 2002. 4,978.4 ±0.4 m.]]
Lu '''Pico Bolívar''' (4.978 m s.l.m.) è la [[muntagna]] chiù avuta du [[Venezzuela]]. È situatu ntô Statu di Mérida non luntanu dalla città di [[Mérida (Venezzuela)|Mérida]]. Fu accusì chiamatu all'onore de [[Simón Bolívar]].<ref>[http://redalyc.uaemex.mx/redalyc/pdf/339/33910305.pdf Pérez O, Hoyer M, Hernández J, Rodríguez C, Márques V, Sué N, Velandia J, Deiros D. (2005). "Alturas del Pico Bolívar y otras cimas andinas venezolanas a partir de observaciones GPS" ''Interciencia''. 30 (4). ] {{ES}}</ref><ref>Determinan altura exacta del pico Bolívar. Boletín geográfico IGVSB-BG N° 14. Instituto Geográfico de Venezuela Simón Bolívar. 2003. Caracas, Venezuela. {{ES}}</ref>
==Rifirimenti==
<references/>
[[Catigurìa:Muntagni]]
[[Catigurìa:Venezzuela]]
[[Catigurìa:Giugrafìa]]
4hjpwv13sv9n95s614wrbh5ws7noj6d
Utenti:GianAntonucci
2
65892
770483
770431
2025-07-04T14:38:14Z
GianAntonucci
46609
/* Tèssira (Infobox) */
770483
wikitext
text/x-wiki
{{DOS}}
{{#babel:scn|it|en-4}}
== Pàggini chi canciavi ==
* [[Càrculu spartutu]]
* [[John Lawson (fìsicu)]]
* [[Prugrammazzioni vutata a l'uggetti|PVU]]
== Pàggini chi hê canciari ==
* [[Càrculu diffirinziali]]
* [[Dirivata]]
* [[Samprea Riggiunali Siciliana]]
* [[Mòdulu:Bozza]] (cfr. https://en.wikipedia.org/wiki/Module:Sandbox)
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bimminutu]]
== Pàggini ùtili ==
* https://scn.wikipedia.org/wiki/Catigurìa:WIP_di_l%27Utenti_Dapal
* https://scn.wikipedia.org/wiki/Catigurìa:Artìculi_scritti_câ_grafìa_dâ_Cademia_Siciliana
* https://xtools.wmcloud.org/ec/scn.wikipedia.org/GianAntonucci
* https://scn.wikipedia.org/wiki/Wikipedia:Template
* https://en.wikipedia.org/wiki/Wikipedia:Templates
* https://en.wikipedia.org/wiki/Wikipedia:Sandbox
* https://scn.wikipedia.org/wiki/Utenti:GianAntonucci/Sandbox
* https://scn.wikipedia.org/wiki/Wikipedia:Fogghiu_di_prova
* https://scn.wikipedia.org/wiki/Template:Infobox
* https://en.wikipedia.org/wiki/Category:Wikipedia_modules
* [[Utenti:GiovanniPen/Welcome]]
* [[Utenti:GiovanniPen/msgs.php]]
== Lijami ùtili ==
* https://www.istat.it/classificazione/principali-statistiche-geografiche-sui-comuni/
== Provi chî mòduli e chî mudeḍḍi ==
=== Quatràngulu ===
* [[Mòdulu:Bozza/GianAntonucci/Quatràngulu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Quatràngulu]]
* [[Utenti:GianAntonucci/Bozza/Quatràngulu]]
=== TabbellaFacciuzzi ===
* [[Mòdulu:Bozza/GianAntonucci/TabbellaFacciuzzi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TabbellaFacciuzzi]]
* [[Utenti:GianAntonucci/Bozza/TabbellaFacciuzzi]]
=== Bozza (Sandbox) ===
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza]]
* [[Utenti:GianAntonucci/Bozza/Wikipedia:Bozza]]
=== Bumminuta ===
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bumminuta/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bumminuta]]
* [[Utenti:GianAntonucci/Bozza/Wikipedia:Bumminuta]]
=== Tèssira (Infobox) ===
* [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Tèssira_dû_Capu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Tèssira_dû_Regnu_Unitu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraStoria]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCìnamu]]
==== Di cancillari ====
* <s>[[Template:Tèssira/styles.css]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bummegna/styles.css]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bummegna]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Wikipedia:Bummegna]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza/styles.css]]</s>
==== Lijati ====
* [[Mòdulu:Wikidata]]
* [[Template:Wikidata]]
* [[Template:WikidataLabel]]
* [[Template:Infobox]]
* [[Template:Lijami sinòtticu]]
Cfr. https://es.wikipedia.org/wiki/Módulo:Ficha, https://en.wikipedia.org/wiki/Module:Infobox, https://en.wikipedia.org/wiki/Module:Infobox/styles.css
kcc9gwaiz2qqnfujdjkka9k1ipkppti
770490
770483
2025-07-04T14:50:32Z
GianAntonucci
46609
/* Tèssira (Infobox) */
770490
wikitext
text/x-wiki
{{DOS}}
{{#babel:scn|it|en-4}}
== Pàggini chi canciavi ==
* [[Càrculu spartutu]]
* [[John Lawson (fìsicu)]]
* [[Prugrammazzioni vutata a l'uggetti|PVU]]
== Pàggini chi hê canciari ==
* [[Càrculu diffirinziali]]
* [[Dirivata]]
* [[Samprea Riggiunali Siciliana]]
* [[Mòdulu:Bozza]] (cfr. https://en.wikipedia.org/wiki/Module:Sandbox)
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bimminutu]]
== Pàggini ùtili ==
* https://scn.wikipedia.org/wiki/Catigurìa:WIP_di_l%27Utenti_Dapal
* https://scn.wikipedia.org/wiki/Catigurìa:Artìculi_scritti_câ_grafìa_dâ_Cademia_Siciliana
* https://xtools.wmcloud.org/ec/scn.wikipedia.org/GianAntonucci
* https://scn.wikipedia.org/wiki/Wikipedia:Template
* https://en.wikipedia.org/wiki/Wikipedia:Templates
* https://en.wikipedia.org/wiki/Wikipedia:Sandbox
* https://scn.wikipedia.org/wiki/Utenti:GianAntonucci/Sandbox
* https://scn.wikipedia.org/wiki/Wikipedia:Fogghiu_di_prova
* https://scn.wikipedia.org/wiki/Template:Infobox
* https://en.wikipedia.org/wiki/Category:Wikipedia_modules
* [[Utenti:GiovanniPen/Welcome]]
* [[Utenti:GiovanniPen/msgs.php]]
== Lijami ùtili ==
* https://www.istat.it/classificazione/principali-statistiche-geografiche-sui-comuni/
== Provi chî mòduli e chî mudeḍḍi ==
=== Quatràngulu ===
* [[Mòdulu:Bozza/GianAntonucci/Quatràngulu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Quatràngulu]]
* [[Utenti:GianAntonucci/Bozza/Quatràngulu]]
=== TabbellaFacciuzzi ===
* [[Mòdulu:Bozza/GianAntonucci/TabbellaFacciuzzi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TabbellaFacciuzzi]]
* [[Utenti:GianAntonucci/Bozza/TabbellaFacciuzzi]]
=== Bozza (Sandbox) ===
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza]]
* [[Utenti:GianAntonucci/Bozza/Wikipedia:Bozza]]
=== Bumminuta ===
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bumminuta/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bumminuta]]
* [[Utenti:GianAntonucci/Bozza/Wikipedia:Bumminuta]]
=== Tèssira (Infobox) ===
* [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Tèssira_dû_Capu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Tèssira_dû_Regnu_Unitu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCìnamu]]
==== Di cancillari ====
* <s>[[Template:Tèssira/styles.css]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bummegna/styles.css]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bummegna]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Wikipedia:Bummegna]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza/styles.css]]</s>
==== Lijati ====
* [[Mòdulu:Wikidata]]
* [[Template:Wikidata]]
* [[Template:WikidataLabel]]
* [[Template:Infobox]]
* [[Template:Lijami sinòtticu]]
Cfr. https://es.wikipedia.org/wiki/Módulo:Ficha, https://en.wikipedia.org/wiki/Module:Infobox, https://en.wikipedia.org/wiki/Module:Infobox/styles.css
d4y07kbiaykscutt3u59iaiu1csrjg4
770495
770490
2025-07-04T16:00:54Z
GianAntonucci
46609
/* Tèssira (Infobox) */
770495
wikitext
text/x-wiki
{{DOS}}
{{#babel:scn|it|en-4}}
== Pàggini chi canciavi ==
* [[Càrculu spartutu]]
* [[John Lawson (fìsicu)]]
* [[Prugrammazzioni vutata a l'uggetti|PVU]]
== Pàggini chi hê canciari ==
* [[Càrculu diffirinziali]]
* [[Dirivata]]
* [[Samprea Riggiunali Siciliana]]
* [[Mòdulu:Bozza]] (cfr. https://en.wikipedia.org/wiki/Module:Sandbox)
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bimminutu]]
== Pàggini ùtili ==
* https://scn.wikipedia.org/wiki/Catigurìa:WIP_di_l%27Utenti_Dapal
* https://scn.wikipedia.org/wiki/Catigurìa:Artìculi_scritti_câ_grafìa_dâ_Cademia_Siciliana
* https://xtools.wmcloud.org/ec/scn.wikipedia.org/GianAntonucci
* https://scn.wikipedia.org/wiki/Wikipedia:Template
* https://en.wikipedia.org/wiki/Wikipedia:Templates
* https://en.wikipedia.org/wiki/Wikipedia:Sandbox
* https://scn.wikipedia.org/wiki/Utenti:GianAntonucci/Sandbox
* https://scn.wikipedia.org/wiki/Wikipedia:Fogghiu_di_prova
* https://scn.wikipedia.org/wiki/Template:Infobox
* https://en.wikipedia.org/wiki/Category:Wikipedia_modules
* [[Utenti:GiovanniPen/Welcome]]
* [[Utenti:GiovanniPen/msgs.php]]
== Lijami ùtili ==
* https://www.istat.it/classificazione/principali-statistiche-geografiche-sui-comuni/
== Provi chî mòduli e chî mudeḍḍi ==
=== Quatràngulu ===
* [[Mòdulu:Bozza/GianAntonucci/Quatràngulu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Quatràngulu]]
* [[Utenti:GianAntonucci/Bozza/Quatràngulu]]
=== TabbellaFacciuzzi ===
* [[Mòdulu:Bozza/GianAntonucci/TabbellaFacciuzzi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TabbellaFacciuzzi]]
* [[Utenti:GianAntonucci/Bozza/TabbellaFacciuzzi]]
=== Bozza (Sandbox) ===
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza]]
* [[Utenti:GianAntonucci/Bozza/Wikipedia:Bozza]]
=== Bumminuta ===
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bumminuta/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bumminuta]]
* [[Utenti:GianAntonucci/Bozza/Wikipedia:Bumminuta]]
=== Tèssira (Infobox) ===
* [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Tèssira_dû_Capu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Tèssira_dû_Regnu_Unitu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
==== Di cancillari ====
* <s>[[Template:Tèssira/styles.css]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bummegna/styles.css]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bummegna]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Wikipedia:Bummegna]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza/styles.css]]</s>
==== Lijati ====
* [[Mòdulu:Wikidata]]
* [[Template:Wikidata]]
* [[Template:WikidataLabel]]
* [[Template:Infobox]]
* [[Template:Lijami sinòtticu]]
Cfr. https://es.wikipedia.org/wiki/Módulo:Ficha, https://en.wikipedia.org/wiki/Module:Infobox, https://en.wikipedia.org/wiki/Module:Infobox/styles.css
02y6k2jqe6o2coyyh22xow8nb0t3n20
770497
770495
2025-07-04T16:07:07Z
GianAntonucci
46609
/* Tèssira (Infobox) */
770497
wikitext
text/x-wiki
{{DOS}}
{{#babel:scn|it|en-4}}
== Pàggini chi canciavi ==
* [[Càrculu spartutu]]
* [[John Lawson (fìsicu)]]
* [[Prugrammazzioni vutata a l'uggetti|PVU]]
== Pàggini chi hê canciari ==
* [[Càrculu diffirinziali]]
* [[Dirivata]]
* [[Samprea Riggiunali Siciliana]]
* [[Mòdulu:Bozza]] (cfr. https://en.wikipedia.org/wiki/Module:Sandbox)
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bimminutu]]
== Pàggini ùtili ==
* https://scn.wikipedia.org/wiki/Catigurìa:WIP_di_l%27Utenti_Dapal
* https://scn.wikipedia.org/wiki/Catigurìa:Artìculi_scritti_câ_grafìa_dâ_Cademia_Siciliana
* https://xtools.wmcloud.org/ec/scn.wikipedia.org/GianAntonucci
* https://scn.wikipedia.org/wiki/Wikipedia:Template
* https://en.wikipedia.org/wiki/Wikipedia:Templates
* https://en.wikipedia.org/wiki/Wikipedia:Sandbox
* https://scn.wikipedia.org/wiki/Utenti:GianAntonucci/Sandbox
* https://scn.wikipedia.org/wiki/Wikipedia:Fogghiu_di_prova
* https://scn.wikipedia.org/wiki/Template:Infobox
* https://en.wikipedia.org/wiki/Category:Wikipedia_modules
* [[Utenti:GiovanniPen/Welcome]]
* [[Utenti:GiovanniPen/msgs.php]]
== Lijami ùtili ==
* https://www.istat.it/classificazione/principali-statistiche-geografiche-sui-comuni/
== Provi chî mòduli e chî mudeḍḍi ==
=== Quatràngulu ===
* [[Mòdulu:Bozza/GianAntonucci/Quatràngulu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Quatràngulu]]
* [[Utenti:GianAntonucci/Bozza/Quatràngulu]]
=== TabbellaFacciuzzi ===
* [[Mòdulu:Bozza/GianAntonucci/TabbellaFacciuzzi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TabbellaFacciuzzi]]
* [[Utenti:GianAntonucci/Bozza/TabbellaFacciuzzi]]
=== Bozza (Sandbox) ===
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza]]
* [[Utenti:GianAntonucci/Bozza/Wikipedia:Bozza]]
=== Bumminuta ===
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bumminuta/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bumminuta]]
* [[Utenti:GianAntonucci/Bozza/Wikipedia:Bumminuta]]
=== Tèssira (Infobox) ===
* [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* [[Mòdulu:Bozza/GianAntonucci/Tèssira/doc]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Tèssira_dû_Capu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Tèssira_dû_Regnu_Unitu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
==== Di cancillari ====
* <s>[[Template:Tèssira/styles.css]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bummegna/styles.css]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bummegna]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Wikipedia:Bummegna]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza/styles.css]]</s>
==== Lijati ====
* [[Mòdulu:Wikidata]]
* [[Template:Wikidata]]
* [[Template:WikidataLabel]]
* [[Template:Infobox]]
* [[Template:Lijami sinòtticu]]
Cfr. https://es.wikipedia.org/wiki/Módulo:Ficha, https://en.wikipedia.org/wiki/Module:Infobox, https://en.wikipedia.org/wiki/Module:Infobox/styles.css
dfyizqv0iwdy9vyzgt1kjb7fk6y3ijx
770547
770497
2025-07-04T23:47:03Z
GianAntonucci
46609
/* Tèssira (Infobox) */
770547
wikitext
text/x-wiki
{{DOS}}
{{#babel:scn|it|en-4}}
== Pàggini chi canciavi ==
* [[Càrculu spartutu]]
* [[John Lawson (fìsicu)]]
* [[Prugrammazzioni vutata a l'uggetti|PVU]]
== Pàggini chi hê canciari ==
* [[Càrculu diffirinziali]]
* [[Dirivata]]
* [[Samprea Riggiunali Siciliana]]
* [[Mòdulu:Bozza]] (cfr. https://en.wikipedia.org/wiki/Module:Sandbox)
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bimminutu]]
== Pàggini ùtili ==
* https://scn.wikipedia.org/wiki/Catigurìa:WIP_di_l%27Utenti_Dapal
* https://scn.wikipedia.org/wiki/Catigurìa:Artìculi_scritti_câ_grafìa_dâ_Cademia_Siciliana
* https://xtools.wmcloud.org/ec/scn.wikipedia.org/GianAntonucci
* https://scn.wikipedia.org/wiki/Wikipedia:Template
* https://en.wikipedia.org/wiki/Wikipedia:Templates
* https://en.wikipedia.org/wiki/Wikipedia:Sandbox
* https://scn.wikipedia.org/wiki/Utenti:GianAntonucci/Sandbox
* https://scn.wikipedia.org/wiki/Wikipedia:Fogghiu_di_prova
* https://scn.wikipedia.org/wiki/Template:Infobox
* https://en.wikipedia.org/wiki/Category:Wikipedia_modules
* [[Utenti:GiovanniPen/Welcome]]
* [[Utenti:GiovanniPen/msgs.php]]
== Lijami ùtili ==
* https://www.istat.it/classificazione/principali-statistiche-geografiche-sui-comuni/
== Provi chî mòduli e chî mudeḍḍi ==
=== Quatràngulu ===
* [[Mòdulu:Bozza/GianAntonucci/Quatràngulu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Quatràngulu]]
* [[Utenti:GianAntonucci/Bozza/Quatràngulu]]
=== TabbellaFacciuzzi ===
* [[Mòdulu:Bozza/GianAntonucci/TabbellaFacciuzzi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TabbellaFacciuzzi]]
* [[Utenti:GianAntonucci/Bozza/TabbellaFacciuzzi]]
=== Bozza (Sandbox) ===
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza]]
* [[Utenti:GianAntonucci/Bozza/Wikipedia:Bozza]]
=== Bumminuta ===
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bumminuta/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bumminuta]]
* [[Utenti:GianAntonucci/Bozza/Wikipedia:Bumminuta]]
=== Tèssira (Infobox) ===
* [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* [[Mòdulu:Bozza/GianAntonucci/Tèssira/doc]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Tèssira_dû_Capu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Tèssira_dû_Regnu_Unitu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
=== Wikidata ===
* [[Mòdulu:Bozza/GianAntonucci/Wikidata]]
=== Di cancillari ===
* <s>[[Mòdulu:Tèssira]]</s>
* <s>[[Template:Tèssira/styles.css]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bummegna/styles.css]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bummegna]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Wikipedia:Bummegna]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza/styles.css]]</s>
=== Lijati ===
* [[Mòdulu:Wikidata]]
* [[Template:Wikidata]]
* [[Template:WikidataLabel]]
* [[Template:Infobox]]
* [[Template:Lijami sinòtticu]]
Cfr. https://es.wikipedia.org/wiki/Módulo:Ficha, https://en.wikipedia.org/wiki/Module:Infobox, https://en.wikipedia.org/wiki/Module:Infobox/styles.css
q9kdlnz5l23yrks8qwjveh5cr6gvg96
770548
770547
2025-07-04T23:50:28Z
GianAntonucci
46609
/* Di cancillari */
770548
wikitext
text/x-wiki
{{DOS}}
{{#babel:scn|it|en-4}}
== Pàggini chi canciavi ==
* [[Càrculu spartutu]]
* [[John Lawson (fìsicu)]]
* [[Prugrammazzioni vutata a l'uggetti|PVU]]
== Pàggini chi hê canciari ==
* [[Càrculu diffirinziali]]
* [[Dirivata]]
* [[Samprea Riggiunali Siciliana]]
* [[Mòdulu:Bozza]] (cfr. https://en.wikipedia.org/wiki/Module:Sandbox)
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bimminutu]]
== Pàggini ùtili ==
* https://scn.wikipedia.org/wiki/Catigurìa:WIP_di_l%27Utenti_Dapal
* https://scn.wikipedia.org/wiki/Catigurìa:Artìculi_scritti_câ_grafìa_dâ_Cademia_Siciliana
* https://xtools.wmcloud.org/ec/scn.wikipedia.org/GianAntonucci
* https://scn.wikipedia.org/wiki/Wikipedia:Template
* https://en.wikipedia.org/wiki/Wikipedia:Templates
* https://en.wikipedia.org/wiki/Wikipedia:Sandbox
* https://scn.wikipedia.org/wiki/Utenti:GianAntonucci/Sandbox
* https://scn.wikipedia.org/wiki/Wikipedia:Fogghiu_di_prova
* https://scn.wikipedia.org/wiki/Template:Infobox
* https://en.wikipedia.org/wiki/Category:Wikipedia_modules
* [[Utenti:GiovanniPen/Welcome]]
* [[Utenti:GiovanniPen/msgs.php]]
== Lijami ùtili ==
* https://www.istat.it/classificazione/principali-statistiche-geografiche-sui-comuni/
== Provi chî mòduli e chî mudeḍḍi ==
=== Quatràngulu ===
* [[Mòdulu:Bozza/GianAntonucci/Quatràngulu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Quatràngulu]]
* [[Utenti:GianAntonucci/Bozza/Quatràngulu]]
=== TabbellaFacciuzzi ===
* [[Mòdulu:Bozza/GianAntonucci/TabbellaFacciuzzi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TabbellaFacciuzzi]]
* [[Utenti:GianAntonucci/Bozza/TabbellaFacciuzzi]]
=== Bozza (Sandbox) ===
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza]]
* [[Utenti:GianAntonucci/Bozza/Wikipedia:Bozza]]
=== Bumminuta ===
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bumminuta/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bumminuta]]
* [[Utenti:GianAntonucci/Bozza/Wikipedia:Bumminuta]]
=== Tèssira (Infobox) ===
* [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* [[Mòdulu:Bozza/GianAntonucci/Tèssira/doc]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Tèssira_dû_Capu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Tèssira_dû_Regnu_Unitu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
=== Wikidata ===
* [[Mòdulu:Bozza/GianAntonucci/Wikidata]]
=== Di cancillari ===
* <s>[[Template:Tèssira/styles.css]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bummegna/styles.css]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bummegna]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Wikipedia:Bummegna]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza/styles.css]]</s>
=== Lijati ===
* [[Mòdulu:Wikidata]]
* [[Template:Wikidata]]
* [[Template:WikidataLabel]]
* [[Template:Infobox]]
* [[Template:Lijami sinòtticu]]
Cfr. https://es.wikipedia.org/wiki/Módulo:Ficha, https://en.wikipedia.org/wiki/Module:Infobox, https://en.wikipedia.org/wiki/Module:Infobox/styles.css
pjqxn0f5btth45xygez52v4q45jus65
770550
770548
2025-07-05T00:07:59Z
GianAntonucci
46609
770550
wikitext
text/x-wiki
{{DOS}}
{{#babel:scn|it|en-4}}
== Pàggini chi canciavi ==
* [[Càrculu spartutu]]
* [[John Lawson (fìsicu)]]
* [[Prugrammazzioni vutata a l'uggetti|PVU]]
== Pàggini chi hê canciari ==
* [[Càrculu diffirinziali]]
* [[Dirivata]]
* [[Samprea Riggiunali Siciliana]]
* [[Mòdulu:Bozza]] (cfr. https://en.wikipedia.org/wiki/Module:Sandbox)
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bimminutu]]
== Pàggini ùtili ==
* https://scn.wikipedia.org/wiki/Catigurìa:WIP_di_l%27Utenti_Dapal
* https://scn.wikipedia.org/wiki/Catigurìa:Artìculi_scritti_câ_grafìa_dâ_Cademia_Siciliana
* https://xtools.wmcloud.org/ec/scn.wikipedia.org/GianAntonucci
* https://scn.wikipedia.org/wiki/Wikipedia:Template
* https://en.wikipedia.org/wiki/Wikipedia:Templates
* https://en.wikipedia.org/wiki/Wikipedia:Sandbox
* https://scn.wikipedia.org/wiki/Utenti:GianAntonucci/Sandbox
* https://scn.wikipedia.org/wiki/Wikipedia:Fogghiu_di_prova
* https://scn.wikipedia.org/wiki/Template:Infobox
* https://en.wikipedia.org/wiki/Category:Wikipedia_modules
* [[Utenti:GiovanniPen/Welcome]]
* [[Utenti:GiovanniPen/msgs.php]]
== Lijami ùtili ==
* https://www.istat.it/classificazione/principali-statistiche-geografiche-sui-comuni/
== Provi chî mòduli e chî mudeḍḍi ==
=== Quatràngulu ===
* [[Mòdulu:Bozza/GianAntonucci/Quatràngulu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Quatràngulu]]
* [[Utenti:GianAntonucci/Bozza/Quatràngulu]]
=== TabbellaFacciuzzi ===
* [[Mòdulu:Bozza/GianAntonucci/TabbellaFacciuzzi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TabbellaFacciuzzi]]
* [[Utenti:GianAntonucci/Bozza/TabbellaFacciuzzi]]
=== Bozza (Sandbox) ===
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza]]
* [[Utenti:GianAntonucci/Bozza/Wikipedia:Bozza]]
=== Bumminuta ===
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bumminuta/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bumminuta]]
* [[Utenti:GianAntonucci/Bozza/Wikipedia:Bumminuta]]
=== Tèssira (Infobox) ===
* [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* [[Mòdulu:Bozza/GianAntonucci/Tèssira/doc]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Tèssira_dû_Capu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Tèssira_dû_Regnu_Unitu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
=== Wikidata ===
* [[Mòdulu:Bozza/GianAntonucci/Wikidata]]
* [[Mòdulu:Bozza/GianAntonucci/Wikidata/doc]]
=== Di cancillari ===
* <s>[[Template:Tèssira/styles.css]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bummegna/styles.css]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bummegna]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Wikipedia:Bummegna]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza/styles.css]]</s>
=== Lijati ===
* [[Mòdulu:Wikidata]]
* [[Template:Wikidata]]
* [[Template:WikidataLabel]]
* [[Template:Infobox]]
* [[Template:Lijami sinòtticu]]
Cfr. https://es.wikipedia.org/wiki/Módulo:Ficha, https://en.wikipedia.org/wiki/Module:Infobox, https://en.wikipedia.org/wiki/Module:Infobox/styles.css
2ggb3woew2t4s9hkin2syhz35tyicue
770558
770550
2025-07-05T00:28:42Z
GianAntonucci
46609
/* Di cancillari */
770558
wikitext
text/x-wiki
{{DOS}}
{{#babel:scn|it|en-4}}
== Pàggini chi canciavi ==
* [[Càrculu spartutu]]
* [[John Lawson (fìsicu)]]
* [[Prugrammazzioni vutata a l'uggetti|PVU]]
== Pàggini chi hê canciari ==
* [[Càrculu diffirinziali]]
* [[Dirivata]]
* [[Samprea Riggiunali Siciliana]]
* [[Mòdulu:Bozza]] (cfr. https://en.wikipedia.org/wiki/Module:Sandbox)
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bimminutu]]
== Pàggini ùtili ==
* https://scn.wikipedia.org/wiki/Catigurìa:WIP_di_l%27Utenti_Dapal
* https://scn.wikipedia.org/wiki/Catigurìa:Artìculi_scritti_câ_grafìa_dâ_Cademia_Siciliana
* https://xtools.wmcloud.org/ec/scn.wikipedia.org/GianAntonucci
* https://scn.wikipedia.org/wiki/Wikipedia:Template
* https://en.wikipedia.org/wiki/Wikipedia:Templates
* https://en.wikipedia.org/wiki/Wikipedia:Sandbox
* https://scn.wikipedia.org/wiki/Utenti:GianAntonucci/Sandbox
* https://scn.wikipedia.org/wiki/Wikipedia:Fogghiu_di_prova
* https://scn.wikipedia.org/wiki/Template:Infobox
* https://en.wikipedia.org/wiki/Category:Wikipedia_modules
* [[Utenti:GiovanniPen/Welcome]]
* [[Utenti:GiovanniPen/msgs.php]]
== Lijami ùtili ==
* https://www.istat.it/classificazione/principali-statistiche-geografiche-sui-comuni/
== Provi chî mòduli e chî mudeḍḍi ==
=== Quatràngulu ===
* [[Mòdulu:Bozza/GianAntonucci/Quatràngulu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Quatràngulu]]
* [[Utenti:GianAntonucci/Bozza/Quatràngulu]]
=== TabbellaFacciuzzi ===
* [[Mòdulu:Bozza/GianAntonucci/TabbellaFacciuzzi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TabbellaFacciuzzi]]
* [[Utenti:GianAntonucci/Bozza/TabbellaFacciuzzi]]
=== Bozza (Sandbox) ===
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza]]
* [[Utenti:GianAntonucci/Bozza/Wikipedia:Bozza]]
=== Bumminuta ===
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bumminuta/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bumminuta]]
* [[Utenti:GianAntonucci/Bozza/Wikipedia:Bumminuta]]
=== Tèssira (Infobox) ===
* [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* [[Mòdulu:Bozza/GianAntonucci/Tèssira/doc]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Tèssira_dû_Capu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Tèssira_dû_Regnu_Unitu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
=== Wikidata ===
* [[Mòdulu:Bozza/GianAntonucci/Wikidata]]
* [[Mòdulu:Bozza/GianAntonucci/Wikidata/doc]]
=== Di cancillari ===
* <s>[[Template:Tèssira]]</s>
* <s>[[Template:Tèssira/styles.css]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bummegna/styles.css]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bummegna]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Wikipedia:Bummegna]]</s>
* <s>[[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Bozza/styles.css]]</s>
=== Lijati ===
* [[Mòdulu:Wikidata]]
* [[Template:Wikidata]]
* [[Template:WikidataLabel]]
* [[Template:Infobox]]
* [[Template:Lijami sinòtticu]]
Cfr. https://es.wikipedia.org/wiki/Módulo:Ficha, https://en.wikipedia.org/wiki/Module:Infobox, https://en.wikipedia.org/wiki/Module:Infobox/styles.css
idfysiwayug6avcldf1g927flu6c36z
Mòdulu:Bozza/GianAntonucci/Tèssira
828
66262
770441
770434
2025-07-04T12:04:46Z
GianAntonucci
46609
770441
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) ARRICANUSCIMENTU DÎ CATIGURÌI E DÎ STILI
--------------------------------------------------------------------------------
-- Pattern pî catigurìi
local pattern_catiguria_minusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirimenti (<ref>)
local pattern_ref = {
'%<ref[^>]*>.-%</ref%>', -- Nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) CUNFIJURAZZIONI DÎ NOMA DÎ SIZZIONI
--------------------------------------------------------------------------------
-- This table automatically groups data rows into named sections in the infobox.
-- Each section has a list of Wikidata property codes and a list of label keywords.
-- If a row matches one of these properties or labels, we group it under this
-- section. If a row could fit into more than one section, we use the first one.
-- The user can manually override this grouping using the "Gruppu" parameter.
local autoheader_sections = {
["Demographics"] = {
props = { "P1082" },
labels = { "Genti", "Pupulazzioni" },
},
["Government"] = {
props = { "P6" },
labels = { "Mayor", "Capu", "Sìnnacu" },
},
["Geography"] = {
props = { "P276", "P2046", "P131", "P421" },
labels = { "Position", "Location", "Pusizzioni", "Aria", "Pruvincia", "FusuUrariu", "Locu" },
},
["History"] = {
props = { "P31" },
labels = { "Founded", "History", "Tipu", "Data" },
},
["Cilibbrazzioni"] = {
props = {},
labels = { "Evènti principali", "Partecipanti", "Tradizzioni" },
},
}
--------------------------------------------------------------------------------
-- 3) PREDEFINED WIKIDATA FIELDS
--------------------------------------------------------------------------------
-- This table maps a "local parameter" to a Wikidata property.
local wikidataFields = {
["Aria"] = "P2046",
["Capu"] = "P6",
["FusuUrariu"] = "P421",
["Genti"] = "P1082",
["ISO"] = "P901",
["Pusizzioni"] = "P276",
["Pruvincia"] = "P131",
["Tipu"] = "P31",
}
-- Default CSS paths - should be moved to Template: namespace in production
local DEFAULT_CSS_PATH = "Template:Tèssira/stili.css"
local PLAINLIST_CSS_PATH = "Template:ListaSìmplici/stili.css"
local HLIST_CSS_PATH = "Template:ListaUrizzuntali/stili.css"
-- For development, use user space paths
local DEV_MODE = true -- Set to false for production
if DEV_MODE then
DEFAULT_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
PLAINLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
HLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
end
--------------------------------------------------------------------------------
-- 4) HELPER FUNCTIONS
--------------------------------------------------------------------------------
-- Enhanced function to fetch Wikidata values with rank consideration
-- Returns the best-ranked value (preferred > normal > deprecated)
local function getWikidataValue(wikidataEntity, property)
local success, result = pcall(function()
if not wikidataEntity or not wikidataEntity.claims or not wikidataEntity.claims[property] then
return nil
end
local claims = wikidataEntity.claims[property]
local bestClaim = nil
local bestRank = nil
-- Rank priority: preferred > normal > deprecated
local rankPriority = {
preferred = 3,
normal = 2,
deprecated = 1
}
for _, claim in ipairs(claims) do
local rank = claim.rank or "normal"
local priority = rankPriority[rank] or 2
if not bestRank or priority > bestRank then
bestClaim = claim
bestRank = priority
end
end
if bestClaim and bestClaim.mainsnak then
return mw.wikibase.renderSnak(bestClaim.mainsnak)
end
end)
if not success then
mw.log("Wikidata error for property " .. property .. ": " .. tostring(result))
end
return success and result or nil
end
-- Check if a string contains only references and/or categories
local function isEmptyExceptRefsAndCats(value)
if not value or value == "" then
return true
end
-- Convert to lowercase for category detection
local lowerValue = mw.ustring.lower(value)
-- Remove categories
local stripped = mw.ustring.gsub(lowerValue, pattern_catiguria_minusculu, '')
-- Remove all types of references
for _, pattern in ipairs(pattern_ref) do
stripped = mw.ustring.gsub(stripped, pattern, '')
end
-- Check if only whitespace remains
return stripped:match('^%s*$') ~= nil
end
-- Process list formatting
local function checkList(value)
local firstChar = mw.ustring.sub(value, 1, 1)
if firstChar == '#' or firstChar == '*' then
value = '<div>\n' .. value .. '\n</div>'
end
return value .. '\n'
end
-- Check if a parameter name is recognized
local function isRecognizedParam(paramName)
if type(paramName) ~= 'string' then return true end
-- Base parameters
local baseParams = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
-- Check base parameters
for _, param in ipairs(baseParams) do
if paramName == param then return true end
end
-- Check predefined Wikidata fields and their variants
for fieldName, _ in pairs(wikidataFields) do
if paramName == fieldName or
paramName == "Vuci" .. fieldName or
paramName == "Gruppu" .. fieldName then
return true
end
end
-- Check numbered parameters (no artificial limit)
if paramName:match("^Abbirtenza%d+$") or
paramName:match("^Vuci%d+$") or
paramName:match("^Valuri%d+$") or
paramName:match("^Gruppu%d+$") or
paramName:match("^Prupità%d+$") or
paramName:match("^Classi%d+$") then
return true
end
return false
end
-- Forward declarations for functions that need to be called before they're defined
local detectAutoheader
local addRowEnhanced
-- Handle section changes to reduce code duplication
local function handleSectionChange(root, state, currentSection, manualGroup, autoProperty, autoLabel)
local newSection = currentSection
if manualGroup and manualGroup ~= "" then
-- Manual group override
if manualGroup ~= currentSection then
addRowEnhanced(root, { gruppu = manualGroup }, state)
newSection = manualGroup
end
elseif autoProperty or autoLabel then
-- Autoheader detection
local detectedSection = detectAutoheader(autoProperty, autoLabel)
if detectedSection and detectedSection ~= currentSection then
addRowEnhanced(root, { gruppu = detectedSection }, state)
newSection = detectedSection
end
end
return newSection
end
--------------------------------------------------------------------------------
-- 5) MOVING MISPLACED TEMPLATE STYLES
--------------------------------------------------------------------------------
-- This function moves <templatestyles> or categories that are found inside <tr>
-- elements after the table to avoid formatting issues.
local function fixChildBoxes(html)
if not html or html == "" then
return html
end
-- Convert to lowercase for easier pattern matching
local function moveCategoriesOutside(str)
-- This pattern works with the original case-sensitive approach
-- since we need to preserve the original case in the output
return mw.ustring.gsub(
str,
'(%</[Tt][Rr]%>%s*)(%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^%]]*%]%])',
'%2%1'
)
end
-- Move categories
html = moveCategoriesOutside(html)
-- Move <templatestyles> tags
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Handle UNIQ placeholders
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 6) BASIC ROW-ADDING FUNCTION
--------------------------------------------------------------------------------
-- This function adds a row to the infobox. The "params" table can have:
-- a) params.gruppu => a string for a group header that spans two columns.
-- b) params.vuci => a string for the row label (optional).
-- c) params.valuri => a string for the value of that label.
-- d) params.classi => CSS class(es) to add to the value cell
--
-- If the row is truly empty except for references or categories, we don't display
-- it and we store those items for later output.
addRowEnhanced = function(root, params, state)
-- If this is a group header, create a header row
if params.gruppu then
root:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(params.gruppu)
return
end
-- If no value is given, do nothing
if not params.valuri or params.valuri == "" then
return
end
-- Check if value only contains references/categories
if isEmptyExceptRefsAndCats(params.valuri) then
table.insert(state.empty_row_extras, params.valuri)
return
end
-- If there's actual text, create and show a row
state.has_rows = true
local row = root:tag('tr')
if params.vuci then
-- Normal two-column row (label + value)
row:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(params.vuci)
:done()
local td = row:tag('td')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
td:wikitext(checkList(params.valuri))
else
-- If there's no label, single cell spanning two columns
local td = row:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
td:wikitext(checkList(params.valuri))
end
end
--------------------------------------------------------------------------------
-- 7) AUTOHEADER DETECTION
--------------------------------------------------------------------------------
-- This function checks if the given "property" (e.g., "P1082") or "label"
-- ("Genti") matches any section name in autoheader_sections. Returns the
-- name of the first matching section, or nil if none match.
detectAutoheader = function(property, label)
label = label or ""
local lowerLabel = mw.ustring.lower(label)
for sectionName, info in pairs(autoheader_sections) do
local matched = false
-- Check by property
if property and info.props then
for _, prop in ipairs(info.props) do
if prop == property then
matched = true
break
end
end
end
-- If still not matched, check by label
if (not matched) and info.labels then
for _, keyword in ipairs(info.labels) do
if keyword ~= "" and lowerLabel:find(mw.ustring.lower(keyword), 1, true) then
matched = true
break
end
end
end
if matched then
return sectionName
end
end
return nil
end
--------------------------------------------------------------------------------
-- 8) PREDEFINED FIELDS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function checks if each "local parameter" (fieldName) in wikidataFields
-- is set or if Wikidata has a value. For example, "FieldName" => "Prupità" means
-- that if the user doesn't supply FieldName explicitly, we try to pull data from
-- Property on Wikidata. If found, we create a row.
local function renderPredefinedRows(root, args, state, wikidataEntity)
local current_section = nil
for fieldName, propertyId in pairs(wikidataFields) do
local data = args[fieldName] or getWikidataValue(wikidataEntity, propertyId)
if data and data ~= "" then
local manualGroup = args["Gruppu" .. fieldName]
local label = args["Vuci" .. fieldName] or fieldName
-- Handle section changes using the helper function
current_section = handleSectionChange(
root, state, current_section,
manualGroup, propertyId, label
)
-- Add the data row
addRowEnhanced(root, { vuci = label, valuri = data }, state)
end
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the value cell
local function renderNumberedRows(root, args, state)
local current_section = nil
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a value or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Handle section changes
current_section = handleSectionChange(
root, state, current_section,
gruppuParam, propertyParam, vuciParam
)
-- Add row if there's data to display
if vuciParam or valuriParam then
addRowEnhanced(root, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, state)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(root, args, state)
if args["Supra"] and args["Supra"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(root, args, state)
if args["Sutta"] and args["Sutta"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(root, subheaderText, state)
if subheaderText and subheaderText ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(root, args, state)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(root, val, state)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(root, args, state)
if args["Tìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(root, args, state, wikidataEntity)
local images = {
top = args["MmàgginiSupra"] or getWikidataValue(wikidataEntity, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if images.left or images.right then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if args["DidascalìaMmàgginiManuManca"] or args["DidascalìaMmàgginiManuDritta"] then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(root, args, state)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
root:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(root, args, state)
if args["PediPàggina"] then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- has_rows remains false, so we return nothing and don't display anything.
local function buildInfobox(args, wikidataEntity)
-- Create local state
local state = {
has_rows = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass state to all render functions
renderAbove(container, args, state)
renderTitle(container, args, state)
renderAllSubheaders(container, args, state)
renderImages(container, args, state, wikidataEntity)
renderPredefinedRows(container, args, state, wikidataEntity)
renderNumberedRows(container, args, state)
renderNavBar(container, args, state)
renderBelow(container, args, state)
renderFooter(container, args, state)
-- Return both container and state
return container, state
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PLAINLIST_CSS_PATH
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = HLIST_CSS_PATH
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the value and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local wikidataEntity
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
wikidataEntity = nil
end
if not wikidataSuccess then
wikidataEntity = nil
end
-- Build the table or <div> and get state
local container, state = buildInfobox(args, wikidataEntity)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = fixChildBoxes(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = DEFAULT_CSS_PATH }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if state.has_rows then
output = css .. html
end
-- Append categories/references from "empty" rows
if #state.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(state.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not isRecognizedParam(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
99s5ykty1ag5t7a8ukqghr29fq6p72c
770445
770441
2025-07-04T12:19:53Z
GianAntonucci
46609
770445
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) ARRICANUSCIMENTU DÎ CATIGURÌI E DÎ STILI
--------------------------------------------------------------------------------
-- Pattern pî catigurìi
local pattern_catiguria_minusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirimenti (<ref>)
local pattern_ref = {
'%<ref[^>]*>.-%</ref%>', -- Nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) CUNFIJURAZZIONI DÎ NOMA DÎ SIZZIONI
--------------------------------------------------------------------------------
-- This table automatically groups data rows into named sections in the infobox.
-- Each section has a list of Wikidata property codes and a list of label keywords.
-- If a row matches one of these properties or labels, we group it under this
-- section. If a row could fit into more than one section, we use the first one.
-- The user can manually override this grouping using the "Gruppu" parameter.
local autoheader_sections = {
["Demographics"] = {
props = { "P1082" },
labels = { "Genti", "Pupulazzioni" },
},
["Government"] = {
props = { "P6" },
labels = { "Mayor", "Capu", "Sìnnacu" },
},
["Geography"] = {
props = { "P276", "P2046", "P131", "P421" },
labels = { "Position", "Location", "Pusizzioni", "Aria", "Pruvincia", "FusuUrariu", "Locu" },
},
["History"] = {
props = { "P31" },
labels = { "Founded", "History", "Tipu", "Data" },
},
["Cilibbrazzioni"] = {
props = {},
labels = { "Evènti principali", "Partecipanti", "Tradizzioni" },
},
}
--------------------------------------------------------------------------------
-- 3) PREDEFINED WIKIDATA FIELDS
--------------------------------------------------------------------------------
-- This table maps a "local parameter" to a Wikidata property.
local wikidataFields = {
["Aria"] = "P2046",
["Capu"] = "P6",
["FusuUrariu"] = "P421",
["Genti"] = "P1082",
["ISO"] = "P901",
["Pusizzioni"] = "P276",
["Pruvincia"] = "P131",
["Tipu"] = "P31",
}
-- Default CSS paths - should be moved to Template: namespace in production
local DEFAULT_CSS_PATH = "Template:Tèssira/stili.css"
local PLAINLIST_CSS_PATH = "Template:ListaSìmplici/stili.css"
local HLIST_CSS_PATH = "Template:ListaUrizzuntali/stili.css"
-- For development, use user space paths
local DEV_MODE = true -- Set to false for production
if DEV_MODE then
DEFAULT_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
PLAINLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
HLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
end
--------------------------------------------------------------------------------
-- 4) HELPER FUNCTIONS
--------------------------------------------------------------------------------
-- Enhanced function to fetch Wikidata values with rank consideration
-- Returns the best-ranked value (preferred > normal > deprecated)
local function getWikidataValue(wikidataEntity, property)
local success, result = pcall(function()
if not wikidataEntity or not wikidataEntity.claims or not wikidataEntity.claims[property] then
return nil
end
local claims = wikidataEntity.claims[property]
local bestClaim = nil
local bestRank = nil
-- Rank priority: preferred > normal > deprecated
local rankPriority = {
preferred = 3,
normal = 2,
deprecated = 1
}
for _, claim in ipairs(claims) do
local rank = claim.rank or "normal"
local priority = rankPriority[rank] or 2
if not bestRank or priority > bestRank then
bestClaim = claim
bestRank = priority
end
end
if bestClaim and bestClaim.mainsnak then
return mw.wikibase.renderSnak(bestClaim.mainsnak)
end
end)
if not success then
mw.log("Wikidata error for property " .. property .. ": " .. tostring(result))
end
return success and result or nil
end
-- Check if a string contains only references and/or categories
local function isEmptyExceptRefsAndCats(value)
if not value or value == "" then
return true
end
-- Convert to lowercase for category detection
local lowerValue = mw.ustring.lower(value)
-- Remove categories
local stripped = mw.ustring.gsub(lowerValue, pattern_catiguria_minusculu, '')
-- Remove all types of references
for _, pattern in ipairs(pattern_ref) do
stripped = mw.ustring.gsub(stripped, pattern, '')
end
-- Check if only whitespace remains
return stripped:match('^%s*$') ~= nil
end
-- Process list formatting
local function checkList(value)
local firstChar = mw.ustring.sub(value, 1, 1)
if firstChar == '#' or firstChar == '*' then
value = '<div>\n' .. value .. '\n</div>'
end
return value .. '\n'
end
-- Check if a parameter name is recognized
local function isRecognizedParam(paramName)
if type(paramName) ~= 'string' then return true end
-- Base parameters
local baseParams = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
-- Check base parameters
for _, param in ipairs(baseParams) do
if paramName == param then return true end
end
-- Check predefined Wikidata fields and their variants
for fieldName, _ in pairs(wikidataFields) do
if paramName == fieldName or
paramName == "Vuci" .. fieldName or
paramName == "Gruppu" .. fieldName then
return true
end
end
-- Check numbered parameters (no artificial limit)
if paramName:match("^Abbirtenza%d+$") or
paramName:match("^Vuci%d+$") or
paramName:match("^Valuri%d+$") or
paramName:match("^Gruppu%d+$") or
paramName:match("^Prupità%d+$") or
paramName:match("^Classi%d+$") then
return true
end
return false
end
-- Forward declarations for functions that need to be called before they're defined
local detectAutoheader
local addRowEnhanced
-- Handle section changes to reduce code duplication
local function handleSectionChange(root, state, currentSection, manualGroup, autoProperty, autoLabel)
local newSection = currentSection
if manualGroup and manualGroup ~= "" then
-- Manual group override
if manualGroup ~= currentSection then
addRowEnhanced(root, { gruppu = manualGroup }, state)
newSection = manualGroup
end
elseif autoProperty or autoLabel then
-- Autoheader detection
local detectedSection = detectAutoheader(autoProperty, autoLabel)
if detectedSection and detectedSection ~= currentSection then
addRowEnhanced(root, { gruppu = detectedSection }, state)
newSection = detectedSection
end
end
return newSection
end
--------------------------------------------------------------------------------
-- 5) MOVING MISPLACED TEMPLATE STYLES
--------------------------------------------------------------------------------
-- This function moves <templatestyles> or categories that are found inside <tr>
-- elements after the table to avoid formatting issues.
local function fixChildBoxes(html)
if not html or html == "" then
return html
end
-- Convert to lowercase for easier pattern matching
local function moveCategoriesOutside(str)
-- This pattern works with the original case-sensitive approach
-- since we need to preserve the original case in the output
return mw.ustring.gsub(
str,
'(%</[Tt][Rr]%>%s*)(%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^%]]*%]%])',
'%2%1'
)
end
-- Move categories
html = moveCategoriesOutside(html)
-- Move <templatestyles> tags
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Handle UNIQ placeholders
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 6) BASIC ROW-ADDING FUNCTION
--------------------------------------------------------------------------------
-- This function adds a row to the infobox. The "params" table can have:
-- a) params.gruppu => a string for a group header that spans two columns.
-- b) params.vuci => a string for the row label (optional).
-- c) params.valuri => a string for the value of that label.
-- d) params.classi => CSS class(es) to add to the value cell
--
-- If the row is truly empty except for references or categories, we don't display
-- it and we store those items for later output.
addRowEnhanced = function(root, params, state)
-- If this is a group header, create a header row
if params.gruppu then
root:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(params.gruppu)
return
end
-- If no value is given, do nothing
if not params.valuri or params.valuri == "" then
return
end
-- Check if value only contains references/categories
if isEmptyExceptRefsAndCats(params.valuri) then
table.insert(state.empty_row_extras, params.valuri)
return
end
-- If there's actual text, create and show a row
state.has_rows = true
local row = root:tag('tr')
if params.vuci then
-- Normal two-column row (label + value)
row:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(params.vuci)
:done()
local td = row:tag('td')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
td:wikitext(checkList(params.valuri))
else
-- If there's no label, single cell spanning two columns
local td = row:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
td:wikitext(checkList(params.valuri))
end
end
--------------------------------------------------------------------------------
-- 7) AUTOHEADER DETECTION
--------------------------------------------------------------------------------
-- This function checks if the given "property" (e.g., "P1082") or "label"
-- ("Genti") matches any section name in autoheader_sections. Returns the
-- name of the first matching section, or nil if none match.
detectAutoheader = function(property, label)
label = label or ""
local lowerLabel = mw.ustring.lower(label)
for sectionName, info in pairs(autoheader_sections) do
local matched = false
-- Check by property
if property and info.props then
for _, prop in ipairs(info.props) do
if prop == property then
matched = true
break
end
end
end
-- If still not matched, check by label
if (not matched) and info.labels then
for _, keyword in ipairs(info.labels) do
if keyword ~= "" and lowerLabel:find(mw.ustring.lower(keyword), 1, true) then
matched = true
break
end
end
end
if matched then
return sectionName
end
end
return nil
end
--------------------------------------------------------------------------------
-- 8) PREDEFINED FIELDS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function checks if each "local parameter" (fieldName) in wikidataFields
-- is set or if Wikidata has a value. For example, "FieldName" => "Prupità" means
-- that if the user doesn't supply FieldName explicitly, we try to pull data from
-- Property on Wikidata. If found, we create a row.
local function renderPredefinedRows(root, args, state, wikidataEntity)
local current_section = nil
for fieldName, propertyId in pairs(wikidataFields) do
local data = args[fieldName] or getWikidataValue(wikidataEntity, propertyId)
if data and data ~= "" then
local manualGroup = args["Gruppu" .. fieldName]
local label = args["Vuci" .. fieldName] or fieldName
-- Handle section changes using the helper function
current_section = handleSectionChange(
root, state, current_section,
manualGroup, propertyId, label
)
-- Add the data row
addRowEnhanced(root, { vuci = label, valuri = data }, state)
end
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the value cell
local function renderNumberedRows(root, args, state)
local current_section = nil
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a value or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Handle section changes
current_section = handleSectionChange(
root, state, current_section,
gruppuParam, propertyParam, vuciParam
)
-- Add row if there's data to display
if vuciParam or valuriParam then
addRowEnhanced(root, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, state)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(root, args, state)
if args["Supra"] and args["Supra"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(root, args, state)
if args["Sutta"] and args["Sutta"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(root, subheaderText, state)
if subheaderText and subheaderText ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(root, args, state)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(root, val, state)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(root, args, state)
if args["Tìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(root, args, state, wikidataEntity)
local images = {
top = args["MmàgginiSupra"] or getWikidataValue(wikidataEntity, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(root, args, state)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
root:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(root, args, state)
if args["PediPàggina"] then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- has_rows remains false, so we return nothing and don't display anything.
local function buildInfobox(args, wikidataEntity)
-- Create local state
local state = {
has_rows = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass state to all render functions
renderAbove(container, args, state)
renderTitle(container, args, state)
renderAllSubheaders(container, args, state)
renderImages(container, args, state, wikidataEntity)
renderPredefinedRows(container, args, state, wikidataEntity)
renderNumberedRows(container, args, state)
renderNavBar(container, args, state)
renderBelow(container, args, state)
renderFooter(container, args, state)
-- Return both container and state
return container, state
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PLAINLIST_CSS_PATH
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = HLIST_CSS_PATH
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the value and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local wikidataEntity
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
wikidataEntity = nil
end
if not wikidataSuccess then
wikidataEntity = nil
end
-- Build the table or <div> and get state
local container, state = buildInfobox(args, wikidataEntity)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = fixChildBoxes(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = DEFAULT_CSS_PATH }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if state.has_rows then
output = css .. html
end
-- Append categories/references from "empty" rows
if #state.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(state.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not isRecognizedParam(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
n1u590pcwiid65wybkgm38hwz1kxa61
770452
770445
2025-07-04T12:35:21Z
GianAntonucci
46609
770452
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) ARRICANUSCIMENTU DÎ CATIGURÌI E DÎ STILI
--------------------------------------------------------------------------------
-- Pattern pî catigurìi
local pattern_catiguria_minusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirimenti (<ref>)
local pattern_ref = {
'%<ref[^>]*>.-%</ref%>', -- Nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) CUNFIJURAZZIONI DÎ NOMA DÎ SIZZIONI
--------------------------------------------------------------------------------
-- This table automatically groups data rows into named sections in the infobox.
-- Each section has a list of Wikidata property codes and a list of label keywords.
-- If a row matches one of these properties or labels, we group it under this
-- section. If a row could fit into more than one section, we use the first one.
-- The user can manually override this grouping using the "Gruppu" parameter.
local autoheader_sections = {
["Demographics"] = {
props = { "P1082" },
labels = { "Genti", "Pupulazzioni" },
},
["Government"] = {
props = { "P6" },
labels = { "Mayor", "Capu", "Sìnnacu" },
},
["Geography"] = {
props = { "P276", "P2046", "P131", "P421" },
labels = { "Position", "Location", "Pusizzioni", "Aria", "Pruvincia", "FusuUrariu", "Locu" },
},
["History"] = {
props = { "P31" },
labels = { "Founded", "History", "Tipu", "Data" },
},
["Cilibbrazzioni"] = {
props = {},
labels = { "Evènti principali", "Partecipanti", "Tradizzioni" },
},
}
--------------------------------------------------------------------------------
-- 3) PREDEFINED WIKIDATA FIELDS
--------------------------------------------------------------------------------
-- This table maps a "local parameter" to a Wikidata property.
local wikidataFields = {
["Aria"] = "P2046",
["Capu"] = "P6",
["FusuUrariu"] = "P421",
["Genti"] = "P1082",
["ISO"] = "P901",
["Pusizzioni"] = "P276",
["Pruvincia"] = "P131",
["Tipu"] = "P31",
}
-- Default CSS paths - should be moved to Template: namespace in production
local DEFAULT_CSS_PATH = "Template:Tèssira/stili.css"
local PLAINLIST_CSS_PATH = "Template:ListaSìmplici/stili.css"
local HLIST_CSS_PATH = "Template:ListaUrizzuntali/stili.css"
-- For development, use user space paths
local DEV_MODE = true -- Set to false for production
if DEV_MODE then
DEFAULT_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
PLAINLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
HLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
end
--------------------------------------------------------------------------------
-- 4) HELPER FUNCTIONS
--------------------------------------------------------------------------------
-- Enhanced function to fetch Wikidata values with rank consideration
-- Returns the best-ranked value (preferred > normal > deprecated)
local function getWikidataValue(wikidataEntity, property)
local success, result = pcall(function()
if not wikidataEntity or not wikidataEntity.claims or not wikidataEntity.claims[property] then
return nil
end
local claims = wikidataEntity.claims[property]
local bestClaim = nil
local bestRank = nil
-- Rank priority: preferred > normal > deprecated
local rankPriority = {
preferred = 3,
normal = 2,
deprecated = 1
}
for _, claim in ipairs(claims) do
local rank = claim.rank or "normal"
local priority = rankPriority[rank] or 2
if not bestRank or priority > bestRank then
bestClaim = claim
bestRank = priority
end
end
if bestClaim and bestClaim.mainsnak then
return mw.wikibase.renderSnak(bestClaim.mainsnak)
end
end)
if not success then
mw.log("Wikidata error for property " .. property .. ": " .. tostring(result))
end
return success and result or nil
end
-- Check if a string contains only references and/or categories
local function isEmptyExceptRefsAndCats(value)
if not value or value == "" then
return true
end
-- Convert to lowercase for category detection
local lowerValue = mw.ustring.lower(value)
-- Remove categories
local stripped = mw.ustring.gsub(lowerValue, pattern_catiguria_minusculu, '')
-- Remove all types of references
for _, pattern in ipairs(pattern_ref) do
stripped = mw.ustring.gsub(stripped, pattern, '')
end
-- Check if only whitespace remains
return stripped:match('^%s*$') ~= nil
end
-- Process list formatting
local function checkList(value)
if not value then return value end
-- Check if this starts with a list marker
local firstChar = mw.ustring.sub(value, 1, 1)
if firstChar == '*' or firstChar == '#' then
-- Split by newlines
local lines = mw.text.split(value, '\n')
local items = {}
for _, line in ipairs(lines) do
-- Remove list markers and trim
local item = mw.text.trim(line:gsub('^[*#]+%s*', ''))
if item ~= '' then
table.insert(items, item)
end
end
-- Join with line breaks instead of creating a list
if #items > 0 then
return table.concat(items, '<br />') .. '\n'
end
end
return value .. '\n'
end
-- Check if a parameter name is recognized
local function isRecognizedParam(paramName)
if type(paramName) ~= 'string' then return true end
-- Base parameters
local baseParams = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
-- Check base parameters
for _, param in ipairs(baseParams) do
if paramName == param then return true end
end
-- Check predefined Wikidata fields and their variants
for fieldName, _ in pairs(wikidataFields) do
if paramName == fieldName or
paramName == "Vuci" .. fieldName or
paramName == "Gruppu" .. fieldName then
return true
end
end
-- Check numbered parameters (no artificial limit)
if paramName:match("^Abbirtenza%d+$") or
paramName:match("^Vuci%d+$") or
paramName:match("^Valuri%d+$") or
paramName:match("^Gruppu%d+$") or
paramName:match("^Prupità%d+$") or
paramName:match("^Classi%d+$") then
return true
end
return false
end
-- Forward declarations for functions that need to be called before they're defined
local detectAutoheader
local addRowEnhanced
-- Handle section changes to reduce code duplication
local function handleSectionChange(root, state, currentSection, manualGroup, autoProperty, autoLabel)
local newSection = currentSection
if manualGroup and manualGroup ~= "" then
-- Manual group override
if manualGroup ~= currentSection then
addRowEnhanced(root, { gruppu = manualGroup }, state)
newSection = manualGroup
end
elseif autoProperty or autoLabel then
-- Autoheader detection
local detectedSection = detectAutoheader(autoProperty, autoLabel)
if detectedSection and detectedSection ~= currentSection then
addRowEnhanced(root, { gruppu = detectedSection }, state)
newSection = detectedSection
end
end
return newSection
end
--------------------------------------------------------------------------------
-- 5) MOVING MISPLACED TEMPLATE STYLES
--------------------------------------------------------------------------------
-- This function moves <templatestyles> or categories that are found inside <tr>
-- elements after the table to avoid formatting issues.
local function fixChildBoxes(html)
if not html or html == "" then
return html
end
-- Convert to lowercase for easier pattern matching
local function moveCategoriesOutside(str)
-- This pattern works with the original case-sensitive approach
-- since we need to preserve the original case in the output
return mw.ustring.gsub(
str,
'(%</[Tt][Rr]%>%s*)(%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^%]]*%]%])',
'%2%1'
)
end
-- Move categories
html = moveCategoriesOutside(html)
-- Move <templatestyles> tags
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Handle UNIQ placeholders
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 6) BASIC ROW-ADDING FUNCTION
--------------------------------------------------------------------------------
-- This function adds a row to the infobox. The "params" table can have:
-- a) params.gruppu => a string for a group header that spans two columns.
-- b) params.vuci => a string for the row label (optional).
-- c) params.valuri => a string for the value of that label.
-- d) params.classi => CSS class(es) to add to the value cell
--
-- If the row is truly empty except for references or categories, we don't display
-- it and we store those items for later output.
addRowEnhanced = function(root, params, state)
-- If this is a group header, create a header row
if params.gruppu then
root:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(params.gruppu)
return
end
-- If no value is given, do nothing
if not params.valuri or params.valuri == "" then
return
end
-- Check if value only contains references/categories
if isEmptyExceptRefsAndCats(params.valuri) then
table.insert(state.empty_row_extras, params.valuri)
return
end
-- If there's actual text, create and show a row
state.has_rows = true
local row = root:tag('tr')
if params.vuci then
-- Normal two-column row (label + value)
row:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(params.vuci)
:done()
local td = row:tag('td')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
td:wikitext(checkList(params.valuri))
else
-- If there's no label, single cell spanning two columns
local td = row:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
td:wikitext(checkList(params.valuri))
end
end
--------------------------------------------------------------------------------
-- 7) AUTOHEADER DETECTION
--------------------------------------------------------------------------------
-- This function checks if the given "property" (e.g., "P1082") or "label"
-- ("Genti") matches any section name in autoheader_sections. Returns the
-- name of the first matching section, or nil if none match.
detectAutoheader = function(property, label)
label = label or ""
local lowerLabel = mw.ustring.lower(label)
for sectionName, info in pairs(autoheader_sections) do
local matched = false
-- Check by property
if property and info.props then
for _, prop in ipairs(info.props) do
if prop == property then
matched = true
break
end
end
end
-- If still not matched, check by label
if (not matched) and info.labels then
for _, keyword in ipairs(info.labels) do
if keyword ~= "" and lowerLabel:find(mw.ustring.lower(keyword), 1, true) then
matched = true
break
end
end
end
if matched then
return sectionName
end
end
return nil
end
--------------------------------------------------------------------------------
-- 8) PREDEFINED FIELDS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function checks if each "local parameter" (fieldName) in wikidataFields
-- is set or if Wikidata has a value. For example, "FieldName" => "Prupità" means
-- that if the user doesn't supply FieldName explicitly, we try to pull data from
-- Property on Wikidata. If found, we create a row.
local function renderPredefinedRows(root, args, state, wikidataEntity)
local current_section = nil
for fieldName, propertyId in pairs(wikidataFields) do
local data = args[fieldName] or getWikidataValue(wikidataEntity, propertyId)
if data and data ~= "" then
local manualGroup = args["Gruppu" .. fieldName]
local label = args["Vuci" .. fieldName] or fieldName
-- Handle section changes using the helper function
current_section = handleSectionChange(
root, state, current_section,
manualGroup, propertyId, label
)
-- Add the data row
addRowEnhanced(root, { vuci = label, valuri = data }, state)
end
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the value cell
local function renderNumberedRows(root, args, state)
local current_section = nil
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a value or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Handle section changes
current_section = handleSectionChange(
root, state, current_section,
gruppuParam, propertyParam, vuciParam
)
-- Add row if there's data to display
if vuciParam or valuriParam then
addRowEnhanced(root, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, state)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(root, args, state)
if args["Supra"] and args["Supra"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(root, args, state)
if args["Sutta"] and args["Sutta"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(root, subheaderText, state)
if subheaderText and subheaderText ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(root, args, state)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(root, val, state)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(root, args, state)
if args["Tìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(root, args, state, wikidataEntity)
local images = {
top = args["MmàgginiSupra"] or getWikidataValue(wikidataEntity, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(root, args, state)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
root:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(root, args, state)
if args["PediPàggina"] then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- has_rows remains false, so we return nothing and don't display anything.
local function buildInfobox(args, wikidataEntity)
-- Create local state
local state = {
has_rows = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass state to all render functions
renderAbove(container, args, state)
renderTitle(container, args, state)
renderAllSubheaders(container, args, state)
renderImages(container, args, state, wikidataEntity)
renderPredefinedRows(container, args, state, wikidataEntity)
renderNumberedRows(container, args, state)
renderNavBar(container, args, state)
renderBelow(container, args, state)
renderFooter(container, args, state)
-- Return both container and state
return container, state
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PLAINLIST_CSS_PATH
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = HLIST_CSS_PATH
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the value and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local wikidataEntity
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
wikidataEntity = nil
end
if not wikidataSuccess then
wikidataEntity = nil
end
-- Build the table or <div> and get state
local container, state = buildInfobox(args, wikidataEntity)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = fixChildBoxes(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = DEFAULT_CSS_PATH }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if state.has_rows then
output = css .. html
end
-- Append categories/references from "empty" rows
if #state.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(state.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not isRecognizedParam(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
p2w0vj2sg1mfs8yo9krahpnodrvth2u
770454
770452
2025-07-04T12:39:37Z
GianAntonucci
46609
770454
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) ARRICANUSCIMENTU DÎ CATIGURÌI E DÎ STILI
--------------------------------------------------------------------------------
-- Pattern pî catigurìi
local pattern_catiguria_minusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirimenti (<ref>)
local pattern_ref = {
'%<ref[^>]*>.-%</ref%>', -- Nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) CUNFIJURAZZIONI DÎ NOMA DÎ SIZZIONI
--------------------------------------------------------------------------------
-- This table automatically groups data rows into named sections in the infobox.
-- Each section has a list of Wikidata property codes and a list of label keywords.
-- If a row matches one of these properties or labels, we group it under this
-- section. If a row could fit into more than one section, we use the first one.
-- The user can manually override this grouping using the "Gruppu" parameter.
local autoheader_sections = {
["Demographics"] = {
props = { "P1082" },
labels = { "Genti", "Pupulazzioni" },
},
["Government"] = {
props = { "P6" },
labels = { "Mayor", "Capu", "Sìnnacu" },
},
["Geography"] = {
props = { "P276", "P2046", "P131", "P421" },
labels = { "Position", "Location", "Pusizzioni", "Aria", "Pruvincia", "FusuUrariu", "Locu" },
},
["History"] = {
props = { "P31" },
labels = { "Founded", "History", "Tipu", "Data" },
},
["Cilibbrazzioni"] = {
props = {},
labels = { "Evènti principali", "Partecipanti", "Tradizzioni" },
},
}
--------------------------------------------------------------------------------
-- 3) PREDEFINED WIKIDATA FIELDS
--------------------------------------------------------------------------------
-- This table maps a "local parameter" to a Wikidata property.
local wikidataFields = {
["Aria"] = "P2046",
["Capu"] = "P6",
["FusuUrariu"] = "P421",
["Genti"] = "P1082",
["ISO"] = "P901",
["Pusizzioni"] = "P276",
["Pruvincia"] = "P131",
["Tipu"] = "P31",
}
-- Default CSS paths - should be moved to Template: namespace in production
local DEFAULT_CSS_PATH = "Template:Tèssira/stili.css"
local PLAINLIST_CSS_PATH = "Template:ListaSìmplici/stili.css"
local HLIST_CSS_PATH = "Template:ListaUrizzuntali/stili.css"
-- For development, use user space paths
local DEV_MODE = true -- Set to false for production
if DEV_MODE then
DEFAULT_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
PLAINLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
HLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
end
--------------------------------------------------------------------------------
-- 4) HELPER FUNCTIONS
--------------------------------------------------------------------------------
-- Enhanced function to fetch Wikidata values with rank consideration
-- Returns the best-ranked value (preferred > normal > deprecated)
local function getWikidataValue(wikidataEntity, property)
local success, result = pcall(function()
if not wikidataEntity or not wikidataEntity.claims or not wikidataEntity.claims[property] then
return nil
end
local claims = wikidataEntity.claims[property]
local bestClaim = nil
local bestRank = nil
-- Rank priority: preferred > normal > deprecated
local rankPriority = {
preferred = 3,
normal = 2,
deprecated = 1
}
for _, claim in ipairs(claims) do
local rank = claim.rank or "normal"
local priority = rankPriority[rank] or 2
if not bestRank or priority > bestRank then
bestClaim = claim
bestRank = priority
end
end
if bestClaim and bestClaim.mainsnak then
return mw.wikibase.renderSnak(bestClaim.mainsnak)
end
end)
if not success then
mw.log("Wikidata error for property " .. property .. ": " .. tostring(result))
end
return success and result or nil
end
-- Check if a string contains only references and/or categories
local function isEmptyExceptRefsAndCats(value)
if not value or value == "" then
return true
end
-- Convert to lowercase for category detection
local lowerValue = mw.ustring.lower(value)
-- Remove categories
local stripped = mw.ustring.gsub(lowerValue, pattern_catiguria_minusculu, '')
-- Remove all types of references
for _, pattern in ipairs(pattern_ref) do
stripped = mw.ustring.gsub(stripped, pattern, '')
end
-- Check if only whitespace remains
return stripped:match('^%s*$') ~= nil
end
-- Process list formatting
local function checkList(value)
if not value then return value end
-- Check if this starts with a list marker
local firstChar = mw.ustring.sub(value, 1, 1)
if firstChar == '*' or firstChar == '#' then
-- Split by newlines
local lines = mw.text.split(value, '\n')
local items = {}
for _, line in ipairs(lines) do
-- Remove list markers and trim
local item = mw.text.trim(line:gsub('^[*#]+%s*', ''))
if item ~= '' then
table.insert(items, item)
end
end
-- Join with line breaks instead of creating a list
if #items > 0 then
return table.concat(items, '<br />') .. '\n'
end
end
return value .. '\n'
end
-- Check if a parameter name is recognized
local function isRecognizedParam(paramName)
if type(paramName) ~= 'string' then return true end
-- Base parameters
local baseParams = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
-- Check base parameters
for _, param in ipairs(baseParams) do
if paramName == param then return true end
end
-- Check predefined Wikidata fields and their variants
for fieldName, _ in pairs(wikidataFields) do
if paramName == fieldName or
paramName == "Vuci" .. fieldName or
paramName == "Gruppu" .. fieldName then
return true
end
end
-- Check numbered parameters (no artificial limit)
if paramName:match("^Abbirtenza%d+$") or
paramName:match("^Vuci%d+$") or
paramName:match("^Valuri%d+$") or
paramName:match("^Gruppu%d+$") or
paramName:match("^Prupità%d+$") or
paramName:match("^Classi%d+$") then
return true
end
return false
end
-- Forward declarations for functions that need to be called before they're defined
local detectAutoheader
local addRowEnhanced
-- Handle section changes to reduce code duplication
local function handleSectionChange(root, state, currentSection, manualGroup, autoProperty, autoLabel)
local newSection = currentSection
if manualGroup and manualGroup ~= "" then
-- Manual group override
if manualGroup ~= currentSection then
addRowEnhanced(root, { gruppu = manualGroup }, state)
newSection = manualGroup
end
elseif autoProperty or autoLabel then
-- Autoheader detection
local detectedSection = detectAutoheader(autoProperty, autoLabel)
if detectedSection and detectedSection ~= currentSection then
addRowEnhanced(root, { gruppu = detectedSection }, state)
newSection = detectedSection
end
end
return newSection
end
--------------------------------------------------------------------------------
-- 5) MOVING MISPLACED TEMPLATE STYLES
--------------------------------------------------------------------------------
-- This function moves <templatestyles> or categories that are found inside <tr>
-- elements after the table to avoid formatting issues.
local function fixChildBoxes(html)
if not html or html == "" then
return html
end
-- Convert to lowercase for easier pattern matching
local function moveCategoriesOutside(str)
-- This pattern works with the original case-sensitive approach
-- since we need to preserve the original case in the output
return mw.ustring.gsub(
str,
'(%</[Tt][Rr]%>%s*)(%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^%]]*%]%])',
'%2%1'
)
end
-- Move categories
html = moveCategoriesOutside(html)
-- Move <templatestyles> tags
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Handle UNIQ placeholders
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 6) BASIC ROW-ADDING FUNCTION
--------------------------------------------------------------------------------
-- This function adds a row to the infobox. The "params" table can have:
-- a) params.gruppu => a string for a group header that spans two columns.
-- b) params.vuci => a string for the row label (optional).
-- c) params.valuri => a string for the value of that label.
-- d) params.classi => CSS class(es) to add to the value cell
--
-- If the row is truly empty except for references or categories, we don't display
-- it and we store those items for later output.
addRowEnhanced = function(root, params, state)
-- If this is a group header, create a header row
if params.gruppu then
root:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(params.gruppu)
return
end
-- If no value is given, do nothing
if not params.valuri or params.valuri == "" then
return
end
-- Check if value only contains references/categories
if isEmptyExceptRefsAndCats(params.valuri) then
table.insert(state.empty_row_extras, params.valuri)
return
end
-- If there's actual text, create and show a row
state.has_rows = true
local row = root:tag('tr')
if params.vuci then
-- Normal two-column row (label + value)
row:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(params.vuci)
:done()
local td = row:tag('td')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
td:wikitext(checkList(params.valuri))
else
-- If there's no label, single cell spanning two columns
local td = row:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
td:wikitext(checkList(params.valuri))
end
end
--------------------------------------------------------------------------------
-- 7) AUTOHEADER DETECTION
--------------------------------------------------------------------------------
-- This function checks if the given "property" (e.g., "P1082") or "label"
-- ("Genti") matches any section name in autoheader_sections. Returns the
-- name of the first matching section, or nil if none match.
detectAutoheader = function(property, label)
label = label or ""
local lowerLabel = mw.ustring.lower(label)
for sectionName, info in pairs(autoheader_sections) do
local matched = false
-- Check by property
if property and info.props then
for _, prop in ipairs(info.props) do
if prop == property then
matched = true
break
end
end
end
-- If still not matched, check by label
if (not matched) and info.labels then
for _, keyword in ipairs(info.labels) do
if keyword ~= "" and lowerLabel:find(mw.ustring.lower(keyword), 1, true) then
matched = true
break
end
end
end
if matched then
return sectionName
end
end
return nil
end
--------------------------------------------------------------------------------
-- 8) PREDEFINED FIELDS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function checks if each "local parameter" (fieldName) in wikidataFields
-- is set or if Wikidata has a value. For example, "FieldName" => "Prupità" means
-- that if the user doesn't supply FieldName explicitly, we try to pull data from
-- Property on Wikidata. If found, we create a row.
local function renderPredefinedRows(root, args, state, wikidataEntity)
local current_section = nil
for fieldName, propertyId in pairs(wikidataFields) do
local data = args[fieldName] or getWikidataValue(wikidataEntity, propertyId)
if data and data ~= "" then
local manualGroup = args["Gruppu" .. fieldName]
local label = args["Vuci" .. fieldName] or fieldName
-- Handle section changes using the helper function
current_section = handleSectionChange(
root, state, current_section,
manualGroup, propertyId, label
)
-- Add the data row
addRowEnhanced(root, { vuci = label, valuri = data }, state)
end
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the value cell
local function renderNumberedRows(root, args, state)
local current_section = nil
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a value or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Handle section changes
current_section = handleSectionChange(
root, state, current_section,
gruppuParam, propertyParam, vuciParam
)
-- Add row if there's data to display
if vuciParam or valuriParam then
addRowEnhanced(root, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, state)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(root, args, state)
if args["Supra"] and args["Supra"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(root, args, state)
if args["Sutta"] and args["Sutta"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(root, subheaderText, state)
if subheaderText and subheaderText ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(root, args, state)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(root, val, state)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(root, args, state)
if args["Tìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(root, args, state, wikidataEntity)
local images = {
top = args["MmàgginiSupra"] or getWikidataValue(wikidataEntity, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(root, args, state)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
root:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(root, args, state)
if args["PediPàggina"] then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- has_rows remains false, so we return nothing and don't display anything.
local function buildInfobox(args, wikidataEntity)
-- Create local state
local state = {
has_rows = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass state to all render functions
renderAbove(container, args, state)
renderTitle(container, args, state)
renderAllSubheaders(container, args, state)
renderImages(container, args, state, wikidataEntity)
renderPredefinedRows(container, args, state, wikidataEntity)
renderNumberedRows(container, args, state)
renderNavBar(container, args, state)
renderBelow(container, args, state)
renderFooter(container, args, state)
-- Return both container and state
return container, state
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PLAINLIST_CSS_PATH
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = HLIST_CSS_PATH
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the value and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local wikidataEntity
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
wikidataEntity = nil
end
if not wikidataSuccess then
wikidataEntity = nil
end
-- Build the table or <div> and get state
local container, state = buildInfobox(args, wikidataEntity)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = fixChildBoxes(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = DEFAULT_CSS_PATH }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if state.has_rows then
output = css .. html
end
-- Append categories/references from "empty" rows
if #state.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(state.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not isRecognizedParam(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
8mzzvzt92b7njkqeljulkglulmkwtvs
770457
770454
2025-07-04T12:47:58Z
GianAntonucci
46609
770457
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) ARRICANUSCIMENTU DÎ CATIGURÌI E DÎ STILI
--------------------------------------------------------------------------------
-- Pattern pî catigurìi
local pattern_catiguria_minusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirimenti (<ref>)
local pattern_ref = {
'%<ref[^>]*>.-%</ref%>', -- Nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) CUNFIJURAZZIONI DÎ NOMA DÎ SIZZIONI
--------------------------------------------------------------------------------
-- This table automatically groups data rows into named sections in the infobox.
-- Each section has a list of Wikidata property codes and a list of label keywords.
-- If a row matches one of these properties or labels, we group it under this
-- section. If a row could fit into more than one section, we use the first one.
-- The user can manually override this grouping using the "Gruppu" parameter.
local autoheader_sections = {
["Demographics"] = {
props = { "P1082" },
labels = { "Genti", "Pupulazzioni" },
},
["Government"] = {
props = { "P6" },
labels = { "Mayor", "Capu", "Sìnnacu" },
},
["Geography"] = {
props = { "P276", "P2046", "P131", "P421" },
labels = { "Position", "Location", "Pusizzioni", "Aria", "Pruvincia", "FusuUrariu", "Locu" },
},
["History"] = {
props = { "P31" },
labels = { "Founded", "History", "Tipu", "Data" },
},
["Cilibbrazzioni"] = {
props = {},
labels = { "Evènti principali", "Partecipanti", "Tradizzioni" },
},
}
--------------------------------------------------------------------------------
-- 3) PREDEFINED WIKIDATA FIELDS
--------------------------------------------------------------------------------
-- This table maps a "local parameter" to a Wikidata property.
local wikidataFields = {
["Aria"] = "P2046",
["Capu"] = "P6",
["FusuUrariu"] = "P421",
["Genti"] = "P1082",
["ISO"] = "P901",
["Pusizzioni"] = "P276",
["Pruvincia"] = "P131",
["Tipu"] = "P31",
}
-- Default CSS paths - should be moved to Template: namespace in production
local DEFAULT_CSS_PATH = "Template:Tèssira/stili.css"
local PLAINLIST_CSS_PATH = "Template:ListaSìmplici/stili.css"
local HLIST_CSS_PATH = "Template:ListaUrizzuntali/stili.css"
-- For development, use user space paths
local DEV_MODE = true -- Set to false for production
if DEV_MODE then
DEFAULT_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
PLAINLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
HLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
end
--------------------------------------------------------------------------------
-- 4) HELPER FUNCTIONS
--------------------------------------------------------------------------------
-- Enhanced function to fetch Wikidata values with rank consideration
-- Returns the best-ranked value (preferred > normal > deprecated)
local function getWikidataValue(wikidataEntity, property)
local success, result = pcall(function()
if not wikidataEntity or not wikidataEntity.claims or not wikidataEntity.claims[property] then
return nil
end
local claims = wikidataEntity.claims[property]
local bestClaim = nil
local bestRank = nil
-- Rank priority: preferred > normal > deprecated
local rankPriority = {
preferred = 3,
normal = 2,
deprecated = 1
}
for _, claim in ipairs(claims) do
local rank = claim.rank or "normal"
local priority = rankPriority[rank] or 2
if not bestRank or priority > bestRank then
bestClaim = claim
bestRank = priority
end
end
if bestClaim and bestClaim.mainsnak then
return mw.wikibase.renderSnak(bestClaim.mainsnak)
end
end)
if not success then
mw.log("Wikidata error for property " .. property .. ": " .. tostring(result))
end
return success and result or nil
end
-- Check if a string contains only references and/or categories
local function isEmptyExceptRefsAndCats(value)
if not value or value == "" then
return true
end
-- Convert to lowercase for category detection
local lowerValue = mw.ustring.lower(value)
-- Remove categories
local stripped = mw.ustring.gsub(lowerValue, pattern_catiguria_minusculu, '')
-- Remove all types of references
for _, pattern in ipairs(pattern_ref) do
stripped = mw.ustring.gsub(stripped, pattern, '')
end
-- Check if only whitespace remains
return stripped:match('^%s*$') ~= nil
end
-- Process list formatting
local function checkList(value, cssClass)
if not value then return value end
local firstChar = mw.ustring.sub(value, 1, 1)
-- If it's a list AND plainlist class is applied, wrap it properly
if (firstChar == '#' or firstChar == '*') and cssClass and cssClass:find('plainlist') then
-- Wrap in div with the class to preserve the list structure
return '<div class="' .. cssClass .. '">\n' .. value .. '\n</div>\n'
elseif firstChar == '#' or firstChar == '*' then
-- Original behavior - wrap in generic div
return '<div>\n' .. value .. '\n</div>\n'
end
return value .. '\n'
end
-- Check if a parameter name is recognized
local function isRecognizedParam(paramName)
if type(paramName) ~= 'string' then return true end
-- Base parameters
local baseParams = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
-- Check base parameters
for _, param in ipairs(baseParams) do
if paramName == param then return true end
end
-- Check predefined Wikidata fields and their variants
for fieldName, _ in pairs(wikidataFields) do
if paramName == fieldName or
paramName == "Vuci" .. fieldName or
paramName == "Gruppu" .. fieldName then
return true
end
end
-- Check numbered parameters (no artificial limit)
if paramName:match("^Abbirtenza%d+$") or
paramName:match("^Vuci%d+$") or
paramName:match("^Valuri%d+$") or
paramName:match("^Gruppu%d+$") or
paramName:match("^Prupità%d+$") or
paramName:match("^Classi%d+$") then
return true
end
return false
end
-- Forward declarations for functions that need to be called before they're defined
local detectAutoheader
local addRowEnhanced
-- Handle section changes to reduce code duplication
local function handleSectionChange(root, state, currentSection, manualGroup, autoProperty, autoLabel)
local newSection = currentSection
if manualGroup and manualGroup ~= "" then
-- Manual group override
if manualGroup ~= currentSection then
addRowEnhanced(root, { gruppu = manualGroup }, state)
newSection = manualGroup
end
elseif autoProperty or autoLabel then
-- Autoheader detection
local detectedSection = detectAutoheader(autoProperty, autoLabel)
if detectedSection and detectedSection ~= currentSection then
addRowEnhanced(root, { gruppu = detectedSection }, state)
newSection = detectedSection
end
end
return newSection
end
--------------------------------------------------------------------------------
-- 5) MOVING MISPLACED TEMPLATE STYLES
--------------------------------------------------------------------------------
-- This function moves <templatestyles> or categories that are found inside <tr>
-- elements after the table to avoid formatting issues.
local function fixChildBoxes(html)
if not html or html == "" then
return html
end
-- Convert to lowercase for easier pattern matching
local function moveCategoriesOutside(str)
-- This pattern works with the original case-sensitive approach
-- since we need to preserve the original case in the output
return mw.ustring.gsub(
str,
'(%</[Tt][Rr]%>%s*)(%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^%]]*%]%])',
'%2%1'
)
end
-- Move categories
html = moveCategoriesOutside(html)
-- Move <templatestyles> tags
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Handle UNIQ placeholders
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 6) BASIC ROW-ADDING FUNCTION
--------------------------------------------------------------------------------
-- This function adds a row to the infobox. The "params" table can have:
-- a) params.gruppu => a string for a group header that spans two columns.
-- b) params.vuci => a string for the row label (optional).
-- c) params.valuri => a string for the value of that label.
-- d) params.classi => CSS class(es) to add to the value cell
--
-- If the row is truly empty except for references or categories, we don't display
-- it and we store those items for later output.
addRowEnhanced = function(root, params, state)
-- If this is a group header, create a header row
if params.gruppu then
root:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(params.gruppu)
return
end
-- If no value is given, do nothing
if not params.valuri or params.valuri == "" then
return
end
-- Check if value only contains references/categories
if isEmptyExceptRefsAndCats(params.valuri) then
table.insert(state.empty_row_extras, params.valuri)
return
end
-- If there's actual text, create and show a row
state.has_rows = true
local row = root:tag('tr')
if params.vuci then
-- Normal two-column row (label + value)
row:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(params.vuci)
:done()
local td = row:tag('td')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
-- Pass the class to checkList
td:wikitext(checkList(params.valuri, params.classi))
else
-- If there's no label, single cell spanning two columns
local td = row:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
-- Pass the class to checkList
td:wikitext(checkList(params.valuri, params.classi))
end
end
--------------------------------------------------------------------------------
-- 7) AUTOHEADER DETECTION
--------------------------------------------------------------------------------
-- This function checks if the given "property" (e.g., "P1082") or "label"
-- ("Genti") matches any section name in autoheader_sections. Returns the
-- name of the first matching section, or nil if none match.
detectAutoheader = function(property, label)
label = label or ""
local lowerLabel = mw.ustring.lower(label)
for sectionName, info in pairs(autoheader_sections) do
local matched = false
-- Check by property
if property and info.props then
for _, prop in ipairs(info.props) do
if prop == property then
matched = true
break
end
end
end
-- If still not matched, check by label
if (not matched) and info.labels then
for _, keyword in ipairs(info.labels) do
if keyword ~= "" and lowerLabel:find(mw.ustring.lower(keyword), 1, true) then
matched = true
break
end
end
end
if matched then
return sectionName
end
end
return nil
end
--------------------------------------------------------------------------------
-- 8) PREDEFINED FIELDS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function checks if each "local parameter" (fieldName) in wikidataFields
-- is set or if Wikidata has a value. For example, "FieldName" => "Prupità" means
-- that if the user doesn't supply FieldName explicitly, we try to pull data from
-- Property on Wikidata. If found, we create a row.
local function renderPredefinedRows(root, args, state, wikidataEntity)
local current_section = nil
for fieldName, propertyId in pairs(wikidataFields) do
local data = args[fieldName] or getWikidataValue(wikidataEntity, propertyId)
if data and data ~= "" then
local manualGroup = args["Gruppu" .. fieldName]
local label = args["Vuci" .. fieldName] or fieldName
-- Handle section changes using the helper function
current_section = handleSectionChange(
root, state, current_section,
manualGroup, propertyId, label
)
-- Add the data row
addRowEnhanced(root, { vuci = label, valuri = data }, state)
end
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the value cell
local function renderNumberedRows(root, args, state)
local current_section = nil
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a value or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Handle section changes
current_section = handleSectionChange(
root, state, current_section,
gruppuParam, propertyParam, vuciParam
)
-- Add row if there's data to display
if vuciParam or valuriParam then
addRowEnhanced(root, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, state)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(root, args, state)
if args["Supra"] and args["Supra"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(root, args, state)
if args["Sutta"] and args["Sutta"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(root, subheaderText, state)
if subheaderText and subheaderText ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(root, args, state)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(root, val, state)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(root, args, state)
if args["Tìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(root, args, state, wikidataEntity)
local images = {
top = args["MmàgginiSupra"] or getWikidataValue(wikidataEntity, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(root, args, state)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
root:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(root, args, state)
if args["PediPàggina"] then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- has_rows remains false, so we return nothing and don't display anything.
local function buildInfobox(args, wikidataEntity)
-- Create local state
local state = {
has_rows = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass state to all render functions
renderAbove(container, args, state)
renderTitle(container, args, state)
renderAllSubheaders(container, args, state)
renderImages(container, args, state, wikidataEntity)
renderPredefinedRows(container, args, state, wikidataEntity)
renderNumberedRows(container, args, state)
renderNavBar(container, args, state)
renderBelow(container, args, state)
renderFooter(container, args, state)
-- Return both container and state
return container, state
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PLAINLIST_CSS_PATH
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = HLIST_CSS_PATH
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the value and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local wikidataEntity
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
wikidataEntity = nil
end
if not wikidataSuccess then
wikidataEntity = nil
end
-- Build the table or <div> and get state
local container, state = buildInfobox(args, wikidataEntity)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = fixChildBoxes(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = DEFAULT_CSS_PATH }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if state.has_rows then
output = css .. html
end
-- Append categories/references from "empty" rows
if #state.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(state.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not isRecognizedParam(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
kkpjba2pyhrv25nin04toknwpx5e3hr
770461
770457
2025-07-04T12:56:51Z
GianAntonucci
46609
770461
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) ARRICANUSCIMENTU DÎ CATIGURÌI E DÎ STILI
--------------------------------------------------------------------------------
-- Pattern pî catigurìi
local pattern_catiguria_minusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirimenti (<ref>)
local pattern_ref = {
'%<ref[^>]*>.-%</ref%>', -- Nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) CUNFIJURAZZIONI DÎ NOMA DÎ SIZZIONI
--------------------------------------------------------------------------------
-- This table automatically groups data rows into named sections in the infobox.
-- Each section has a list of Wikidata property codes and a list of label keywords.
-- If a row matches one of these properties or labels, we group it under this
-- section. If a row could fit into more than one section, we use the first one.
-- The user can manually override this grouping using the "Gruppu" parameter.
local autoheader_sections = {
["Demographics"] = {
props = { "P1082" },
labels = { "Genti", "Pupulazzioni" },
},
["Government"] = {
props = { "P6" },
labels = { "Mayor", "Capu", "Sìnnacu" },
},
["Geography"] = {
props = { "P276", "P2046", "P131", "P421" },
labels = { "Position", "Location", "Pusizzioni", "Aria", "Pruvincia", "FusuUrariu", "Locu" },
},
["History"] = {
props = { "P31" },
labels = { "Founded", "History", "Tipu", "Data" },
},
["Cilibbrazzioni"] = {
props = {},
labels = { "Evènti principali", "Partecipanti", "Tradizzioni" },
},
}
--------------------------------------------------------------------------------
-- 3) PREDEFINED WIKIDATA FIELDS
--------------------------------------------------------------------------------
-- This table maps a "local parameter" to a Wikidata property.
local wikidataFields = {
["Aria"] = "P2046",
["Capu"] = "P6",
["FusuUrariu"] = "P421",
["Genti"] = "P1082",
["ISO"] = "P901",
["Pusizzioni"] = "P276",
["Pruvincia"] = "P131",
["Tipu"] = "P31",
}
-- Default CSS paths - should be moved to Template: namespace in production
local DEFAULT_CSS_PATH = "Template:Tèssira/stili.css"
local PLAINLIST_CSS_PATH = "Template:ListaSìmplici/stili.css"
local HLIST_CSS_PATH = "Template:ListaUrizzuntali/stili.css"
-- For development, use user space paths
local DEV_MODE = true -- Set to false for production
if DEV_MODE then
DEFAULT_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
PLAINLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
HLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
end
--------------------------------------------------------------------------------
-- 4) HELPER FUNCTIONS
--------------------------------------------------------------------------------
-- Enhanced function to fetch Wikidata values with rank consideration
-- Returns the best-ranked value (preferred > normal > deprecated)
local function getWikidataValue(wikidataEntity, property)
local success, result = pcall(function()
if not wikidataEntity or not wikidataEntity.claims or not wikidataEntity.claims[property] then
return nil
end
local claims = wikidataEntity.claims[property]
local bestClaim = nil
local bestRank = nil
-- Rank priority: preferred > normal > deprecated
local rankPriority = {
preferred = 3,
normal = 2,
deprecated = 1
}
for _, claim in ipairs(claims) do
local rank = claim.rank or "normal"
local priority = rankPriority[rank] or 2
if not bestRank or priority > bestRank then
bestClaim = claim
bestRank = priority
end
end
if bestClaim and bestClaim.mainsnak then
return mw.wikibase.renderSnak(bestClaim.mainsnak)
end
end)
if not success then
mw.log("Wikidata error for property " .. property .. ": " .. tostring(result))
end
return success and result or nil
end
-- Check if a string contains only references and/or categories
local function isEmptyExceptRefsAndCats(value)
if not value or value == "" then
return true
end
-- Convert to lowercase for category detection
local lowerValue = mw.ustring.lower(value)
-- Remove categories
local stripped = mw.ustring.gsub(lowerValue, pattern_catiguria_minusculu, '')
-- Remove all types of references
for _, pattern in ipairs(pattern_ref) do
stripped = mw.ustring.gsub(stripped, pattern, '')
end
-- Check if only whitespace remains
return stripped:match('^%s*$') ~= nil
end
-- Process list formatting
local function checkList(value, cssClass)
if not value then
return value
end
-- The wrapping <div> from the original function caused the layout issue.
-- By simply returning the value with a newline, we allow the MediaWiki
-- parser to render the list directly inside the parent <td>, which
-- already has the correct classes and styles applied to it.
return value .. '\n'
end
-- Check if a parameter name is recognized
local function isRecognizedParam(paramName)
if type(paramName) ~= 'string' then return true end
-- Base parameters
local baseParams = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
-- Check base parameters
for _, param in ipairs(baseParams) do
if paramName == param then return true end
end
-- Check predefined Wikidata fields and their variants
for fieldName, _ in pairs(wikidataFields) do
if paramName == fieldName or
paramName == "Vuci" .. fieldName or
paramName == "Gruppu" .. fieldName then
return true
end
end
-- Check numbered parameters (no artificial limit)
if paramName:match("^Abbirtenza%d+$") or
paramName:match("^Vuci%d+$") or
paramName:match("^Valuri%d+$") or
paramName:match("^Gruppu%d+$") or
paramName:match("^Prupità%d+$") or
paramName:match("^Classi%d+$") then
return true
end
return false
end
-- Forward declarations for functions that need to be called before they're defined
local detectAutoheader
local addRowEnhanced
-- Handle section changes to reduce code duplication
local function handleSectionChange(root, state, currentSection, manualGroup, autoProperty, autoLabel)
local newSection = currentSection
if manualGroup and manualGroup ~= "" then
-- Manual group override
if manualGroup ~= currentSection then
addRowEnhanced(root, { gruppu = manualGroup }, state)
newSection = manualGroup
end
elseif autoProperty or autoLabel then
-- Autoheader detection
local detectedSection = detectAutoheader(autoProperty, autoLabel)
if detectedSection and detectedSection ~= currentSection then
addRowEnhanced(root, { gruppu = detectedSection }, state)
newSection = detectedSection
end
end
return newSection
end
--------------------------------------------------------------------------------
-- 5) MOVING MISPLACED TEMPLATE STYLES
--------------------------------------------------------------------------------
-- This function moves <templatestyles> or categories that are found inside <tr>
-- elements after the table to avoid formatting issues.
local function fixChildBoxes(html)
if not html or html == "" then
return html
end
-- Convert to lowercase for easier pattern matching
local function moveCategoriesOutside(str)
-- This pattern works with the original case-sensitive approach
-- since we need to preserve the original case in the output
return mw.ustring.gsub(
str,
'(%</[Tt][Rr]%>%s*)(%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^%]]*%]%])',
'%2%1'
)
end
-- Move categories
html = moveCategoriesOutside(html)
-- Move <templatestyles> tags
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Handle UNIQ placeholders
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 6) BASIC ROW-ADDING FUNCTION
--------------------------------------------------------------------------------
-- This function adds a row to the infobox. The "params" table can have:
-- a) params.gruppu => a string for a group header that spans two columns.
-- b) params.vuci => a string for the row label (optional).
-- c) params.valuri => a string for the value of that label.
-- d) params.classi => CSS class(es) to add to the value cell
--
-- If the row is truly empty except for references or categories, we don't display
-- it and we store those items for later output.
addRowEnhanced = function(root, params, state)
-- If this is a group header, create a header row
if params.gruppu then
root:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(params.gruppu)
return
end
-- If no value is given, do nothing
if not params.valuri or params.valuri == "" then
return
end
-- Check if value only contains references/categories
if isEmptyExceptRefsAndCats(params.valuri) then
table.insert(state.empty_row_extras, params.valuri)
return
end
-- If there's actual text, create and show a row
state.has_rows = true
local row = root:tag('tr')
if params.vuci then
-- Normal two-column row (label + value)
row:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(params.vuci)
:done()
local td = row:tag('td')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
-- Pass the class to checkList
td:wikitext(checkList(params.valuri, params.classi))
else
-- If there's no label, single cell spanning two columns
local td = row:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
-- Pass the class to checkList
td:wikitext(checkList(params.valuri, params.classi))
end
end
--------------------------------------------------------------------------------
-- 7) AUTOHEADER DETECTION
--------------------------------------------------------------------------------
-- This function checks if the given "property" (e.g., "P1082") or "label"
-- ("Genti") matches any section name in autoheader_sections. Returns the
-- name of the first matching section, or nil if none match.
detectAutoheader = function(property, label)
label = label or ""
local lowerLabel = mw.ustring.lower(label)
for sectionName, info in pairs(autoheader_sections) do
local matched = false
-- Check by property
if property and info.props then
for _, prop in ipairs(info.props) do
if prop == property then
matched = true
break
end
end
end
-- If still not matched, check by label
if (not matched) and info.labels then
for _, keyword in ipairs(info.labels) do
if keyword ~= "" and lowerLabel:find(mw.ustring.lower(keyword), 1, true) then
matched = true
break
end
end
end
if matched then
return sectionName
end
end
return nil
end
--------------------------------------------------------------------------------
-- 8) PREDEFINED FIELDS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function checks if each "local parameter" (fieldName) in wikidataFields
-- is set or if Wikidata has a value. For example, "FieldName" => "Prupità" means
-- that if the user doesn't supply FieldName explicitly, we try to pull data from
-- Property on Wikidata. If found, we create a row.
local function renderPredefinedRows(root, args, state, wikidataEntity)
local current_section = nil
for fieldName, propertyId in pairs(wikidataFields) do
local data = args[fieldName] or getWikidataValue(wikidataEntity, propertyId)
if data and data ~= "" then
local manualGroup = args["Gruppu" .. fieldName]
local label = args["Vuci" .. fieldName] or fieldName
-- Handle section changes using the helper function
current_section = handleSectionChange(
root, state, current_section,
manualGroup, propertyId, label
)
-- Add the data row
addRowEnhanced(root, { vuci = label, valuri = data }, state)
end
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the value cell
local function renderNumberedRows(root, args, state)
local current_section = nil
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a value or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Handle section changes
current_section = handleSectionChange(
root, state, current_section,
gruppuParam, propertyParam, vuciParam
)
-- Add row if there's data to display
if vuciParam or valuriParam then
addRowEnhanced(root, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, state)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(root, args, state)
if args["Supra"] and args["Supra"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(root, args, state)
if args["Sutta"] and args["Sutta"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(root, subheaderText, state)
if subheaderText and subheaderText ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(root, args, state)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(root, val, state)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(root, args, state)
if args["Tìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(root, args, state, wikidataEntity)
local images = {
top = args["MmàgginiSupra"] or getWikidataValue(wikidataEntity, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(root, args, state)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
root:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(root, args, state)
if args["PediPàggina"] then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- has_rows remains false, so we return nothing and don't display anything.
local function buildInfobox(args, wikidataEntity)
-- Create local state
local state = {
has_rows = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass state to all render functions
renderAbove(container, args, state)
renderTitle(container, args, state)
renderAllSubheaders(container, args, state)
renderImages(container, args, state, wikidataEntity)
renderPredefinedRows(container, args, state, wikidataEntity)
renderNumberedRows(container, args, state)
renderNavBar(container, args, state)
renderBelow(container, args, state)
renderFooter(container, args, state)
-- Return both container and state
return container, state
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PLAINLIST_CSS_PATH
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = HLIST_CSS_PATH
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the value and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local wikidataEntity
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
wikidataEntity = nil
end
if not wikidataSuccess then
wikidataEntity = nil
end
-- Build the table or <div> and get state
local container, state = buildInfobox(args, wikidataEntity)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = fixChildBoxes(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = DEFAULT_CSS_PATH }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if state.has_rows then
output = css .. html
end
-- Append categories/references from "empty" rows
if #state.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(state.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not isRecognizedParam(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
2i8phxx5tcv2o7hrjfc7ueo3ob6m6nt
770462
770461
2025-07-04T12:58:01Z
GianAntonucci
46609
Sfacisti lu canciu [[Special:Diff/770461|770461]] di [[Special:Contributions/GianAntonucci|GianAntonucci]] ([[User talk:GianAntonucci|discurruta]])
770462
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) ARRICANUSCIMENTU DÎ CATIGURÌI E DÎ STILI
--------------------------------------------------------------------------------
-- Pattern pî catigurìi
local pattern_catiguria_minusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirimenti (<ref>)
local pattern_ref = {
'%<ref[^>]*>.-%</ref%>', -- Nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) CUNFIJURAZZIONI DÎ NOMA DÎ SIZZIONI
--------------------------------------------------------------------------------
-- This table automatically groups data rows into named sections in the infobox.
-- Each section has a list of Wikidata property codes and a list of label keywords.
-- If a row matches one of these properties or labels, we group it under this
-- section. If a row could fit into more than one section, we use the first one.
-- The user can manually override this grouping using the "Gruppu" parameter.
local autoheader_sections = {
["Demographics"] = {
props = { "P1082" },
labels = { "Genti", "Pupulazzioni" },
},
["Government"] = {
props = { "P6" },
labels = { "Mayor", "Capu", "Sìnnacu" },
},
["Geography"] = {
props = { "P276", "P2046", "P131", "P421" },
labels = { "Position", "Location", "Pusizzioni", "Aria", "Pruvincia", "FusuUrariu", "Locu" },
},
["History"] = {
props = { "P31" },
labels = { "Founded", "History", "Tipu", "Data" },
},
["Cilibbrazzioni"] = {
props = {},
labels = { "Evènti principali", "Partecipanti", "Tradizzioni" },
},
}
--------------------------------------------------------------------------------
-- 3) PREDEFINED WIKIDATA FIELDS
--------------------------------------------------------------------------------
-- This table maps a "local parameter" to a Wikidata property.
local wikidataFields = {
["Aria"] = "P2046",
["Capu"] = "P6",
["FusuUrariu"] = "P421",
["Genti"] = "P1082",
["ISO"] = "P901",
["Pusizzioni"] = "P276",
["Pruvincia"] = "P131",
["Tipu"] = "P31",
}
-- Default CSS paths - should be moved to Template: namespace in production
local DEFAULT_CSS_PATH = "Template:Tèssira/stili.css"
local PLAINLIST_CSS_PATH = "Template:ListaSìmplici/stili.css"
local HLIST_CSS_PATH = "Template:ListaUrizzuntali/stili.css"
-- For development, use user space paths
local DEV_MODE = true -- Set to false for production
if DEV_MODE then
DEFAULT_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
PLAINLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
HLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
end
--------------------------------------------------------------------------------
-- 4) HELPER FUNCTIONS
--------------------------------------------------------------------------------
-- Enhanced function to fetch Wikidata values with rank consideration
-- Returns the best-ranked value (preferred > normal > deprecated)
local function getWikidataValue(wikidataEntity, property)
local success, result = pcall(function()
if not wikidataEntity or not wikidataEntity.claims or not wikidataEntity.claims[property] then
return nil
end
local claims = wikidataEntity.claims[property]
local bestClaim = nil
local bestRank = nil
-- Rank priority: preferred > normal > deprecated
local rankPriority = {
preferred = 3,
normal = 2,
deprecated = 1
}
for _, claim in ipairs(claims) do
local rank = claim.rank or "normal"
local priority = rankPriority[rank] or 2
if not bestRank or priority > bestRank then
bestClaim = claim
bestRank = priority
end
end
if bestClaim and bestClaim.mainsnak then
return mw.wikibase.renderSnak(bestClaim.mainsnak)
end
end)
if not success then
mw.log("Wikidata error for property " .. property .. ": " .. tostring(result))
end
return success and result or nil
end
-- Check if a string contains only references and/or categories
local function isEmptyExceptRefsAndCats(value)
if not value or value == "" then
return true
end
-- Convert to lowercase for category detection
local lowerValue = mw.ustring.lower(value)
-- Remove categories
local stripped = mw.ustring.gsub(lowerValue, pattern_catiguria_minusculu, '')
-- Remove all types of references
for _, pattern in ipairs(pattern_ref) do
stripped = mw.ustring.gsub(stripped, pattern, '')
end
-- Check if only whitespace remains
return stripped:match('^%s*$') ~= nil
end
-- Process list formatting
local function checkList(value, cssClass)
if not value then return value end
local firstChar = mw.ustring.sub(value, 1, 1)
-- If it's a list AND plainlist class is applied, wrap it properly
if (firstChar == '#' or firstChar == '*') and cssClass and cssClass:find('plainlist') then
-- Wrap in div with the class to preserve the list structure
return '<div class="' .. cssClass .. '">\n' .. value .. '\n</div>\n'
elseif firstChar == '#' or firstChar == '*' then
-- Original behavior - wrap in generic div
return '<div>\n' .. value .. '\n</div>\n'
end
return value .. '\n'
end
-- Check if a parameter name is recognized
local function isRecognizedParam(paramName)
if type(paramName) ~= 'string' then return true end
-- Base parameters
local baseParams = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
-- Check base parameters
for _, param in ipairs(baseParams) do
if paramName == param then return true end
end
-- Check predefined Wikidata fields and their variants
for fieldName, _ in pairs(wikidataFields) do
if paramName == fieldName or
paramName == "Vuci" .. fieldName or
paramName == "Gruppu" .. fieldName then
return true
end
end
-- Check numbered parameters (no artificial limit)
if paramName:match("^Abbirtenza%d+$") or
paramName:match("^Vuci%d+$") or
paramName:match("^Valuri%d+$") or
paramName:match("^Gruppu%d+$") or
paramName:match("^Prupità%d+$") or
paramName:match("^Classi%d+$") then
return true
end
return false
end
-- Forward declarations for functions that need to be called before they're defined
local detectAutoheader
local addRowEnhanced
-- Handle section changes to reduce code duplication
local function handleSectionChange(root, state, currentSection, manualGroup, autoProperty, autoLabel)
local newSection = currentSection
if manualGroup and manualGroup ~= "" then
-- Manual group override
if manualGroup ~= currentSection then
addRowEnhanced(root, { gruppu = manualGroup }, state)
newSection = manualGroup
end
elseif autoProperty or autoLabel then
-- Autoheader detection
local detectedSection = detectAutoheader(autoProperty, autoLabel)
if detectedSection and detectedSection ~= currentSection then
addRowEnhanced(root, { gruppu = detectedSection }, state)
newSection = detectedSection
end
end
return newSection
end
--------------------------------------------------------------------------------
-- 5) MOVING MISPLACED TEMPLATE STYLES
--------------------------------------------------------------------------------
-- This function moves <templatestyles> or categories that are found inside <tr>
-- elements after the table to avoid formatting issues.
local function fixChildBoxes(html)
if not html or html == "" then
return html
end
-- Convert to lowercase for easier pattern matching
local function moveCategoriesOutside(str)
-- This pattern works with the original case-sensitive approach
-- since we need to preserve the original case in the output
return mw.ustring.gsub(
str,
'(%</[Tt][Rr]%>%s*)(%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^%]]*%]%])',
'%2%1'
)
end
-- Move categories
html = moveCategoriesOutside(html)
-- Move <templatestyles> tags
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Handle UNIQ placeholders
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 6) BASIC ROW-ADDING FUNCTION
--------------------------------------------------------------------------------
-- This function adds a row to the infobox. The "params" table can have:
-- a) params.gruppu => a string for a group header that spans two columns.
-- b) params.vuci => a string for the row label (optional).
-- c) params.valuri => a string for the value of that label.
-- d) params.classi => CSS class(es) to add to the value cell
--
-- If the row is truly empty except for references or categories, we don't display
-- it and we store those items for later output.
addRowEnhanced = function(root, params, state)
-- If this is a group header, create a header row
if params.gruppu then
root:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(params.gruppu)
return
end
-- If no value is given, do nothing
if not params.valuri or params.valuri == "" then
return
end
-- Check if value only contains references/categories
if isEmptyExceptRefsAndCats(params.valuri) then
table.insert(state.empty_row_extras, params.valuri)
return
end
-- If there's actual text, create and show a row
state.has_rows = true
local row = root:tag('tr')
if params.vuci then
-- Normal two-column row (label + value)
row:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(params.vuci)
:done()
local td = row:tag('td')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
-- Pass the class to checkList
td:wikitext(checkList(params.valuri, params.classi))
else
-- If there's no label, single cell spanning two columns
local td = row:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
-- Pass the class to checkList
td:wikitext(checkList(params.valuri, params.classi))
end
end
--------------------------------------------------------------------------------
-- 7) AUTOHEADER DETECTION
--------------------------------------------------------------------------------
-- This function checks if the given "property" (e.g., "P1082") or "label"
-- ("Genti") matches any section name in autoheader_sections. Returns the
-- name of the first matching section, or nil if none match.
detectAutoheader = function(property, label)
label = label or ""
local lowerLabel = mw.ustring.lower(label)
for sectionName, info in pairs(autoheader_sections) do
local matched = false
-- Check by property
if property and info.props then
for _, prop in ipairs(info.props) do
if prop == property then
matched = true
break
end
end
end
-- If still not matched, check by label
if (not matched) and info.labels then
for _, keyword in ipairs(info.labels) do
if keyword ~= "" and lowerLabel:find(mw.ustring.lower(keyword), 1, true) then
matched = true
break
end
end
end
if matched then
return sectionName
end
end
return nil
end
--------------------------------------------------------------------------------
-- 8) PREDEFINED FIELDS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function checks if each "local parameter" (fieldName) in wikidataFields
-- is set or if Wikidata has a value. For example, "FieldName" => "Prupità" means
-- that if the user doesn't supply FieldName explicitly, we try to pull data from
-- Property on Wikidata. If found, we create a row.
local function renderPredefinedRows(root, args, state, wikidataEntity)
local current_section = nil
for fieldName, propertyId in pairs(wikidataFields) do
local data = args[fieldName] or getWikidataValue(wikidataEntity, propertyId)
if data and data ~= "" then
local manualGroup = args["Gruppu" .. fieldName]
local label = args["Vuci" .. fieldName] or fieldName
-- Handle section changes using the helper function
current_section = handleSectionChange(
root, state, current_section,
manualGroup, propertyId, label
)
-- Add the data row
addRowEnhanced(root, { vuci = label, valuri = data }, state)
end
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the value cell
local function renderNumberedRows(root, args, state)
local current_section = nil
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a value or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Handle section changes
current_section = handleSectionChange(
root, state, current_section,
gruppuParam, propertyParam, vuciParam
)
-- Add row if there's data to display
if vuciParam or valuriParam then
addRowEnhanced(root, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, state)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(root, args, state)
if args["Supra"] and args["Supra"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(root, args, state)
if args["Sutta"] and args["Sutta"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(root, subheaderText, state)
if subheaderText and subheaderText ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(root, args, state)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(root, val, state)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(root, args, state)
if args["Tìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(root, args, state, wikidataEntity)
local images = {
top = args["MmàgginiSupra"] or getWikidataValue(wikidataEntity, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(root, args, state)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
root:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(root, args, state)
if args["PediPàggina"] then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- has_rows remains false, so we return nothing and don't display anything.
local function buildInfobox(args, wikidataEntity)
-- Create local state
local state = {
has_rows = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass state to all render functions
renderAbove(container, args, state)
renderTitle(container, args, state)
renderAllSubheaders(container, args, state)
renderImages(container, args, state, wikidataEntity)
renderPredefinedRows(container, args, state, wikidataEntity)
renderNumberedRows(container, args, state)
renderNavBar(container, args, state)
renderBelow(container, args, state)
renderFooter(container, args, state)
-- Return both container and state
return container, state
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PLAINLIST_CSS_PATH
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = HLIST_CSS_PATH
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the value and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local wikidataEntity
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
wikidataEntity = nil
end
if not wikidataSuccess then
wikidataEntity = nil
end
-- Build the table or <div> and get state
local container, state = buildInfobox(args, wikidataEntity)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = fixChildBoxes(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = DEFAULT_CSS_PATH }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if state.has_rows then
output = css .. html
end
-- Append categories/references from "empty" rows
if #state.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(state.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not isRecognizedParam(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
kkpjba2pyhrv25nin04toknwpx5e3hr
770472
770462
2025-07-04T13:12:40Z
GianAntonucci
46609
770472
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) ARRICANUSCIMENTU DÎ CATIGURÌI E DÎ STILI
--------------------------------------------------------------------------------
-- Pattern pî catigurìi
local pattern_catiguria_minusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirimenti (<ref>)
local pattern_ref = {
'%<ref[^>]*>.-%</ref%>', -- Nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) CUNFIJURAZZIONI DÎ NOMA DÎ SIZZIONI
--------------------------------------------------------------------------------
-- This table automatically groups data rows into named sections in the infobox.
-- Each section has a list of Wikidata property codes and a list of label keywords.
-- If a row matches one of these properties or labels, we group it under this
-- section. If a row could fit into more than one section, we use the first one.
-- The user can manually override this grouping using the "Gruppu" parameter.
local autoheader_sections = {
["Demographics"] = {
props = { "P1082" },
labels = { "Genti", "Pupulazzioni" },
},
["Government"] = {
props = { "P6" },
labels = { "Mayor", "Capu", "Sìnnacu" },
},
["Geography"] = {
props = { "P276", "P2046", "P131", "P421" },
labels = { "Position", "Location", "Pusizzioni", "Aria", "Pruvincia", "FusuUrariu", "Locu" },
},
["History"] = {
props = { "P31" },
labels = { "Founded", "History", "Tipu", "Data" },
},
["Cilibbrazzioni"] = {
props = {},
labels = { "Evènti principali", "Partecipanti", "Tradizzioni" },
},
}
--------------------------------------------------------------------------------
-- 3) PREDEFINED WIKIDATA FIELDS
--------------------------------------------------------------------------------
-- This table maps a "local parameter" to a Wikidata property.
local wikidataFields = {
["Aria"] = "P2046",
["Capu"] = "P6",
["FusuUrariu"] = "P421",
["Genti"] = "P1082",
["ISO"] = "P901",
["Pusizzioni"] = "P276",
["Pruvincia"] = "P131",
["Tipu"] = "P31",
}
-- Default CSS paths - should be moved to Template: namespace in production
local DEFAULT_CSS_PATH = "Template:Tèssira/stili.css"
local PLAINLIST_CSS_PATH = "Template:ListaSìmplici/stili.css"
local HLIST_CSS_PATH = "Template:ListaUrizzuntali/stili.css"
-- For development, use user space paths
local DEV_MODE = true -- Set to false for production
if DEV_MODE then
DEFAULT_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
PLAINLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
HLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
end
--------------------------------------------------------------------------------
-- 4) HELPER FUNCTIONS
--------------------------------------------------------------------------------
-- Enhanced function to fetch Wikidata values with rank consideration
-- Returns the best-ranked value (preferred > normal > deprecated)
local function getWikidataValue(wikidataEntity, property)
local success, result = pcall(function()
if not wikidataEntity or not wikidataEntity.claims or not wikidataEntity.claims[property] then
return nil
end
local claims = wikidataEntity.claims[property]
local bestClaim = nil
local bestRank = nil
-- Rank priority: preferred > normal > deprecated
local rankPriority = {
preferred = 3,
normal = 2,
deprecated = 1
}
for _, claim in ipairs(claims) do
local rank = claim.rank or "normal"
local priority = rankPriority[rank] or 2
if not bestRank or priority > bestRank then
bestClaim = claim
bestRank = priority
end
end
if bestClaim and bestClaim.mainsnak then
return mw.wikibase.renderSnak(bestClaim.mainsnak)
end
end)
if not success then
mw.log("Wikidata error for property " .. property .. ": " .. tostring(result))
end
return success and result or nil
end
-- Check if a string contains only references and/or categories
local function isEmptyExceptRefsAndCats(value)
if not value or value == "" then
return true
end
-- Convert to lowercase for category detection
local lowerValue = mw.ustring.lower(value)
-- Remove categories
local stripped = mw.ustring.gsub(lowerValue, pattern_catiguria_minusculu, '')
-- Remove all types of references
for _, pattern in ipairs(pattern_ref) do
stripped = mw.ustring.gsub(stripped, pattern, '')
end
-- Check if only whitespace remains
return stripped:match('^%s*$') ~= nil
end
-- Process list formatting
local function checkList(value, cssClass)
if not value then return value end
local firstChar = mw.ustring.sub(value, 1, 1)
-- If it's a list, we need to wrap it in a div for MediaWiki to parse it
if firstChar == '#' or firstChar == '*' then
-- Don't add the class here - it's already on the td element
return '<div>\n' .. value .. '\n</div>\n'
end
return value .. '\n'
end
-- Check if a parameter name is recognized
local function isRecognizedParam(paramName)
if type(paramName) ~= 'string' then return true end
-- Base parameters
local baseParams = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
-- Check base parameters
for _, param in ipairs(baseParams) do
if paramName == param then return true end
end
-- Check predefined Wikidata fields and their variants
for fieldName, _ in pairs(wikidataFields) do
if paramName == fieldName or
paramName == "Vuci" .. fieldName or
paramName == "Gruppu" .. fieldName then
return true
end
end
-- Check numbered parameters (no artificial limit)
if paramName:match("^Abbirtenza%d+$") or
paramName:match("^Vuci%d+$") or
paramName:match("^Valuri%d+$") or
paramName:match("^Gruppu%d+$") or
paramName:match("^Prupità%d+$") or
paramName:match("^Classi%d+$") then
return true
end
return false
end
-- Forward declarations for functions that need to be called before they're defined
local detectAutoheader
local addRowEnhanced
-- Handle section changes to reduce code duplication
local function handleSectionChange(root, state, currentSection, manualGroup, autoProperty, autoLabel)
local newSection = currentSection
if manualGroup and manualGroup ~= "" then
-- Manual group override
if manualGroup ~= currentSection then
addRowEnhanced(root, { gruppu = manualGroup }, state)
newSection = manualGroup
end
elseif autoProperty or autoLabel then
-- Autoheader detection
local detectedSection = detectAutoheader(autoProperty, autoLabel)
if detectedSection and detectedSection ~= currentSection then
addRowEnhanced(root, { gruppu = detectedSection }, state)
newSection = detectedSection
end
end
return newSection
end
--------------------------------------------------------------------------------
-- 5) MOVING MISPLACED TEMPLATE STYLES
--------------------------------------------------------------------------------
-- This function moves <templatestyles> or categories that are found inside <tr>
-- elements after the table to avoid formatting issues.
local function fixChildBoxes(html)
if not html or html == "" then
return html
end
-- Convert to lowercase for easier pattern matching
local function moveCategoriesOutside(str)
-- This pattern works with the original case-sensitive approach
-- since we need to preserve the original case in the output
return mw.ustring.gsub(
str,
'(%</[Tt][Rr]%>%s*)(%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^%]]*%]%])',
'%2%1'
)
end
-- Move categories
html = moveCategoriesOutside(html)
-- Move <templatestyles> tags
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Handle UNIQ placeholders
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 6) BASIC ROW-ADDING FUNCTION
--------------------------------------------------------------------------------
-- This function adds a row to the infobox. The "params" table can have:
-- a) params.gruppu => a string for a group header that spans two columns.
-- b) params.vuci => a string for the row label (optional).
-- c) params.valuri => a string for the value of that label.
-- d) params.classi => CSS class(es) to add to the value cell
--
-- If the row is truly empty except for references or categories, we don't display
-- it and we store those items for later output.
addRowEnhanced = function(root, params, state)
-- If this is a group header, create a header row
if params.gruppu then
root:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(params.gruppu)
return
end
-- If no value is given, do nothing
if not params.valuri or params.valuri == "" then
return
end
-- Check if value only contains references/categories
if isEmptyExceptRefsAndCats(params.valuri) then
table.insert(state.empty_row_extras, params.valuri)
return
end
-- If there's actual text, create and show a row
state.has_rows = true
local row = root:tag('tr')
if params.vuci then
-- Normal two-column row (label + value)
row:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(params.vuci)
:done()
local td = row:tag('td')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
-- Pass the class to checkList
td:wikitext(checkList(params.valuri, params.classi))
else
-- If there's no label, single cell spanning two columns
local td = row:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
-- Pass the class to checkList
td:wikitext(checkList(params.valuri, params.classi))
end
end
--------------------------------------------------------------------------------
-- 7) AUTOHEADER DETECTION
--------------------------------------------------------------------------------
-- This function checks if the given "property" (e.g., "P1082") or "label"
-- ("Genti") matches any section name in autoheader_sections. Returns the
-- name of the first matching section, or nil if none match.
detectAutoheader = function(property, label)
label = label or ""
local lowerLabel = mw.ustring.lower(label)
for sectionName, info in pairs(autoheader_sections) do
local matched = false
-- Check by property
if property and info.props then
for _, prop in ipairs(info.props) do
if prop == property then
matched = true
break
end
end
end
-- If still not matched, check by label
if (not matched) and info.labels then
for _, keyword in ipairs(info.labels) do
if keyword ~= "" and lowerLabel:find(mw.ustring.lower(keyword), 1, true) then
matched = true
break
end
end
end
if matched then
return sectionName
end
end
return nil
end
--------------------------------------------------------------------------------
-- 8) PREDEFINED FIELDS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function checks if each "local parameter" (fieldName) in wikidataFields
-- is set or if Wikidata has a value. For example, "FieldName" => "Prupità" means
-- that if the user doesn't supply FieldName explicitly, we try to pull data from
-- Property on Wikidata. If found, we create a row.
local function renderPredefinedRows(root, args, state, wikidataEntity)
local current_section = nil
for fieldName, propertyId in pairs(wikidataFields) do
local data = args[fieldName] or getWikidataValue(wikidataEntity, propertyId)
if data and data ~= "" then
local manualGroup = args["Gruppu" .. fieldName]
local label = args["Vuci" .. fieldName] or fieldName
-- Handle section changes using the helper function
current_section = handleSectionChange(
root, state, current_section,
manualGroup, propertyId, label
)
-- Add the data row
addRowEnhanced(root, { vuci = label, valuri = data }, state)
end
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the value cell
local function renderNumberedRows(root, args, state)
local current_section = nil
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a value or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Handle section changes
current_section = handleSectionChange(
root, state, current_section,
gruppuParam, propertyParam, vuciParam
)
-- Add row if there's data to display
if vuciParam or valuriParam then
addRowEnhanced(root, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, state)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(root, args, state)
if args["Supra"] and args["Supra"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(root, args, state)
if args["Sutta"] and args["Sutta"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(root, subheaderText, state)
if subheaderText and subheaderText ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(root, args, state)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(root, val, state)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(root, args, state)
if args["Tìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(root, args, state, wikidataEntity)
local images = {
top = args["MmàgginiSupra"] or getWikidataValue(wikidataEntity, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(root, args, state)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
root:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(root, args, state)
if args["PediPàggina"] then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- has_rows remains false, so we return nothing and don't display anything.
local function buildInfobox(args, wikidataEntity)
-- Create local state
local state = {
has_rows = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass state to all render functions
renderAbove(container, args, state)
renderTitle(container, args, state)
renderAllSubheaders(container, args, state)
renderImages(container, args, state, wikidataEntity)
renderPredefinedRows(container, args, state, wikidataEntity)
renderNumberedRows(container, args, state)
renderNavBar(container, args, state)
renderBelow(container, args, state)
renderFooter(container, args, state)
-- Return both container and state
return container, state
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PLAINLIST_CSS_PATH
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = HLIST_CSS_PATH
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the value and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local wikidataEntity
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
wikidataEntity = nil
end
if not wikidataSuccess then
wikidataEntity = nil
end
-- Build the table or <div> and get state
local container, state = buildInfobox(args, wikidataEntity)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = fixChildBoxes(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = DEFAULT_CSS_PATH }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if state.has_rows then
output = css .. html
end
-- Append categories/references from "empty" rows
if #state.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(state.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not isRecognizedParam(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
bijpkmdf5d7j4dzit0ssgjpo5djnm9a
770500
770472
2025-07-04T16:43:23Z
GianAntonucci
46609
770500
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) ARRICANUSCIMENTU DÎ CATIJURÌI E DÎ STILI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local pattern_catijuria_minusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local pattern_rifirenza = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 3) PREDEFINED WIKIDATA FIELDS
--------------------------------------------------------------------------------
-- This table maps a "local parameter" to a Wikidata property.
local wikidataFields = {
["Aria"] = "P2046",
["Capu"] = "P6",
["FusuUrariu"] = "P421",
["Genti"] = "P1082",
["ISO"] = "P901",
["Pusizzioni"] = "P276",
["Pruvincia"] = "P131",
["Tipu"] = "P31",
}
-- Default CSS paths - should be moved to Template: namespace in production
local DEFAULT_CSS_PATH = "Template:Tèssira/stili.css"
local PLAINLIST_CSS_PATH = "Template:ListaSìmplici/stili.css"
local HLIST_CSS_PATH = "Template:ListaUrizzuntali/stili.css"
-- For development, use user space paths
local DEV_MODE = true -- Set to false for production
if DEV_MODE then
DEFAULT_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
PLAINLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
HLIST_CSS_PATH = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
end
--------------------------------------------------------------------------------
-- 4) HELPER FUNCTIONS
--------------------------------------------------------------------------------
-- Enhanced function to fetch Wikidata values with rank consideration
-- Returns the best-ranked value (preferred > normal > deprecated)
local function getWikidataValue(wikidataEntity, property)
local success, result = pcall(function()
if not wikidataEntity or not wikidataEntity.claims or not wikidataEntity.claims[property] then
return nil
end
local claims = wikidataEntity.claims[property]
local bestClaim = nil
local bestRank = nil
-- Rank priority: preferred > normal > deprecated
local rankPriority = {
preferred = 3,
normal = 2,
deprecated = 1
}
for _, claim in ipairs(claims) do
local rank = claim.rank or "normal"
local priority = rankPriority[rank] or 2
if not bestRank or priority > bestRank then
bestClaim = claim
bestRank = priority
end
end
if bestClaim and bestClaim.mainsnak then
return mw.wikibase.renderSnak(bestClaim.mainsnak)
end
end)
if not success then
mw.log("Wikidata error for property " .. property .. ": " .. tostring(result))
end
return success and result or nil
end
-- Check if a string contains only references and/or categories
local function isEmptyExceptRefsAndCats(value)
if not value or value == "" then
return true
end
-- Convert to lowercase for category detection
local lowerValue = mw.ustring.lower(value)
-- Remove categories
local stripped = mw.ustring.gsub(lowerValue, pattern_catijuria_minusculu, '')
-- Remove all types of references
for _, pattern in ipairs(pattern_rifirenza) do
stripped = mw.ustring.gsub(stripped, pattern, '')
end
-- Check if only whitespace remains
return stripped:match('^%s*$') ~= nil
end
-- Process list formatting
local function checkList(value, cssClass)
if not value then return value end
local firstChar = mw.ustring.sub(value, 1, 1)
-- If it's a list, we need to wrap it in a div for MediaWiki to parse it
if firstChar == '#' or firstChar == '*' then
-- Don't add the class here - it's already on the td element
return '<div>\n' .. value .. '\n</div>\n'
end
return value .. '\n'
end
-- Check if a parameter name is recognized
local function isRecognizedParam(paramName)
if type(paramName) ~= 'string' then return true end
-- Base parameters
local baseParams = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
-- Check base parameters
for _, param in ipairs(baseParams) do
if paramName == param then return true end
end
-- Check predefined Wikidata fields and their variants
for fieldName, _ in pairs(wikidataFields) do
if paramName == fieldName or
paramName == "Vuci" .. fieldName or
paramName == "Gruppu" .. fieldName then
return true
end
end
-- Check numbered parameters (no artificial limit)
if paramName:match("^Abbirtenza%d+$") or
paramName:match("^Vuci%d+$") or
paramName:match("^Valuri%d+$") or
paramName:match("^Gruppu%d+$") or
paramName:match("^Prupità%d+$") or
paramName:match("^Classi%d+$") then
return true
end
return false
end
-- Forward declarations for functions that need to be called before they're defined
local addRowEnhanced
--------------------------------------------------------------------------------
-- 5) MOVING MISPLACED TEMPLATE STYLES
--------------------------------------------------------------------------------
-- This function moves <templatestyles> or categories that are found inside <tr>
-- elements after the table to avoid formatting issues.
local function fixChildBoxes(html)
if not html or html == "" then
return html
end
-- Convert to lowercase for easier pattern matching
local function moveCategoriesOutside(str)
-- This pattern works with the original case-sensitive approach
-- since we need to preserve the original case in the output
return mw.ustring.gsub(
str,
'(%</[Tt][Rr]%>%s*)(%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^%]]*%]%])',
'%2%1'
)
end
-- Move categories
html = moveCategoriesOutside(html)
-- Move <templatestyles> tags
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Handle UNIQ placeholders
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 6) BASIC ROW-ADDING FUNCTION
--------------------------------------------------------------------------------
-- This function adds a row to the infobox. The "params" table can have:
-- a) params.gruppu => a string for a group header that spans two columns.
-- b) params.vuci => a string for the row label (optional).
-- c) params.valuri => a string for the value of that label.
-- d) params.classi => CSS class(es) to add to the value cell
--
-- If the row is truly empty except for references or categories, we don't display
-- it and we store those items for later output.
addRowEnhanced = function(root, params, state)
-- If this is a group header, create a header row
if params.gruppu then
root:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(params.gruppu)
return
end
-- If no value is given, do nothing
if not params.valuri or params.valuri == "" then
return
end
-- Check if value only contains references/categories
if isEmptyExceptRefsAndCats(params.valuri) then
table.insert(state.empty_row_extras, params.valuri)
return
end
-- If there's actual text, create and show a row
state.has_rows = true
local row = root:tag('tr')
if params.vuci then
-- Normal two-column row (label + value)
row:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(params.vuci)
:done()
local td = row:tag('td')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
-- Pass the class to checkList
td:wikitext(checkList(params.valuri, params.classi))
else
-- If there's no label, single cell spanning two columns
local td = row:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
-- Pass the class to checkList
td:wikitext(checkList(params.valuri, params.classi))
end
end
--------------------------------------------------------------------------------
-- 8) PREDEFINED FIELDS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function checks if each "local parameter" (fieldName) in wikidataFields
-- is set or if Wikidata has a value. For example, "FieldName" => "Prupità" means
-- that if the user doesn't supply FieldName explicitly, we try to pull data from
-- Property on Wikidata. If found, we create a row.
local function renderPredefinedRows(root, args, state, wikidataEntity)
for fieldName, propertyId in pairs(wikidataFields) do
local data = args[fieldName] or getWikidataValue(wikidataEntity, propertyId)
if data and data ~= "" then
local manualGroup = args["Gruppu" .. fieldName]
local label = args["Vuci" .. fieldName] or fieldName
-- Add group header if specified
if manualGroup and manualGroup ~= "" then
addRowEnhanced(root, { gruppu = manualGroup }, state)
end
-- Add the data row
addRowEnhanced(root, { vuci = label, valuri = data }, state)
end
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the value cell
local function renderNumberedRows(root, args, state)
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a value or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
addRowEnhanced(root, { gruppu = gruppuParam }, state)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
addRowEnhanced(root, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, state)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(root, args, state)
if args["Supra"] and args["Supra"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(root, args, state)
if args["Sutta"] and args["Sutta"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(root, subheaderText, state)
if subheaderText and subheaderText ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(root, args, state)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(root, val, state)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(root, args, state)
if args["Tìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(root, args, state, wikidataEntity)
local images = {
top = args["MmàgginiSupra"] or getWikidataValue(wikidataEntity, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(root, args, state)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
root:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(root, args, state)
if args["PediPàggina"] then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- has_rows remains false, so we return nothing and don't display anything.
local function buildInfobox(args, wikidataEntity)
-- Create local state
local state = {
has_rows = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass state to all render functions
renderAbove(container, args, state)
renderTitle(container, args, state)
renderAllSubheaders(container, args, state)
renderImages(container, args, state, wikidataEntity)
renderPredefinedRows(container, args, state, wikidataEntity)
renderNumberedRows(container, args, state)
renderNavBar(container, args, state)
renderBelow(container, args, state)
renderFooter(container, args, state)
-- Return both container and state
return container, state
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PLAINLIST_CSS_PATH
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = HLIST_CSS_PATH
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the value and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local wikidataEntity
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, wikidataEntity = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
wikidataEntity = nil
end
if not wikidataSuccess then
wikidataEntity = nil
end
-- Build the table or <div> and get state
local container, state = buildInfobox(args, wikidataEntity)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = fixChildBoxes(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = DEFAULT_CSS_PATH }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if state.has_rows then
output = css .. html
end
-- Append categories/references from "empty" rows
if #state.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(state.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not isRecognizedParam(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
gkhnrnsyj86zrb3zi9lcsxs0su26e5q
770502
770500
2025-07-04T17:52:48Z
GianAntonucci
46609
770502
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) ARRICANUSCIMENTU DÎ CATIJURÌI E DÎ STILI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) CAMPI WIKIDATA PRIDIFINUTI
--------------------------------------------------------------------------------
-- Sta tabbeḍḍa mappa i paràmitri lucali ê prupità di Wikidata
local campiWikidata = {
["Aria"] = "P2046",
["Capu"] = "P6",
["FusuUrariu"] = "P421",
["Genti"] = "P1082",
["ISO"] = "P901",
["Pusizzioni"] = "P276",
["Pruvincia"] = "P131",
["Tipu"] = "P31",
}
-- Pircorsi CSS pridifinuti
local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
-- Pi camora s'ànn'a usari i pircursi dû me spazziu di l'utenti
local MUDALITA_SBILUPPU = true -- quann'è, "false"
if MUDALITA_SBILUPPU then
PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
end
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidataCuMegghiuRancu(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
-- Cuntrolla si i struttura di dati chi sèrbinu cci sunnu prima mi l'usa
if not ntitaWikidata or not ntitaWikidata.tuttiLiDichiari or not ntitaWikidata.tuttiLiDichiari[prupita] then
return nil
end
-- Pigghia a tabeḍḍa c'àvi tutti i dichiari pâ prupità addumannata
local tuttiLiDichiari = ntitaWikidata.tuttiLiDichiari[prupita]
local laMegghiuDichiara = nil
local luMegghiuPunteggiu = nil
-- U sistema di punteggiu p'ogni rancu (difinuti dû sistema Wikidata)
local priuritaRancu = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrolla tutti i dichiari ntâ lista chi pigghiàmmu di Wikidata
for _, dichiaraAttuali in ipairs(tuttiLiDichiari) do
local rancu = dichiaraAttuali.rank or "normal"
local punteggiuPriurita = priuritaRancu[rancu] or 2
if not luMegghiuPunteggiu or punteggiuPriurita > luMegghiuPunteggiu then
laMegghiuDichiara = dichiaraAttuali
luMegghiuPunteggiu = punteggiuPriurita
end
end
-- Ora c'avemu laMegghiuDichiara, âm'a stràjiri u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, riggistra u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Cuntrolla siḍḍu na stringa àvi sulu rifirenzi e/o catijurìi
local function e_vacanti_livannu_rifirenzi_e_catijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummerti a minùsculu pi ricanùsciri i catijurìi
local valuri_minusculu = mw.ustring.lower(valuri)
-- Leva i catijurìi
local valuri_pulizziatu = mw.ustring.gsub(valuri_minusculu, patternCatijuriiMinusculu, '')
-- Leva tutti i rifirenzi
for _, pattern in ipairs(patternRifirenzi) do
valuri_pulizziatu = mw.ustring.gsub(valuri_pulizziatu, pattern, '')
end
-- Cuntrolla s'arresta sulu spazziu vacanti
return valuri_pulizziatu:match('^%s*$') ~= nil
end
-- Manija u furmatu dâ lista
local function cuntrollaLista(valuri, classiCSS)
if not valuri then return valuri end
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
-- Siḍḍu è na lista, l'âm'a acchiùjiri ntôn div, accussì MediaWiki u po ntirpritari
if primuCarattari == '#' or primuCarattari == '*' then
-- Nun jùnciri a classi cca - già cc'è nta l'elimentu td
return '<div>\n' .. valuri .. '\n</div>\n'
end
return valuri .. '\n'
end
-- Check if a parameter name is recognized
local function isRecognizedParam(paramName)
if type(paramName) ~= 'string' then return true end
-- Base parameters
local baseParams = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
-- Check base parameters
for _, param in ipairs(baseParams) do
if paramName == param then return true end
end
-- Check predefined Wikidata fields and their variants
for fieldName, _ in pairs(campiWikidata) do
if paramName == fieldName or
paramName == "Vuci" .. fieldName or
paramName == "Gruppu" .. fieldName then
return true
end
end
-- Check numbered parameters (no artificial limit)
if paramName:match("^Abbirtenza%d+$") or
paramName:match("^Vuci%d+$") or
paramName:match("^Valuri%d+$") or
paramName:match("^Gruppu%d+$") or
paramName:match("^Prupità%d+$") or
paramName:match("^Classi%d+$") then
return true
end
return false
end
-- Forward declarations for functions that need to be called before they're defined
local addRowEnhanced
--------------------------------------------------------------------------------
-- 5) MOVING MISPLACED TEMPLATE STYLES
--------------------------------------------------------------------------------
-- This function moves <templatestyles> or categories that are found inside <tr>
-- elements after the table to avoid formatting issues.
local function fixChildBoxes(html)
if not html or html == "" then
return html
end
-- Convert to lowercase for easier pattern matching
local function moveCategoriesOutside(str)
-- This pattern works with the original case-sensitive approach
-- since we need to preserve the original case in the output
return mw.ustring.gsub(
str,
'(%</[Tt][Rr]%>%s*)(%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^%]]*%]%])',
'%2%1'
)
end
-- Move categories
html = moveCategoriesOutside(html)
-- Move <templatestyles> tags
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Handle UNIQ placeholders
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 6) BASIC ROW-ADDING FUNCTION
--------------------------------------------------------------------------------
-- This function adds a row to the infobox. The "params" table can have:
-- a) params.gruppu => a string for a group header that spans two columns.
-- b) params.vuci => a string for the row label (optional).
-- c) params.valuri => a string for the valuri of that label.
-- d) params.classi => CSS class(es) to add to the valuri cell
--
-- If the row is truly empty except for references or categories, we don't display
-- it and we store those items for later output.
addRowEnhanced = function(root, params, state)
-- If this is a group header, create a header row
if params.gruppu then
root:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(params.gruppu)
return
end
-- If no valuri is given, do nothing
if not params.valuri or params.valuri == "" then
return
end
-- Check if valuri only contains references/categories
if e_vacanti_livannu_rifirenzi_e_catijurii(params.valuri) then
table.insert(state.empty_row_extras, params.valuri)
return
end
-- If there's actual text, create and show a row
state.has_rows = true
local row = root:tag('tr')
if params.vuci then
-- Normal two-column row (label + valuri)
row:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(params.vuci)
:done()
local td = row:tag('td')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
-- Pass the class to cuntrollaLista
td:wikitext(cuntrollaLista(params.valuri, params.classi))
else
-- If there's no label, single cell spanning two columns
local td = row:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
-- Pass the class to cuntrollaLista
td:wikitext(cuntrollaLista(params.valuri, params.classi))
end
end
--------------------------------------------------------------------------------
-- 8) PREDEFINED FIELDS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function checks if each "local parameter" (fieldName) in campiWikidata
-- is set or if Wikidata has a valuri. For example, "FieldName" => "Prupità" means
-- that if the user doesn't supply FieldName explicitly, we try to pull data from
-- Property on Wikidata. If found, we create a row.
local function renderPredefinedRows(root, args, state, ntitaWikidata)
for fieldName, propertyId in pairs(campiWikidata) do
local data = args[fieldName] or pigghiaValuriWikidataCuMegghiuRancu(ntitaWikidata, propertyId)
if data and data ~= "" then
local manualGroup = args["Gruppu" .. fieldName]
local label = args["Vuci" .. fieldName] or fieldName
-- Add group header if specified
if manualGroup and manualGroup ~= "" then
addRowEnhanced(root, { gruppu = manualGroup }, state)
end
-- Add the data row
addRowEnhanced(root, { vuci = label, valuri = data }, state)
end
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(root, args, state)
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
addRowEnhanced(root, { gruppu = gruppuParam }, state)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
addRowEnhanced(root, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, state)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(root, args, state)
if args["Supra"] and args["Supra"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(root, args, state)
if args["Sutta"] and args["Sutta"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(root, subheaderText, state)
if subheaderText and subheaderText ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(root, args, state)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(root, val, state)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(root, args, state)
if args["Tìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(root, args, state, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidataCuMegghiuRancu(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(root, args, state)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
root:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(root, args, state)
if args["PediPàggina"] then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- has_rows remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local state
local state = {
has_rows = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass state to all render functions
renderAbove(container, args, state)
renderTitle(container, args, state)
renderAllSubheaders(container, args, state)
renderImages(container, args, state, ntitaWikidata)
renderPredefinedRows(container, args, state, ntitaWikidata)
renderNumberedRows(container, args, state)
renderNavBar(container, args, state)
renderBelow(container, args, state)
renderFooter(container, args, state)
-- Return both container and state
return container, state
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get state
local container, state = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = fixChildBoxes(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if state.has_rows then
output = css .. html
end
-- Append categories/references from "empty" rows
if #state.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(state.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not isRecognizedParam(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
kja1dqxfir7we9kj7rz2t8h2gaby07k
770503
770502
2025-07-04T18:44:57Z
GianAntonucci
46609
770503
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) ARRICANUSCIMENTU DÎ CATIJURÌI E DÎ STILI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) CAMPI WIKIDATA PRIDIFINUTI
--------------------------------------------------------------------------------
-- Na tabbeḍḍa chi mappa i paràmitri lucali ê prupità di Wikidata
local campiWikidata = {
["Aria"] = "P2046",
["Capu"] = "P6",
["FusuUrariu"] = "P421",
["Genti"] = "P1082",
["ISO"] = "P901",
["Pusizzioni"] = "P276",
["Pruvincia"] = "P131",
["Tipu"] = "P31",
}
-- I pircursi CSS pridifinuti
local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
-- Pi camora âm'a usari i pircursi dû me spazziu di l'utenti
local MUDALITA_SBILUPPU = true -- quann'è, canciamu cu "false"
if MUDALITA_SBILUPPU then
PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
end
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidataCuLuMegghiuRancu(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
if not ntitaWikidata or not ntitaWikidata.tuttiLiDichiari or not ntitaWikidata.tuttiLiDichiari[prupita] then
return nil
end
-- Pigghiamu a tabeḍḍa c'àvi tutti i dichiari pâ prupità c'addumannammu
local tuttiLiDichiari = ntitaWikidata.tuttiLiDichiari[prupita]
local laMegghiuDichiara = nil
local luMegghiuPunteggiu = nil
-- Sistema di punteggiu pî ranchi difinuti di Wikidata
local priuritaRancu = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrullamu tutti i dichiari dâ lista chi pigghiàmmu di Wikidata
for _, dichiaraAttuali in ipairs(tuttiLiDichiari) do
local rancu = dichiaraAttuali.rank or "normal"
local punteggiuPriurita = priuritaRancu[rancu] or 2
if not luMegghiuPunteggiu or punteggiuPriurita > luMegghiuPunteggiu then
laMegghiuDichiara = dichiaraAttuali
luMegghiuPunteggiu = punteggiuPriurita
end
end
-- Astrajemu u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, arriggistramu u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Sta funzioni vidi siḍḍu na stringa è vacanti, livannu i tichetti dî rifirenzi
-- e i lijami dî catijurìi
local function eVacantiLivannuRifirenziECatijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummirtemu tutta a stringa 'n minùsculu
local valuriMinusculu = mw.ustring.lower(valuri)
-- Livamu i catijurìi e i rifirenzi
local valuriPulizziatu = mw.ustring.gsub(valuriMinusculu, patternCatijuriiMinusculu, '')
for _, pattern in ipairs(patternRifirenzi) do
valuriPulizziatu = mw.ustring.gsub(valuriPulizziatu, pattern, '')
end
-- S'arristaru sulu spazzi janchi, va bonu
return valuriPulizziatu:match('^%s*$') ~= nil
end
-- Sta funzioni vidi siḍḍu i listi ànnu u furmatu giustu pi stari dintra a
-- l'autri elimenti (comu, pi diri, i ceḍḍi di na tabeḍḍa)
local function cuntrollaLista(valuri, classiCSS)
if not valuri then
return valuri
end
-- Pigghiamu u primu caràttari dâ stringa e videmu siḍḍu è un marcaturi di lista
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
if primuCarattari == '#' or primuCarattari == '*' then
-- Nchiujèmulu ntôn div
return '<div>\n' .. valuri .. '\n</div>\n'
end
-- Vasinnò, juncemu sulu n'a-capu
return valuri .. '\n'
end
-- Sta funzioni cuntrolla s'arricanuscemu u nomu d'un paràmitru
local function eParamitruArricanusciutu(nomuParamitru)
if type(nomuParamitru) ~= 'string' then
return true
end
local paramitriBasi = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug", -- cancia du ncasciatu (embedded), ??, stili_a_ringu, stili, debug
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
-- Cuntrullamu i paràmitri di basi
for _, param in ipairs(paramitriBasi) do
if nomuParamitru == param then return true end
end
-- Cuntrullamu i campi Wikidata pridifinuti e i so varianti
for nomuCampu, _ in pairs(campiWikidata) do
if nomuParamitru == nomuCampu or
nomuParamitru == "Vuci" .. nomuCampu or
nomuParamitru == "Gruppu" .. nomuCampu then
return true
end
end
-- Cuntrullamu i paràmitri chî nùmmari
if nomuParamitru:match("^Abbirtenza%d+$") or
nomuParamitru:match("^Vuci%d+$") or
nomuParamitru:match("^Valuri%d+$") or
nomuParamitru:match("^Gruppu%d+$") or
nomuParamitru:match("^Prupità%d+$") or
nomuParamitru:match("^Classi%d+$") then
return true
end
return false
end
local addRowEnhanced -- Na dichiara anticipata, pi chiamari addRowEnhanced prima
-- chi u difinemu
--------------------------------------------------------------------------------
-- 4) SPUSTAMENTU DÎ STILI DI MUDEḌḌU MISI MALU
--------------------------------------------------------------------------------
-- This function moves <templatestyles> or categories that are found inside <tr>
-- elements after the table to avoid formatting issues.
local function fixChildBoxes(html)
if not html or html == "" then
return html
end
-- Convert to lowercase for easier pattern matching
local function moveCategoriesOutside(str)
-- This pattern works with the original case-sensitive approach
-- since we need to preserve the original case in the output
return mw.ustring.gsub(
str,
'(%</[Tt][Rr]%>%s*)(%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^%]]*%]%])',
'%2%1'
)
end
-- Move categories
html = moveCategoriesOutside(html)
-- Move <templatestyles> tags
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Handle UNIQ placeholders
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 6) BASIC ROW-ADDING FUNCTION
--------------------------------------------------------------------------------
-- This function adds a row to the infobox. The "params" table can have:
-- a) params.gruppu => a string for a group header that spans two columns.
-- b) params.vuci => a string for the row label (optional).
-- c) params.valuri => a string for the valuri of that label.
-- d) params.classi => CSS class(es) to add to the valuri cell
--
-- If the row is truly empty except for references or categories, we don't display
-- it and we store those items for later output.
addRowEnhanced = function(root, params, state)
-- If this is a group header, create a header row
if params.gruppu then
root:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(params.gruppu)
return
end
-- If no valuri is given, do nothing
if not params.valuri or params.valuri == "" then
return
end
-- Check if valuri only contains references/categories
if eVacantiLivannuRifirenziECatijurii(params.valuri) then
table.insert(state.empty_row_extras, params.valuri)
return
end
-- If there's actual text, create and show a row
state.has_rows = true
local row = root:tag('tr')
if params.vuci then
-- Normal two-column row (label + valuri)
row:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(params.vuci)
:done()
local td = row:tag('td')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
-- Pass the class to cuntrollaLista
td:wikitext(cuntrollaLista(params.valuri, params.classi))
else
-- If there's no label, single cell spanning two columns
local td = row:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if params.classi then
td:addClass(params.classi)
end
-- Pass the class to cuntrollaLista
td:wikitext(cuntrollaLista(params.valuri, params.classi))
end
end
--------------------------------------------------------------------------------
-- 8) PREDEFINED FIELDS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function checks if each "local parameter" (nomuCampu) in campiWikidata
-- is set or if Wikidata has a valuri. For example, "FieldName" => "Prupità" means
-- that if the user doesn't supply FieldName explicitly, we try to pull data from
-- Property on Wikidata. If found, we create a row.
local function renderPredefinedRows(root, args, state, ntitaWikidata)
for nomuCampu, propertyId in pairs(campiWikidata) do
local data = args[nomuCampu] or pigghiaValuriWikidataCuLuMegghiuRancu(ntitaWikidata, propertyId)
if data and data ~= "" then
local manualGroup = args["Gruppu" .. nomuCampu]
local label = args["Vuci" .. nomuCampu] or nomuCampu
-- Add group header if specified
if manualGroup and manualGroup ~= "" then
addRowEnhanced(root, { gruppu = manualGroup }, state)
end
-- Add the data row
addRowEnhanced(root, { vuci = label, valuri = data }, state)
end
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(root, args, state)
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
addRowEnhanced(root, { gruppu = gruppuParam }, state)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
addRowEnhanced(root, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, state)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(root, args, state)
if args["Supra"] and args["Supra"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(root, args, state)
if args["Sutta"] and args["Sutta"] ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(root, subheaderText, state)
if subheaderText and subheaderText ~= "" then
state.has_rows = true
local row = root:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(root, args, state)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(root, val, state)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(root, args, state)
if args["Tìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
root:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(root, args, state, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidataCuLuMegghiuRancu(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = root:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(root, args, state)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
root:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(root, args, state)
if args["PediPàggina"] then
root:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- has_rows remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local state
local state = {
has_rows = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass state to all render functions
renderAbove(container, args, state)
renderTitle(container, args, state)
renderAllSubheaders(container, args, state)
renderImages(container, args, state, ntitaWikidata)
renderPredefinedRows(container, args, state, ntitaWikidata)
renderNumberedRows(container, args, state)
renderNavBar(container, args, state)
renderBelow(container, args, state)
renderFooter(container, args, state)
-- Return both container and state
return container, state
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get state
local container, state = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = fixChildBoxes(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if state.has_rows then
output = css .. html
end
-- Append categories/references from "empty" rows
if #state.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(state.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not eParamitruArricanusciutu(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
43euqn2bl6ibgsp54qfms00fabhqz5j
770504
770503
2025-07-04T20:09:26Z
GianAntonucci
46609
770504
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) ARRICANUSCIMENTU DÎ CATIJURÌI E DÎ STILI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) CAMPI WIKIDATA PRIDIFINUTI
--------------------------------------------------------------------------------
-- Na tabbeḍḍa chi lija certi paràmitri ê prupità di Wikidata
local campiWikidata = {
["Aria"] = "P2046",
["Capu"] = "P6",
["FusuUrariu"] = "P421",
["Genti"] = "P1082",
["ISO"] = "P901",
["Pusizzioni"] = "P276",
["Pruvincia"] = "P131",
["Tipu"] = "P31",
}
-- I pircursi CSS pridifinuti
-- local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
-- local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
-- local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
local PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidata(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
if not ntitaWikidata or not ntitaWikidata.claims or not ntitaWikidata.claims[prupita] then
return nil
end
-- Addifinemu a tabeḍḍa c'àvi tutti i dichiari dâ prupità c'addumannammu
local tuttiLiDichiari = ntitaWikidata.claims[prupita]
local laMegghiuDichiara = nil
local luMegghiuRancuNummaru = nil
-- Annumiramu i ranchi chi usa Wikidata
local abbersuRanchi = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrullamu tutti i dichiari dâ lista chi pigghiammu di Wikidata
for _, dichiara in ipairs(tuttiLiDichiari) do
local rancu = dichiara.rank or "normal"
local rancuNummaru = abbersuRanchi[rancu] or 2
if not luMegghiuRancuNummaru or rancuNummaru > luMegghiuRancuNummaru then
laMegghiuDichiara = dichiara
luMegghiuRancuNummaru = rancuNummaru
end
end
-- Astrajemu u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, arriggistramu u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Sta funzioni cuntrolla siḍḍu na stringa è vacanti, livannu i tichetti dî
-- rifirenzi e i lijami dî catijurìi
local function eVacantiLivannuRifirenziECatijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummirtemu tutta a stringa 'n minùsculu
local valuriMinusculu = mw.ustring.lower(valuri)
-- Livamu i catijurìi e i rifirenzi
local valuriPulizziatu = mw.ustring.gsub(valuriMinusculu, patternCatijuriiMinusculu, '')
for _, pattern in ipairs(patternRifirenzi) do
valuriPulizziatu = mw.ustring.gsub(valuriPulizziatu, pattern, '')
end
-- S'arrèstanu sulu spazzi janchi, va bonu
return valuriPulizziatu:match('^%s*$') ~= nil
end
-- Sta funzioni cuntrolla siḍḍu i listi ànnu u furmatu giustu pi stari dintra a
-- l'autri elimenti (comu, pi diri, i ceḍḍi di na tabeḍḍa)
local function cuntrollaLista(valuri, classiCSS)
if not valuri then
return valuri
end
-- Pigghiamu u primu caràttari dâ stringa e videmu siḍḍu è un marcaturi di lista
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
if primuCarattari == '#' or primuCarattari == '*' then
-- Nchiujèmulu ntôn div
return '<div>\n' .. valuri .. '\n</div>\n'
end
-- Vasinnò, juncemu sulu n'a-capu
return valuri .. '\n'
end
-- Sta funzioni cuntrolla siḍḍu un paràmitru àvi un nomu canusciutu
local function eParamitruCanusciutu(nomuParamitru)
if type(nomuParamitru) ~= 'string' then
return true
end
-- Cuntrullamu i paràmitri basi basi
local nomaParamitriBasi = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
-- cancia du ncasciatu (embedded), ??, stili_a_ringu, stili, debug
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
for _, nomuParamitruBasi in ipairs(nomaParamitriBasi) do
if nomuParamitru == nomuParamitruBasi then
return true
end
end
-- Cuntrullamu i campi Wikidata pridifinuti e i so varianti
for nomuCampu, _ in pairs(campiWikidata) do
if nomuParamitru == nomuCampu or
nomuParamitru == "Vuci" .. nomuCampu or
nomuParamitru == "Gruppu" .. nomuCampu then
return true
end
end
-- Cuntrullamu i paràmitri annumirati
if nomuParamitru:match("^Abbirtenza%d+$") or
nomuParamitru:match("^Vuci%d+$") or
nomuParamitru:match("^Valuri%d+$") or
nomuParamitru:match("^Gruppu%d+$") or
nomuParamitru:match("^Prupità%d+$") or
nomuParamitru:match("^Classi%d+$") then
return true
end
return false
end
local junciRingu -- Na dichiara anticipata, pû chiamari prima mû difinemu
--------------------------------------------------------------------------------
-- 4) SPUSTAMENTU DÎ STILI DI MUDEḌḌU MISI MALU
--------------------------------------------------------------------------------
-- Sta funzioni sposta i tichetti <templatestyles> e i lijami ê catijurìi chi
-- s'attròvanu nta l'elimenti <tr> doppu a fini dâ tichetta </tr>, accussì
-- l'HTML arresta vàlitu
local function abbersaCeddi(html)
if not html or html == "" then
return html
end
-- Spustamu i catijurìi
local function spostaCatijuriiFora(stringa)
-- Prisirbamu a scrittura urigginali nta l'output
return mw.ustring.gsub(
stringa,
-- Pigghiamu </tr> e i spazzi janchi
'(%</[Tt][Rr]%>%s*)' ..
-- Pigghiamu [[Catigurìa:...]], nta vari ortugrafìi
'(%[%[%s*(?:' .. -- '[['
'[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|' .. -- 'Category'
'[Cc][Aa][Tt][Ii][Gg][Uu][Rr][Ìì][Aa]|' .. -- 'Catigurìa'
'[Cc][Aa][Tt][Ii][Jj][Uu][Rr][Ìì][Aa]' .. -- 'Catijurìa'
')%s*:' .. -- ':'
'[^%]]*' .. -- Chiḍḍu c'arresta, nzinu â fini
'%]%] )', -- ']]'
-- Scanciamu i dui pezzi chi pigghiammu
'%2%1'
)
end
html = spostaCatijuriiFora(html)
-- Spustamu i tichetti <templatestyles>
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Spustamu 'UNIQ--templatestyles-....-QINU', alivoti MediaWiki u misi
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 5) FUNZIONI DI BASI PI JÙNCIRI UN RINGU
--------------------------------------------------------------------------------
-- Sta funzioni junci na riga â tèssira
--
-- A tabeḍḍa "paramitri" po aviri:
-- a) paramitri.gruppu => na stringa pû tìtulu d'un gruppu chi pigghia du' culonni
-- b) paramitri.vuci => na stringa pâ tichetta dû ringu (facurtativu)
-- c) paramitri.valuri => na stringa pû valuri di ḍḍa tichetta
-- d) paramitri.classi => classi CSS di jùnciri â ceḍḍa dû valuri
junciRingu = function(radica, paramitri, statu)
-- Siḍḍu è un tìtulu d'un gruppu, criamu un ringu pû tìtulu
if paramitri.gruppu then
radica:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(paramitri.gruppu)
return
end
-- Siḍḍu valuri nun cci nn'è, nun facemu nenti
if not paramitri.valuri or paramitri.valuri == "" then
return
end
-- Cuntrullamu siḍḍu u valuri àvi sulu rifirenzi e/o catijurìi
if eVacantiLivannuRifirenziECatijurii(paramitri.valuri) then
table.insert(statu.empty_row_extras, paramitri.valuri)
return
end
-- Siḍḍu cc'è testu, criamu e facemu vìdiri un ringu
statu.avi_ringhi = true
local ringu = radica:tag('tr')
if paramitri.vuci then
-- Stampamu un ringu nurmali a du' culonni (tichetta + valuri)
ringu:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(paramitri.vuci)
:done()
local td = ringu:tag('td')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
else
-- Siḍḍu tichetta nun cci nn'è, stampamu na ceḍḍa sula a du' culonni
local td = ringu:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
end
end
--------------------------------------------------------------------------------
-- 8) PREDEFINED FIELDS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function checks if each "local parameter" (nomuCampu) in campiWikidata
-- is set or if Wikidata has a valuri. For example, "FieldName" => "Prupità" means
-- that if the user doesn't supply FieldName explicitly, we try to pull data from
-- Property on Wikidata. If found, we create a row.
local function renderPredefinedRows(radica, args, statu, ntitaWikidata)
for nomuCampu, propertyId in pairs(campiWikidata) do
local data = args[nomuCampu] or pigghiaValuriWikidata(ntitaWikidata, propertyId)
if data and data ~= "" then
local manualGroup = args["Gruppu" .. nomuCampu]
local label = args["Vuci" .. nomuCampu] or nomuCampu
-- Add group header if specified
if manualGroup and manualGroup ~= "" then
junciRingu(radica, { gruppu = manualGroup }, statu)
end
-- Add the data row
junciRingu(radica, { vuci = label, valuri = data }, statu)
end
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(radica, args, statu)
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
junciRingu(radica, { gruppu = gruppuParam }, statu)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
junciRingu(radica, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, statu)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(radica, args, statu)
if args["Supra"] and args["Supra"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(radica, args, statu)
if args["Sutta"] and args["Sutta"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(radica, subheaderText, statu)
if subheaderText and subheaderText ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(radica, args, statu)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(radica, val, statu)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(radica, args, statu)
if args["Tìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(radica, args, statu, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidata(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(radica, args, statu)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
radica:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(radica, args, statu)
if args["PediPàggina"] then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- avi_ringhi remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local statu
local statu = {
avi_ringhi = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass statu to all render functions
renderAbove(container, args, statu)
renderTitle(container, args, statu)
renderAllSubheaders(container, args, statu)
renderImages(container, args, statu, ntitaWikidata)
renderPredefinedRows(container, args, statu, ntitaWikidata)
renderNumberedRows(container, args, statu)
renderNavBar(container, args, statu)
renderBelow(container, args, statu)
renderFooter(container, args, statu)
-- Return both container and statu
return container, statu
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get statu
local container, statu = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = abbersaCeddi(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if statu.avi_ringhi then
output = css .. html
end
-- Append categories/references from "empty" rows
if #statu.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(statu.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not eParamitruCanusciutu(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
nytq52nrortgaj78cvxtlkrdaf5ybde
770505
770504
2025-07-04T20:17:37Z
GianAntonucci
46609
770505
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) VARIÀBBILI D'AJUTU P'ARRICANÙSCIRI I CATIJURÌI E I RIFIRENZI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) PIRCURSI CSS PRIDIFINUTI
--------------------------------------------------------------------------------
-- local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
-- local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
-- local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
local PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidata(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
if not ntitaWikidata or not ntitaWikidata.claims or not ntitaWikidata.claims[prupita] then
return nil
end
-- Addifinemu a tabeḍḍa c'àvi tutti i dichiari dâ prupità c'addumannammu
local tuttiLiDichiari = ntitaWikidata.claims[prupita]
local laMegghiuDichiara = nil
local luMegghiuRancuNummaru = nil
-- Annumiramu i ranchi chi usa Wikidata
local abbersuRanchi = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrullamu tutti i dichiari dâ lista chi pigghiammu di Wikidata
for _, dichiara in ipairs(tuttiLiDichiari) do
local rancu = dichiara.rank or "normal"
local rancuNummaru = abbersuRanchi[rancu] or 2
if not luMegghiuRancuNummaru or rancuNummaru > luMegghiuRancuNummaru then
laMegghiuDichiara = dichiara
luMegghiuRancuNummaru = rancuNummaru
end
end
-- Astrajemu u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, arriggistramu u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Sta funzioni cuntrolla siḍḍu na stringa è vacanti, livannu i tichetti dî
-- rifirenzi e i lijami dî catijurìi
local function eVacantiLivannuRifirenziECatijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummirtemu tutta a stringa 'n minùsculu
local valuriMinusculu = mw.ustring.lower(valuri)
-- Livamu i catijurìi e i rifirenzi
local valuriPulizziatu = mw.ustring.gsub(valuriMinusculu, patternCatijuriiMinusculu, '')
for _, pattern in ipairs(patternRifirenzi) do
valuriPulizziatu = mw.ustring.gsub(valuriPulizziatu, pattern, '')
end
-- S'arrèstanu sulu spazzi janchi, va bonu
return valuriPulizziatu:match('^%s*$') ~= nil
end
-- Sta funzioni cuntrolla siḍḍu i listi ànnu u furmatu giustu pi stari dintra a
-- l'autri elimenti (comu, pi diri, i ceḍḍi di na tabeḍḍa)
local function cuntrollaLista(valuri, classiCSS)
if not valuri then
return valuri
end
-- Pigghiamu u primu caràttari dâ stringa e videmu siḍḍu è un marcaturi di lista
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
if primuCarattari == '#' or primuCarattari == '*' then
-- Nchiujèmulu ntôn div
return '<div>\n' .. valuri .. '\n</div>\n'
end
-- Vasinnò, juncemu sulu n'a-capu
return valuri .. '\n'
end
-- Sta funzioni cuntrolla siḍḍu un paràmitru àvi un nomu canusciutu
local function eParamitruCanusciutu(nomuParamitru)
if type(nomuParamitru) ~= 'string' then
return true
end
-- Cuntrullamu i paràmitri basi
local nomaParamitriBasi = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
-- cancia du ncasciatu (embedded), ??, stili_a_ringu, stili, debug
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
for _, nomuParamitruBasi in ipairs(nomaParamitriBasi) do
if nomuParamitru == nomuParamitruBasi then
return true
end
end
-- Cuntrullamu i paràmitri chî nùmmari
if nomuParamitru:match("^Abbirtenza%d+$") or
nomuParamitru:match("^Vuci%d+$") or
nomuParamitru:match("^Valuri%d+$") or
nomuParamitru:match("^Gruppu%d+$") or
nomuParamitru:match("^Prupità%d+$") or
nomuParamitru:match("^Classi%d+$") then
return true
end
return false
end
local junciRingu -- Na dichiara anticipata, pû chiamari prima mû difinemu
--------------------------------------------------------------------------------
-- 4) SPUSTAMENTU DÎ STILI DI MUDEḌḌU MISI MALU
--------------------------------------------------------------------------------
-- Sta funzioni sposta i tichetti <templatestyles> e i lijami ê catijurìi chi
-- s'attròvanu nta l'elimenti <tr> doppu a fini dâ tichetta </tr>, accussì
-- l'HTML arresta vàlitu
local function abbersaCeddi(html)
if not html or html == "" then
return html
end
-- Spustamu i catijurìi
local function spostaCatijuriiFora(stringa)
-- Prisirbamu a scrittura urigginali nta l'output
return mw.ustring.gsub(
stringa,
-- Pigghiamu </tr> e i spazzi janchi
'(%</[Tt][Rr]%>%s*)' ..
-- Pigghiamu [[Catigurìa:...]], nta vari ortugrafìi
'(%[%[%s*(?:' .. -- '[['
'[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|' .. -- 'Category'
'[Cc][Aa][Tt][Ii][Gg][Uu][Rr][Ìì][Aa]|' .. -- 'Catigurìa'
'[Cc][Aa][Tt][Ii][Jj][Uu][Rr][Ìì][Aa]' .. -- 'Catijurìa'
')%s*:' .. -- ':'
'[^%]]*' .. -- Chiḍḍu c'arresta, nzinu â fini
'%]%] )', -- ']]'
-- Scanciamu i dui pezzi chi pigghiammu
'%2%1'
)
end
html = spostaCatijuriiFora(html)
-- Spustamu i tichetti <templatestyles>
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Spustamu 'UNIQ--templatestyles-....-QINU', alivoti MediaWiki u misi
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 5) FUNZIONI DI BASI PI JÙNCIRI UN RINGU
--------------------------------------------------------------------------------
-- Sta funzioni junci na riga â tèssira
--
-- A tabeḍḍa "paramitri" po aviri:
-- a) paramitri.gruppu => na stringa pû tìtulu d'un gruppu chi pigghia du' culonni
-- b) paramitri.vuci => na stringa pâ tichetta dû ringu (facurtativu)
-- c) paramitri.valuri => na stringa pû valuri di ḍḍa tichetta
-- d) paramitri.classi => classi CSS di jùnciri â ceḍḍa dû valuri
junciRingu = function(radica, paramitri, statu)
-- Siḍḍu è un tìtulu d'un gruppu, criamu un ringu pû tìtulu
if paramitri.gruppu then
radica:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(paramitri.gruppu)
return
end
-- Siḍḍu valuri nun cci nn'è, nun facemu nenti
if not paramitri.valuri or paramitri.valuri == "" then
return
end
-- Cuntrullamu siḍḍu u valuri àvi sulu rifirenzi e/o catijurìi
if eVacantiLivannuRifirenziECatijurii(paramitri.valuri) then
table.insert(statu.empty_row_extras, paramitri.valuri)
return
end
-- Siḍḍu cc'è testu, criamu e facemu vìdiri un ringu
statu.avi_ringhi = true
local ringu = radica:tag('tr')
if paramitri.vuci then
-- Stampamu un ringu nurmali a du' culonni (tichetta + valuri)
ringu:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(paramitri.vuci)
:done()
local td = ringu:tag('td')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
else
-- Siḍḍu tichetta nun cci nn'è, stampamu na ceḍḍa sula a du' culonni
local td = ringu:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(radica, args, statu)
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
junciRingu(radica, { gruppu = gruppuParam }, statu)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
junciRingu(radica, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, statu)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(radica, args, statu)
if args["Supra"] and args["Supra"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(radica, args, statu)
if args["Sutta"] and args["Sutta"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(radica, subheaderText, statu)
if subheaderText and subheaderText ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(radica, args, statu)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(radica, val, statu)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(radica, args, statu)
if args["Tìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(radica, args, statu, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidata(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(radica, args, statu)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
radica:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(radica, args, statu)
if args["PediPàggina"] then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- avi_ringhi remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local statu
local statu = {
avi_ringhi = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass statu to all render functions
renderAbove(container, args, statu)
renderTitle(container, args, statu)
renderAllSubheaders(container, args, statu)
renderImages(container, args, statu, ntitaWikidata)
renderNumberedRows(container, args, statu)
renderNavBar(container, args, statu)
renderBelow(container, args, statu)
renderFooter(container, args, statu)
-- Return both container and statu
return container, statu
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get statu
local container, statu = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = abbersaCeddi(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if statu.avi_ringhi then
output = css .. html
end
-- Append categories/references from "empty" rows
if #statu.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(statu.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not eParamitruCanusciutu(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
135443gxix7uc65dkowa60kc8noazdy
770560
770505
2025-07-05T08:18:21Z
GianAntonucci
46609
770560
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) VARIÀBBILI D'AJUTU P'ARRICANÙSCIRI I CATIJURÌI E I RIFIRENZI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) PIRCURSI CSS PRIDIFINUTI
--------------------------------------------------------------------------------
-- local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
-- local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
-- local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
local PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidata(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
if not ntitaWikidata or not ntitaWikidata.claims or not ntitaWikidata.claims[prupita] then
return nil
end
-- Addifinemu a tabeḍḍa c'àvi tutti i dichiari dâ prupità c'addumannammu
local tuttiLiDichiari = ntitaWikidata.claims[prupita]
local laMegghiuDichiara = nil
local luMegghiuRancuNummaru = nil
-- Annumiramu i ranchi chi usa Wikidata
local abbersuRanchi = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrullamu tutti i dichiari dâ lista chi pigghiammu di Wikidata
for _, dichiara in ipairs(tuttiLiDichiari) do
local rancu = dichiara.rank or "normal"
local rancuNummaru = abbersuRanchi[rancu] or 2
if not luMegghiuRancuNummaru or rancuNummaru > luMegghiuRancuNummaru then
laMegghiuDichiara = dichiara
luMegghiuRancuNummaru = rancuNummaru
end
end
-- Astrajemu u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, arriggistramu u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Sta funzioni cuntrolla siḍḍu na stringa è vacanti, livannu i tichetti dî
-- rifirenzi e i lijami dî catijurìi
local function eVacantiLivannuRifirenziECatijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummirtemu tutta a stringa 'n minùsculu
local valuriMinusculu = mw.ustring.lower(valuri)
-- Livamu i catijurìi e i rifirenzi
local valuriPulizziatu = mw.ustring.gsub(valuriMinusculu, patternCatijuriiMinusculu, '')
for _, pattern in ipairs(patternRifirenzi) do
valuriPulizziatu = mw.ustring.gsub(valuriPulizziatu, pattern, '')
end
-- S'arrèstanu sulu spazzi janchi, va bonu
return valuriPulizziatu:match('^%s*$') ~= nil
end
-- Sta funzioni cuntrolla siḍḍu i listi ànnu u furmatu giustu pi stari dintra a
-- l'autri elimenti (comu, pi diri, i ceḍḍi di na tabeḍḍa)
local function cuntrollaLista(valuri, classiCSS)
if not valuri then
return valuri
end
-- Pigghiamu u primu caràttari dâ stringa e videmu siḍḍu è un marcaturi di lista
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
if primuCarattari == '#' or primuCarattari == '*' then
-- Nchiujèmulu ntôn div
return '<div>\n' .. valuri .. '\n</div>\n'
end
-- Vasinnò, juncemu sulu n'a-capu
return valuri .. '\n'
end
-- Sta funzioni cuntrolla siḍḍu un paràmitru àvi un nomu canusciutu
local function eParamitruCanusciutu(nomuParamitru)
if type(nomuParamitru) ~= 'string' then
return true
end
-- Cuntrullamu i paràmitri basi
local nomaParamitriBasi = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
-- cancia du ncasciatu (embedded), ??, stili_a_ringu, stili, debug
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
for _, nomuParamitruBasi in ipairs(nomaParamitriBasi) do
if nomuParamitru == nomuParamitruBasi then
return true
end
end
-- Cuntrullamu i paràmitri chî nùmmari
if nomuParamitru:match("^Abbirtenza%d+$") or
nomuParamitru:match("^Vuci%d+$") or
nomuParamitru:match("^Valuri%d+$") or
nomuParamitru:match("^Gruppu%d+$") or
nomuParamitru:match("^Prupità%d+$") or
nomuParamitru:match("^Classi%d+$") then
return true
end
return false
end
-- Function to replace {{{paramName}}} with actual parameter values
local function substituteParameters(text, args)
if not text then return text end
-- Replace {{{Wikidata}}} patterns
text = text:gsub('{{{Wikidata|}}}', args.Wikidata or '')
text = text:gsub('{{{Wikidata}}}', args.Wikidata or '')
return text
end
local junciRingu -- Na dichiara anticipata, pû chiamari prima mû difinemu
--------------------------------------------------------------------------------
-- 4) SPUSTAMENTU DÎ STILI DI MUDEḌḌU MISI MALU
--------------------------------------------------------------------------------
-- Sta funzioni sposta i tichetti <templatestyles> e i lijami ê catijurìi chi
-- s'attròvanu nta l'elimenti <tr> doppu a fini dâ tichetta </tr>, accussì
-- l'HTML arresta vàlitu
local function abbersaCeddi(html)
if not html or html == "" then
return html
end
-- Spustamu i catijurìi
local function spostaCatijuriiFora(stringa)
-- Prisirbamu a scrittura urigginali nta l'output
return mw.ustring.gsub(
stringa,
-- Pigghiamu </tr> e i spazzi janchi
'(%</[Tt][Rr]%>%s*)' ..
-- Pigghiamu [[Catigurìa:...]], nta vari ortugrafìi
'(%[%[%s*(?:' .. -- '[['
'[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|' .. -- 'Category'
'[Cc][Aa][Tt][Ii][Gg][Uu][Rr][Ìì][Aa]|' .. -- 'Catigurìa'
'[Cc][Aa][Tt][Ii][Jj][Uu][Rr][Ìì][Aa]' .. -- 'Catijurìa'
')%s*:' .. -- ':'
'[^%]]*' .. -- Chiḍḍu c'arresta, nzinu â fini
'%]%] )', -- ']]'
-- Scanciamu i dui pezzi chi pigghiammu
'%2%1'
)
end
html = spostaCatijuriiFora(html)
-- Spustamu i tichetti <templatestyles>
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Spustamu 'UNIQ--templatestyles-....-QINU', alivoti MediaWiki u misi
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 5) FUNZIONI DI BASI PI JÙNCIRI UN RINGU
--------------------------------------------------------------------------------
-- Sta funzioni junci na riga â tèssira
--
-- A tabeḍḍa "paramitri" po aviri:
-- a) paramitri.gruppu => na stringa pû tìtulu d'un gruppu chi pigghia du' culonni
-- b) paramitri.vuci => na stringa pâ tichetta dû ringu (facurtativu)
-- c) paramitri.valuri => na stringa pû valuri di ḍḍa tichetta
-- d) paramitri.classi => classi CSS di jùnciri â ceḍḍa dû valuri
junciRingu = function(radica, paramitri, statu)
-- Siḍḍu è un tìtulu d'un gruppu, criamu un ringu pû tìtulu
if paramitri.gruppu then
radica:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(paramitri.gruppu)
return
end
-- Siḍḍu valuri nun cci nn'è, nun facemu nenti
if not paramitri.valuri or paramitri.valuri == "" then
return
end
-- Cuntrullamu siḍḍu u valuri àvi sulu rifirenzi e/o catijurìi
if eVacantiLivannuRifirenziECatijurii(paramitri.valuri) then
table.insert(statu.empty_row_extras, paramitri.valuri)
return
end
-- Siḍḍu cc'è testu, criamu e facemu vìdiri un ringu
statu.avi_ringhi = true
local ringu = radica:tag('tr')
if paramitri.vuci then
-- Stampamu un ringu nurmali a du' culonni (tichetta + valuri)
ringu:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(paramitri.vuci)
:done()
local td = ringu:tag('td')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
else
-- Siḍḍu tichetta nun cci nn'è, stampamu na ceḍḍa sula a du' culonni
local td = ringu:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(radica, args, statu)
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Add parameter substitution for valuriParam
if valuriParam then
valuriParam = substituteParameters(valuriParam, args)
end
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
junciRingu(radica, { gruppu = gruppuParam }, statu)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
junciRingu(radica, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, statu)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(radica, args, statu)
if args["Supra"] and args["Supra"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(radica, args, statu)
if args["Sutta"] and args["Sutta"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(radica, subheaderText, statu)
if subheaderText and subheaderText ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(radica, args, statu)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(radica, val, statu)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(radica, args, statu)
if args["Tìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(radica, args, statu, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidata(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(radica, args, statu)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
radica:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(radica, args, statu)
if args["PediPàggina"] then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- avi_ringhi remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local statu
local statu = {
avi_ringhi = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass statu to all render functions
renderAbove(container, args, statu)
renderTitle(container, args, statu)
renderAllSubheaders(container, args, statu)
renderImages(container, args, statu, ntitaWikidata)
renderNumberedRows(container, args, statu)
renderNavBar(container, args, statu)
renderBelow(container, args, statu)
renderFooter(container, args, statu)
-- Return both container and statu
return container, statu
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get statu
local container, statu = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = abbersaCeddi(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if statu.avi_ringhi then
output = css .. html
end
-- Append categories/references from "empty" rows
if #statu.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(statu.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not eParamitruCanusciutu(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
cy7tgb9j6s23rfn7v0etnpz8cd49eb6
770563
770560
2025-07-05T08:22:21Z
GianAntonucci
46609
770563
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) VARIÀBBILI D'AJUTU P'ARRICANÙSCIRI I CATIJURÌI E I RIFIRENZI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) PIRCURSI CSS PRIDIFINUTI
--------------------------------------------------------------------------------
-- local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
-- local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
-- local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
local PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidata(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
if not ntitaWikidata or not ntitaWikidata.claims or not ntitaWikidata.claims[prupita] then
return nil
end
-- Addifinemu a tabeḍḍa c'àvi tutti i dichiari dâ prupità c'addumannammu
local tuttiLiDichiari = ntitaWikidata.claims[prupita]
local laMegghiuDichiara = nil
local luMegghiuRancuNummaru = nil
-- Annumiramu i ranchi chi usa Wikidata
local abbersuRanchi = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrullamu tutti i dichiari dâ lista chi pigghiammu di Wikidata
for _, dichiara in ipairs(tuttiLiDichiari) do
local rancu = dichiara.rank or "normal"
local rancuNummaru = abbersuRanchi[rancu] or 2
if not luMegghiuRancuNummaru or rancuNummaru > luMegghiuRancuNummaru then
laMegghiuDichiara = dichiara
luMegghiuRancuNummaru = rancuNummaru
end
end
-- Astrajemu u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, arriggistramu u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Sta funzioni cuntrolla siḍḍu na stringa è vacanti, livannu i tichetti dî
-- rifirenzi e i lijami dî catijurìi
local function eVacantiLivannuRifirenziECatijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummirtemu tutta a stringa 'n minùsculu
local valuriMinusculu = mw.ustring.lower(valuri)
-- Livamu i catijurìi e i rifirenzi
local valuriPulizziatu = mw.ustring.gsub(valuriMinusculu, patternCatijuriiMinusculu, '')
for _, pattern in ipairs(patternRifirenzi) do
valuriPulizziatu = mw.ustring.gsub(valuriPulizziatu, pattern, '')
end
-- S'arrèstanu sulu spazzi janchi, va bonu
return valuriPulizziatu:match('^%s*$') ~= nil
end
-- Sta funzioni cuntrolla siḍḍu i listi ànnu u furmatu giustu pi stari dintra a
-- l'autri elimenti (comu, pi diri, i ceḍḍi di na tabeḍḍa)
local function cuntrollaLista(valuri, classiCSS)
if not valuri then
return valuri
end
-- Pigghiamu u primu caràttari dâ stringa e videmu siḍḍu è un marcaturi di lista
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
if primuCarattari == '#' or primuCarattari == '*' then
-- Nchiujèmulu ntôn div
return '<div>\n' .. valuri .. '\n</div>\n'
end
-- Vasinnò, juncemu sulu n'a-capu
return valuri .. '\n'
end
-- Sta funzioni cuntrolla siḍḍu un paràmitru àvi un nomu canusciutu
local function eParamitruCanusciutu(nomuParamitru)
if type(nomuParamitru) ~= 'string' then
return true
end
-- Cuntrullamu i paràmitri basi
local nomaParamitriBasi = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
-- cancia du ncasciatu (embedded), ??, stili_a_ringu, stili, debug
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
for _, nomuParamitruBasi in ipairs(nomaParamitriBasi) do
if nomuParamitru == nomuParamitruBasi then
return true
end
end
-- Cuntrullamu i paràmitri chî nùmmari
if nomuParamitru:match("^Abbirtenza%d+$") or
nomuParamitru:match("^Vuci%d+$") or
nomuParamitru:match("^Valuri%d+$") or
nomuParamitru:match("^Gruppu%d+$") or
nomuParamitru:match("^Prupità%d+$") or
nomuParamitru:match("^Classi%d+$") then
return true
end
return false
end
-- Function to replace {{{paramName}}} with actual parameter values
local function substituteParameters(text, args)
if not text then return text end
-- Debug: log what we're working with
mw.log("Original text: " .. text)
mw.log("Wikidata value: " .. (args.Wikidata or "nil"))
-- Replace {{{Wikidata}}} patterns
text = text:gsub('{{{Wikidata|}}}', args.Wikidata or '')
text = text:gsub('{{{Wikidata}}}', args.Wikidata or '')
-- Debug: log the result
mw.log("After substitution: " .. text)
return text
end
local junciRingu -- Na dichiara anticipata, pû chiamari prima mû difinemu
--------------------------------------------------------------------------------
-- 4) SPUSTAMENTU DÎ STILI DI MUDEḌḌU MISI MALU
--------------------------------------------------------------------------------
-- Sta funzioni sposta i tichetti <templatestyles> e i lijami ê catijurìi chi
-- s'attròvanu nta l'elimenti <tr> doppu a fini dâ tichetta </tr>, accussì
-- l'HTML arresta vàlitu
local function abbersaCeddi(html)
if not html or html == "" then
return html
end
-- Spustamu i catijurìi
local function spostaCatijuriiFora(stringa)
-- Prisirbamu a scrittura urigginali nta l'output
return mw.ustring.gsub(
stringa,
-- Pigghiamu </tr> e i spazzi janchi
'(%</[Tt][Rr]%>%s*)' ..
-- Pigghiamu [[Catigurìa:...]], nta vari ortugrafìi
'(%[%[%s*(?:' .. -- '[['
'[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|' .. -- 'Category'
'[Cc][Aa][Tt][Ii][Gg][Uu][Rr][Ìì][Aa]|' .. -- 'Catigurìa'
'[Cc][Aa][Tt][Ii][Jj][Uu][Rr][Ìì][Aa]' .. -- 'Catijurìa'
')%s*:' .. -- ':'
'[^%]]*' .. -- Chiḍḍu c'arresta, nzinu â fini
'%]%] )', -- ']]'
-- Scanciamu i dui pezzi chi pigghiammu
'%2%1'
)
end
html = spostaCatijuriiFora(html)
-- Spustamu i tichetti <templatestyles>
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Spustamu 'UNIQ--templatestyles-....-QINU', alivoti MediaWiki u misi
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 5) FUNZIONI DI BASI PI JÙNCIRI UN RINGU
--------------------------------------------------------------------------------
-- Sta funzioni junci na riga â tèssira
--
-- A tabeḍḍa "paramitri" po aviri:
-- a) paramitri.gruppu => na stringa pû tìtulu d'un gruppu chi pigghia du' culonni
-- b) paramitri.vuci => na stringa pâ tichetta dû ringu (facurtativu)
-- c) paramitri.valuri => na stringa pû valuri di ḍḍa tichetta
-- d) paramitri.classi => classi CSS di jùnciri â ceḍḍa dû valuri
junciRingu = function(radica, paramitri, statu)
-- Siḍḍu è un tìtulu d'un gruppu, criamu un ringu pû tìtulu
if paramitri.gruppu then
radica:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(paramitri.gruppu)
return
end
-- Siḍḍu valuri nun cci nn'è, nun facemu nenti
if not paramitri.valuri or paramitri.valuri == "" then
return
end
-- Cuntrullamu siḍḍu u valuri àvi sulu rifirenzi e/o catijurìi
if eVacantiLivannuRifirenziECatijurii(paramitri.valuri) then
table.insert(statu.empty_row_extras, paramitri.valuri)
return
end
-- Siḍḍu cc'è testu, criamu e facemu vìdiri un ringu
statu.avi_ringhi = true
local ringu = radica:tag('tr')
if paramitri.vuci then
-- Stampamu un ringu nurmali a du' culonni (tichetta + valuri)
ringu:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(paramitri.vuci)
:done()
local td = ringu:tag('td')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
else
-- Siḍḍu tichetta nun cci nn'è, stampamu na ceḍḍa sula a du' culonni
local td = ringu:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(radica, args, statu)
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Add parameter substitution for valuriParam
if valuriParam then
valuriParam = substituteParameters(valuriParam, args)
end
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
junciRingu(radica, { gruppu = gruppuParam }, statu)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
junciRingu(radica, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, statu)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(radica, args, statu)
if args["Supra"] and args["Supra"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(radica, args, statu)
if args["Sutta"] and args["Sutta"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(radica, subheaderText, statu)
if subheaderText and subheaderText ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(radica, args, statu)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(radica, val, statu)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(radica, args, statu)
if args["Tìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(radica, args, statu, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidata(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(radica, args, statu)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
radica:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(radica, args, statu)
if args["PediPàggina"] then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- avi_ringhi remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local statu
local statu = {
avi_ringhi = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass statu to all render functions
renderAbove(container, args, statu)
renderTitle(container, args, statu)
renderAllSubheaders(container, args, statu)
renderImages(container, args, statu, ntitaWikidata)
renderNumberedRows(container, args, statu)
renderNavBar(container, args, statu)
renderBelow(container, args, statu)
renderFooter(container, args, statu)
-- Return both container and statu
return container, statu
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get statu
local container, statu = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = abbersaCeddi(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if statu.avi_ringhi then
output = css .. html
end
-- Append categories/references from "empty" rows
if #statu.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(statu.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not eParamitruCanusciutu(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
bbz23zgqzgl8zj7mq0ne3697kq2l76q
770564
770563
2025-07-05T08:26:42Z
GianAntonucci
46609
770564
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) VARIÀBBILI D'AJUTU P'ARRICANÙSCIRI I CATIJURÌI E I RIFIRENZI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) PIRCURSI CSS PRIDIFINUTI
--------------------------------------------------------------------------------
-- local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
-- local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
-- local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
local PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidata(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
if not ntitaWikidata or not ntitaWikidata.claims or not ntitaWikidata.claims[prupita] then
return nil
end
-- Addifinemu a tabeḍḍa c'àvi tutti i dichiari dâ prupità c'addumannammu
local tuttiLiDichiari = ntitaWikidata.claims[prupita]
local laMegghiuDichiara = nil
local luMegghiuRancuNummaru = nil
-- Annumiramu i ranchi chi usa Wikidata
local abbersuRanchi = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrullamu tutti i dichiari dâ lista chi pigghiammu di Wikidata
for _, dichiara in ipairs(tuttiLiDichiari) do
local rancu = dichiara.rank or "normal"
local rancuNummaru = abbersuRanchi[rancu] or 2
if not luMegghiuRancuNummaru or rancuNummaru > luMegghiuRancuNummaru then
laMegghiuDichiara = dichiara
luMegghiuRancuNummaru = rancuNummaru
end
end
-- Astrajemu u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, arriggistramu u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Sta funzioni cuntrolla siḍḍu na stringa è vacanti, livannu i tichetti dî
-- rifirenzi e i lijami dî catijurìi
local function eVacantiLivannuRifirenziECatijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummirtemu tutta a stringa 'n minùsculu
local valuriMinusculu = mw.ustring.lower(valuri)
-- Livamu i catijurìi e i rifirenzi
local valuriPulizziatu = mw.ustring.gsub(valuriMinusculu, patternCatijuriiMinusculu, '')
for _, pattern in ipairs(patternRifirenzi) do
valuriPulizziatu = mw.ustring.gsub(valuriPulizziatu, pattern, '')
end
-- S'arrèstanu sulu spazzi janchi, va bonu
return valuriPulizziatu:match('^%s*$') ~= nil
end
-- Sta funzioni cuntrolla siḍḍu i listi ànnu u furmatu giustu pi stari dintra a
-- l'autri elimenti (comu, pi diri, i ceḍḍi di na tabeḍḍa)
local function cuntrollaLista(valuri, classiCSS)
if not valuri then
return valuri
end
-- Pigghiamu u primu caràttari dâ stringa e videmu siḍḍu è un marcaturi di lista
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
if primuCarattari == '#' or primuCarattari == '*' then
-- Nchiujèmulu ntôn div
return '<div>\n' .. valuri .. '\n</div>\n'
end
-- Vasinnò, juncemu sulu n'a-capu
return valuri .. '\n'
end
-- Sta funzioni cuntrolla siḍḍu un paràmitru àvi un nomu canusciutu
local function eParamitruCanusciutu(nomuParamitru)
if type(nomuParamitru) ~= 'string' then
return true
end
-- Cuntrullamu i paràmitri basi
local nomaParamitriBasi = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
-- cancia du ncasciatu (embedded), ??, stili_a_ringu, stili, debug
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
for _, nomuParamitruBasi in ipairs(nomaParamitriBasi) do
if nomuParamitru == nomuParamitruBasi then
return true
end
end
-- Cuntrullamu i paràmitri chî nùmmari
if nomuParamitru:match("^Abbirtenza%d+$") or
nomuParamitru:match("^Vuci%d+$") or
nomuParamitru:match("^Valuri%d+$") or
nomuParamitru:match("^Gruppu%d+$") or
nomuParamitru:match("^Prupità%d+$") or
nomuParamitru:match("^Classi%d+$") then
return true
end
return false
end
-- Function to replace {{{paramName}}} with actual parameter values
local function substituteParameters(text, args)
if not text then return text end
-- Debug: log what we're working with
mw.log("Original text: " .. text)
mw.log("Wikidata value: " .. (args.Wikidata or "nil"))
-- Replace {{{Wikidata}}} patterns
text = text:gsub('{{{Wikidata|}}}', args.Wikidata or '')
text = text:gsub('{{{Wikidata}}}', args.Wikidata or '')
-- Debug: log the result
mw.log("After substitution: " .. text)
return text
end
local junciRingu -- Na dichiara anticipata, pû chiamari prima mû difinemu
--------------------------------------------------------------------------------
-- 4) SPUSTAMENTU DÎ STILI DI MUDEḌḌU MISI MALU
--------------------------------------------------------------------------------
-- Sta funzioni sposta i tichetti <templatestyles> e i lijami ê catijurìi chi
-- s'attròvanu nta l'elimenti <tr> doppu a fini dâ tichetta </tr>, accussì
-- l'HTML arresta vàlitu
local function abbersaCeddi(html)
if not html or html == "" then
return html
end
-- Spustamu i catijurìi
local function spostaCatijuriiFora(stringa)
-- Prisirbamu a scrittura urigginali nta l'output
return mw.ustring.gsub(
stringa,
-- Pigghiamu </tr> e i spazzi janchi
'(%</[Tt][Rr]%>%s*)' ..
-- Pigghiamu [[Catigurìa:...]], nta vari ortugrafìi
'(%[%[%s*(?:' .. -- '[['
'[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|' .. -- 'Category'
'[Cc][Aa][Tt][Ii][Gg][Uu][Rr][Ìì][Aa]|' .. -- 'Catigurìa'
'[Cc][Aa][Tt][Ii][Jj][Uu][Rr][Ìì][Aa]' .. -- 'Catijurìa'
')%s*:' .. -- ':'
'[^%]]*' .. -- Chiḍḍu c'arresta, nzinu â fini
'%]%] )', -- ']]'
-- Scanciamu i dui pezzi chi pigghiammu
'%2%1'
)
end
html = spostaCatijuriiFora(html)
-- Spustamu i tichetti <templatestyles>
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Spustamu 'UNIQ--templatestyles-....-QINU', alivoti MediaWiki u misi
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 5) FUNZIONI DI BASI PI JÙNCIRI UN RINGU
--------------------------------------------------------------------------------
-- Sta funzioni junci na riga â tèssira
--
-- A tabeḍḍa "paramitri" po aviri:
-- a) paramitri.gruppu => na stringa pû tìtulu d'un gruppu chi pigghia du' culonni
-- b) paramitri.vuci => na stringa pâ tichetta dû ringu (facurtativu)
-- c) paramitri.valuri => na stringa pû valuri di ḍḍa tichetta
-- d) paramitri.classi => classi CSS di jùnciri â ceḍḍa dû valuri
junciRingu = function(radica, paramitri, statu)
-- Siḍḍu è un tìtulu d'un gruppu, criamu un ringu pû tìtulu
if paramitri.gruppu then
radica:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(paramitri.gruppu)
return
end
-- Siḍḍu valuri nun cci nn'è, nun facemu nenti
if not paramitri.valuri or paramitri.valuri == "" then
return
end
-- Cuntrullamu siḍḍu u valuri àvi sulu rifirenzi e/o catijurìi
if eVacantiLivannuRifirenziECatijurii(paramitri.valuri) then
table.insert(statu.empty_row_extras, paramitri.valuri)
return
end
-- Siḍḍu cc'è testu, criamu e facemu vìdiri un ringu
statu.avi_ringhi = true
local ringu = radica:tag('tr')
if paramitri.vuci then
-- Stampamu un ringu nurmali a du' culonni (tichetta + valuri)
ringu:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(paramitri.vuci)
:done()
local td = ringu:tag('td')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
else
-- Siḍḍu tichetta nun cci nn'è, stampamu na ceḍḍa sula a du' culonni
local td = ringu:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(radica, args, statu)
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Add parameter substitution for valuriParam
if valuriParam then
valuriParam = substituteParameters(valuriParam, args)
end
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
junciRingu(radica, { gruppu = gruppuParam }, statu)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
junciRingu(radica, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, statu)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(radica, args, statu)
if args["Supra"] and args["Supra"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(radica, args, statu)
if args["Sutta"] and args["Sutta"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(radica, subheaderText, statu)
if subheaderText and subheaderText ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(radica, args, statu)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(radica, val, statu)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(radica, args, statu)
if args["Tìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(radica, args, statu, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidata(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(radica, args, statu)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
radica:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(radica, args, statu)
if args["PediPàggina"] then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- avi_ringhi remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local statu
local statu = {
avi_ringhi = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass statu to all render functions
renderAbove(container, args, statu)
renderTitle(container, args, statu)
renderAllSubheaders(container, args, statu)
renderImages(container, args, statu, ntitaWikidata)
renderNumberedRows(container, args, statu)
renderNavBar(container, args, statu)
renderBelow(container, args, statu)
renderFooter(container, args, statu)
-- Return both container and statu
return container, statu
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get statu
local container, statu = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = abbersaCeddi(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if statu.avi_ringhi then
output = css .. html
end
-- Append categories/references from "empty" rows
if #statu.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(statu.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not eParamitruCanusciutu(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
hzs8nean5vm78q7dmvf0akcx5f6j5bz
770566
770564
2025-07-05T08:31:50Z
GianAntonucci
46609
770566
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) VARIÀBBILI D'AJUTU P'ARRICANÙSCIRI I CATIJURÌI E I RIFIRENZI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) PIRCURSI CSS PRIDIFINUTI
--------------------------------------------------------------------------------
-- local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
-- local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
-- local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
local PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidata(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
if not ntitaWikidata or not ntitaWikidata.claims or not ntitaWikidata.claims[prupita] then
return nil
end
-- Addifinemu a tabeḍḍa c'àvi tutti i dichiari dâ prupità c'addumannammu
local tuttiLiDichiari = ntitaWikidata.claims[prupita]
local laMegghiuDichiara = nil
local luMegghiuRancuNummaru = nil
-- Annumiramu i ranchi chi usa Wikidata
local abbersuRanchi = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrullamu tutti i dichiari dâ lista chi pigghiammu di Wikidata
for _, dichiara in ipairs(tuttiLiDichiari) do
local rancu = dichiara.rank or "normal"
local rancuNummaru = abbersuRanchi[rancu] or 2
if not luMegghiuRancuNummaru or rancuNummaru > luMegghiuRancuNummaru then
laMegghiuDichiara = dichiara
luMegghiuRancuNummaru = rancuNummaru
end
end
-- Astrajemu u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, arriggistramu u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Sta funzioni cuntrolla siḍḍu na stringa è vacanti, livannu i tichetti dî
-- rifirenzi e i lijami dî catijurìi
local function eVacantiLivannuRifirenziECatijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummirtemu tutta a stringa 'n minùsculu
local valuriMinusculu = mw.ustring.lower(valuri)
-- Livamu i catijurìi e i rifirenzi
local valuriPulizziatu = mw.ustring.gsub(valuriMinusculu, patternCatijuriiMinusculu, '')
for _, pattern in ipairs(patternRifirenzi) do
valuriPulizziatu = mw.ustring.gsub(valuriPulizziatu, pattern, '')
end
-- S'arrèstanu sulu spazzi janchi, va bonu
return valuriPulizziatu:match('^%s*$') ~= nil
end
-- Sta funzioni cuntrolla siḍḍu i listi ànnu u furmatu giustu pi stari dintra a
-- l'autri elimenti (comu, pi diri, i ceḍḍi di na tabeḍḍa)
local function cuntrollaLista(valuri, classiCSS)
if not valuri then
return valuri
end
-- Pigghiamu u primu caràttari dâ stringa e videmu siḍḍu è un marcaturi di lista
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
if primuCarattari == '#' or primuCarattari == '*' then
-- Nchiujèmulu ntôn div
return '<div>\n' .. valuri .. '\n</div>\n'
end
-- Vasinnò, juncemu sulu n'a-capu
return valuri .. '\n'
end
-- Sta funzioni cuntrolla siḍḍu un paràmitru àvi un nomu canusciutu
local function eParamitruCanusciutu(nomuParamitru)
if type(nomuParamitru) ~= 'string' then
return true
end
-- Cuntrullamu i paràmitri basi
local nomaParamitriBasi = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
-- cancia du ncasciatu (embedded), ??, stili_a_ringu, stili, debug
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
for _, nomuParamitruBasi in ipairs(nomaParamitriBasi) do
if nomuParamitru == nomuParamitruBasi then
return true
end
end
-- Cuntrullamu i paràmitri chî nùmmari
if nomuParamitru:match("^Abbirtenza%d+$") or
nomuParamitru:match("^Vuci%d+$") or
nomuParamitru:match("^Valuri%d+$") or
nomuParamitru:match("^Gruppu%d+$") or
nomuParamitru:match("^Prupità%d+$") or
nomuParamitru:match("^Classi%d+$") then
return true
end
return false
end
-- Function to replace {{{paramName}}} with actual parameter values
local function substituteParameters(text, args)
if not text then return text end
-- Debug: log what we're working with
mw.log("Original text: " .. text)
mw.log("Wikidata value: " .. (args.Wikidata or "nil"))
-- Replace {{{Wikidata}}} patterns
text = text:gsub('{{{Wikidata|}}}', args.Wikidata or '')
text = text:gsub('{{{Wikidata}}}', args.Wikidata or '')
-- Debug: log the result
mw.log("After substitution: " .. text)
return text
end
local junciRingu -- Na dichiara anticipata, pû chiamari prima mû difinemu
--------------------------------------------------------------------------------
-- 4) SPUSTAMENTU DÎ STILI DI MUDEḌḌU MISI MALU
--------------------------------------------------------------------------------
-- Sta funzioni sposta i tichetti <templatestyles> e i lijami ê catijurìi chi
-- s'attròvanu nta l'elimenti <tr> doppu a fini dâ tichetta </tr>, accussì
-- l'HTML arresta vàlitu
local function abbersaCeddi(html)
if not html or html == "" then
return html
end
-- Spustamu i catijurìi
local function spostaCatijuriiFora(stringa)
-- Prisirbamu a scrittura urigginali nta l'output
return mw.ustring.gsub(
stringa,
-- Pigghiamu </tr> e i spazzi janchi
'(%</[Tt][Rr]%>%s*)' ..
-- Pigghiamu [[Catigurìa:...]], nta vari ortugrafìi
'(%[%[%s*(?:' .. -- '[['
'[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|' .. -- 'Category'
'[Cc][Aa][Tt][Ii][Gg][Uu][Rr][Ìì][Aa]|' .. -- 'Catigurìa'
'[Cc][Aa][Tt][Ii][Jj][Uu][Rr][Ìì][Aa]' .. -- 'Catijurìa'
')%s*:' .. -- ':'
'[^%]]*' .. -- Chiḍḍu c'arresta, nzinu â fini
'%]%] )', -- ']]'
-- Scanciamu i dui pezzi chi pigghiammu
'%2%1'
)
end
html = spostaCatijuriiFora(html)
-- Spustamu i tichetti <templatestyles>
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Spustamu 'UNIQ--templatestyles-....-QINU', alivoti MediaWiki u misi
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 5) FUNZIONI DI BASI PI JÙNCIRI UN RINGU
--------------------------------------------------------------------------------
-- Sta funzioni junci na riga â tèssira
--
-- A tabeḍḍa "paramitri" po aviri:
-- a) paramitri.gruppu => na stringa pû tìtulu d'un gruppu chi pigghia du' culonni
-- b) paramitri.vuci => na stringa pâ tichetta dû ringu (facurtativu)
-- c) paramitri.valuri => na stringa pû valuri di ḍḍa tichetta
-- d) paramitri.classi => classi CSS di jùnciri â ceḍḍa dû valuri
junciRingu = function(radica, paramitri, statu)
-- Siḍḍu è un tìtulu d'un gruppu, criamu un ringu pû tìtulu
if paramitri.gruppu then
radica:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(paramitri.gruppu)
return
end
-- Siḍḍu valuri nun cci nn'è, nun facemu nenti
if not paramitri.valuri or paramitri.valuri == "" then
return
end
-- Cuntrullamu siḍḍu u valuri àvi sulu rifirenzi e/o catijurìi
if eVacantiLivannuRifirenziECatijurii(paramitri.valuri) then
table.insert(statu.empty_row_extras, paramitri.valuri)
return
end
-- Siḍḍu cc'è testu, criamu e facemu vìdiri un ringu
statu.avi_ringhi = true
local ringu = radica:tag('tr')
if paramitri.vuci then
-- Stampamu un ringu nurmali a du' culonni (tichetta + valuri)
ringu:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(paramitri.vuci)
:done()
local td = ringu:tag('td')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
else
-- Siḍḍu tichetta nun cci nn'è, stampamu na ceḍḍa sula a du' culonni
local td = ringu:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(radica, args, statu)
-- DEBUG: Add a debug row to see what's in args.Wikidata
junciRingu(radica, {
vuci = "DEBUG Wikidata",
valuri = "Value: [" .. tostring(args.Wikidata or "NIL") .. "]"
}, statu)
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Add parameter substitution for valuriParam
if valuriParam then
valuriParam = substituteParameters(valuriParam, args)
end
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
junciRingu(radica, { gruppu = gruppuParam }, statu)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
junciRingu(radica, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, statu)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(radica, args, statu)
if args["Supra"] and args["Supra"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(radica, args, statu)
if args["Sutta"] and args["Sutta"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(radica, subheaderText, statu)
if subheaderText and subheaderText ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(radica, args, statu)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(radica, val, statu)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(radica, args, statu)
if args["Tìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(radica, args, statu, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidata(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(radica, args, statu)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
radica:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(radica, args, statu)
if args["PediPàggina"] then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- avi_ringhi remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local statu
local statu = {
avi_ringhi = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass statu to all render functions
renderAbove(container, args, statu)
renderTitle(container, args, statu)
renderAllSubheaders(container, args, statu)
renderImages(container, args, statu, ntitaWikidata)
renderNumberedRows(container, args, statu)
renderNavBar(container, args, statu)
renderBelow(container, args, statu)
renderFooter(container, args, statu)
-- Return both container and statu
return container, statu
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get statu
local container, statu = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = abbersaCeddi(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if statu.avi_ringhi then
output = css .. html
end
-- Append categories/references from "empty" rows
if #statu.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(statu.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not eParamitruCanusciutu(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
0rxygwkrrkyu9pjxtivihkola1gtv4a
770567
770566
2025-07-05T08:32:46Z
GianAntonucci
46609
770567
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) VARIÀBBILI D'AJUTU P'ARRICANÙSCIRI I CATIJURÌI E I RIFIRENZI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) PIRCURSI CSS PRIDIFINUTI
--------------------------------------------------------------------------------
-- local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
-- local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
-- local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
local PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidata(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
if not ntitaWikidata or not ntitaWikidata.claims or not ntitaWikidata.claims[prupita] then
return nil
end
-- Addifinemu a tabeḍḍa c'àvi tutti i dichiari dâ prupità c'addumannammu
local tuttiLiDichiari = ntitaWikidata.claims[prupita]
local laMegghiuDichiara = nil
local luMegghiuRancuNummaru = nil
-- Annumiramu i ranchi chi usa Wikidata
local abbersuRanchi = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrullamu tutti i dichiari dâ lista chi pigghiammu di Wikidata
for _, dichiara in ipairs(tuttiLiDichiari) do
local rancu = dichiara.rank or "normal"
local rancuNummaru = abbersuRanchi[rancu] or 2
if not luMegghiuRancuNummaru or rancuNummaru > luMegghiuRancuNummaru then
laMegghiuDichiara = dichiara
luMegghiuRancuNummaru = rancuNummaru
end
end
-- Astrajemu u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, arriggistramu u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Sta funzioni cuntrolla siḍḍu na stringa è vacanti, livannu i tichetti dî
-- rifirenzi e i lijami dî catijurìi
local function eVacantiLivannuRifirenziECatijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummirtemu tutta a stringa 'n minùsculu
local valuriMinusculu = mw.ustring.lower(valuri)
-- Livamu i catijurìi e i rifirenzi
local valuriPulizziatu = mw.ustring.gsub(valuriMinusculu, patternCatijuriiMinusculu, '')
for _, pattern in ipairs(patternRifirenzi) do
valuriPulizziatu = mw.ustring.gsub(valuriPulizziatu, pattern, '')
end
-- S'arrèstanu sulu spazzi janchi, va bonu
return valuriPulizziatu:match('^%s*$') ~= nil
end
-- Sta funzioni cuntrolla siḍḍu i listi ànnu u furmatu giustu pi stari dintra a
-- l'autri elimenti (comu, pi diri, i ceḍḍi di na tabeḍḍa)
local function cuntrollaLista(valuri, classiCSS)
if not valuri then
return valuri
end
-- Pigghiamu u primu caràttari dâ stringa e videmu siḍḍu è un marcaturi di lista
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
if primuCarattari == '#' or primuCarattari == '*' then
-- Nchiujèmulu ntôn div
return '<div>\n' .. valuri .. '\n</div>\n'
end
-- Vasinnò, juncemu sulu n'a-capu
return valuri .. '\n'
end
-- Sta funzioni cuntrolla siḍḍu un paràmitru àvi un nomu canusciutu
local function eParamitruCanusciutu(nomuParamitru)
if type(nomuParamitru) ~= 'string' then
return true
end
-- Cuntrullamu i paràmitri basi
local nomaParamitriBasi = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
-- cancia du ncasciatu (embedded), ??, stili_a_ringu, stili, debug
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
for _, nomuParamitruBasi in ipairs(nomaParamitriBasi) do
if nomuParamitru == nomuParamitruBasi then
return true
end
end
-- Cuntrullamu i paràmitri chî nùmmari
if nomuParamitru:match("^Abbirtenza%d+$") or
nomuParamitru:match("^Vuci%d+$") or
nomuParamitru:match("^Valuri%d+$") or
nomuParamitru:match("^Gruppu%d+$") or
nomuParamitru:match("^Prupità%d+$") or
nomuParamitru:match("^Classi%d+$") then
return true
end
return false
end
-- Function to replace {{{paramName}}} with actual parameter values
local function substituteParameters(text, args)
if not text then return text end
-- Check if we have the pattern
if text:find('{{{Wikidata') then
local wikidataValue = args.Wikidata or 'NIL'
-- Show step by step what happens
local step1 = text
local step2 = text:gsub('{{{Wikidata|}}}', wikidataValue)
local step3 = step2:gsub('{{{Wikidata}}}', wikidataValue)
return "ORIGINAL: [" .. step1 .. "] → STEP1: [" .. step2 .. "] → FINAL: [" .. step3 .. "]"
end
-- Normal operation
local wikidataValue = args.Wikidata or ''
text = text:gsub('{{{Wikidata|}}}', wikidataValue)
text = text:gsub('{{{Wikidata}}}', wikidataValue)
return text
end
local junciRingu -- Na dichiara anticipata, pû chiamari prima mû difinemu
--------------------------------------------------------------------------------
-- 4) SPUSTAMENTU DÎ STILI DI MUDEḌḌU MISI MALU
--------------------------------------------------------------------------------
-- Sta funzioni sposta i tichetti <templatestyles> e i lijami ê catijurìi chi
-- s'attròvanu nta l'elimenti <tr> doppu a fini dâ tichetta </tr>, accussì
-- l'HTML arresta vàlitu
local function abbersaCeddi(html)
if not html or html == "" then
return html
end
-- Spustamu i catijurìi
local function spostaCatijuriiFora(stringa)
-- Prisirbamu a scrittura urigginali nta l'output
return mw.ustring.gsub(
stringa,
-- Pigghiamu </tr> e i spazzi janchi
'(%</[Tt][Rr]%>%s*)' ..
-- Pigghiamu [[Catigurìa:...]], nta vari ortugrafìi
'(%[%[%s*(?:' .. -- '[['
'[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|' .. -- 'Category'
'[Cc][Aa][Tt][Ii][Gg][Uu][Rr][Ìì][Aa]|' .. -- 'Catigurìa'
'[Cc][Aa][Tt][Ii][Jj][Uu][Rr][Ìì][Aa]' .. -- 'Catijurìa'
')%s*:' .. -- ':'
'[^%]]*' .. -- Chiḍḍu c'arresta, nzinu â fini
'%]%] )', -- ']]'
-- Scanciamu i dui pezzi chi pigghiammu
'%2%1'
)
end
html = spostaCatijuriiFora(html)
-- Spustamu i tichetti <templatestyles>
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Spustamu 'UNIQ--templatestyles-....-QINU', alivoti MediaWiki u misi
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 5) FUNZIONI DI BASI PI JÙNCIRI UN RINGU
--------------------------------------------------------------------------------
-- Sta funzioni junci na riga â tèssira
--
-- A tabeḍḍa "paramitri" po aviri:
-- a) paramitri.gruppu => na stringa pû tìtulu d'un gruppu chi pigghia du' culonni
-- b) paramitri.vuci => na stringa pâ tichetta dû ringu (facurtativu)
-- c) paramitri.valuri => na stringa pû valuri di ḍḍa tichetta
-- d) paramitri.classi => classi CSS di jùnciri â ceḍḍa dû valuri
junciRingu = function(radica, paramitri, statu)
-- Siḍḍu è un tìtulu d'un gruppu, criamu un ringu pû tìtulu
if paramitri.gruppu then
radica:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(paramitri.gruppu)
return
end
-- Siḍḍu valuri nun cci nn'è, nun facemu nenti
if not paramitri.valuri or paramitri.valuri == "" then
return
end
-- Cuntrullamu siḍḍu u valuri àvi sulu rifirenzi e/o catijurìi
if eVacantiLivannuRifirenziECatijurii(paramitri.valuri) then
table.insert(statu.empty_row_extras, paramitri.valuri)
return
end
-- Siḍḍu cc'è testu, criamu e facemu vìdiri un ringu
statu.avi_ringhi = true
local ringu = radica:tag('tr')
if paramitri.vuci then
-- Stampamu un ringu nurmali a du' culonni (tichetta + valuri)
ringu:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(paramitri.vuci)
:done()
local td = ringu:tag('td')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
else
-- Siḍḍu tichetta nun cci nn'è, stampamu na ceḍḍa sula a du' culonni
local td = ringu:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(radica, args, statu)
-- DEBUG: Add a debug row to see what's in args.Wikidata
junciRingu(radica, {
vuci = "DEBUG Wikidata",
valuri = "Value: [" .. tostring(args.Wikidata or "NIL") .. "]"
}, statu)
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Add parameter substitution for valuriParam
if valuriParam then
valuriParam = substituteParameters(valuriParam, args)
end
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
junciRingu(radica, { gruppu = gruppuParam }, statu)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
junciRingu(radica, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, statu)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(radica, args, statu)
if args["Supra"] and args["Supra"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(radica, args, statu)
if args["Sutta"] and args["Sutta"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(radica, subheaderText, statu)
if subheaderText and subheaderText ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(radica, args, statu)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(radica, val, statu)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(radica, args, statu)
if args["Tìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(radica, args, statu, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidata(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(radica, args, statu)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
radica:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(radica, args, statu)
if args["PediPàggina"] then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- avi_ringhi remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local statu
local statu = {
avi_ringhi = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass statu to all render functions
renderAbove(container, args, statu)
renderTitle(container, args, statu)
renderAllSubheaders(container, args, statu)
renderImages(container, args, statu, ntitaWikidata)
renderNumberedRows(container, args, statu)
renderNavBar(container, args, statu)
renderBelow(container, args, statu)
renderFooter(container, args, statu)
-- Return both container and statu
return container, statu
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get statu
local container, statu = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = abbersaCeddi(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if statu.avi_ringhi then
output = css .. html
end
-- Append categories/references from "empty" rows
if #statu.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(statu.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not eParamitruCanusciutu(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
o2y577mwf431av6ef97j43tyoj13ogh
770569
770567
2025-07-05T08:35:31Z
GianAntonucci
46609
770569
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) VARIÀBBILI D'AJUTU P'ARRICANÙSCIRI I CATIJURÌI E I RIFIRENZI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) PIRCURSI CSS PRIDIFINUTI
--------------------------------------------------------------------------------
-- local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
-- local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
-- local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
local PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidata(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
if not ntitaWikidata or not ntitaWikidata.claims or not ntitaWikidata.claims[prupita] then
return nil
end
-- Addifinemu a tabeḍḍa c'àvi tutti i dichiari dâ prupità c'addumannammu
local tuttiLiDichiari = ntitaWikidata.claims[prupita]
local laMegghiuDichiara = nil
local luMegghiuRancuNummaru = nil
-- Annumiramu i ranchi chi usa Wikidata
local abbersuRanchi = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrullamu tutti i dichiari dâ lista chi pigghiammu di Wikidata
for _, dichiara in ipairs(tuttiLiDichiari) do
local rancu = dichiara.rank or "normal"
local rancuNummaru = abbersuRanchi[rancu] or 2
if not luMegghiuRancuNummaru or rancuNummaru > luMegghiuRancuNummaru then
laMegghiuDichiara = dichiara
luMegghiuRancuNummaru = rancuNummaru
end
end
-- Astrajemu u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, arriggistramu u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Sta funzioni cuntrolla siḍḍu na stringa è vacanti, livannu i tichetti dî
-- rifirenzi e i lijami dî catijurìi
local function eVacantiLivannuRifirenziECatijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummirtemu tutta a stringa 'n minùsculu
local valuriMinusculu = mw.ustring.lower(valuri)
-- Livamu i catijurìi e i rifirenzi
local valuriPulizziatu = mw.ustring.gsub(valuriMinusculu, patternCatijuriiMinusculu, '')
for _, pattern in ipairs(patternRifirenzi) do
valuriPulizziatu = mw.ustring.gsub(valuriPulizziatu, pattern, '')
end
-- S'arrèstanu sulu spazzi janchi, va bonu
return valuriPulizziatu:match('^%s*$') ~= nil
end
-- Sta funzioni cuntrolla siḍḍu i listi ànnu u furmatu giustu pi stari dintra a
-- l'autri elimenti (comu, pi diri, i ceḍḍi di na tabeḍḍa)
local function cuntrollaLista(valuri, classiCSS)
if not valuri then
return valuri
end
-- Pigghiamu u primu caràttari dâ stringa e videmu siḍḍu è un marcaturi di lista
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
if primuCarattari == '#' or primuCarattari == '*' then
-- Nchiujèmulu ntôn div
return '<div>\n' .. valuri .. '\n</div>\n'
end
-- Vasinnò, juncemu sulu n'a-capu
return valuri .. '\n'
end
-- Sta funzioni cuntrolla siḍḍu un paràmitru àvi un nomu canusciutu
local function eParamitruCanusciutu(nomuParamitru)
if type(nomuParamitru) ~= 'string' then
return true
end
-- Cuntrullamu i paràmitri basi
local nomaParamitriBasi = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
-- cancia du ncasciatu (embedded), ??, stili_a_ringu, stili, debug
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
for _, nomuParamitruBasi in ipairs(nomaParamitriBasi) do
if nomuParamitru == nomuParamitruBasi then
return true
end
end
-- Cuntrullamu i paràmitri chî nùmmari
if nomuParamitru:match("^Abbirtenza%d+$") or
nomuParamitru:match("^Vuci%d+$") or
nomuParamitru:match("^Valuri%d+$") or
nomuParamitru:match("^Gruppu%d+$") or
nomuParamitru:match("^Prupità%d+$") or
nomuParamitru:match("^Classi%d+$") then
return true
end
return false
end
-- Function to replace {{{paramName}}} with actual parameter values
local function substituteParameters(text, args)
if not text then return text end
-- Let's see what's actually in the text
local wikidataValue = args.Wikidata or 'NIL'
-- Show the raw text and its length
local display = "RAW:[" .. text .. "] LENGTH:[" .. #text .. "] "
-- Check for different possible patterns
if text:find('Wikidata') then
display = display .. "Found 'Wikidata' "
end
if text:find('{{{') then
display = display .. "Found '{{{' "
end
if text:find('}}}') then
display = display .. "Found '}}}' "
end
-- Try the substitution anyway
local result = text:gsub('{{{Wikidata|}}}', wikidataValue)
-- If it changed, show it
if result ~= text then
return display .. " SUBSTITUTED TO:[" .. result .. "]"
else
return display .. " NO CHANGE"
end
end
local junciRingu -- Na dichiara anticipata, pû chiamari prima mû difinemu
--------------------------------------------------------------------------------
-- 4) SPUSTAMENTU DÎ STILI DI MUDEḌḌU MISI MALU
--------------------------------------------------------------------------------
-- Sta funzioni sposta i tichetti <templatestyles> e i lijami ê catijurìi chi
-- s'attròvanu nta l'elimenti <tr> doppu a fini dâ tichetta </tr>, accussì
-- l'HTML arresta vàlitu
local function abbersaCeddi(html)
if not html or html == "" then
return html
end
-- Spustamu i catijurìi
local function spostaCatijuriiFora(stringa)
-- Prisirbamu a scrittura urigginali nta l'output
return mw.ustring.gsub(
stringa,
-- Pigghiamu </tr> e i spazzi janchi
'(%</[Tt][Rr]%>%s*)' ..
-- Pigghiamu [[Catigurìa:...]], nta vari ortugrafìi
'(%[%[%s*(?:' .. -- '[['
'[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|' .. -- 'Category'
'[Cc][Aa][Tt][Ii][Gg][Uu][Rr][Ìì][Aa]|' .. -- 'Catigurìa'
'[Cc][Aa][Tt][Ii][Jj][Uu][Rr][Ìì][Aa]' .. -- 'Catijurìa'
')%s*:' .. -- ':'
'[^%]]*' .. -- Chiḍḍu c'arresta, nzinu â fini
'%]%] )', -- ']]'
-- Scanciamu i dui pezzi chi pigghiammu
'%2%1'
)
end
html = spostaCatijuriiFora(html)
-- Spustamu i tichetti <templatestyles>
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Spustamu 'UNIQ--templatestyles-....-QINU', alivoti MediaWiki u misi
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 5) FUNZIONI DI BASI PI JÙNCIRI UN RINGU
--------------------------------------------------------------------------------
-- Sta funzioni junci na riga â tèssira
--
-- A tabeḍḍa "paramitri" po aviri:
-- a) paramitri.gruppu => na stringa pû tìtulu d'un gruppu chi pigghia du' culonni
-- b) paramitri.vuci => na stringa pâ tichetta dû ringu (facurtativu)
-- c) paramitri.valuri => na stringa pû valuri di ḍḍa tichetta
-- d) paramitri.classi => classi CSS di jùnciri â ceḍḍa dû valuri
junciRingu = function(radica, paramitri, statu)
-- Siḍḍu è un tìtulu d'un gruppu, criamu un ringu pû tìtulu
if paramitri.gruppu then
radica:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(paramitri.gruppu)
return
end
-- Siḍḍu valuri nun cci nn'è, nun facemu nenti
if not paramitri.valuri or paramitri.valuri == "" then
return
end
-- Cuntrullamu siḍḍu u valuri àvi sulu rifirenzi e/o catijurìi
if eVacantiLivannuRifirenziECatijurii(paramitri.valuri) then
table.insert(statu.empty_row_extras, paramitri.valuri)
return
end
-- Siḍḍu cc'è testu, criamu e facemu vìdiri un ringu
statu.avi_ringhi = true
local ringu = radica:tag('tr')
if paramitri.vuci then
-- Stampamu un ringu nurmali a du' culonni (tichetta + valuri)
ringu:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(paramitri.vuci)
:done()
local td = ringu:tag('td')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
else
-- Siḍḍu tichetta nun cci nn'è, stampamu na ceḍḍa sula a du' culonni
local td = ringu:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(radica, args, statu)
-- DEBUG: Add a debug row to see what's in args.Wikidata
junciRingu(radica, {
vuci = "DEBUG Wikidata",
valuri = "Value: [" .. tostring(args.Wikidata or "NIL") .. "]"
}, statu)
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Add parameter substitution for valuriParam
if valuriParam then
valuriParam = substituteParameters(valuriParam, args)
end
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
junciRingu(radica, { gruppu = gruppuParam }, statu)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
junciRingu(radica, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, statu)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(radica, args, statu)
if args["Supra"] and args["Supra"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(radica, args, statu)
if args["Sutta"] and args["Sutta"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(radica, subheaderText, statu)
if subheaderText and subheaderText ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(radica, args, statu)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(radica, val, statu)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(radica, args, statu)
if args["Tìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(radica, args, statu, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidata(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(radica, args, statu)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
radica:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(radica, args, statu)
if args["PediPàggina"] then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- avi_ringhi remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local statu
local statu = {
avi_ringhi = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass statu to all render functions
renderAbove(container, args, statu)
renderTitle(container, args, statu)
renderAllSubheaders(container, args, statu)
renderImages(container, args, statu, ntitaWikidata)
renderNumberedRows(container, args, statu)
renderNavBar(container, args, statu)
renderBelow(container, args, statu)
renderFooter(container, args, statu)
-- Return both container and statu
return container, statu
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get statu
local container, statu = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = abbersaCeddi(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if statu.avi_ringhi then
output = css .. html
end
-- Append categories/references from "empty" rows
if #statu.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(statu.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not eParamitruCanusciutu(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
10byorklgx5jk1ykcjb3u83lgsaj2a4
770570
770569
2025-07-05T08:37:24Z
GianAntonucci
46609
770570
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) VARIÀBBILI D'AJUTU P'ARRICANÙSCIRI I CATIJURÌI E I RIFIRENZI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) PIRCURSI CSS PRIDIFINUTI
--------------------------------------------------------------------------------
-- local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
-- local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
-- local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
local PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidata(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
if not ntitaWikidata or not ntitaWikidata.claims or not ntitaWikidata.claims[prupita] then
return nil
end
-- Addifinemu a tabeḍḍa c'àvi tutti i dichiari dâ prupità c'addumannammu
local tuttiLiDichiari = ntitaWikidata.claims[prupita]
local laMegghiuDichiara = nil
local luMegghiuRancuNummaru = nil
-- Annumiramu i ranchi chi usa Wikidata
local abbersuRanchi = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrullamu tutti i dichiari dâ lista chi pigghiammu di Wikidata
for _, dichiara in ipairs(tuttiLiDichiari) do
local rancu = dichiara.rank or "normal"
local rancuNummaru = abbersuRanchi[rancu] or 2
if not luMegghiuRancuNummaru or rancuNummaru > luMegghiuRancuNummaru then
laMegghiuDichiara = dichiara
luMegghiuRancuNummaru = rancuNummaru
end
end
-- Astrajemu u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, arriggistramu u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Sta funzioni cuntrolla siḍḍu na stringa è vacanti, livannu i tichetti dî
-- rifirenzi e i lijami dî catijurìi
local function eVacantiLivannuRifirenziECatijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummirtemu tutta a stringa 'n minùsculu
local valuriMinusculu = mw.ustring.lower(valuri)
-- Livamu i catijurìi e i rifirenzi
local valuriPulizziatu = mw.ustring.gsub(valuriMinusculu, patternCatijuriiMinusculu, '')
for _, pattern in ipairs(patternRifirenzi) do
valuriPulizziatu = mw.ustring.gsub(valuriPulizziatu, pattern, '')
end
-- S'arrèstanu sulu spazzi janchi, va bonu
return valuriPulizziatu:match('^%s*$') ~= nil
end
-- Sta funzioni cuntrolla siḍḍu i listi ànnu u furmatu giustu pi stari dintra a
-- l'autri elimenti (comu, pi diri, i ceḍḍi di na tabeḍḍa)
local function cuntrollaLista(valuri, classiCSS)
if not valuri then
return valuri
end
-- Pigghiamu u primu caràttari dâ stringa e videmu siḍḍu è un marcaturi di lista
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
if primuCarattari == '#' or primuCarattari == '*' then
-- Nchiujèmulu ntôn div
return '<div>\n' .. valuri .. '\n</div>\n'
end
-- Vasinnò, juncemu sulu n'a-capu
return valuri .. '\n'
end
-- Sta funzioni cuntrolla siḍḍu un paràmitru àvi un nomu canusciutu
local function eParamitruCanusciutu(nomuParamitru)
if type(nomuParamitru) ~= 'string' then
return true
end
-- Cuntrullamu i paràmitri basi
local nomaParamitriBasi = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
-- cancia du ncasciatu (embedded), ??, stili_a_ringu, stili, debug
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
for _, nomuParamitruBasi in ipairs(nomaParamitriBasi) do
if nomuParamitru == nomuParamitruBasi then
return true
end
end
-- Cuntrullamu i paràmitri chî nùmmari
if nomuParamitru:match("^Abbirtenza%d+$") or
nomuParamitru:match("^Vuci%d+$") or
nomuParamitru:match("^Valuri%d+$") or
nomuParamitru:match("^Gruppu%d+$") or
nomuParamitru:match("^Prupità%d+$") or
nomuParamitru:match("^Classi%d+$") then
return true
end
return false
end
-- Function to replace {{{paramName}}} with actual parameter values
local function substituteParameters(text, args)
if not text then return text end
local wikidataValue = args.Wikidata or ''
-- Use Lua-style markers
text = text:gsub('${Wikidata}', wikidataValue)
text = text:gsub('$Wikidata', wikidataValue)
return text
end
local junciRingu -- Na dichiara anticipata, pû chiamari prima mû difinemu
--------------------------------------------------------------------------------
-- 4) SPUSTAMENTU DÎ STILI DI MUDEḌḌU MISI MALU
--------------------------------------------------------------------------------
-- Sta funzioni sposta i tichetti <templatestyles> e i lijami ê catijurìi chi
-- s'attròvanu nta l'elimenti <tr> doppu a fini dâ tichetta </tr>, accussì
-- l'HTML arresta vàlitu
local function abbersaCeddi(html)
if not html or html == "" then
return html
end
-- Spustamu i catijurìi
local function spostaCatijuriiFora(stringa)
-- Prisirbamu a scrittura urigginali nta l'output
return mw.ustring.gsub(
stringa,
-- Pigghiamu </tr> e i spazzi janchi
'(%</[Tt][Rr]%>%s*)' ..
-- Pigghiamu [[Catigurìa:...]], nta vari ortugrafìi
'(%[%[%s*(?:' .. -- '[['
'[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|' .. -- 'Category'
'[Cc][Aa][Tt][Ii][Gg][Uu][Rr][Ìì][Aa]|' .. -- 'Catigurìa'
'[Cc][Aa][Tt][Ii][Jj][Uu][Rr][Ìì][Aa]' .. -- 'Catijurìa'
')%s*:' .. -- ':'
'[^%]]*' .. -- Chiḍḍu c'arresta, nzinu â fini
'%]%] )', -- ']]'
-- Scanciamu i dui pezzi chi pigghiammu
'%2%1'
)
end
html = spostaCatijuriiFora(html)
-- Spustamu i tichetti <templatestyles>
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Spustamu 'UNIQ--templatestyles-....-QINU', alivoti MediaWiki u misi
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 5) FUNZIONI DI BASI PI JÙNCIRI UN RINGU
--------------------------------------------------------------------------------
-- Sta funzioni junci na riga â tèssira
--
-- A tabeḍḍa "paramitri" po aviri:
-- a) paramitri.gruppu => na stringa pû tìtulu d'un gruppu chi pigghia du' culonni
-- b) paramitri.vuci => na stringa pâ tichetta dû ringu (facurtativu)
-- c) paramitri.valuri => na stringa pû valuri di ḍḍa tichetta
-- d) paramitri.classi => classi CSS di jùnciri â ceḍḍa dû valuri
junciRingu = function(radica, paramitri, statu)
-- Siḍḍu è un tìtulu d'un gruppu, criamu un ringu pû tìtulu
if paramitri.gruppu then
radica:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(paramitri.gruppu)
return
end
-- Siḍḍu valuri nun cci nn'è, nun facemu nenti
if not paramitri.valuri or paramitri.valuri == "" then
return
end
-- Cuntrullamu siḍḍu u valuri àvi sulu rifirenzi e/o catijurìi
if eVacantiLivannuRifirenziECatijurii(paramitri.valuri) then
table.insert(statu.empty_row_extras, paramitri.valuri)
return
end
-- Siḍḍu cc'è testu, criamu e facemu vìdiri un ringu
statu.avi_ringhi = true
local ringu = radica:tag('tr')
if paramitri.vuci then
-- Stampamu un ringu nurmali a du' culonni (tichetta + valuri)
ringu:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(paramitri.vuci)
:done()
local td = ringu:tag('td')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
else
-- Siḍḍu tichetta nun cci nn'è, stampamu na ceḍḍa sula a du' culonni
local td = ringu:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(radica, args, statu)
-- DEBUG: Add a debug row to see what's in args.Wikidata
junciRingu(radica, {
vuci = "DEBUG Wikidata",
valuri = "Value: [" .. tostring(args.Wikidata or "NIL") .. "]"
}, statu)
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Add parameter substitution for valuriParam
if valuriParam then
valuriParam = substituteParameters(valuriParam, args)
end
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
junciRingu(radica, { gruppu = gruppuParam }, statu)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
junciRingu(radica, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, statu)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(radica, args, statu)
if args["Supra"] and args["Supra"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(radica, args, statu)
if args["Sutta"] and args["Sutta"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(radica, subheaderText, statu)
if subheaderText and subheaderText ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(radica, args, statu)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(radica, val, statu)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(radica, args, statu)
if args["Tìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(radica, args, statu, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidata(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(radica, args, statu)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
radica:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(radica, args, statu)
if args["PediPàggina"] then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- avi_ringhi remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local statu
local statu = {
avi_ringhi = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass statu to all render functions
renderAbove(container, args, statu)
renderTitle(container, args, statu)
renderAllSubheaders(container, args, statu)
renderImages(container, args, statu, ntitaWikidata)
renderNumberedRows(container, args, statu)
renderNavBar(container, args, statu)
renderBelow(container, args, statu)
renderFooter(container, args, statu)
-- Return both container and statu
return container, statu
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get statu
local container, statu = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = abbersaCeddi(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if statu.avi_ringhi then
output = css .. html
end
-- Append categories/references from "empty" rows
if #statu.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(statu.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not eParamitruCanusciutu(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
rr9ddzigbkjjcgixf9q1hdo8cdahbo0
770571
770570
2025-07-05T08:38:34Z
GianAntonucci
46609
770571
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) VARIÀBBILI D'AJUTU P'ARRICANÙSCIRI I CATIJURÌI E I RIFIRENZI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) PIRCURSI CSS PRIDIFINUTI
--------------------------------------------------------------------------------
-- local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
-- local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
-- local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
local PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidata(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
if not ntitaWikidata or not ntitaWikidata.claims or not ntitaWikidata.claims[prupita] then
return nil
end
-- Addifinemu a tabeḍḍa c'àvi tutti i dichiari dâ prupità c'addumannammu
local tuttiLiDichiari = ntitaWikidata.claims[prupita]
local laMegghiuDichiara = nil
local luMegghiuRancuNummaru = nil
-- Annumiramu i ranchi chi usa Wikidata
local abbersuRanchi = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrullamu tutti i dichiari dâ lista chi pigghiammu di Wikidata
for _, dichiara in ipairs(tuttiLiDichiari) do
local rancu = dichiara.rank or "normal"
local rancuNummaru = abbersuRanchi[rancu] or 2
if not luMegghiuRancuNummaru or rancuNummaru > luMegghiuRancuNummaru then
laMegghiuDichiara = dichiara
luMegghiuRancuNummaru = rancuNummaru
end
end
-- Astrajemu u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, arriggistramu u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Sta funzioni cuntrolla siḍḍu na stringa è vacanti, livannu i tichetti dî
-- rifirenzi e i lijami dî catijurìi
local function eVacantiLivannuRifirenziECatijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummirtemu tutta a stringa 'n minùsculu
local valuriMinusculu = mw.ustring.lower(valuri)
-- Livamu i catijurìi e i rifirenzi
local valuriPulizziatu = mw.ustring.gsub(valuriMinusculu, patternCatijuriiMinusculu, '')
for _, pattern in ipairs(patternRifirenzi) do
valuriPulizziatu = mw.ustring.gsub(valuriPulizziatu, pattern, '')
end
-- S'arrèstanu sulu spazzi janchi, va bonu
return valuriPulizziatu:match('^%s*$') ~= nil
end
-- Sta funzioni cuntrolla siḍḍu i listi ànnu u furmatu giustu pi stari dintra a
-- l'autri elimenti (comu, pi diri, i ceḍḍi di na tabeḍḍa)
local function cuntrollaLista(valuri, classiCSS)
if not valuri then
return valuri
end
-- Pigghiamu u primu caràttari dâ stringa e videmu siḍḍu è un marcaturi di lista
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
if primuCarattari == '#' or primuCarattari == '*' then
-- Nchiujèmulu ntôn div
return '<div>\n' .. valuri .. '\n</div>\n'
end
-- Vasinnò, juncemu sulu n'a-capu
return valuri .. '\n'
end
-- Sta funzioni cuntrolla siḍḍu un paràmitru àvi un nomu canusciutu
local function eParamitruCanusciutu(nomuParamitru)
if type(nomuParamitru) ~= 'string' then
return true
end
-- Cuntrullamu i paràmitri basi
local nomaParamitriBasi = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
-- cancia du ncasciatu (embedded), ??, stili_a_ringu, stili, debug
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
for _, nomuParamitruBasi in ipairs(nomaParamitriBasi) do
if nomuParamitru == nomuParamitruBasi then
return true
end
end
-- Cuntrullamu i paràmitri chî nùmmari
if nomuParamitru:match("^Abbirtenza%d+$") or
nomuParamitru:match("^Vuci%d+$") or
nomuParamitru:match("^Valuri%d+$") or
nomuParamitru:match("^Gruppu%d+$") or
nomuParamitru:match("^Prupità%d+$") or
nomuParamitru:match("^Classi%d+$") then
return true
end
return false
end
-- Function to replace {{{paramName}}} with actual parameter values
local function substituteParameters(text, args)
if not text then return text end
local wikidataValue = args.Wikidata or ''
-- Use different markers that MediaWiki won't process
text = text:gsub('@@WIKIDATA@@', wikidataValue)
text = text:gsub('@%[Wikidata%]@', wikidataValue)
return text
end
local junciRingu -- Na dichiara anticipata, pû chiamari prima mû difinemu
--------------------------------------------------------------------------------
-- 4) SPUSTAMENTU DÎ STILI DI MUDEḌḌU MISI MALU
--------------------------------------------------------------------------------
-- Sta funzioni sposta i tichetti <templatestyles> e i lijami ê catijurìi chi
-- s'attròvanu nta l'elimenti <tr> doppu a fini dâ tichetta </tr>, accussì
-- l'HTML arresta vàlitu
local function abbersaCeddi(html)
if not html or html == "" then
return html
end
-- Spustamu i catijurìi
local function spostaCatijuriiFora(stringa)
-- Prisirbamu a scrittura urigginali nta l'output
return mw.ustring.gsub(
stringa,
-- Pigghiamu </tr> e i spazzi janchi
'(%</[Tt][Rr]%>%s*)' ..
-- Pigghiamu [[Catigurìa:...]], nta vari ortugrafìi
'(%[%[%s*(?:' .. -- '[['
'[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|' .. -- 'Category'
'[Cc][Aa][Tt][Ii][Gg][Uu][Rr][Ìì][Aa]|' .. -- 'Catigurìa'
'[Cc][Aa][Tt][Ii][Jj][Uu][Rr][Ìì][Aa]' .. -- 'Catijurìa'
')%s*:' .. -- ':'
'[^%]]*' .. -- Chiḍḍu c'arresta, nzinu â fini
'%]%] )', -- ']]'
-- Scanciamu i dui pezzi chi pigghiammu
'%2%1'
)
end
html = spostaCatijuriiFora(html)
-- Spustamu i tichetti <templatestyles>
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Spustamu 'UNIQ--templatestyles-....-QINU', alivoti MediaWiki u misi
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 5) FUNZIONI DI BASI PI JÙNCIRI UN RINGU
--------------------------------------------------------------------------------
-- Sta funzioni junci na riga â tèssira
--
-- A tabeḍḍa "paramitri" po aviri:
-- a) paramitri.gruppu => na stringa pû tìtulu d'un gruppu chi pigghia du' culonni
-- b) paramitri.vuci => na stringa pâ tichetta dû ringu (facurtativu)
-- c) paramitri.valuri => na stringa pû valuri di ḍḍa tichetta
-- d) paramitri.classi => classi CSS di jùnciri â ceḍḍa dû valuri
junciRingu = function(radica, paramitri, statu)
-- Siḍḍu è un tìtulu d'un gruppu, criamu un ringu pû tìtulu
if paramitri.gruppu then
radica:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(paramitri.gruppu)
return
end
-- Siḍḍu valuri nun cci nn'è, nun facemu nenti
if not paramitri.valuri or paramitri.valuri == "" then
return
end
-- Cuntrullamu siḍḍu u valuri àvi sulu rifirenzi e/o catijurìi
if eVacantiLivannuRifirenziECatijurii(paramitri.valuri) then
table.insert(statu.empty_row_extras, paramitri.valuri)
return
end
-- Siḍḍu cc'è testu, criamu e facemu vìdiri un ringu
statu.avi_ringhi = true
local ringu = radica:tag('tr')
if paramitri.vuci then
-- Stampamu un ringu nurmali a du' culonni (tichetta + valuri)
ringu:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(paramitri.vuci)
:done()
local td = ringu:tag('td')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
else
-- Siḍḍu tichetta nun cci nn'è, stampamu na ceḍḍa sula a du' culonni
local td = ringu:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(radica, args, statu)
-- DEBUG: Add a debug row to see what's in args.Wikidata
junciRingu(radica, {
vuci = "DEBUG Wikidata",
valuri = "Value: [" .. tostring(args.Wikidata or "NIL") .. "]"
}, statu)
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Add parameter substitution for valuriParam
if valuriParam then
valuriParam = substituteParameters(valuriParam, args)
end
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
junciRingu(radica, { gruppu = gruppuParam }, statu)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
junciRingu(radica, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, statu)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(radica, args, statu)
if args["Supra"] and args["Supra"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(radica, args, statu)
if args["Sutta"] and args["Sutta"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(radica, subheaderText, statu)
if subheaderText and subheaderText ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(radica, args, statu)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(radica, val, statu)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(radica, args, statu)
if args["Tìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(radica, args, statu, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidata(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(radica, args, statu)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
radica:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(radica, args, statu)
if args["PediPàggina"] then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- avi_ringhi remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local statu
local statu = {
avi_ringhi = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass statu to all render functions
renderAbove(container, args, statu)
renderTitle(container, args, statu)
renderAllSubheaders(container, args, statu)
renderImages(container, args, statu, ntitaWikidata)
renderNumberedRows(container, args, statu)
renderNavBar(container, args, statu)
renderBelow(container, args, statu)
renderFooter(container, args, statu)
-- Return both container and statu
return container, statu
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get statu
local container, statu = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = abbersaCeddi(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if statu.avi_ringhi then
output = css .. html
end
-- Append categories/references from "empty" rows
if #statu.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(statu.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not eParamitruCanusciutu(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
hyt3qkvbdfouszzhffoyse7ij623914
770572
770571
2025-07-05T08:40:38Z
GianAntonucci
46609
770572
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) VARIÀBBILI D'AJUTU P'ARRICANÙSCIRI I CATIJURÌI E I RIFIRENZI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) PIRCURSI CSS PRIDIFINUTI
--------------------------------------------------------------------------------
-- local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
-- local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
-- local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
local PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidata(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
if not ntitaWikidata or not ntitaWikidata.claims or not ntitaWikidata.claims[prupita] then
return nil
end
-- Addifinemu a tabeḍḍa c'àvi tutti i dichiari dâ prupità c'addumannammu
local tuttiLiDichiari = ntitaWikidata.claims[prupita]
local laMegghiuDichiara = nil
local luMegghiuRancuNummaru = nil
-- Annumiramu i ranchi chi usa Wikidata
local abbersuRanchi = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrullamu tutti i dichiari dâ lista chi pigghiammu di Wikidata
for _, dichiara in ipairs(tuttiLiDichiari) do
local rancu = dichiara.rank or "normal"
local rancuNummaru = abbersuRanchi[rancu] or 2
if not luMegghiuRancuNummaru or rancuNummaru > luMegghiuRancuNummaru then
laMegghiuDichiara = dichiara
luMegghiuRancuNummaru = rancuNummaru
end
end
-- Astrajemu u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, arriggistramu u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Sta funzioni cuntrolla siḍḍu na stringa è vacanti, livannu i tichetti dî
-- rifirenzi e i lijami dî catijurìi
local function eVacantiLivannuRifirenziECatijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummirtemu tutta a stringa 'n minùsculu
local valuriMinusculu = mw.ustring.lower(valuri)
-- Livamu i catijurìi e i rifirenzi
local valuriPulizziatu = mw.ustring.gsub(valuriMinusculu, patternCatijuriiMinusculu, '')
for _, pattern in ipairs(patternRifirenzi) do
valuriPulizziatu = mw.ustring.gsub(valuriPulizziatu, pattern, '')
end
-- S'arrèstanu sulu spazzi janchi, va bonu
return valuriPulizziatu:match('^%s*$') ~= nil
end
-- Sta funzioni cuntrolla siḍḍu i listi ànnu u furmatu giustu pi stari dintra a
-- l'autri elimenti (comu, pi diri, i ceḍḍi di na tabeḍḍa)
local function cuntrollaLista(valuri, classiCSS)
if not valuri then
return valuri
end
-- Pigghiamu u primu caràttari dâ stringa e videmu siḍḍu è un marcaturi di lista
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
if primuCarattari == '#' or primuCarattari == '*' then
-- Nchiujèmulu ntôn div
return '<div>\n' .. valuri .. '\n</div>\n'
end
-- Vasinnò, juncemu sulu n'a-capu
return valuri .. '\n'
end
-- Sta funzioni cuntrolla siḍḍu un paràmitru àvi un nomu canusciutu
local function eParamitruCanusciutu(nomuParamitru)
if type(nomuParamitru) ~= 'string' then
return true
end
-- Cuntrullamu i paràmitri basi
local nomaParamitriBasi = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
-- cancia du ncasciatu (embedded), ??, stili_a_ringu, stili, debug
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
for _, nomuParamitruBasi in ipairs(nomaParamitriBasi) do
if nomuParamitru == nomuParamitruBasi then
return true
end
end
-- Cuntrullamu i paràmitri chî nùmmari
if nomuParamitru:match("^Abbirtenza%d+$") or
nomuParamitru:match("^Vuci%d+$") or
nomuParamitru:match("^Valuri%d+$") or
nomuParamitru:match("^Gruppu%d+$") or
nomuParamitru:match("^Prupità%d+$") or
nomuParamitru:match("^Classi%d+$") then
return true
end
return false
end
-- Function to replace {{{paramName}}} with actual parameter values
local function substituteParameters(text, args)
if not text then return text end
local wikidataValue = args.Wikidata or ''
-- Use different markers that MediaWiki won't process
text = text:gsub('@@WIKIDATA@@', wikidataValue)
text = text:gsub('@%[Wikidata%]@', wikidataValue)
return text
end
local junciRingu -- Na dichiara anticipata, pû chiamari prima mû difinemu
--------------------------------------------------------------------------------
-- 4) SPUSTAMENTU DÎ STILI DI MUDEḌḌU MISI MALU
--------------------------------------------------------------------------------
-- Sta funzioni sposta i tichetti <templatestyles> e i lijami ê catijurìi chi
-- s'attròvanu nta l'elimenti <tr> doppu a fini dâ tichetta </tr>, accussì
-- l'HTML arresta vàlitu
local function abbersaCeddi(html)
if not html or html == "" then
return html
end
-- Spustamu i catijurìi
local function spostaCatijuriiFora(stringa)
-- Prisirbamu a scrittura urigginali nta l'output
return mw.ustring.gsub(
stringa,
-- Pigghiamu </tr> e i spazzi janchi
'(%</[Tt][Rr]%>%s*)' ..
-- Pigghiamu [[Catigurìa:...]], nta vari ortugrafìi
'(%[%[%s*(?:' .. -- '[['
'[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|' .. -- 'Category'
'[Cc][Aa][Tt][Ii][Gg][Uu][Rr][Ìì][Aa]|' .. -- 'Catigurìa'
'[Cc][Aa][Tt][Ii][Jj][Uu][Rr][Ìì][Aa]' .. -- 'Catijurìa'
')%s*:' .. -- ':'
'[^%]]*' .. -- Chiḍḍu c'arresta, nzinu â fini
'%]%] )', -- ']]'
-- Scanciamu i dui pezzi chi pigghiammu
'%2%1'
)
end
html = spostaCatijuriiFora(html)
-- Spustamu i tichetti <templatestyles>
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Spustamu 'UNIQ--templatestyles-....-QINU', alivoti MediaWiki u misi
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 5) FUNZIONI DI BASI PI JÙNCIRI UN RINGU
--------------------------------------------------------------------------------
-- Sta funzioni junci na riga â tèssira
--
-- A tabeḍḍa "paramitri" po aviri:
-- a) paramitri.gruppu => na stringa pû tìtulu d'un gruppu chi pigghia du' culonni
-- b) paramitri.vuci => na stringa pâ tichetta dû ringu (facurtativu)
-- c) paramitri.valuri => na stringa pû valuri di ḍḍa tichetta
-- d) paramitri.classi => classi CSS di jùnciri â ceḍḍa dû valuri
junciRingu = function(radica, paramitri, statu)
-- Siḍḍu è un tìtulu d'un gruppu, criamu un ringu pû tìtulu
if paramitri.gruppu then
radica:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(paramitri.gruppu)
return
end
-- Siḍḍu valuri nun cci nn'è, nun facemu nenti
if not paramitri.valuri or paramitri.valuri == "" then
return
end
-- Cuntrullamu siḍḍu u valuri àvi sulu rifirenzi e/o catijurìi
if eVacantiLivannuRifirenziECatijurii(paramitri.valuri) then
table.insert(statu.empty_row_extras, paramitri.valuri)
return
end
-- Siḍḍu cc'è testu, criamu e facemu vìdiri un ringu
statu.avi_ringhi = true
local ringu = radica:tag('tr')
if paramitri.vuci then
-- Stampamu un ringu nurmali a du' culonni (tichetta + valuri)
ringu:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(paramitri.vuci)
:done()
local td = ringu:tag('td')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
else
-- Siḍḍu tichetta nun cci nn'è, stampamu na ceḍḍa sula a du' culonni
local td = ringu:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(radica, args, statu)
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Add parameter substitution for valuriParam
if valuriParam then
valuriParam = substituteParameters(valuriParam, args)
end
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
junciRingu(radica, { gruppu = gruppuParam }, statu)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
junciRingu(radica, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, statu)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(radica, args, statu)
if args["Supra"] and args["Supra"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(radica, args, statu)
if args["Sutta"] and args["Sutta"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(radica, subheaderText, statu)
if subheaderText and subheaderText ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(radica, args, statu)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(radica, val, statu)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(radica, args, statu)
if args["Tìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(radica, args, statu, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidata(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(radica, args, statu)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
radica:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(radica, args, statu)
if args["PediPàggina"] then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- avi_ringhi remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local statu
local statu = {
avi_ringhi = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass statu to all render functions
renderAbove(container, args, statu)
renderTitle(container, args, statu)
renderAllSubheaders(container, args, statu)
renderImages(container, args, statu, ntitaWikidata)
renderNumberedRows(container, args, statu)
renderNavBar(container, args, statu)
renderBelow(container, args, statu)
renderFooter(container, args, statu)
-- Return both container and statu
return container, statu
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get statu
local container, statu = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = abbersaCeddi(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if statu.avi_ringhi then
output = css .. html
end
-- Append categories/references from "empty" rows
if #statu.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(statu.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not eParamitruCanusciutu(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
d0dmnuyy0rygk6udeltfi1xhjioehqi
770573
770572
2025-07-05T08:43:44Z
GianAntonucci
46609
770573
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) VARIÀBBILI D'AJUTU P'ARRICANÙSCIRI I CATIJURÌI E I RIFIRENZI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) PIRCURSI CSS PRIDIFINUTI
--------------------------------------------------------------------------------
-- local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
-- local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
-- local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
local PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidata(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
if not ntitaWikidata or not ntitaWikidata.claims or not ntitaWikidata.claims[prupita] then
return nil
end
-- Addifinemu a tabeḍḍa c'àvi tutti i dichiari dâ prupità c'addumannammu
local tuttiLiDichiari = ntitaWikidata.claims[prupita]
local laMegghiuDichiara = nil
local luMegghiuRancuNummaru = nil
-- Annumiramu i ranchi chi usa Wikidata
local abbersuRanchi = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrullamu tutti i dichiari dâ lista chi pigghiammu di Wikidata
for _, dichiara in ipairs(tuttiLiDichiari) do
local rancu = dichiara.rank or "normal"
local rancuNummaru = abbersuRanchi[rancu] or 2
if not luMegghiuRancuNummaru or rancuNummaru > luMegghiuRancuNummaru then
laMegghiuDichiara = dichiara
luMegghiuRancuNummaru = rancuNummaru
end
end
-- Astrajemu u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, arriggistramu u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Sta funzioni cuntrolla siḍḍu na stringa è vacanti, livannu i tichetti dî
-- rifirenzi e i lijami dî catijurìi
local function eVacantiLivannuRifirenziECatijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummirtemu tutta a stringa 'n minùsculu
local valuriMinusculu = mw.ustring.lower(valuri)
-- Livamu i catijurìi e i rifirenzi
local valuriPulizziatu = mw.ustring.gsub(valuriMinusculu, patternCatijuriiMinusculu, '')
for _, pattern in ipairs(patternRifirenzi) do
valuriPulizziatu = mw.ustring.gsub(valuriPulizziatu, pattern, '')
end
-- S'arrèstanu sulu spazzi janchi, va bonu
return valuriPulizziatu:match('^%s*$') ~= nil
end
-- Sta funzioni cuntrolla siḍḍu i listi ànnu u furmatu giustu pi stari dintra a
-- l'autri elimenti (comu, pi diri, i ceḍḍi di na tabeḍḍa)
local function cuntrollaLista(valuri, classiCSS)
if not valuri then
return valuri
end
-- Pigghiamu u primu caràttari dâ stringa e videmu siḍḍu è un marcaturi di lista
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
if primuCarattari == '#' or primuCarattari == '*' then
-- Nchiujèmulu ntôn div
return '<div>\n' .. valuri .. '\n</div>\n'
end
-- Vasinnò, juncemu sulu n'a-capu
return valuri .. '\n'
end
-- Sta funzioni cuntrolla siḍḍu un paràmitru àvi un nomu canusciutu
local function eParamitruCanusciutu(nomuParamitru)
if type(nomuParamitru) ~= 'string' then
return true
end
-- Cuntrullamu i paràmitri basi
local nomaParamitriBasi = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
-- cancia du ncasciatu (embedded), ??, stili_a_ringu, stili, debug
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
for _, nomuParamitruBasi in ipairs(nomaParamitriBasi) do
if nomuParamitru == nomuParamitruBasi then
return true
end
end
-- Cuntrullamu i paràmitri chî nùmmari
if nomuParamitru:match("^Abbirtenza%d+$") or
nomuParamitru:match("^Vuci%d+$") or
nomuParamitru:match("^Valuri%d+$") or
nomuParamitru:match("^Gruppu%d+$") or
nomuParamitru:match("^Prupità%d+$") or
nomuParamitru:match("^Classi%d+$") then
return true
end
return false
end
-- Function to replace {{{paramName}}} with actual parameter values
local function substituteParameters(text, args)
if not text then return text end
local wikidataValue = args.Wikidata or ''
-- Use different markers that MediaWiki won't process
text = text:gsub('@@WIKIDATA@@', wikidataValue)
text = text:gsub('@%[Wikidata%]@', wikidataValue)
return text
end
local junciRingu -- Na dichiara anticipata, pû chiamari prima mû difinemu
--------------------------------------------------------------------------------
-- 4) SPUSTAMENTU DÎ STILI DI MUDEḌḌU MISI MALU
--------------------------------------------------------------------------------
-- Sta funzioni sposta i tichetti <templatestyles> e i lijami ê catijurìi chi
-- s'attròvanu nta l'elimenti <tr> doppu a fini dâ tichetta </tr>, accussì
-- l'HTML arresta vàlitu
local function abbersaCeddi(html)
if not html or html == "" then
return html
end
-- Spustamu i catijurìi
local function spostaCatijuriiFora(stringa)
-- Prisirbamu a scrittura urigginali nta l'output
return mw.ustring.gsub(
stringa,
-- Pigghiamu </tr> e i spazzi janchi
'(%</[Tt][Rr]%>%s*)' ..
-- Pigghiamu [[Catigurìa:...]], nta vari ortugrafìi
'(%[%[%s*(?:' .. -- '[['
'[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|' .. -- 'Category'
'[Cc][Aa][Tt][Ii][Gg][Uu][Rr][Ìì][Aa]|' .. -- 'Catigurìa'
'[Cc][Aa][Tt][Ii][Jj][Uu][Rr][Ìì][Aa]' .. -- 'Catijurìa'
')%s*:' .. -- ':'
'[^%]]*' .. -- Chiḍḍu c'arresta, nzinu â fini
'%]%] )', -- ']]'
-- Scanciamu i dui pezzi chi pigghiammu
'%2%1'
)
end
html = spostaCatijuriiFora(html)
-- Spustamu i tichetti <templatestyles>
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Spustamu 'UNIQ--templatestyles-....-QINU', alivoti MediaWiki u misi
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 5) FUNZIONI DI BASI PI JÙNCIRI UN RINGU
--------------------------------------------------------------------------------
-- Sta funzioni junci na riga â tèssira
--
-- A tabeḍḍa "paramitri" po aviri:
-- a) paramitri.gruppu => na stringa pû tìtulu d'un gruppu chi pigghia du' culonni
-- b) paramitri.vuci => na stringa pâ tichetta dû ringu (facurtativu)
-- c) paramitri.valuri => na stringa pû valuri di ḍḍa tichetta
-- d) paramitri.classi => classi CSS di jùnciri â ceḍḍa dû valuri
junciRingu = function(radica, paramitri, statu)
-- Siḍḍu è un tìtulu d'un gruppu, criamu un ringu pû tìtulu
if paramitri.gruppu then
radica:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(paramitri.gruppu)
return
end
-- Siḍḍu valuri nun cci nn'è, nun facemu nenti
if not paramitri.valuri or paramitri.valuri == "" then
return
end
-- Cuntrullamu siḍḍu u valuri àvi sulu rifirenzi e/o catijurìi
if eVacantiLivannuRifirenziECatijurii(paramitri.valuri) then
table.insert(statu.empty_row_extras, paramitri.valuri)
return
end
-- Siḍḍu cc'è testu, criamu e facemu vìdiri un ringu
statu.avi_ringhi = true
local ringu = radica:tag('tr')
if paramitri.vuci then
-- Stampamu un ringu nurmali a du' culonni (tichetta + valuri)
ringu:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(paramitri.vuci)
:done()
local td = ringu:tag('td')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
else
-- Siḍḍu tichetta nun cci nn'è, stampamu na ceḍḍa sula a du' culonni
local td = ringu:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(radica, args, statu)
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Add parameter substitution for valuriParam
if valuriParam then
valuriParam = substituteParameters(valuriParam, args)
-- Preprocess to expand templates/modules with substituted values
valuriParam = mw.getCurrentFrame():preprocess(valuriParam)
end
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
junciRingu(radica, { gruppu = gruppuParam }, statu)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
junciRingu(radica, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, statu)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(radica, args, statu)
if args["Supra"] and args["Supra"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(radica, args, statu)
if args["Sutta"] and args["Sutta"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(radica, subheaderText, statu)
if subheaderText and subheaderText ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(radica, args, statu)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(radica, val, statu)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(radica, args, statu)
if args["Tìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(radica, args, statu, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidata(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(radica, args, statu)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
radica:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(radica, args, statu)
if args["PediPàggina"] then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- avi_ringhi remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local statu
local statu = {
avi_ringhi = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass statu to all render functions
renderAbove(container, args, statu)
renderTitle(container, args, statu)
renderAllSubheaders(container, args, statu)
renderImages(container, args, statu, ntitaWikidata)
renderNumberedRows(container, args, statu)
renderNavBar(container, args, statu)
renderBelow(container, args, statu)
renderFooter(container, args, statu)
-- Return both container and statu
return container, statu
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get statu
local container, statu = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = abbersaCeddi(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if statu.avi_ringhi then
output = css .. html
end
-- Append categories/references from "empty" rows
if #statu.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(statu.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not eParamitruCanusciutu(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
1xna775wo88sa2w4891ef2burow4kmr
770574
770573
2025-07-05T08:45:13Z
GianAntonucci
46609
770574
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) VARIÀBBILI D'AJUTU P'ARRICANÙSCIRI I CATIJURÌI E I RIFIRENZI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) PIRCURSI CSS PRIDIFINUTI
--------------------------------------------------------------------------------
-- local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
-- local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
-- local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
local PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidata(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
if not ntitaWikidata or not ntitaWikidata.claims or not ntitaWikidata.claims[prupita] then
return nil
end
-- Addifinemu a tabeḍḍa c'àvi tutti i dichiari dâ prupità c'addumannammu
local tuttiLiDichiari = ntitaWikidata.claims[prupita]
local laMegghiuDichiara = nil
local luMegghiuRancuNummaru = nil
-- Annumiramu i ranchi chi usa Wikidata
local abbersuRanchi = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrullamu tutti i dichiari dâ lista chi pigghiammu di Wikidata
for _, dichiara in ipairs(tuttiLiDichiari) do
local rancu = dichiara.rank or "normal"
local rancuNummaru = abbersuRanchi[rancu] or 2
if not luMegghiuRancuNummaru or rancuNummaru > luMegghiuRancuNummaru then
laMegghiuDichiara = dichiara
luMegghiuRancuNummaru = rancuNummaru
end
end
-- Astrajemu u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, arriggistramu u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Sta funzioni cuntrolla siḍḍu na stringa è vacanti, livannu i tichetti dî
-- rifirenzi e i lijami dî catijurìi
local function eVacantiLivannuRifirenziECatijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummirtemu tutta a stringa 'n minùsculu
local valuriMinusculu = mw.ustring.lower(valuri)
-- Livamu i catijurìi e i rifirenzi
local valuriPulizziatu = mw.ustring.gsub(valuriMinusculu, patternCatijuriiMinusculu, '')
for _, pattern in ipairs(patternRifirenzi) do
valuriPulizziatu = mw.ustring.gsub(valuriPulizziatu, pattern, '')
end
-- S'arrèstanu sulu spazzi janchi, va bonu
return valuriPulizziatu:match('^%s*$') ~= nil
end
-- Sta funzioni cuntrolla siḍḍu i listi ànnu u furmatu giustu pi stari dintra a
-- l'autri elimenti (comu, pi diri, i ceḍḍi di na tabeḍḍa)
local function cuntrollaLista(valuri, classiCSS)
if not valuri then
return valuri
end
-- Pigghiamu u primu caràttari dâ stringa e videmu siḍḍu è un marcaturi di lista
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
if primuCarattari == '#' or primuCarattari == '*' then
-- Nchiujèmulu ntôn div
return '<div>\n' .. valuri .. '\n</div>\n'
end
-- Vasinnò, juncemu sulu n'a-capu
return valuri .. '\n'
end
-- Sta funzioni cuntrolla siḍḍu un paràmitru àvi un nomu canusciutu
local function eParamitruCanusciutu(nomuParamitru)
if type(nomuParamitru) ~= 'string' then
return true
end
-- Cuntrullamu i paràmitri basi
local nomaParamitriBasi = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
-- cancia du ncasciatu (embedded), ??, stili_a_ringu, stili, debug
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
for _, nomuParamitruBasi in ipairs(nomaParamitriBasi) do
if nomuParamitru == nomuParamitruBasi then
return true
end
end
-- Cuntrullamu i paràmitri chî nùmmari
if nomuParamitru:match("^Abbirtenza%d+$") or
nomuParamitru:match("^Vuci%d+$") or
nomuParamitru:match("^Valuri%d+$") or
nomuParamitru:match("^Gruppu%d+$") or
nomuParamitru:match("^Prupità%d+$") or
nomuParamitru:match("^Classi%d+$") then
return true
end
return false
end
-- Function to replace {{{paramName}}} with actual parameter values
local function substituteParameters(text, args)
if not text then return text end
local wikidataValue = args.Wikidata or ''
-- If we find the invoke pattern with @@WIKIDATA@@, expand it directly
if text:find('{{#invoke:') and text:find('@@WIKIDATA@@') then
-- Replace @@WIKIDATA@@ first
local expandedText = text:gsub('@@WIKIDATA@@', wikidataValue)
-- Try to expand the template
local success, result = pcall(function()
return mw.getCurrentFrame():preprocess(expandedText)
end)
if success then
return result
else
return "ERROR: " .. tostring(result)
end
end
-- For non-invoke text, just replace
return text:gsub('@@WIKIDATA@@', wikidataValue)
end
local junciRingu -- Na dichiara anticipata, pû chiamari prima mû difinemu
--------------------------------------------------------------------------------
-- 4) SPUSTAMENTU DÎ STILI DI MUDEḌḌU MISI MALU
--------------------------------------------------------------------------------
-- Sta funzioni sposta i tichetti <templatestyles> e i lijami ê catijurìi chi
-- s'attròvanu nta l'elimenti <tr> doppu a fini dâ tichetta </tr>, accussì
-- l'HTML arresta vàlitu
local function abbersaCeddi(html)
if not html or html == "" then
return html
end
-- Spustamu i catijurìi
local function spostaCatijuriiFora(stringa)
-- Prisirbamu a scrittura urigginali nta l'output
return mw.ustring.gsub(
stringa,
-- Pigghiamu </tr> e i spazzi janchi
'(%</[Tt][Rr]%>%s*)' ..
-- Pigghiamu [[Catigurìa:...]], nta vari ortugrafìi
'(%[%[%s*(?:' .. -- '[['
'[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|' .. -- 'Category'
'[Cc][Aa][Tt][Ii][Gg][Uu][Rr][Ìì][Aa]|' .. -- 'Catigurìa'
'[Cc][Aa][Tt][Ii][Jj][Uu][Rr][Ìì][Aa]' .. -- 'Catijurìa'
')%s*:' .. -- ':'
'[^%]]*' .. -- Chiḍḍu c'arresta, nzinu â fini
'%]%] )', -- ']]'
-- Scanciamu i dui pezzi chi pigghiammu
'%2%1'
)
end
html = spostaCatijuriiFora(html)
-- Spustamu i tichetti <templatestyles>
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Spustamu 'UNIQ--templatestyles-....-QINU', alivoti MediaWiki u misi
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 5) FUNZIONI DI BASI PI JÙNCIRI UN RINGU
--------------------------------------------------------------------------------
-- Sta funzioni junci na riga â tèssira
--
-- A tabeḍḍa "paramitri" po aviri:
-- a) paramitri.gruppu => na stringa pû tìtulu d'un gruppu chi pigghia du' culonni
-- b) paramitri.vuci => na stringa pâ tichetta dû ringu (facurtativu)
-- c) paramitri.valuri => na stringa pû valuri di ḍḍa tichetta
-- d) paramitri.classi => classi CSS di jùnciri â ceḍḍa dû valuri
junciRingu = function(radica, paramitri, statu)
-- Siḍḍu è un tìtulu d'un gruppu, criamu un ringu pû tìtulu
if paramitri.gruppu then
radica:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(paramitri.gruppu)
return
end
-- Siḍḍu valuri nun cci nn'è, nun facemu nenti
if not paramitri.valuri or paramitri.valuri == "" then
return
end
-- Cuntrullamu siḍḍu u valuri àvi sulu rifirenzi e/o catijurìi
if eVacantiLivannuRifirenziECatijurii(paramitri.valuri) then
table.insert(statu.empty_row_extras, paramitri.valuri)
return
end
-- Siḍḍu cc'è testu, criamu e facemu vìdiri un ringu
statu.avi_ringhi = true
local ringu = radica:tag('tr')
if paramitri.vuci then
-- Stampamu un ringu nurmali a du' culonni (tichetta + valuri)
ringu:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(paramitri.vuci)
:done()
local td = ringu:tag('td')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
else
-- Siḍḍu tichetta nun cci nn'è, stampamu na ceḍḍa sula a du' culonni
local td = ringu:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(radica, args, statu)
local index = 1
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Add parameter substitution for valuriParam
if valuriParam then
valuriParam = substituteParameters(valuriParam, args)
end
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
junciRingu(radica, { gruppu = gruppuParam }, statu)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
junciRingu(radica, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, statu)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(radica, args, statu)
if args["Supra"] and args["Supra"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(radica, args, statu)
if args["Sutta"] and args["Sutta"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(radica, subheaderText, statu)
if subheaderText and subheaderText ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(radica, args, statu)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(radica, val, statu)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(radica, args, statu)
if args["Tìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(radica, args, statu, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidata(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(radica, args, statu)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
radica:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(radica, args, statu)
if args["PediPàggina"] then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- avi_ringhi remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local statu
local statu = {
avi_ringhi = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass statu to all render functions
renderAbove(container, args, statu)
renderTitle(container, args, statu)
renderAllSubheaders(container, args, statu)
renderImages(container, args, statu, ntitaWikidata)
renderNumberedRows(container, args, statu)
renderNavBar(container, args, statu)
renderBelow(container, args, statu)
renderFooter(container, args, statu)
-- Return both container and statu
return container, statu
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get statu
local container, statu = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = abbersaCeddi(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if statu.avi_ringhi then
output = css .. html
end
-- Append categories/references from "empty" rows
if #statu.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(statu.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not eParamitruCanusciutu(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
pov3vmfqv4bbn0cdafxg5kw07xxg59z
770576
770574
2025-07-05T08:52:26Z
GianAntonucci
46609
770576
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) VARIÀBBILI D'AJUTU P'ARRICANÙSCIRI I CATIJURÌI E I RIFIRENZI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) PIRCURSI CSS PRIDIFINUTI
--------------------------------------------------------------------------------
-- local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
-- local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
-- local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
local PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidata(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
if not ntitaWikidata or not ntitaWikidata.claims or not ntitaWikidata.claims[prupita] then
return nil
end
-- Addifinemu a tabeḍḍa c'àvi tutti i dichiari dâ prupità c'addumannammu
local tuttiLiDichiari = ntitaWikidata.claims[prupita]
local laMegghiuDichiara = nil
local luMegghiuRancuNummaru = nil
-- Annumiramu i ranchi chi usa Wikidata
local abbersuRanchi = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrullamu tutti i dichiari dâ lista chi pigghiammu di Wikidata
for _, dichiara in ipairs(tuttiLiDichiari) do
local rancu = dichiara.rank or "normal"
local rancuNummaru = abbersuRanchi[rancu] or 2
if not luMegghiuRancuNummaru or rancuNummaru > luMegghiuRancuNummaru then
laMegghiuDichiara = dichiara
luMegghiuRancuNummaru = rancuNummaru
end
end
-- Astrajemu u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, arriggistramu u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Sta funzioni cuntrolla siḍḍu na stringa è vacanti, livannu i tichetti dî
-- rifirenzi e i lijami dî catijurìi
local function eVacantiLivannuRifirenziECatijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummirtemu tutta a stringa 'n minùsculu
local valuriMinusculu = mw.ustring.lower(valuri)
-- Livamu i catijurìi e i rifirenzi
local valuriPulizziatu = mw.ustring.gsub(valuriMinusculu, patternCatijuriiMinusculu, '')
for _, pattern in ipairs(patternRifirenzi) do
valuriPulizziatu = mw.ustring.gsub(valuriPulizziatu, pattern, '')
end
-- S'arrèstanu sulu spazzi janchi, va bonu
return valuriPulizziatu:match('^%s*$') ~= nil
end
-- Sta funzioni cuntrolla siḍḍu i listi ànnu u furmatu giustu pi stari dintra a
-- l'autri elimenti (comu, pi diri, i ceḍḍi di na tabeḍḍa)
local function cuntrollaLista(valuri, classiCSS)
if not valuri then
return valuri
end
-- Pigghiamu u primu caràttari dâ stringa e videmu siḍḍu è un marcaturi di lista
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
if primuCarattari == '#' or primuCarattari == '*' then
-- Nchiujèmulu ntôn div
return '<div>\n' .. valuri .. '\n</div>\n'
end
-- Vasinnò, juncemu sulu n'a-capu
return valuri .. '\n'
end
-- Sta funzioni cuntrolla siḍḍu un paràmitru àvi un nomu canusciutu
local function eParamitruCanusciutu(nomuParamitru)
if type(nomuParamitru) ~= 'string' then
return true
end
-- Cuntrullamu i paràmitri basi
local nomaParamitriBasi = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
-- cancia du ncasciatu (embedded), ??, stili_a_ringu, stili, debug
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
for _, nomuParamitruBasi in ipairs(nomaParamitriBasi) do
if nomuParamitru == nomuParamitruBasi then
return true
end
end
-- Cuntrullamu i paràmitri chî nùmmari
if nomuParamitru:match("^Abbirtenza%d+$") or
nomuParamitru:match("^Vuci%d+$") or
nomuParamitru:match("^Valuri%d+$") or
nomuParamitru:match("^Gruppu%d+$") or
nomuParamitru:match("^Prupità%d+$") or
nomuParamitru:match("^Classi%d+$") then
return true
end
return false
end
-- Function to process Wikidata property markers
local function processWikidataMarkers(text, wikidataId)
if not text or not wikidataId or wikidataId == "" then
return text
end
-- Match patterns like @@P21@@, @@P21|label@@, @@P21|raw@@, etc.
text = text:gsub('@@(P%d+)([^@]*)@@', function(property, options)
local args = {
'getProperty',
property = property,
from = wikidataId
}
-- Parse options (e.g., |label|separator=,)
if options and options ~= "" then
-- Remove leading |
options = options:gsub("^|", "")
-- Simple parsing for common options
if options == "label" then
args.formatting = "label"
elseif options == "raw" then
args.formatting = "raw"
elseif options:match("separator=") then
args.separator = options:match("separator=([^|]+)")
end
end
local success, result = pcall(function()
return mw.getCurrentFrame():expandTemplate{
title = '#invoke:Bozza/GianAntonucci/Wikidata',
args = args
}
end)
if success and result and result ~= "" then
return result
else
return ""
end
end)
-- Also support @@LABEL@@ for the entity label
text = text:gsub('@@LABEL@@', function()
local success, result = pcall(function()
return mw.getCurrentFrame():expandTemplate{
title = '#invoke:Bozza/GianAntonucci/Wikidata',
args = { 'getLabel', wikidataId }
}
end)
return success and result or ""
end)
return text
end
local junciRingu -- Na dichiara anticipata, pû chiamari prima mû difinemu
--------------------------------------------------------------------------------
-- 4) SPUSTAMENTU DÎ STILI DI MUDEḌḌU MISI MALU
--------------------------------------------------------------------------------
-- Sta funzioni sposta i tichetti <templatestyles> e i lijami ê catijurìi chi
-- s'attròvanu nta l'elimenti <tr> doppu a fini dâ tichetta </tr>, accussì
-- l'HTML arresta vàlitu
local function abbersaCeddi(html)
if not html or html == "" then
return html
end
-- Spustamu i catijurìi
local function spostaCatijuriiFora(stringa)
-- Prisirbamu a scrittura urigginali nta l'output
return mw.ustring.gsub(
stringa,
-- Pigghiamu </tr> e i spazzi janchi
'(%</[Tt][Rr]%>%s*)' ..
-- Pigghiamu [[Catigurìa:...]], nta vari ortugrafìi
'(%[%[%s*(?:' .. -- '[['
'[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|' .. -- 'Category'
'[Cc][Aa][Tt][Ii][Gg][Uu][Rr][Ìì][Aa]|' .. -- 'Catigurìa'
'[Cc][Aa][Tt][Ii][Jj][Uu][Rr][Ìì][Aa]' .. -- 'Catijurìa'
')%s*:' .. -- ':'
'[^%]]*' .. -- Chiḍḍu c'arresta, nzinu â fini
'%]%] )', -- ']]'
-- Scanciamu i dui pezzi chi pigghiammu
'%2%1'
)
end
html = spostaCatijuriiFora(html)
-- Spustamu i tichetti <templatestyles>
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Spustamu 'UNIQ--templatestyles-....-QINU', alivoti MediaWiki u misi
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 5) FUNZIONI DI BASI PI JÙNCIRI UN RINGU
--------------------------------------------------------------------------------
-- Sta funzioni junci na riga â tèssira
--
-- A tabeḍḍa "paramitri" po aviri:
-- a) paramitri.gruppu => na stringa pû tìtulu d'un gruppu chi pigghia du' culonni
-- b) paramitri.vuci => na stringa pâ tichetta dû ringu (facurtativu)
-- c) paramitri.valuri => na stringa pû valuri di ḍḍa tichetta
-- d) paramitri.classi => classi CSS di jùnciri â ceḍḍa dû valuri
junciRingu = function(radica, paramitri, statu)
-- Siḍḍu è un tìtulu d'un gruppu, criamu un ringu pû tìtulu
if paramitri.gruppu then
radica:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(paramitri.gruppu)
return
end
-- Siḍḍu valuri nun cci nn'è, nun facemu nenti
if not paramitri.valuri or paramitri.valuri == "" then
return
end
-- Cuntrullamu siḍḍu u valuri àvi sulu rifirenzi e/o catijurìi
if eVacantiLivannuRifirenziECatijurii(paramitri.valuri) then
table.insert(statu.empty_row_extras, paramitri.valuri)
return
end
-- Siḍḍu cc'è testu, criamu e facemu vìdiri un ringu
statu.avi_ringhi = true
local ringu = radica:tag('tr')
if paramitri.vuci then
-- Stampamu un ringu nurmali a du' culonni (tichetta + valuri)
ringu:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(paramitri.vuci)
:done()
local td = ringu:tag('td')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
else
-- Siḍḍu tichetta nun cci nn'è, stampamu na ceḍḍa sula a du' culonni
local td = ringu:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(radica, args, statu)
local index = 1
local wikidataId = args.Wikidata -- Get the Wikidata ID once
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Process Wikidata markers
if valuriParam and wikidataId then
valuriParam = processWikidataMarkers(valuriParam, wikidataId)
end
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
junciRingu(radica, { gruppu = gruppuParam }, statu)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
junciRingu(radica, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, statu)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(radica, args, statu)
if args["Supra"] and args["Supra"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(radica, args, statu)
if args["Sutta"] and args["Sutta"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(radica, subheaderText, statu)
if subheaderText and subheaderText ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(radica, args, statu)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(radica, val, statu)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(radica, args, statu)
if args["Tìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(radica, args, statu, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidata(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(radica, args, statu)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
radica:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(radica, args, statu)
if args["PediPàggina"] then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- avi_ringhi remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local statu
local statu = {
avi_ringhi = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass statu to all render functions
renderAbove(container, args, statu)
renderTitle(container, args, statu)
renderAllSubheaders(container, args, statu)
renderImages(container, args, statu, ntitaWikidata)
renderNumberedRows(container, args, statu)
renderNavBar(container, args, statu)
renderBelow(container, args, statu)
renderFooter(container, args, statu)
-- Return both container and statu
return container, statu
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get statu
local container, statu = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = abbersaCeddi(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if statu.avi_ringhi then
output = css .. html
end
-- Append categories/references from "empty" rows
if #statu.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(statu.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not eParamitruCanusciutu(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
f0fnupxgrwyep437ybo6y80drgytn0c
770577
770576
2025-07-05T08:56:28Z
GianAntonucci
46609
770577
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) VARIÀBBILI D'AJUTU P'ARRICANÙSCIRI I CATIJURÌI E I RIFIRENZI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) PIRCURSI CSS PRIDIFINUTI
--------------------------------------------------------------------------------
-- local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
-- local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
-- local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
local PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidata(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
if not ntitaWikidata or not ntitaWikidata.claims or not ntitaWikidata.claims[prupita] then
return nil
end
-- Addifinemu a tabeḍḍa c'àvi tutti i dichiari dâ prupità c'addumannammu
local tuttiLiDichiari = ntitaWikidata.claims[prupita]
local laMegghiuDichiara = nil
local luMegghiuRancuNummaru = nil
-- Annumiramu i ranchi chi usa Wikidata
local abbersuRanchi = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrullamu tutti i dichiari dâ lista chi pigghiammu di Wikidata
for _, dichiara in ipairs(tuttiLiDichiari) do
local rancu = dichiara.rank or "normal"
local rancuNummaru = abbersuRanchi[rancu] or 2
if not luMegghiuRancuNummaru or rancuNummaru > luMegghiuRancuNummaru then
laMegghiuDichiara = dichiara
luMegghiuRancuNummaru = rancuNummaru
end
end
-- Astrajemu u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, arriggistramu u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Sta funzioni cuntrolla siḍḍu na stringa è vacanti, livannu i tichetti dî
-- rifirenzi e i lijami dî catijurìi
local function eVacantiLivannuRifirenziECatijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummirtemu tutta a stringa 'n minùsculu
local valuriMinusculu = mw.ustring.lower(valuri)
-- Livamu i catijurìi e i rifirenzi
local valuriPulizziatu = mw.ustring.gsub(valuriMinusculu, patternCatijuriiMinusculu, '')
for _, pattern in ipairs(patternRifirenzi) do
valuriPulizziatu = mw.ustring.gsub(valuriPulizziatu, pattern, '')
end
-- S'arrèstanu sulu spazzi janchi, va bonu
return valuriPulizziatu:match('^%s*$') ~= nil
end
-- Sta funzioni cuntrolla siḍḍu i listi ànnu u furmatu giustu pi stari dintra a
-- l'autri elimenti (comu, pi diri, i ceḍḍi di na tabeḍḍa)
local function cuntrollaLista(valuri, classiCSS)
if not valuri then
return valuri
end
-- Pigghiamu u primu caràttari dâ stringa e videmu siḍḍu è un marcaturi di lista
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
if primuCarattari == '#' or primuCarattari == '*' then
-- Nchiujèmulu ntôn div
return '<div>\n' .. valuri .. '\n</div>\n'
end
-- Vasinnò, juncemu sulu n'a-capu
return valuri .. '\n'
end
-- Sta funzioni cuntrolla siḍḍu un paràmitru àvi un nomu canusciutu
local function eParamitruCanusciutu(nomuParamitru)
if type(nomuParamitru) ~= 'string' then
return true
end
-- Cuntrullamu i paràmitri basi
local nomaParamitriBasi = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
-- cancia du ncasciatu (embedded), ??, stili_a_ringu, stili, debug
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
for _, nomuParamitruBasi in ipairs(nomaParamitriBasi) do
if nomuParamitru == nomuParamitruBasi then
return true
end
end
-- Cuntrullamu i paràmitri chî nùmmari
if nomuParamitru:match("^Abbirtenza%d+$") or
nomuParamitru:match("^Vuci%d+$") or
nomuParamitru:match("^Valuri%d+$") or
nomuParamitru:match("^Gruppu%d+$") or
nomuParamitru:match("^Prupità%d+$") or
nomuParamitru:match("^Classi%d+$") then
return true
end
return false
end
-- Function to process Wikidata property markers
local function processWikidataMarkers(text, wikidataId)
if not text or not wikidataId or wikidataId == "" then
return text
end
-- Match patterns like @@P21@@, @@P21|label@@, etc.
text = text:gsub('@@(P%d+)([^@]*)@@', function(property, options)
local args = {
'getProperty',
property = property,
from = wikidataId
}
-- Parse options if any
if options and options ~= "" then
options = options:gsub("^|", "")
if options == "label" then
args.formatting = "label"
elseif options == "raw" then
args.formatting = "raw"
end
end
-- Debug: Show what we're calling
local debugInfo = "[Calling WD: " .. property .. " from " .. wikidataId .. "]"
local success, result = pcall(function()
return mw.getCurrentFrame():expandTemplate{
title = '#invoke:Bozza/GianAntonucci/Wikidata',
args = args
}
end)
if success then
if result and result ~= "" then
return result
else
return debugInfo .. "[Empty result]"
end
else
return debugInfo .. "[Error: " .. tostring(result) .. "]"
end
end)
return text
end
local junciRingu -- Na dichiara anticipata, pû chiamari prima mû difinemu
--------------------------------------------------------------------------------
-- 4) SPUSTAMENTU DÎ STILI DI MUDEḌḌU MISI MALU
--------------------------------------------------------------------------------
-- Sta funzioni sposta i tichetti <templatestyles> e i lijami ê catijurìi chi
-- s'attròvanu nta l'elimenti <tr> doppu a fini dâ tichetta </tr>, accussì
-- l'HTML arresta vàlitu
local function abbersaCeddi(html)
if not html or html == "" then
return html
end
-- Spustamu i catijurìi
local function spostaCatijuriiFora(stringa)
-- Prisirbamu a scrittura urigginali nta l'output
return mw.ustring.gsub(
stringa,
-- Pigghiamu </tr> e i spazzi janchi
'(%</[Tt][Rr]%>%s*)' ..
-- Pigghiamu [[Catigurìa:...]], nta vari ortugrafìi
'(%[%[%s*(?:' .. -- '[['
'[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|' .. -- 'Category'
'[Cc][Aa][Tt][Ii][Gg][Uu][Rr][Ìì][Aa]|' .. -- 'Catigurìa'
'[Cc][Aa][Tt][Ii][Jj][Uu][Rr][Ìì][Aa]' .. -- 'Catijurìa'
')%s*:' .. -- ':'
'[^%]]*' .. -- Chiḍḍu c'arresta, nzinu â fini
'%]%] )', -- ']]'
-- Scanciamu i dui pezzi chi pigghiammu
'%2%1'
)
end
html = spostaCatijuriiFora(html)
-- Spustamu i tichetti <templatestyles>
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Spustamu 'UNIQ--templatestyles-....-QINU', alivoti MediaWiki u misi
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 5) FUNZIONI DI BASI PI JÙNCIRI UN RINGU
--------------------------------------------------------------------------------
-- Sta funzioni junci na riga â tèssira
--
-- A tabeḍḍa "paramitri" po aviri:
-- a) paramitri.gruppu => na stringa pû tìtulu d'un gruppu chi pigghia du' culonni
-- b) paramitri.vuci => na stringa pâ tichetta dû ringu (facurtativu)
-- c) paramitri.valuri => na stringa pû valuri di ḍḍa tichetta
-- d) paramitri.classi => classi CSS di jùnciri â ceḍḍa dû valuri
junciRingu = function(radica, paramitri, statu)
-- Siḍḍu è un tìtulu d'un gruppu, criamu un ringu pû tìtulu
if paramitri.gruppu then
radica:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(paramitri.gruppu)
return
end
-- Siḍḍu valuri nun cci nn'è, nun facemu nenti
if not paramitri.valuri or paramitri.valuri == "" then
return
end
-- Cuntrullamu siḍḍu u valuri àvi sulu rifirenzi e/o catijurìi
if eVacantiLivannuRifirenziECatijurii(paramitri.valuri) then
table.insert(statu.empty_row_extras, paramitri.valuri)
return
end
-- Siḍḍu cc'è testu, criamu e facemu vìdiri un ringu
statu.avi_ringhi = true
local ringu = radica:tag('tr')
if paramitri.vuci then
-- Stampamu un ringu nurmali a du' culonni (tichetta + valuri)
ringu:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(paramitri.vuci)
:done()
local td = ringu:tag('td')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
else
-- Siḍḍu tichetta nun cci nn'è, stampamu na ceḍḍa sula a du' culonni
local td = ringu:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(radica, args, statu)
local index = 1
local wikidataId = args.Wikidata -- Get the Wikidata ID once
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Process Wikidata markers
if valuriParam and wikidataId then
valuriParam = processWikidataMarkers(valuriParam, wikidataId)
end
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
junciRingu(radica, { gruppu = gruppuParam }, statu)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
junciRingu(radica, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, statu)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(radica, args, statu)
if args["Supra"] and args["Supra"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(radica, args, statu)
if args["Sutta"] and args["Sutta"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(radica, subheaderText, statu)
if subheaderText and subheaderText ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(radica, args, statu)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(radica, val, statu)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(radica, args, statu)
if args["Tìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(radica, args, statu, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidata(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(radica, args, statu)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
radica:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(radica, args, statu)
if args["PediPàggina"] then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- avi_ringhi remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local statu
local statu = {
avi_ringhi = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass statu to all render functions
renderAbove(container, args, statu)
renderTitle(container, args, statu)
renderAllSubheaders(container, args, statu)
renderImages(container, args, statu, ntitaWikidata)
renderNumberedRows(container, args, statu)
renderNavBar(container, args, statu)
renderBelow(container, args, statu)
renderFooter(container, args, statu)
-- Return both container and statu
return container, statu
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get statu
local container, statu = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = abbersaCeddi(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if statu.avi_ringhi then
output = css .. html
end
-- Append categories/references from "empty" rows
if #statu.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(statu.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not eParamitruCanusciutu(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
2x5pef8p0b22szcyl2lo5gekfncj2ax
770578
770577
2025-07-05T08:57:44Z
GianAntonucci
46609
770578
Scribunto
text/plain
local p = {}
local mw = require('mw')
--------------------------------------------------------------------------------
-- 1) VARIÀBBILI D'AJUTU P'ARRICANÙSCIRI I CATIJURÌI E I RIFIRENZI
--------------------------------------------------------------------------------
-- Pattern pî catijurìi
local patternCatijuriiMinusculu = '%[%[%s*category%s*:[^]]*%]%]'
-- Pattern pî rifirenzi (i tichetti <ref>)
local patternRifirenzi = {
'%<ref[^>]*>.-%</ref%>', -- Chiḍḍi nurmali
'%<ref[^/>]*/%>' -- Chiḍḍi chi si chiùjinu suli
}
--------------------------------------------------------------------------------
-- 2) PIRCURSI CSS PRIDIFINUTI
--------------------------------------------------------------------------------
-- local PIRCURSU_CSS_PRIDIFINITU = "Mudeḍḍu:Tèssira/stili.css"
-- local PIRCURSU_CSS_LISTA_SIMPLICI = "Mudeḍḍu:ListaSìmplici/stili.css"
-- local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Mudeḍḍu:ListaUrizzuntali/stili.css"
local PIRCURSU_CSS_PRIDIFINITU = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"
local PIRCURSU_CSS_LISTA_SIMPLICI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css"
local PIRCURSU_CSS_LISTA_URIZZUNTALI = "Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css"
--------------------------------------------------------------------------------
-- 3) FUNZIONI D'AJUTU
--------------------------------------------------------------------------------
-- Sta funzioni pigghia u megghiu valuri di na prupità di na ntità di Wikidata
local function pigghiaValuriWikidata(ntitaWikidata, prupita)
local successu, rinescitu = pcall(function()
if not ntitaWikidata or not ntitaWikidata.claims or not ntitaWikidata.claims[prupita] then
return nil
end
-- Addifinemu a tabeḍḍa c'àvi tutti i dichiari dâ prupità c'addumannammu
local tuttiLiDichiari = ntitaWikidata.claims[prupita]
local laMegghiuDichiara = nil
local luMegghiuRancuNummaru = nil
-- Annumiramu i ranchi chi usa Wikidata
local abbersuRanchi = {
preferred = 3,
normal = 2,
deprecated = 1
}
-- Cuntrullamu tutti i dichiari dâ lista chi pigghiammu di Wikidata
for _, dichiara in ipairs(tuttiLiDichiari) do
local rancu = dichiara.rank or "normal"
local rancuNummaru = abbersuRanchi[rancu] or 2
if not luMegghiuRancuNummaru or rancuNummaru > luMegghiuRancuNummaru then
laMegghiuDichiara = dichiara
luMegghiuRancuNummaru = rancuNummaru
end
end
-- Astrajemu u rancu cchiù autu
if laMegghiuDichiara and laMegghiuDichiara.mainsnak then
return mw.wikibase.renderSnak(laMegghiuDichiara.mainsnak)
end
end)
-- Siḍḍu a pcall sfallìu, arriggistramu u sbagghiu
if not successu then
mw.log("Sbagghiu di Wikidata pâ prupità " .. prupita .. ": " .. tostring(rinescitu))
end
return successu and rinescitu or nil
end
-- Sta funzioni cuntrolla siḍḍu na stringa è vacanti, livannu i tichetti dî
-- rifirenzi e i lijami dî catijurìi
local function eVacantiLivannuRifirenziECatijurii(valuri)
if not valuri or valuri == "" then
return true
end
-- Cummirtemu tutta a stringa 'n minùsculu
local valuriMinusculu = mw.ustring.lower(valuri)
-- Livamu i catijurìi e i rifirenzi
local valuriPulizziatu = mw.ustring.gsub(valuriMinusculu, patternCatijuriiMinusculu, '')
for _, pattern in ipairs(patternRifirenzi) do
valuriPulizziatu = mw.ustring.gsub(valuriPulizziatu, pattern, '')
end
-- S'arrèstanu sulu spazzi janchi, va bonu
return valuriPulizziatu:match('^%s*$') ~= nil
end
-- Sta funzioni cuntrolla siḍḍu i listi ànnu u furmatu giustu pi stari dintra a
-- l'autri elimenti (comu, pi diri, i ceḍḍi di na tabeḍḍa)
local function cuntrollaLista(valuri, classiCSS)
if not valuri then
return valuri
end
-- Pigghiamu u primu caràttari dâ stringa e videmu siḍḍu è un marcaturi di lista
local primuCarattari = mw.ustring.sub(valuri, 1, 1)
if primuCarattari == '#' or primuCarattari == '*' then
-- Nchiujèmulu ntôn div
return '<div>\n' .. valuri .. '\n</div>\n'
end
-- Vasinnò, juncemu sulu n'a-capu
return valuri .. '\n'
end
-- Sta funzioni cuntrolla siḍḍu un paràmitru àvi un nomu canusciutu
local function eParamitruCanusciutu(nomuParamitru)
if type(nomuParamitru) ~= 'string' then
return true
end
-- Cuntrullamu i paràmitri basi
local nomaParamitriBasi = {
"Wikidata", "child", "no_float", "inline_style", "style", "debug",
-- cancia du ncasciatu (embedded), ??, stili_a_ringu, stili, debug
"Tìtulu", "Suttatìtulu", "Supra", "Sutta", "NomuMudeḍḍu",
"LijamiWikidata", "PediPàggina", "MmàgginiSupra", "MmàgginiSutta",
"MmàgginiManuManca", "MmàgginiManuDritta", "DidascalìaMmàgginiSupra",
"DidascalìaMmàgginiSutta", "DidascalìaMmàgginiManuManca",
"DidascalìaMmàgginiManuDritta"
}
for _, nomuParamitruBasi in ipairs(nomaParamitriBasi) do
if nomuParamitru == nomuParamitruBasi then
return true
end
end
-- Cuntrullamu i paràmitri chî nùmmari
if nomuParamitru:match("^Abbirtenza%d+$") or
nomuParamitru:match("^Vuci%d+$") or
nomuParamitru:match("^Valuri%d+$") or
nomuParamitru:match("^Gruppu%d+$") or
nomuParamitru:match("^Prupità%d+$") or
nomuParamitru:match("^Classi%d+$") then
return true
end
return false
end
-- Function to process Wikidata property markers
local function processWikidataMarkers(text, wikidataId)
if not text or not wikidataId or wikidataId == "" then
return text
end
-- Get the frame once
local frame = mw.getCurrentFrame()
-- Match patterns like @@P21@@, @@P21|label@@, etc.
text = text:gsub('@@(P%d+)([^@]*)@@', function(property, options)
-- Build the invoke string
local invokeString = string.format(
"{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|property=%s|from=%s",
property,
wikidataId
)
-- Add formatting options if specified
if options and options ~= "" then
options = options:gsub("^|", "")
if options == "label" then
invokeString = invokeString .. "|formatting=label"
elseif options == "raw" then
invokeString = invokeString .. "|formatting=raw"
elseif options:match("separator=") then
local sep = options:match("separator=([^|]+)")
invokeString = invokeString .. "|separator=" .. sep
end
end
invokeString = invokeString .. "}}"
-- Use preprocess to expand the invoke
local success, result = pcall(function()
return frame:preprocess(invokeString)
end)
if success and result and result ~= "" then
return result
else
return "" -- Return empty on error
end
end)
-- Also support @@LABEL@@
text = text:gsub('@@LABEL@@', function()
local invokeString = string.format(
"{{#invoke:Bozza/GianAntonucci/Wikidata|getLabel|%s}}",
wikidataId
)
local success, result = pcall(function()
return frame:preprocess(invokeString)
end)
return success and result or ""
end)
return text
end
local junciRingu -- Na dichiara anticipata, pû chiamari prima mû difinemu
--------------------------------------------------------------------------------
-- 4) SPUSTAMENTU DÎ STILI DI MUDEḌḌU MISI MALU
--------------------------------------------------------------------------------
-- Sta funzioni sposta i tichetti <templatestyles> e i lijami ê catijurìi chi
-- s'attròvanu nta l'elimenti <tr> doppu a fini dâ tichetta </tr>, accussì
-- l'HTML arresta vàlitu
local function abbersaCeddi(html)
if not html or html == "" then
return html
end
-- Spustamu i catijurìi
local function spostaCatijuriiFora(stringa)
-- Prisirbamu a scrittura urigginali nta l'output
return mw.ustring.gsub(
stringa,
-- Pigghiamu </tr> e i spazzi janchi
'(%</[Tt][Rr]%>%s*)' ..
-- Pigghiamu [[Catigurìa:...]], nta vari ortugrafìi
'(%[%[%s*(?:' .. -- '[['
'[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|' .. -- 'Category'
'[Cc][Aa][Tt][Ii][Gg][Uu][Rr][Ìì][Aa]|' .. -- 'Catigurìa'
'[Cc][Aa][Tt][Ii][Jj][Uu][Rr][Ìì][Aa]' .. -- 'Catijurìa'
')%s*:' .. -- ':'
'[^%]]*' .. -- Chiḍḍu c'arresta, nzinu â fini
'%]%] )', -- ']]'
-- Scanciamu i dui pezzi chi pigghiammu
'%2%1'
)
end
html = spostaCatijuriiFora(html)
-- Spustamu i tichetti <templatestyles>
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(%f[%S]<templatestyles[^>]*>.-</templatestyles>)',
'%2%1'
)
-- Spustamu 'UNIQ--templatestyles-....-QINU', alivoti MediaWiki u misi
html = mw.ustring.gsub(
html,
'(%</[Tt][Rr]%>%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)',
'%2%1'
)
return html
end
--------------------------------------------------------------------------------
-- 5) FUNZIONI DI BASI PI JÙNCIRI UN RINGU
--------------------------------------------------------------------------------
-- Sta funzioni junci na riga â tèssira
--
-- A tabeḍḍa "paramitri" po aviri:
-- a) paramitri.gruppu => na stringa pû tìtulu d'un gruppu chi pigghia du' culonni
-- b) paramitri.vuci => na stringa pâ tichetta dû ringu (facurtativu)
-- c) paramitri.valuri => na stringa pû valuri di ḍḍa tichetta
-- d) paramitri.classi => classi CSS di jùnciri â ceḍḍa dû valuri
junciRingu = function(radica, paramitri, statu)
-- Siḍḍu è un tìtulu d'un gruppu, criamu un ringu pû tìtulu
if paramitri.gruppu then
radica:tag('tr')
:addClass('tessira_gruppu')
:tag('th')
:attr('colspan', '2')
:wikitext(paramitri.gruppu)
return
end
-- Siḍḍu valuri nun cci nn'è, nun facemu nenti
if not paramitri.valuri or paramitri.valuri == "" then
return
end
-- Cuntrullamu siḍḍu u valuri àvi sulu rifirenzi e/o catijurìi
if eVacantiLivannuRifirenziECatijurii(paramitri.valuri) then
table.insert(statu.empty_row_extras, paramitri.valuri)
return
end
-- Siḍḍu cc'è testu, criamu e facemu vìdiri un ringu
statu.avi_ringhi = true
local ringu = radica:tag('tr')
if paramitri.vuci then
-- Stampamu un ringu nurmali a du' culonni (tichetta + valuri)
ringu:tag('th')
:attr('scope', 'row')
:addClass('tessira_vuci')
:wikitext(paramitri.vuci)
:done()
local td = ringu:tag('td')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
else
-- Siḍḍu tichetta nun cci nn'è, stampamu na ceḍḍa sula a du' culonni
local td = ringu:tag('td')
:attr('colspan', '2')
:addClass('tessira_valuri')
if paramitri.classi then
td:addClass(paramitri.classi)
end
td:wikitext(cuntrollaLista(paramitri.valuri, paramitri.classi))
end
end
--------------------------------------------------------------------------------
-- 9) NUMBERED ROWS + AUTOHEADERS
--------------------------------------------------------------------------------
-- This function looks for numbered rows like Vuci1/Valuri1, Vuci2/Valuri2, etc.
-- and processes them. These rows might also have:
-- a) Gruppu1, Gruppu2, etc. → Used to manually group rows into sections
-- b) Prupità1, Prupità2, etc. → Helps match data to Wikidata properties
-- c) Classi1, Classi2, etc. → CSS classes to apply to the valuri cell
local function renderNumberedRows(radica, args, statu)
local index = 1
local wikidataId = args.Wikidata -- Get the Wikidata ID once
while true do
local vuciParam = args["Vuci" .. index]
local valuriParam = args["Valuri" .. index]
local gruppuParam = args["Gruppu" .. index]
local propertyParam = args["Prupità" .. index]
local classiParam = args["Classi" .. index]
-- Stop if no relevant parameters found
if not (vuciParam or valuriParam or gruppuParam or propertyParam) then
break
end
-- Process if there's a valuri or group
if (valuriParam and valuriParam ~= "") or (gruppuParam and gruppuParam ~= "") then
-- Process Wikidata markers
if valuriParam and wikidataId then
valuriParam = processWikidataMarkers(valuriParam, wikidataId)
end
-- Add group header if specified
if gruppuParam and gruppuParam ~= "" then
junciRingu(radica, { gruppu = gruppuParam }, statu)
end
-- Add row if there's data to display
if vuciParam or valuriParam then
junciRingu(radica, {
vuci = vuciParam,
valuri = valuriParam,
classi = classiParam
}, statu)
end
end
index = index + 1
end
end
--------------------------------------------------------------------------------
-- 10) ABOVE & BELOW ROWS
--------------------------------------------------------------------------------
-- This function optionally create a row spanning two columns at the top of
-- the table with that text, if the user sets "|Supra=Some text".
local function renderAbove(radica, args, statu)
if args["Supra"] and args["Supra"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('th')
:attr('colspan', '2')
:addClass('tessira_supra')
:wikitext(args["Supra"])
end
end
-- This function optionally creates a row spanning two columns at the bottom of
-- the table with that text, if the user sets "|Sutta=Some text".
local function renderBelow(radica, args, statu)
if args["Sutta"] and args["Sutta"] ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_sutta')
:wikitext(args["Sutta"])
end
end
--------------------------------------------------------------------------------
-- 11) SUBHEADER ROWS
--------------------------------------------------------------------------------
-- This function creates a subheader row spanning two columns that looks like
-- a small heading within the table.
local function renderSubheader(radica, subheaderText, statu)
if subheaderText and subheaderText ~= "" then
statu.avi_ringhi = true
local row = radica:tag('tr')
row:tag('td')
:attr('colspan', '2')
:addClass('tessira_subheader')
:wikitext(subheaderText)
end
end
-- This function loops through subheader1, subheader2, etc. until we don't find
-- subheaderN. Each one becomes a separate subheader row.
local function renderAllSubheaders(radica, args, statu)
local i = 1
while true do
local key = "Abbirtenza" .. i
local val = args[key]
if not val or val == "" then
break
end
renderSubheader(radica, val, statu)
i = i + 1
end
end
--------------------------------------------------------------------------------
-- 12) TITLE, IMAGES, NAVBAR, FOOTER
--------------------------------------------------------------------------------
-- This function renders the main title (Tìtulu) and an optional subtitle
-- (Suttatìtulu) spanning two columns at the top.
local function renderTitle(radica, args, statu)
if args["Tìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_titulu')
:wikitext(args["Tìtulu"])
end
if args["Suttatìtulu"] then
radica:tag('tr'):tag('th')
:attr('colspan', '2')
:addClass('tessira_suttatitulu')
:wikitext(args["Suttatìtulu"])
end
end
-- This function handles up to four images (top, bottom, left, right), plus
-- optional captions. Also attempts to fetch a top image from Wikidata (P18) if
-- the local parameter "MmàgginiSupra" isn't set.
local function renderImages(radica, args, statu, ntitaWikidata)
local images = {
top = args["MmàgginiSupra"] or pigghiaValuriWikidata(ntitaWikidata, "P18"),
bottom = args["MmàgginiSutta"],
left = args["MmàgginiManuManca"],
right = args["MmàgginiManuDritta"]
}
-- TOP
if images.top and images.top ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.top .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSupra"] and args["DidascalìaMmàgginiSupra"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSupra"])
end
-- LEFT / RIGHT
if (images.left and images.left ~= "") or (images.right and images.right ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_mmaggini_manu_manca')
:wikitext(images.left and images.left ~= "" and ('[[File:' .. images.left .. '|frameless|left]]') or "")
row:tag('td')
:addClass('tessira_mmaggini_manu_dritta')
:wikitext(images.right and images.right ~= "" and ('[[File:' .. images.right .. '|frameless|right]]') or "")
end
if (args["DidascalìaMmàgginiManuManca"] and args["DidascalìaMmàgginiManuManca"] ~= "") or
(args["DidascalìaMmàgginiManuDritta"] and args["DidascalìaMmàgginiManuDritta"] ~= "") then
local row = radica:tag('tr')
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_manca')
:wikitext(args["DidascalìaMmàgginiManuManca"] or "")
row:tag('td')
:addClass('tessira_didascalia_mmaggini_manu_dritta')
:wikitext(args["DidascalìaMmàgginiManuDritta"] or "")
end
-- BOTTOM
if images.bottom and images.bottom ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_mmaggini')
:wikitext('[[File:' .. images.bottom .. '|frameless|center]]')
end
if args["DidascalìaMmàgginiSutta"] and args["DidascalìaMmàgginiSutta"] ~= "" then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_didascalia_mmaggini')
:wikitext(args["DidascalìaMmàgginiSutta"])
end
end
-- This function optionally calls {{Lijami sinòtticu}} to show a navigation bar
-- at the bottom. If "LijamiWikidata" is not set, we pass "nowd=1" to hide the
-- Wikidata link.
local function renderNavBar(radica, args, statu)
if args["NomuMudeḍḍu"] then
-- Clear and explicit navbar argument handling
local navArgs
if args["LijamiWikidata"] then
navArgs = { args["NomuMudeḍḍu"] }
else
navArgs = { args["NomuMudeḍḍu"], nowd = 1 }
end
radica:tag('tr')
:tag('td')
:attr('colspan', '2')
:addClass('tessira_navbar noprint nomobile metadata')
:wikitext(mw.getCurrentFrame():expandTemplate{
title = 'Lijami sinòtticu',
args = navArgs
})
end
end
-- This function optionally adds a final row that can show disclaimers or sources.
local function renderFooter(radica, args, statu)
if args["PediPàggina"] then
radica:tag('tr'):tag('td')
:attr('colspan', '2')
:addClass('tessira_pedi_paggina')
:wikitext(args["PediPàggina"])
end
end
--------------------------------------------------------------------------------
-- 13) BUILD TABLE
--------------------------------------------------------------------------------
-- This function builds either a <table> (default) or a <div> (child="yes"), then
-- calls each section-rendering function in a turn. If no rows are added,
-- avi_ringhi remains false, so we return nothing and don't display anything.
local function buildInfobox(args, ntitaWikidata)
-- Create local statu
local statu = {
avi_ringhi = false,
empty_row_extras = {}
}
local container
if args["child"] == "yes" then
container = mw.html.create('div'):addClass('tessira_child_wrapper')
else
container = mw.html.create('table'):addClass('tessira')
if args["no_float"] == "yes" then
container:addClass('tessira_no_float')
end
end
if args["inline_style"] then
container:attr('style', tostring(args["inline_style"]))
end
-- Pass statu to all render functions
renderAbove(container, args, statu)
renderTitle(container, args, statu)
renderAllSubheaders(container, args, statu)
renderImages(container, args, statu, ntitaWikidata)
renderNumberedRows(container, args, statu)
renderNavBar(container, args, statu)
renderBelow(container, args, statu)
renderFooter(container, args, statu)
-- Return both container and statu
return container, statu
end
--------------------------------------------------------------------------------
-- 14) DETECT HL/PL CLASSES (HLIST & PLAINLIST)
--------------------------------------------------------------------------------
-- Our module scans the arguments to see if "hlist" or "plainlist" is used somewhere.
-- If found, we automatically load the corresponding CSS using <templatestyles>.
local lists = {
plainlist_t = {
patterns = {
'^plainlist$',
'%splainlist$',
'^plainlist%s',
'%splainlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_SIMPLICI
},
hlist_t = {
patterns = {
'^hlist$',
'%shlist$',
'^hlist%s',
'%shlist%s'
},
found = false,
styles = PIRCURSU_CSS_LISTA_URIZZUNTALI
}
}
-- This function scans all parameters for "hlist" or "plainlist". If found, we
-- mark that style as "found", so we can load its CSS later.
local function has_list_class(args_to_check)
for _, list in pairs(lists) do
if not list.found then
for key, arg in pairs(args_to_check) do
if type(key) == 'string' then -- Check that the key is text
-- Check both the valuri and if it's a Classi parameter
if key:match("^Classi%d*$") and arg then
if arg:find(list.patterns[1]:gsub("^%^", ""):gsub("%$$", "")) then
list.found = true
break
end
end
-- Original pattern checking
for _, pattern in ipairs(list.patterns) do
if mw.ustring.find(arg or '', pattern) then
list.found = true
break
end
end
end
if list.found then break end
end
end
end
end
--------------------------------------------------------------------------------
-- 15) MAIN FUNCTION
--------------------------------------------------------------------------------
-- This function is the main entry point. Usually called with
-- {{#invoke:ModuleName|stampa}} in wiki markup.
function p.stampa(frame)
local args = {}
local parentArgs = frame:getParent().args
local localArgs = frame.args
-- Merge arguments (simplified)
for k, v in pairs(localArgs) do
args[k] = v
end
for k, v in pairs(parentArgs) do
args[k] = args[k] or v
end
-- Check for "hlist" or "plainlist"
has_list_class(args)
-- Load Wikidata entity with error handling
local ntitaWikidata
local wikidataSuccess = true
-- Check if Wikidata parameter exists AND is not empty
if args["Wikidata"] and args["Wikidata"] ~= "" then
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity, args["Wikidata"])
elseif not args["Wikidata"] then
-- Only try to get current page entity if Wikidata param is not set at all
wikidataSuccess, ntitaWikidata = pcall(mw.wikibase.getEntity)
else
-- Wikidata param is empty string, don't try to load entity
wikidataSuccess = false
ntitaWikidata = nil
end
if not wikidataSuccess then
ntitaWikidata = nil
end
-- Build the table or <div> and get statu
local container, statu = buildInfobox(args, ntitaWikidata)
local html = tostring(container)
-- Fix <templatestyles> or categories
html = abbersaCeddi(html)
-- Load any required CSS
local css = ""
-- Load default css
if not args["style"] or args["style"]:lower() == "tessira" then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = PIRCURSU_CSS_PRIDIFINITU }
}
end
-- Load styles for plainlist and hlist
for _, list in pairs(lists) do
if list.found then
css = css .. mw.getCurrentFrame():extensionTag{
name = 'templatestyles',
args = { src = list.styles }
}
end
end
-- Build the final output
local output = ""
if statu.avi_ringhi then
output = css .. html
end
-- Append categories/references from "empty" rows
if #statu.empty_row_extras > 0 then
output = output .. "\n<!-- References/categories from empty rows: -->\n"
for _, extra in ipairs(statu.empty_row_extras) do
output = output .. extra .. "\n"
end
end
-- Add debug info if requested
if args["debug"] == "yes" then
local debug_info = {}
for k, v in pairs(args) do
if not eParamitruCanusciutu(k) then
table.insert(debug_info, k)
end
end
if #debug_info > 0 then
output = output .. "\n<!-- Unrecognised parameters: " .. table.concat(debug_info, ", ") .. " -->\n"
end
end
return output
end
return p
77zn72bmrnrw3prqkfblb42jyggba4q
Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi
2
66267
770478
770429
2025-07-04T14:23:09Z
GianAntonucci
46609
770478
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
'''TèssiraPajisi''' è na tèssira spicìfica pî pajisi e nazzioni. Integra automaticamenti dati di Wikidata e permetti pirsunalizzazzioni lucali. Fa parti dû sistema di tèssiri modulari basatu supra [[Mòdulu:Bozza/GianAntonucci/Tèssira]].
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata''': Piglia automaticamenti dati chi mancanu di Wikidata
* '''Sizzioni automatichi''': Ragruppa i campi sutta tìtuli adatti (Giugrafìa, Demografia, Guvernu, Storia, Economia)
* '''Supportu listi''': Supporta furmattazzioni ''plainlist'' e ''hlist''
* '''Modalità scura''': Supportu cumpletu pî temi scuri
* '''Risponsiva''': Funziona beni nta dispusitivi mòbbili e desktop
== Comu si usa ==
=== Esempiu sìmplici ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi
| Nomu = Francia
| Wikidata = Q142
| Capitali = Parigi
| CapuStatu = Emmanuel Macron
| Genti = 67,391,582
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi
| no_float = yes
| Nomu = Francia
| Wikidata = Q142
| Capitali = Parigi
| CapuStatu = Emmanuel Macron
| Genti = 67,391,582
}}
=== Esempiu cumpletu ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi
| Nomu = Italia
| Wikidata = Q38
| NomuUfficiali = Repubblica Italiana
| NomuNativu = Italia
| Bannera = Flag of Italy.svg
| Stemma = Italy-Emblem.svg
| Motta = nessuno
| Nnu = Il Canto degli Italiani
| Capitali = Roma
| CittàPrincipali = Milano, Napoli, Torino, Palermo
| Aria = 301,340 km²
| Pusizzioni = 42°30′N 12°30′E
| FusuUrariu = UTC+1
| Cunfini = Francia, Svizzera, Austria, Slovenia, San Marino, Vaticano
| Genti = 58,853,482
| DataCinsimentu = 2023
| Dinsità = 195 ab./km²
| Dintilichiu = italiani
| LinguiUfficiali = Italiano
| GruppiEtnici = 91.5% italiani, 8.5% altri
| FormaGuviernu = Repubblica parlamentare
| CapuStatu = Sergio Mattarella
| CapuStatu_Tìtulu = Presidente della Repubblica
| CapuGuviernu = Giorgia Meloni
| CapuGuviernu_Tìtulu = Presidente del Consiglio
| Ligislatura = Parlamento
| Funnazzioni = 17 marzo 1861
| Nnipinnenza = Unificazione
| Munita = Euro (€)
| PIL = $2.107 trilioni
| PILPirsuna = $35,807
| ISU = 0.895 (molto alto)
| ISO3166 = IT
| DuminuInternet = .it
| PrifissuTilifonicu = +39
| SituWeb = https://www.governo.it
| Mappa = EU-Italy.svg
| DidascalìaMappa = Pusizzioni di l'Italia in Europa
| DataAggiurnamentu = 2023
| NomuMudeḍḍu = TèssiraPajisi/Italia
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi
| no_float = yes
| Nomu = Italia
| Wikidata = Q38
| NomuUfficiali = Repubblica Italiana
| NomuNativu = Italia
| Bannera = Flag of Italy.svg
| Stemma = Italy-Emblem.svg
| Motta = nessuno
| Nnu = Il Canto degli Italiani
| Capitali = Roma
| CittàPrincipali = Milano, Napoli, Torino, Palermo
| Aria = 301,340 km²
| Pusizzioni = 42°30′N 12°30′E
| FusuUrariu = UTC+1
| Cunfini = Francia, Svizzera, Austria, Slovenia, San Marino, Vaticano
| Genti = 58,853,482
| DataCinsimentu = 2023
| Dinsità = 195 ab./km²
| Dintilichiu = italiani
| LinguiUfficiali = Italiano
| GruppiEtnici = 91.5% italiani, 8.5% altri
| FormaGuviernu = Repubblica parlamentare
| CapuStatu = Sergio Mattarella
| CapuStatu_Tìtulu = Presidente della Repubblica
| CapuGuviernu = Giorgia Meloni
| CapuGuviernu_Tìtulu = Presidente del Consiglio
| Ligislatura = Parlamento
| Funnazzioni = 17 marzo 1861
| Nnipinnenza = Unificazione
| Munita = Euro (€)
| PIL = $2.107 trilioni
| PILPirsuna = $35,807
| ISU = 0.895 (molto alto)
| ISO3166 = IT
| DuminuInternet = .it
| PrifissuTilifonicu = +39
| SituWeb = https://www.governo.it
| Mappa = EU-Italy.svg
| DidascalìaMappa = Pusizzioni di l'Italia in Europa
| DataAggiurnamentu = 2023
| NomuMudeḍḍu = TèssiraPajisi/Italia
}}
== Paràmitri cumpleti ==
=== Paràmitri basi ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Nomu</code> || Nomu dû pajisi || Etichetta || Si vacanti, usa u nomu dâ pàggina
|-
| <code>Wikidata</code> || ID Wikidata || — || Es: Q38 pi l'Italia
|-
| <code>NomuUfficiali</code> || Nomu ufficiali cumpletu || P1448 || Nomu ligali cumpletu
|-
| <code>NomuNativu</code> || Nomu ntâ lingua lucali || P1705 || Nomu nativu
|}
=== Sìmbuli nazziunali ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Pusizzioni
|-
| <code>Bannera</code> || Bannera nazziunali || P41 || Manu manca
|-
| <code>Stemma</code> || Stemma ufficiali || P94 || Manu dritta
|-
| <code>Motta</code> || Motta nazziunali || P1546 || Prima riga
|-
| <code>Nnu</code> || Nnu nazziunali || P85 || Secunna riga
|}
=== Sizzioni Giugrafìa ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Etichetta default
|-
| <code>Capitali</code> || Capitali dû pajisi || P36 || "Capitali"
|-
| <code>CittàPrincipali</code> || Àutri cità mpurtanti || P1082 (Q515) || "Cità cchiù granni"
|-
| <code>Aria</code> || Supirfìci in km² || P2046 || "Supirfìci"
|-
| <code>Pusizzioni</code> || Coordinati giugràfichi || P625 || "Coordinati"
|-
| <code>FusuUrariu</code> || Fusi urari || P421 || "Fusi urari"
|-
| <code>Cunfini</code> || Pajisi cunfinanti || P47 || "Cunfini"
|-
| <code>PuntuAutu</code> || Puntu cchiù àutu || P610 || "Puntu cchiù àutu"
|-
| <code>PuntuVasciu</code> || Puntu cchiù vasciu || P1589 || "Puntu cchiù vasciu"
|}
=== Sizzioni Demografia ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Genti</code> || Nùmmaru d'abitanti || P1082 ||
|-
| <code>DataCinsimentu</code> || Data dû cinsimentu || — || Appari nta parèntisi
|-
| <code>Dinsità</code> || Abitanti pi km² || — || Càlculu manuali
|-
| <code>Dintilichiu</code> || Nomu dî cittadini || P1549 || Es: "italiani"
|-
| <code>LinguiUfficiali</code> || Lingui ufficiali || P37 || Supporta listi
|-
| <code>GruppiEtnici</code> || Cumpusizzioni ètnica || — ||
|-
| <code>Riligiuni</code> || Riligiuni principali || P140 ||
|}
=== Sizzioni Guvernu ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>FormaGuviernu</code> || Tipu di guvernu || P122 || Es: "Repubblica"
|-
| <code>CapuStatu</code> || Capu dû statu || P35 ||
|-
| <code>CapuStatu_Tìtulu</code> || Tìtulu ufficiali || P1906 || Default: "Capu dû Statu"
|-
| <code>CapuGuviernu</code> || Capu dû guvernu || P6 ||
|-
| <code>CapuGuviernu_Tìtulu</code> || Tìtulu ufficiali || P1313 || Default: "Capu dû Guvernu"
|-
| <code>Ligislatura</code> || Nomu dû parlamentu || P194 ||
|}
=== Sizzioni Storia ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>Funnazzioni</code> || Data di funnazzioni || P571
|-
| <code>Nnipinnenza</code> || Data d'innipinnenza || P3103
|-
| <code>NnipinnenzaDi</code> || Nnipinnenti di quali pajisi || P3103→P17
|}
=== Sizzioni Economia ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>Munita</code> || Munita ufficiali || P38
|-
| <code>PIL</code> || Produttu internu lordu || —
|-
| <code>PILPirsuna</code> || PIL pi càpiti || —
|-
| <code>ISU</code> || Ìnnici di sviluppu umanu || P1081
|}
=== Còdici internazziunali ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>ISO3166</code> || Còdici ISO 3166-1 || P297
|-
| <code>DuminuInternet</code> || Duminiu di primu liveddu || P78
|-
| <code>PrifissuTilifonicu</code> || Prifissu internazziunali || P474
|}
=== Àutri paràmitri ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>SituWeb</code> || Situ web ufficiali || P856
|-
| <code>Mappa</code> || Mappa di pusizzioni || P242
|-
| <code>DidascalìaMappa</code> || Didascalìa dâ mappa || —
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || —
|-
| <code>DataAggiurnamentu</code> || Data aggiurnamentu || —
|-
| <code>NomuMudeḍḍu</code> || Pi navigazzioni || —
|}
== Integrazzioni Wikidata ==
A tèssira supporta automaticamenti sti prupità Wikidata:
* '''P17''' - Paìsi
* '''P35''' - Capu dû statu
* '''P36''' - Capitali
* '''P37''' - Lingua ufficiali
* '''P38''' - Munita
* '''P41''' - Bannera
* '''P47''' - Cunfini
* '''P6''' - Capu dû guvernu
* '''P78''' - Duminiu internet di primu liveddu
* '''P85''' - Nnu nazziunali
* '''P94''' - Stemma
* '''P122''' - Forma di guvernu
* '''P140''' - Riligioni
* '''P194''' - Corpu ligislativu
* '''P242''' - Mappa di lucalizzazzioni
* '''P297''' - Còdici ISO 3166-1
* '''P421''' - Fusu urariu
* '''P474''' - Prifissu tilifonicu
* '''P571''' - Data di criazzioni
* '''P610''' - Puntu cchiù àutu
* '''P625''' - Coordinati giugràfichi
* '''P856''' - Situ web ufficiali
* '''P1081''' - Ìnnici di sviluppu umanu
* '''P1082''' - Pupulazzioni
* '''P1313''' - Tìtulu dû capu dû guvernu
* '''P1448''' - Nomu ufficiali
* '''P1546''' - Motta
* '''P1549''' - Dintilichiu
* '''P1589''' - Puntu cchiù vasciu
* '''P1705''' - Nomu nativu
* '''P1906''' - Tìtulu dû capu dû statu
* '''P2046''' - Aria
* '''P3103''' - Data d'innipinnenza
== Noti mpurtanti ==
* '''Wikidata''': Si un paràmitru è vacanti, a tèssira prova a pigghiari u valuri di Wikidata
* '''Sizzioni''': I sizzioni (Giugrafìa, Demografia, Guvernu, Storia, Economia) appaìunu sulu si ci sunnu dati
* '''Listi''': Pi listi ntê valuri (es: lingui, cità), usa <code>plainlist</code> o <code>hlist</code> ntô paràmitru <code>Classi</code>
* '''Tìtuli''': I tìtuli dî capi (CapuStatu_Tìtulu, CapuGuviernu_Tìtulu) si ponnu pirsunalizzari
== Vidi macari ==
* [[Utenti:GianAntonucci/Bozza/Mòdulu:Tèssira]] - Mòdulu principali
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]] - Pi cità e cumuni
* [[Aiutu:Tèssiri]] - Guida ginirali
{{Tracciamentu mudeḍḍu}}
[[Categoria:Mudeḍḍi di tèssira]]
[[Categoria:Mudeḍḍi chi usanu Wikidata]]
</noinclude>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
<!-- Nome e titoli -->
| Tìtulu = {{#if: {{{Nomu|}}} | {{{Nomu}}} | {{#if: {{{Wikidata|}}} | {{WikidataLabel|from={{{Wikidata}}}}} | {{PAGENAME}} }} }}
| Suttatìtulu = {{#if: {{{NomuUfficiali|}}} | {{{NomuUfficiali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1448|from={{{Wikidata}}}}} }} }}
| Supra = {{#if: {{{NomuNativu|}}} | {{{NomuNativu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1705|from={{{Wikidata}}}}} }} }}
<!-- Bandiera e stemma -->
| MmàgginiManuManca = {{#if: {{{Bannera|}}} | {{{Bannera}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P41|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiManuManca = {{#if: {{{Bannera|}}}|Bannera|{{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P41|from={{{Wikidata}}}}} | Bannera }} }} }}
| MmàgginiManuDritta = {{#if: {{{Stemma|}}} | {{{Stemma}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P94|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiManuDritta = {{#if: {{{Stemma|}}}|Stemma|{{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P94|from={{{Wikidata}}}}} | Stemma }} }} }}
<!-- Motto e inno -->
| Vuci1 = Motta
| Valuri1 = {{#if: {{{Motta|}}} | {{{Motta}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1546|from={{{Wikidata}}}}} }} }}
| Prupità1 = P1546
| Vuci2 = Nnu nazziunali
| Valuri2 = {{#if: {{{Nnu|}}} | {{{Nnu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P85|from={{{Wikidata}}}}} }} }}
| Prupità2 = P85
<!-- Geografia - sezione automatica -->
| Vuci3 = Capitali
| Valuri3 = {{#if: {{{Capitali|}}} | {{{Capitali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P36|from={{{Wikidata}}}}} }} }}
| Gruppu3 = Giugrafìa
| Prupità3 = P36
| Vuci4 = Cità cchiù granni
| Valuri4 = {{#if: {{{CittàPrincipali|}}} | {{{CittàPrincipali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1082|qualifier=P31=Q515|from={{{Wikidata}}}|max=5}} }} }}
| Gruppu4 = Giugrafìa
| Classi4 = {{#if: {{{CittàPrincipali|}}} | plainlist }}
| Aria = {{#if: {{{Aria|}}} | {{{Aria}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2046|from={{{Wikidata}}}}} }} }}
| VuciAria = Supirfìci
| GruppuAria = Giugrafìa
| Pusizzioni = {{#if: {{{Pusizzioni|}}} | {{{Pusizzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P625|from={{{Wikidata}}}}} }} }}
| VuciPusizzioni = Coordinati
| GruppuPusizzioni = Giugrafìa
| FusuUrariu = {{#if: {{{FusuUrariu|}}} | {{{FusuUrariu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P421|from={{{Wikidata}}}}} }} }}
| VuciFusuUrariu = Fusi urari
| GruppuFusuUrariu = Giugrafìa
| Vuci5 = Cunfini
| Valuri5 = {{#if: {{{Cunfini|}}} | {{{Cunfini}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P47|from={{{Wikidata}}}}} }} }}
| Gruppu5 = Giugrafìa
| Prupità5 = P47
| Classi5 = {{#if: {{{Cunfini|}}} | |plainlist}}
| Vuci6 = Puntu cchiù àutu
| Valuri6 = {{#if: {{{PuntuAutu|}}} | {{{PuntuAutu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P610|from={{{Wikidata}}}}} }} }}
| Gruppu6 = Giugrafìa
| Prupità6 = P610
| Vuci7 = Puntu cchiù vasciu
| Valuri7 = {{#if: {{{PuntuVasciu|}}} | {{{PuntuVasciu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1589|from={{{Wikidata}}}}} }} }}
| Gruppu7 = Giugrafìa
| Prupità7 = P1589
<!-- Demografia - sezione automatica -->
| Genti = {{#if: {{{Genti|}}} | {{{Genti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1082|from={{{Wikidata}}}}} }} }}
| VuciGenti = Pupulazzioni {{#if: {{{DataCinsimentu|}}} | ({{{DataCinsimentu}}}) }}
| GruppuGenti = Demografia
| Vuci8 = Dinsità
| Valuri8 = {{{Dinsità|}}}
| Gruppu8 = Demografia
| Vuci9 = Dintilichiu
| Valuri9 = {{#if: {{{Dintilichiu|}}} | {{{Dintilichiu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1549|from={{{Wikidata}}}}} }} }}
| Gruppu9 = Demografia
| Prupità9 = P1549
| Vuci10 = {{#if: {{{LinguiUfficiali|}}} | Lingui ufficiali | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P37|from={{{Wikidata}}}}} | Lingui ufficiali }} }} }}
| Valuri10 = {{#if: {{{LinguiUfficiali|}}} | {{{LinguiUfficiali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P37|from={{{Wikidata}}}}} }} }}
| Gruppu10 = Demografia
| Prupità10 = P37
| Classi10 = {{#if: {{{LinguiUfficiali|}}} | |plainlist}}
| Vuci11 = Gruppi ètnici
| Valuri11 = {{{GruppiEtnici|}}}
| Gruppu11 = Demografia
| Vuci12 = Riligiuni
| Valuri12 = {{#if: {{{Riligiuni|}}} | {{{Riligiuni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P140|from={{{Wikidata}}}}} }} }}
| Gruppu12 = Demografia
| Prupità12 = P140
<!-- Governo - sezione automatica -->
| Vuci13 = Forma di guvernu
| Valuri13 = {{#if: {{{FormaGuviernu|}}} | {{{FormaGuviernu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P122|from={{{Wikidata}}}}} }} }}
| Gruppu13 = Guvernu
| Prupità13 = P122
| Capu = {{#if: {{{CapuStatu|}}} | {{{CapuStatu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P35|from={{{Wikidata}}}}} }} }}
| VuciCapu = {{#if: {{{CapuStatu_Tìtulu|}}} | {{{CapuStatu_Tìtulu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1906|from={{{Wikidata}}}}} | Capu dû Statu }} }}
| GruppuCapu = Guvernu
| Vuci14 = {{#if: {{{CapuGuviernu_Tìtulu|}}} | {{{CapuGuviernu_Tìtulu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1313|from={{{Wikidata}}}}} | Capu dû Guvernu }} }}
| Valuri14 = {{#if: {{{CapuGuviernu|}}} | {{{CapuGuviernu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P6|from={{{Wikidata}}}}} }} }}
| Gruppu14 = Guvernu
| Prupità14 = P6
| Vuci15 = Ligislatura
| Valuri15 = {{#if: {{{Ligislatura|}}} | {{{Ligislatura}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P194|from={{{Wikidata}}}}} }} }}
| Gruppu15 = Guvernu
| Prupità15 = P194
<!-- Storia - sezione automatica -->
| Vuci16 = Funnazzioni
| Valuri16 = {{#if: {{{Funnazzioni|}}} | {{{Funnazzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P571|from={{{Wikidata}}}}} }} }}
| Gruppu16 = Storia
| Prupità16 = P571
| Vuci17 = Nnipinnenza
| Valuri17 = {{#if: {{{Nnipinnenza|}}} | {{{Nnipinnenza}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P3103|from={{{Wikidata}}}}} }} }}
| Gruppu17 = Storia
| Prupità17 = P3103
| Vuci18 = Nnipinnenti di
| Valuri18 = {{#if: {{{NnipinnenzaDi|}}} | {{{NnipinnenzaDi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P3103|qualifier=P17|from={{{Wikidata}}}}} }} }}
| Gruppu18 = Storia
<!-- Economia - sezione automatica -->
| Vuci19 = Munita
| Valuri19 = {{#if: {{{Munita|}}} | {{{Munita}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P38|from={{{Wikidata}}}}} }} }}
| Gruppu19 = Economia
| Prupità19 = P38
| Vuci20 = PIL (nominali)
| Valuri20 = {{{PIL|}}}
| Gruppu20 = Economia
| Vuci21 = PIL pi càpiti
| Valuri21 = {{{PILPirsuna|}}}
| Gruppu21 = Economia
| Vuci22 = ISU
| Valuri22 = {{#if: {{{ISU|}}} | {{{ISU}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1081|from={{{Wikidata}}}}} }} }}
| Gruppu22 = Economia
| Prupità22 = P1081
<!-- Codici internazionali -->
| ISO = {{#if: {{{ISO3166|}}} | {{{ISO3166}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P297|from={{{Wikidata}}}}} }} }}
| VuciISO = Còdici ISO 3166
| GruppuISO = Còdici
| Vuci23 = Duminiu internet
| Valuri23 = {{#if: {{{DuminuInternet|}}} | {{{DuminuInternet}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P78|from={{{Wikidata}}}}} }} }}
| Gruppu23 = Còdici
| Prupità23 = P78
| Vuci24 = Prifissu tilifonicu
| Valuri24 = {{#if: {{{PrifissuTilifonicu|}}} | {{{PrifissuTilifonicu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P474|from={{{Wikidata}}}}} }} }}
| Gruppu24 = Còdici
| Prupità24 = P474
<!-- Collegamenti -->
| Vuci30 = Situ ufficiali
| Valuri30 = {{#if: {{{SituWeb|}}} | [{{{SituWeb}}} {{{SituWeb}}}] | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P856|from={{{Wikidata}}}}} }} }}
| Gruppu30 = Lijami
| Prupità30 = P856
| Classi30 = plainlist
<!-- Footer -->
| PediPàggina = {{#if: {{{PediPàggina|}}} | {{{PediPàggina}}} | {{#if: {{{DataAggiurnamentu|}}} | Dati aggiurnati ô {{{DataAggiurnamentu}}} }} }}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|}}}
| LijamiWikidata = {{#if: {{{Wikidata|}}} | yes }}
<!-- Mappa -->
| MmàgginiSutta = {{#if: {{{Mappa|}}} | {{{Mappa}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P242|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiSutta = {{#if: {{{DidascalìaMappa|}}} | {{{DidascalìaMappa}}} | {{#if: {{{Mappa|}}}|Pusizzioni|{{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P242|from={{{Wikidata}}}}} | Pusizzioni }} }} }} }}
<!-- Parametri di sistema -->
| Wikidata = {{{Wikidata|}}}
| child = {{{child|}}}
| no_float = {{{no_float|}}}
| inline_style = {{{inline_style|}}}
| style = {{{style|tessira}}}
| debug = {{{debug|}}}
}}
5wm4dkm1127vmi35f274oegdmrshijm
Utenti:GianAntonucci/Bozza/Tèssira dû Capu
2
66268
770477
770398
2025-07-04T14:18:03Z
GianAntonucci
46609
770477
wikitext
text/x-wiki
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità
| Wikidata = Q51176
| Nomu = U Capu
| Viduta = Capo d'Orlando - view of the harbour from Scafa.JPG
| Didascalìa = Viduta dû portu dû Capu a pàrtiri di Scafa
| Sìnnacu = Franco Ingrillì
| SìnnacuGèniri = m
}}
rm3f0wsp44jxpyh0gcg2nxbpirua5sg
Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira
2
66271
770542
770426
2025-07-04T22:00:44Z
GianAntonucci
46609
/* Esempi */
770542
wikitext
text/x-wiki
<templatestyles src="Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"/>
<noinclude>
== Zoccu è ==
...
== Comu si usa ==
<code><nowiki>{{ Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira }}</nowiki></code>
== Esempi ==
=== Test cû hlist e plainlist ammiscati ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Esèmpiu di listi ammiscati
| Vuci1 = Quarchi lista urizzuntali
| Valuri1 =
* Aranciu
* Babbàluciu
* Cucuzzìdda
| Classi1 = hlist
| Vuci2 = Quarchi lista virticali
| Valuri2 =
* Ficudinnia
* Pircoca
* Mulinciana
| Classi2 = plainlist
}}
<div style="clear:both;"></div>
=== Nuddu datu ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu=
| MmàgginiSupra=
| Genti=
}}
<div style="clear:both;"></div>
=== Na riga chi havi sulu rifirimenti ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Vuci1=Pupulazzioni
| Valuri1=<ref>Quarchi rifirimentu supra a pupulazzioni</ref>
}}
<div style="clear:both;"></div>
=== Override parziali di autoheader ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Capu=Don Calò
| GruppuCapu=Sizzioni Guvernu Spiciali
| Pusizzioni=38°07′N 13°22′E
}}
<div style="clear:both;"></div>
=== Infobox figghiu cû campi mìnimi ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| child = yes
| Tìtulu = Cascia Nnicata
| Abbirtenza1 = Dintra n'àutra
| Vuci1 = Discrizzioni
| Valuri1 = Sta cascia è nnicata
}}
<div style="clear:both;"></div>
=== Granni nùmmaru di abbirtenzi ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Esèmpiu Multi-Subheaders
| Abbirtenza1 = Prima Sizzioni
| Vuci1 = Cosa Una
| Valuri1 = Valuri Unu
| Abbirtenza2 = Sicunna Sizzioni
| Vuci2 = Cosa Dui
| Valuri2 = Valuri Dui
| Abbirtenza3 = Terza Sizzioni
| Abbirtenza4 = Ancora Cchiôssai
| Abbirtenza5 = E Ancora
| Vuci3 = Ùrtima Riga
| Valuri3 = Dimu
}}
<div style="clear:both;"></div>
=== Usannu catigurii nta na riga "vacanti" nummirata ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Vuci1 = Quarchi Datu
| Valuri1 =
[[Category:Test di Infobox]]
}}
<div style="clear:both;"></div>
=== Na prupità Wikidata scunusciuta ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| CampuScunusciutu = QuarchiValuri
| GruppuCampuScunusciutu = Dati Strani
}}
<div style="clear:both;"></div>
=== Na riga chi currispunni a multipli sizzioni ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Vuci1 = Pupulazzioni
| Valuri1 = 100,000 àbitanti
| Prupità1 = P1082
}}
<div style="clear:both;"></div>
=== Tàvula vacanti tranni pi "Supra" o "Sutta" ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Supra = Quarchi Tìtulu
| Sutta = Quarchi Pedi
}}
<div style="clear:both;"></div>
=== Na riga cû cuntinnutu granni ammiscatu ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Esèmpiu Riga Ammiscata
| Vuci1 = Dati Cumplessi
| Valuri1 =
Ccà c'è quarchi testu.
<ref>Nu rifirimentu supra stu testu</ref>
[[Category:Catigurìa di Test nta na Riga]]
* Nu puntu
* N'àutru puntu
}}
<div style="clear:both;"></div>
== Novi Esempi Cumpleti ==
=== Città - Palermu ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Palermu
| Suttatìtulu = Capoluogo della Sicilia
| MmàgginiSupra = Palermo-view-from-north.jpg
| DidascalìaMmàgginiSupra = Vista panoramica di Palermu
| Supra = Città metropolitana
| Capu = Roberto Lagalla
| VuciCapu = Sindaco
| Genti = 663,401
| VuciGenti = Popolazione (2023)
| Aria = 158.88 km²
| Pusizzioni = 38°07′N 13°22′E
| FusuUrariu = UTC+1
| ISO = IT-PA
| Pruvincia = Palermo
| Tipu = Città metropolitana
| Abbirtenza1 = Storia
| Vuci10 = Fondata
| Valuri10 = 734 a.C.
| Vuci11 = Fondatori
| Valuri11 = Fenici
| PediPàggina = Dati aggiornati al 2023
| NomuMudeḍḍu = Palermu
| LijamiWikidata = yes
}}
<div style="clear:both;"></div>
=== Pirsuna - Sciascia ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Leonardo Sciascia
| MmàgginiSupra = Leonardo_Sciascia.jpg
| DidascalìaMmàgginiSupra = Leonardo Sciascia nta li anni 1960
| Vuci1 = Nasciuta
| Valuri1 = 8 di jinnaru 1921<br/>[[Racalmuto]], Sicilia
| Vuci2 = Mortu
| Valuri2 = 20 di nuvèmmiru 1989 (68 anni)<br/>[[Palermu]], Sicilia
| Vuci3 = Naziunalità
| Valuri3 = [[File:Flag of Italy.svg|20px]] Taliana
| Abbirtenza1 = Attività
| Vuci4 = Occupazzioni
| Valuri4 =
* Scritturi
* Jurnalista
* Pulìticu
| Classi4 = plainlist
| Vuci5 = Piriudu attività
| Valuri5 = 1950–1989
| Vuci6 = Gèniri littrariu
| Valuri6 = Rumanzu, saggi, tiatra
| Abbirtenza2 = Òpiri principali
| Vuci7 = Libbra famusa
| Valuri7 =
* ''Il giorno della civetta'' (1961)
* ''A ciascuno il suo'' (1966)
* ''Todo modo'' (1974)
| Classi7 = plainlist
| Sutta = Unu dî maiuri scrittùra siciliani dû XX sèculu
}}
<div style="clear:both;"></div>
=== Ricetta - Pasta câ Norma ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Pasta câ Norma
| Suttatìtulu = Piattu tradizziunali catanisi
| MmàgginiSupra = Pasta_alla_norma.jpg
| DidascalìaMmàgginiSupra = Pasta câ Norma sirvuta
| Vuci1 = Orìggini
| Valuri1 = [[Catania]], Sicilia
| Vuci2 = Tipu di piattu
| Valuri2 = Primu piattu
| Vuci3 = Timpiratura sirvutu
| Valuri3 = Càudu
| Abbirtenza1 = Ngridienti principali
| Valuri4 =
# Pasta (penne o rigatoni)
# Milinciani
# Pumadoru
# Ricotta salata
# Àgghiu
# Vasanicò
# Ogghiu d'aliva
| Abbirtenza2 = Nfurmazzioni nutriziunali
| Vuci5 = Calorìi pi purzzioni
| Valuri5 = ~400-450 kcal
| Vuci6 = Tempu di priparazzioni
| Valuri6 = 45 minuti
| PediPàggina = Ricetta tradizziunali siciliana
}}
<div style="clear:both;"></div>
=== Muntaggna - Etna ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Etna
| Suttatìtulu = A Muntagna o Mungibeddu
| MmàgginiSupra = Mount_Etna.jpg
| DidascalìaMmàgginiSupra = L'Etna n'eruzzioni
| Supra = Vulcanu attivu
| Vuci1 = Autizza
| Valuri1 = 3,357 m s.l.m. (variàbbili)
| Vuci2 = Pusizzioni
| Valuri2 = [[Catania]], Sicilia
| Vuci3 = Coordinati
| Valuri3 = 37°45′18″N 14°59′43″E
| Abbirtenza1 = Gioluggìa
| Vuci4 = Tipu
| Valuri4 = Stratuvulcanu
| Vuci5 = Ùrtima eruzzioni
| Valuri5 = 2023 (n'attività)
| Vuci6 = Età
| Valuri6 = ~500,000 anni
| Abbirtenza2 = UNESCO
| Vuci7 = Patrimoniu Munniali
| Valuri7 = Dû 2013
| Vuci8 = Critèriu
| Valuri8 = (viii) - fenòmini naturali
| Sutta = Vulcanu cchiù àutu d'Europa
}}
<div style="clear:both;"></div>
=== Film - Il Gattopardo ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Il Gattopardo
| MmàgginiSupra = Il_gattopardo_poster.jpg
| Vuci1 = Riggista
| Valuri1 = [[Luchino Visconti]]
| Vuci2 = Annu
| Valuri2 = 1963
| Vuci3 = Paìsi
| Valuri3 = [[File:Flag of Italy.svg|20px]] Italia
| Vuci4 = Lìngua
| Valuri4 = Talianu
| Gruppu5 = Cast principali
| Vuci5 = Attura principali
| Valuri5 =
* [[Burt Lancaster]] - Don Fabrizio
* [[Alain Delon]] - Tancredi
* [[Claudia Cardinale]] - Angelica
| Classi5 = plainlist
| Gruppu6 = Pruduzzioni
| Vuci6 = Durata
| Valuri6 = 187 minuti
| Vuci7 = Basatu supra
| Valuri7 = Rumanzu di [[Giuseppe Tomasi di Lampedusa]]
| Vuci8 = Mùsica
| Valuri8 = [[Nino Rota]]
| Gruppu9 = Premi
| Vuci9 = Palma d'Oru
| Valuri9 = Festival di Cannes 1963
| Sutta = Capulavuru dû cìnima talianu
| Gruppu6 = Pruduzzioni
| Gruppu9 = Premi
}}
<div style="clear:both;"></div>
=== Animali - Àcula siciliana ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Àcula siciliana
| Suttatìtulu = ''Aquila chrysaetos''
| MmàgginiSupra = Golden_eagle.jpg
| DidascalìaMmàgginiSupra = Àcula riali nta volu
| Vuci1 = Classi
| Valuri1 = Aves
| Vuci2 = Òrdini
| Valuri2 = Accipitriformes
| Vuci3 = Famigghia
| Valuri3 = Accipitridae
| Abbirtenza1 = Carattirìstichi
| Vuci4 = Lunghizza
| Valuri4 = 75-88 cm
| Vuci5 = Apirtura alari
| Valuri5 = 190-230 cm
| Vuci6 = Pisu
| Valuri6 = 3-6.5 kg
| Vuci7 = Durata dâ vita
| Valuri7 = 20-30 anni
| Abbirtenza2 = Distribuzzioni n Sicilia
| Vuci8 = Àbbitat
| Valuri8 = Madonìi, Nèbrodi, Etna
| Vuci9 = Statu cunsirvazzioni
| Valuri9 = Vulniràbbili
| Vuci10 = Pupulazzioni stimata
| Valuri10 = 15-20 coppî
| PediPàggina = Speci prutetta
}}
<div style="clear:both;"></div>
=== Festa - Sant'Àjita ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Festa di Sant'Àjita
| MmàgginiSupra = SantAgata_Catania.jpg
| DidascalìaMmàgginiSupra = A vara di Sant'Àjita
| Vuci1 = Tipu
| Valuri1 = Festa rilliggìusa
| Vuci2 = Data
| Valuri2 = 3-5 di frivaru
| Vuci3 = Locu
| Valuri3 = [[Catania]], Sicilia
| Vuci4 = Patrona di
| Valuri4 = Catania
| Gruppu5 = Cilibbrazzioni
| Vuci5 = Evènti principali
| Valuri5 =
* A prucissioni dû 3
* A prucissioni dû 4
* A prucissioni dû 5
* I cannalora
| Classi5 = plainlist
| Vuci6 = Partecipanti
| Valuri6 = ~500,000 pirsùni
| Vuci7 = Tradizzioni dû
| Valuri7 = 1126
| Sutta = Una dî festi rilliggiùsi cchiù 'mpurtanti di Sicilia
}}
<div style="clear:both;"></div>
=== Castìddu - Castìddu Ursinu ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Castìddu Ursinu
| MmàgginiSupra = Castello_ursino.jpg
| DidascalìaMmàgginiSupra = Vista dû Castìddu Ursinu
| Vuci1 = Locu
| Valuri1 = [[Catania]], Sicilia
| Vuci2 = Custruzzioni
| Valuri2 = 1239-1250
| Vuci3 = Cumissiunatu di
| Valuri3 = [[Fidiricu II di Svevia]]
| Vuci4 = Architettu
| Valuri4 = Riccardo da Lentini
| Abbirtenza1 = Carattirìstichi
| Vuci5 = Stili
| Valuri5 = Architittura sveva
| Vuci6 = Matiriali
| Valuri6 = Petra làvica
| Vuci7 = Forma
| Valuri7 = Quatratu cû torri
| Abbirtenza2 = Usu attuali
| Vuci8 = Funzzioni
| Valuri8 = Museu Cìvicu
| Vuci9 = Cullizzioni
| Valuri9 = Arti midevali e muderna
| Vuci10 = Visitaturi annuali
| Valuri10 = ~150,000
| PediPàggina = Munumentu nazziunali
}}
<div style="clear:both;"></div>
=== Lìngua - Sicilianu ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Lìngua siciliana
| Suttatìtulu = Sicilianu
| Vuci1 = Parlatu nta
| Valuri1 = [[Sicilia]], [[Calabbria]] miridiunali
| Vuci2 = Parlanti
| Valuri2 = ~4.7 miliuni
| Vuci3 = Famigghia
| Valuri3 =
Indoeuropea
* Romanza
** Italo-occidentali
*** Sicilianu
| Classi3 = plainlist
| Abbirtenza1 = Còdici
| Vuci4 = ISO 639-2
| Valuri4 = scn
| Vuci5 = ISO 639-3
| Valuri5 = scn
| Vuci6 = Glottolog
| Valuri6 = sici1248
| Abbirtenza2 = Dialètti
| Vuci7 = Varianti principali
| Valuri7 =
* Sicilianu occidentali
* Sicilianu cèntrali
* Sicilianu orientali
* Sicilianu miridiunali
| Classi7 = plainlist
| Vuci8 = Statu ufficiali
| Valuri8 = Lìngua rilliggiùsa (UNESCO)
| Sutta = Patrimòniu linguìsticu di Sicilia
}}
<div style="clear:both;"></div>
=== Squadra di Pallùni - Catania ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Calcio Catania
| MmàgginiSupra = Catania_logo.png
| DidascalìaMmàgginiSupra = Stemma ufficiali
| Vuci1 = Nomu cumpletu
| Valuri1 = Catania Football Club
| Vuci2 = Suprannomu
| Valuri2 = Rossazzurri, Elefanti
| Vuci3 = Funnatu
| Valuri3 = 1946
| Vuci4 = Stadiu
| Valuri4 = Angelo Massimino
| Vuci5 = Capacità
| Valuri5 = 23,266
| Abbirtenza1 = Culùra
| Vuci6 = Culùra sòciali
| Valuri6 = Russu e cilèsti
| Vuci7 = Prisidènti
| Valuri7 = Ross Pelligra
| Vuci8 = Allinaturi
| Valuri8 = Domenico Toscano
| Abbirtenza2 = Palmarès
| Vuci9 = Campiunati Sèrie B
| Valuri9 = 1 (1953-54)
| Vuci10 = Coppa Italia Sèrie C
| Valuri10 = 2 (1999-00, 2022-23)
| Sutta = Forza Catania!
}}
<div style="clear:both;"></div>
=== Stòria - Sbarcu n Sicilia ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Sbarcu n Sicilia
| Suttatìtulu = Operazzioni Husky
| MmàgginiSupra = Sicily_invasion_1943.jpg
| DidascalìaMmàgginiSupra = Truppe allìati sbàrcanu n Sicilia
| Supra = Secunna Guerra Munniali
| Vuci1 = Data
| Valuri1 = 9 lugghiu - 17 agustu 1943
| Vuci2 = Locu
| Valuri2 = Sicilia
| Vuci3 = Risurtatu
| Valuri3 = Vittòria allìata
| Abbirtenza1 = Billigirànti
| Vuci4 = Allìati
| Valuri4 =
* [[File:US flag.svg|20px]] Stati Uniti
* [[File:UK flag.svg|20px]] Regnu Unitu
* [[File:Canada flag.svg|20px]] Canadà
| Classi4 = hlist
| Vuci5 = Assi
| Valuri5 =
* [[File:Flag of Italy (1861-1946).svg|20px]] Italia
* [[File:Flag of Germany (1935–1945).svg|20px]] Girmània
| Classi5 = hlist
| Abbirtenza2 = Forzi 'n campu
| Vuci6 = Allìati
| Valuri6 = ~470,000 òmini
| Vuci7 = Assi
| Valuri7 = ~260,000 òmini
| Abbirtenza3 = Pèrditi
| Vuci8 = Allìati
| Valuri8 = ~25,000 (muòrti, firùti, dispirsi)
| Vuci9 = Assi
| Valuri9 = ~165,000 (muòrti, firùti, prigiunèri)
| PediPàggina = Primu passu pâ libbirazzioni d'Italia
}}
<div style="clear:both;"></div>
=== Test di tutti i pusizzioni dî mmàggini ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Test dî Mmàggini
| MmàgginiSupra = Etna_eruption.jpg
| DidascalìaMmàgginiSupra = Didascalìa dâ mmàggini supra
| MmàgginiManuManca = Trinacria.jpg
| DidascalìaMmàgginiManuManca = Didascalìa manca
| MmàgginiManuDritta = Cassata_siciliana.jpg
| DidascalìaMmàgginiManuDritta = Didascalìa dritta
| MmàgginiSutta = Teatro_Massimo_Palermo.jpg
| DidascalìaMmàgginiSutta = Didascalìa dâ mmàggini sutta
}}
<div style="clear:both;"></div>
=== Test dî rifirimenti ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Tipi di Rifirimenti
| Vuci1 = Rifirimentu standard
| Valuri1 = Quarchi testu<ref>Rifirimentu standard</ref>
| Vuci2 = Rifirimentu cû nomu primu usu
| Valuri2 = Cchiù testu<ref name="test">Chistu è u rifirimentu test</ref>
| Vuci3 = Riusannu rifirimentu cû nomu
| Valuri3 = Ancora cchiù testu<ref name="test" />
}}
<div style="clear:both;"></div>
=== Test dû modu Debug ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| debug = yes
| Tìtulu = Esèmpiu Debug
| Vuci1 = Paràmitru vàlidu
| Valuri1 = Quarchi valuri
| ParàmitruNunVàlidu = Chistu avissi a cumpariri ntô debug
| N'àutruParàmitruMalu = Puru ntô debug
}}
<div style="clear:both;"></div>
=== Test dî listi nummirati ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Esèmpiu di Listi
| Vuci1 = Lista nummàrata
| Valuri1 =
# Prima cosa
# Sicunna cosa
# Terza cosa
| Vuci2 = Lista ammiscata
| Valuri2 =
# Nummàratu unu
#* Suttu-cosa cû puntu
#* N'àutra suttu-cosa
# Nummàratu dui
}}
<div style="clear:both;"></div>
=== Test di raggruppamentu autoheader giugràficu ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Test Dati Giugràfici
| Aria = 250 km²
| Pusizzioni = 37°30′N 14°00′E
| Pruvincia = Pruvincia di Catania
| FusuUrariu = UTC+1
| Vuci10 = Artizza
| Valuri10 = 150 m s.l.m.
| Prupità10 = P2046
}}
<div style="clear:both;"></div>
=== Riga cumplessa senza etichetta ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Test Senza Etichetta
| Valuri1 = Sta riga nun havi etichetta, occupa dui culonni
| Vuci2 = Riga nurmali
| Valuri2 = Cû etichetta
| Valuri3 = N'àutra riga senza etichetta
| Classi3 = plainlist
}}
<div style="clear:both;"></div>
=== Test CSS pirsunalizzatu e stili in linea ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| inline_style = background-color: #f0f0f0; border: 2px solid #0066cc;
| Tìtulu = Infobox Stilizzata
| Vuci1 = Stili pirsunalizzatu
| Valuri1 = St'infobox havi CSS pirsunalizzatu
}}
<div style="clear:both;"></div>
=== Multipli catigurii e rifirimenti ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Test Rifirimenti
| Vuci1 = Multipli ref
| Valuri1 = Testu cû ref<ref>Primu ref</ref> e n'àutru<ref>Sicunnu ref</ref>
| Vuci2 = Sulu catigurii
| Valuri2 = [[Category:Test1]][[Category:Test2]][[Category:Test3]]
| Vuci3 = Vacanti ammiscatu
| Valuri3 = <ref name="mixedtest">Cuntinnutu rifirimentu</ref>[[Category:Test Vacanti]]<ref name="mixedtest" />
}}
<div style="clear:both;"></div>
=== Test variazzioni di casi ntê catigurii ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Vuci1 = Catigurìa minùscula
| Valuri1 = [[category:test minusculu]]
| Vuci2 = Casu ammiscatu
| Valuri2 = [[CaTeGoRy:Test Casu Ammiscatu]]
| Vuci3 = Cû spazî
| Valuri3 = [[ Category : Test Cû Spazî ]]
}}
<div style="clear:both;"></div>
=== Test paràmitri nummirati àuti ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Nùmmari Àuti
| Vuci50 = Riga 50
| Valuri50 = Chista è a riga nùmmaru 50
| Vuci100 = Riga 100
| Valuri100 = Chista è a riga nùmmaru 100
| Gruppu100 = Nùmmari Assai Àuti
}}
<div style="clear:both;"></div>
=== Test gruppi manuali cû righi nummirati ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Raggruppamentu Manuali
| Gruppu1 = Primu Gruppu
| Vuci1 = Cosa A
| Valuri1 = Valuri A
| Vuci2 = Cosa B
| Valuri2 = Valuri B
| Gruppu3 = Sicunnu Gruppu
| Vuci3 = Cosa C
| Valuri3 = Valuri C
| Gruppu4 =
| Vuci4 = Cosa D
| Valuri4 = Valuri D (nudda intestazzioni gruppu picchì Gruppu4 è vacanti)
}}
<div style="clear:both;"></div>
=== Test paràmitru Wikidata ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Wikidata = Q2656
| Tìtulu = Test Ntegrazzioni Wikidata
| Vuci1 = Dati manuali
| Valuri1 = Chistu è manuali
}}
<div style="clear:both;"></div>
=== Infobox figghiu cû tutti i funzioni ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Infobox Patri
| Vuci1 = Prima dû figghiu
| Valuri1 = Dati patri
| Vuci2 = Cascia figghiu
| Valuri2 =
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| child = yes
| Tìtulu = Tìtulu Figghiu
| Abbirtenza1 = Sizzioni Figghiu
| Vuci1 = Dati figghiu
| Valuri1 = Valuri nnicatu
| Sutta = Pedi figghiu
}}
| Vuci3 = Doppu u figghiu
| Valuri3 = Cchiù dati patri
}}
<div style="clear:both;"></div>
=== Stringhi vacanti vs paràmitri mancanti ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Test Stringa Vacanti
| Vuci1 = Valuri stringa vacanti
| Valuri1 =
| Vuci2 = Sulu spazî
| Valuri2 =
| Vuci3 = Havi cuntinnutu
| Valuri3 = Cuntinnutu veru
}}
<div style="clear:both;"></div>
=== Test override campi predifiniti ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Test Override
| Genti = 50,000 àbitanti
| VuciGenti = Etichetta Pupulazzioni Pirsunalizzata
| Capu = Don Vicenzu
| VuciCapu = Capu Esecutivu
| GruppuCapu = Dirigenza
}}
<div style="clear:both;"></div>
=== Child box with parent no_float ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Parent No Float
| Valuri1 =
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| child = yes
| Vuci1 = Child content
| Valuri1 = Should inherit positioning
}}
}}
<div style="clear:both;"></div>
</noinclude>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa}}
tndcnwx8nytvcohgee3dibxcfwdsmtp
770546
770542
2025-07-04T22:27:58Z
GianAntonucci
46609
/* Granni nùmmaru di abbirtenzi */
770546
wikitext
text/x-wiki
<templatestyles src="Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css"/>
<noinclude>
== Zoccu è ==
...
== Comu si usa ==
<code><nowiki>{{ Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira }}</nowiki></code>
== Esempi ==
=== Test cû hlist e plainlist ammiscati ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Esèmpiu di listi ammiscati
| Vuci1 = Quarchi lista urizzuntali
| Valuri1 =
* Aranciu
* Babbàluciu
* Cucuzzìdda
| Classi1 = hlist
| Vuci2 = Quarchi lista virticali
| Valuri2 =
* Ficudinnia
* Pircoca
* Mulinciana
| Classi2 = plainlist
}}
<div style="clear:both;"></div>
=== Nuddu datu ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu=
| MmàgginiSupra=
| Genti=
}}
<div style="clear:both;"></div>
=== Na riga chi havi sulu rifirimenti ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Vuci1=Pupulazzioni
| Valuri1=<ref>Quarchi rifirimentu supra a pupulazzioni</ref>
}}
<div style="clear:both;"></div>
=== Override parziali di autoheader ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Capu=Don Calò
| GruppuCapu=Sizzioni Guvernu Spiciali
| Pusizzioni=38°07′N 13°22′E
}}
<div style="clear:both;"></div>
=== Infobox figghiu cû campi mìnimi ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| child = yes
| Tìtulu = Cascia Nnicata
| Abbirtenza1 = Dintra n'àutra
| Vuci1 = Discrizzioni
| Valuri1 = Sta cascia è nnicata
}}
<div style="clear:both;"></div>
=== Usannu catigurii nta na riga "vacanti" nummirata ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Vuci1 = Quarchi Datu
| Valuri1 =
[[Category:Test di Infobox]]
}}
<div style="clear:both;"></div>
=== Na prupità Wikidata scunusciuta ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| CampuScunusciutu = QuarchiValuri
| GruppuCampuScunusciutu = Dati Strani
}}
<div style="clear:both;"></div>
=== Na riga chi currispunni a multipli sizzioni ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Vuci1 = Pupulazzioni
| Valuri1 = 100,000 àbitanti
| Prupità1 = P1082
}}
<div style="clear:both;"></div>
=== Tàvula vacanti tranni pi "Supra" o "Sutta" ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Supra = Quarchi Tìtulu
| Sutta = Quarchi Pedi
}}
<div style="clear:both;"></div>
=== Na riga cû cuntinnutu granni ammiscatu ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Esèmpiu Riga Ammiscata
| Vuci1 = Dati Cumplessi
| Valuri1 =
Ccà c'è quarchi testu.
<ref>Nu rifirimentu supra stu testu</ref>
[[Category:Catigurìa di Test nta na Riga]]
* Nu puntu
* N'àutru puntu
}}
<div style="clear:both;"></div>
== Novi Esempi Cumpleti ==
=== Città - Palermu ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Palermu
| Suttatìtulu = Capoluogo della Sicilia
| MmàgginiSupra = Palermo-view-from-north.jpg
| DidascalìaMmàgginiSupra = Vista panoramica di Palermu
| Supra = Città metropolitana
| Capu = Roberto Lagalla
| VuciCapu = Sindaco
| Genti = 663,401
| VuciGenti = Popolazione (2023)
| Aria = 158.88 km²
| Pusizzioni = 38°07′N 13°22′E
| FusuUrariu = UTC+1
| ISO = IT-PA
| Pruvincia = Palermo
| Tipu = Città metropolitana
| Abbirtenza1 = Storia
| Vuci10 = Fondata
| Valuri10 = 734 a.C.
| Vuci11 = Fondatori
| Valuri11 = Fenici
| PediPàggina = Dati aggiornati al 2023
| NomuMudeḍḍu = Palermu
| LijamiWikidata = yes
}}
<div style="clear:both;"></div>
=== Pirsuna - Sciascia ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Leonardo Sciascia
| MmàgginiSupra = Leonardo_Sciascia.jpg
| DidascalìaMmàgginiSupra = Leonardo Sciascia nta li anni 1960
| Vuci1 = Nasciuta
| Valuri1 = 8 di jinnaru 1921<br/>[[Racalmuto]], Sicilia
| Vuci2 = Mortu
| Valuri2 = 20 di nuvèmmiru 1989 (68 anni)<br/>[[Palermu]], Sicilia
| Vuci3 = Naziunalità
| Valuri3 = [[File:Flag of Italy.svg|20px]] Taliana
| Abbirtenza1 = Attività
| Vuci4 = Occupazzioni
| Valuri4 =
* Scritturi
* Jurnalista
* Pulìticu
| Classi4 = plainlist
| Vuci5 = Piriudu attività
| Valuri5 = 1950–1989
| Vuci6 = Gèniri littrariu
| Valuri6 = Rumanzu, saggi, tiatra
| Abbirtenza2 = Òpiri principali
| Vuci7 = Libbra famusa
| Valuri7 =
* ''Il giorno della civetta'' (1961)
* ''A ciascuno il suo'' (1966)
* ''Todo modo'' (1974)
| Classi7 = plainlist
| Sutta = Unu dî maiuri scrittùra siciliani dû XX sèculu
}}
<div style="clear:both;"></div>
=== Ricetta - Pasta câ Norma ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Pasta câ Norma
| Suttatìtulu = Piattu tradizziunali catanisi
| MmàgginiSupra = Pasta_alla_norma.jpg
| DidascalìaMmàgginiSupra = Pasta câ Norma sirvuta
| Vuci1 = Orìggini
| Valuri1 = [[Catania]], Sicilia
| Vuci2 = Tipu di piattu
| Valuri2 = Primu piattu
| Vuci3 = Timpiratura sirvutu
| Valuri3 = Càudu
| Abbirtenza1 = Ngridienti principali
| Valuri4 =
# Pasta (penne o rigatoni)
# Milinciani
# Pumadoru
# Ricotta salata
# Àgghiu
# Vasanicò
# Ogghiu d'aliva
| Abbirtenza2 = Nfurmazzioni nutriziunali
| Vuci5 = Calorìi pi purzzioni
| Valuri5 = ~400-450 kcal
| Vuci6 = Tempu di priparazzioni
| Valuri6 = 45 minuti
| PediPàggina = Ricetta tradizziunali siciliana
}}
<div style="clear:both;"></div>
=== Muntaggna - Etna ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Etna
| Suttatìtulu = A Muntagna o Mungibeddu
| MmàgginiSupra = Mount_Etna.jpg
| DidascalìaMmàgginiSupra = L'Etna n'eruzzioni
| Supra = Vulcanu attivu
| Vuci1 = Autizza
| Valuri1 = 3,357 m s.l.m. (variàbbili)
| Vuci2 = Pusizzioni
| Valuri2 = [[Catania]], Sicilia
| Vuci3 = Coordinati
| Valuri3 = 37°45′18″N 14°59′43″E
| Abbirtenza1 = Gioluggìa
| Vuci4 = Tipu
| Valuri4 = Stratuvulcanu
| Vuci5 = Ùrtima eruzzioni
| Valuri5 = 2023 (n'attività)
| Vuci6 = Età
| Valuri6 = ~500,000 anni
| Abbirtenza2 = UNESCO
| Vuci7 = Patrimoniu Munniali
| Valuri7 = Dû 2013
| Vuci8 = Critèriu
| Valuri8 = (viii) - fenòmini naturali
| Sutta = Vulcanu cchiù àutu d'Europa
}}
<div style="clear:both;"></div>
=== Film - Il Gattopardo ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Il Gattopardo
| MmàgginiSupra = Il_gattopardo_poster.jpg
| Vuci1 = Riggista
| Valuri1 = [[Luchino Visconti]]
| Vuci2 = Annu
| Valuri2 = 1963
| Vuci3 = Paìsi
| Valuri3 = [[File:Flag of Italy.svg|20px]] Italia
| Vuci4 = Lìngua
| Valuri4 = Talianu
| Gruppu5 = Cast principali
| Vuci5 = Attura principali
| Valuri5 =
* [[Burt Lancaster]] - Don Fabrizio
* [[Alain Delon]] - Tancredi
* [[Claudia Cardinale]] - Angelica
| Classi5 = plainlist
| Gruppu6 = Pruduzzioni
| Vuci6 = Durata
| Valuri6 = 187 minuti
| Vuci7 = Basatu supra
| Valuri7 = Rumanzu di [[Giuseppe Tomasi di Lampedusa]]
| Vuci8 = Mùsica
| Valuri8 = [[Nino Rota]]
| Gruppu9 = Premi
| Vuci9 = Palma d'Oru
| Valuri9 = Festival di Cannes 1963
| Sutta = Capulavuru dû cìnima talianu
| Gruppu6 = Pruduzzioni
| Gruppu9 = Premi
}}
<div style="clear:both;"></div>
=== Animali - Àcula siciliana ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Àcula siciliana
| Suttatìtulu = ''Aquila chrysaetos''
| MmàgginiSupra = Golden_eagle.jpg
| DidascalìaMmàgginiSupra = Àcula riali nta volu
| Vuci1 = Classi
| Valuri1 = Aves
| Vuci2 = Òrdini
| Valuri2 = Accipitriformes
| Vuci3 = Famigghia
| Valuri3 = Accipitridae
| Abbirtenza1 = Carattirìstichi
| Vuci4 = Lunghizza
| Valuri4 = 75-88 cm
| Vuci5 = Apirtura alari
| Valuri5 = 190-230 cm
| Vuci6 = Pisu
| Valuri6 = 3-6.5 kg
| Vuci7 = Durata dâ vita
| Valuri7 = 20-30 anni
| Abbirtenza2 = Distribuzzioni n Sicilia
| Vuci8 = Àbbitat
| Valuri8 = Madonìi, Nèbrodi, Etna
| Vuci9 = Statu cunsirvazzioni
| Valuri9 = Vulniràbbili
| Vuci10 = Pupulazzioni stimata
| Valuri10 = 15-20 coppî
| PediPàggina = Speci prutetta
}}
<div style="clear:both;"></div>
=== Festa - Sant'Àjita ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Festa di Sant'Àjita
| MmàgginiSupra = SantAgata_Catania.jpg
| DidascalìaMmàgginiSupra = A vara di Sant'Àjita
| Vuci1 = Tipu
| Valuri1 = Festa rilliggìusa
| Vuci2 = Data
| Valuri2 = 3-5 di frivaru
| Vuci3 = Locu
| Valuri3 = [[Catania]], Sicilia
| Vuci4 = Patrona di
| Valuri4 = Catania
| Gruppu5 = Cilibbrazzioni
| Vuci5 = Evènti principali
| Valuri5 =
* A prucissioni dû 3
* A prucissioni dû 4
* A prucissioni dû 5
* I cannalora
| Classi5 = plainlist
| Vuci6 = Partecipanti
| Valuri6 = ~500,000 pirsùni
| Vuci7 = Tradizzioni dû
| Valuri7 = 1126
| Sutta = Una dî festi rilliggiùsi cchiù 'mpurtanti di Sicilia
}}
<div style="clear:both;"></div>
=== Castìddu - Castìddu Ursinu ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Castìddu Ursinu
| MmàgginiSupra = Castello_ursino.jpg
| DidascalìaMmàgginiSupra = Vista dû Castìddu Ursinu
| Vuci1 = Locu
| Valuri1 = [[Catania]], Sicilia
| Vuci2 = Custruzzioni
| Valuri2 = 1239-1250
| Vuci3 = Cumissiunatu di
| Valuri3 = [[Fidiricu II di Svevia]]
| Vuci4 = Architettu
| Valuri4 = Riccardo da Lentini
| Abbirtenza1 = Carattirìstichi
| Vuci5 = Stili
| Valuri5 = Architittura sveva
| Vuci6 = Matiriali
| Valuri6 = Petra làvica
| Vuci7 = Forma
| Valuri7 = Quatratu cû torri
| Abbirtenza2 = Usu attuali
| Vuci8 = Funzzioni
| Valuri8 = Museu Cìvicu
| Vuci9 = Cullizzioni
| Valuri9 = Arti midevali e muderna
| Vuci10 = Visitaturi annuali
| Valuri10 = ~150,000
| PediPàggina = Munumentu nazziunali
}}
<div style="clear:both;"></div>
=== Lìngua - Sicilianu ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Lìngua siciliana
| Suttatìtulu = Sicilianu
| Vuci1 = Parlatu nta
| Valuri1 = [[Sicilia]], [[Calabbria]] miridiunali
| Vuci2 = Parlanti
| Valuri2 = ~4.7 miliuni
| Vuci3 = Famigghia
| Valuri3 =
Indoeuropea
* Romanza
** Italo-occidentali
*** Sicilianu
| Classi3 = plainlist
| Abbirtenza1 = Còdici
| Vuci4 = ISO 639-2
| Valuri4 = scn
| Vuci5 = ISO 639-3
| Valuri5 = scn
| Vuci6 = Glottolog
| Valuri6 = sici1248
| Abbirtenza2 = Dialètti
| Vuci7 = Varianti principali
| Valuri7 =
* Sicilianu occidentali
* Sicilianu cèntrali
* Sicilianu orientali
* Sicilianu miridiunali
| Classi7 = plainlist
| Vuci8 = Statu ufficiali
| Valuri8 = Lìngua rilliggiùsa (UNESCO)
| Sutta = Patrimòniu linguìsticu di Sicilia
}}
<div style="clear:both;"></div>
=== Squadra di Pallùni - Catania ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Calcio Catania
| MmàgginiSupra = Catania_logo.png
| DidascalìaMmàgginiSupra = Stemma ufficiali
| Vuci1 = Nomu cumpletu
| Valuri1 = Catania Football Club
| Vuci2 = Suprannomu
| Valuri2 = Rossazzurri, Elefanti
| Vuci3 = Funnatu
| Valuri3 = 1946
| Vuci4 = Stadiu
| Valuri4 = Angelo Massimino
| Vuci5 = Capacità
| Valuri5 = 23,266
| Abbirtenza1 = Culùra
| Vuci6 = Culùra sòciali
| Valuri6 = Russu e cilèsti
| Vuci7 = Prisidènti
| Valuri7 = Ross Pelligra
| Vuci8 = Allinaturi
| Valuri8 = Domenico Toscano
| Abbirtenza2 = Palmarès
| Vuci9 = Campiunati Sèrie B
| Valuri9 = 1 (1953-54)
| Vuci10 = Coppa Italia Sèrie C
| Valuri10 = 2 (1999-00, 2022-23)
| Sutta = Forza Catania!
}}
<div style="clear:both;"></div>
=== Stòria - Sbarcu n Sicilia ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Sbarcu n Sicilia
| Suttatìtulu = Operazzioni Husky
| MmàgginiSupra = Sicily_invasion_1943.jpg
| DidascalìaMmàgginiSupra = Truppe allìati sbàrcanu n Sicilia
| Supra = Secunna Guerra Munniali
| Vuci1 = Data
| Valuri1 = 9 lugghiu - 17 agustu 1943
| Vuci2 = Locu
| Valuri2 = Sicilia
| Vuci3 = Risurtatu
| Valuri3 = Vittòria allìata
| Abbirtenza1 = Billigirànti
| Vuci4 = Allìati
| Valuri4 =
* [[File:US flag.svg|20px]] Stati Uniti
* [[File:UK flag.svg|20px]] Regnu Unitu
* [[File:Canada flag.svg|20px]] Canadà
| Classi4 = hlist
| Vuci5 = Assi
| Valuri5 =
* [[File:Flag of Italy (1861-1946).svg|20px]] Italia
* [[File:Flag of Germany (1935–1945).svg|20px]] Girmània
| Classi5 = hlist
| Abbirtenza2 = Forzi 'n campu
| Vuci6 = Allìati
| Valuri6 = ~470,000 òmini
| Vuci7 = Assi
| Valuri7 = ~260,000 òmini
| Abbirtenza3 = Pèrditi
| Vuci8 = Allìati
| Valuri8 = ~25,000 (muòrti, firùti, dispirsi)
| Vuci9 = Assi
| Valuri9 = ~165,000 (muòrti, firùti, prigiunèri)
| PediPàggina = Primu passu pâ libbirazzioni d'Italia
}}
<div style="clear:both;"></div>
=== Test di tutti i pusizzioni dî mmàggini ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Test dî Mmàggini
| MmàgginiSupra = Etna_eruption.jpg
| DidascalìaMmàgginiSupra = Didascalìa dâ mmàggini supra
| MmàgginiManuManca = Trinacria.jpg
| DidascalìaMmàgginiManuManca = Didascalìa manca
| MmàgginiManuDritta = Cassata_siciliana.jpg
| DidascalìaMmàgginiManuDritta = Didascalìa dritta
| MmàgginiSutta = Teatro_Massimo_Palermo.jpg
| DidascalìaMmàgginiSutta = Didascalìa dâ mmàggini sutta
}}
<div style="clear:both;"></div>
=== Test dî rifirimenti ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Tipi di Rifirimenti
| Vuci1 = Rifirimentu standard
| Valuri1 = Quarchi testu<ref>Rifirimentu standard</ref>
| Vuci2 = Rifirimentu cû nomu primu usu
| Valuri2 = Cchiù testu<ref name="test">Chistu è u rifirimentu test</ref>
| Vuci3 = Riusannu rifirimentu cû nomu
| Valuri3 = Ancora cchiù testu<ref name="test" />
}}
<div style="clear:both;"></div>
=== Test dû modu Debug ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| debug = yes
| Tìtulu = Esèmpiu Debug
| Vuci1 = Paràmitru vàlidu
| Valuri1 = Quarchi valuri
| ParàmitruNunVàlidu = Chistu avissi a cumpariri ntô debug
| N'àutruParàmitruMalu = Puru ntô debug
}}
<div style="clear:both;"></div>
=== Test dî listi nummirati ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Esèmpiu di Listi
| Vuci1 = Lista nummàrata
| Valuri1 =
# Prima cosa
# Sicunna cosa
# Terza cosa
| Vuci2 = Lista ammiscata
| Valuri2 =
# Nummàratu unu
#* Suttu-cosa cû puntu
#* N'àutra suttu-cosa
# Nummàratu dui
}}
<div style="clear:both;"></div>
=== Test di raggruppamentu autoheader giugràficu ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Test Dati Giugràfici
| Aria = 250 km²
| Pusizzioni = 37°30′N 14°00′E
| Pruvincia = Pruvincia di Catania
| FusuUrariu = UTC+1
| Vuci10 = Artizza
| Valuri10 = 150 m s.l.m.
| Prupità10 = P2046
}}
<div style="clear:both;"></div>
=== Riga cumplessa senza etichetta ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Test Senza Etichetta
| Valuri1 = Sta riga nun havi etichetta, occupa dui culonni
| Vuci2 = Riga nurmali
| Valuri2 = Cû etichetta
| Valuri3 = N'àutra riga senza etichetta
| Classi3 = plainlist
}}
<div style="clear:both;"></div>
=== Test CSS pirsunalizzatu e stili in linea ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| inline_style = background-color: #f0f0f0; border: 2px solid #0066cc;
| Tìtulu = Infobox Stilizzata
| Vuci1 = Stili pirsunalizzatu
| Valuri1 = St'infobox havi CSS pirsunalizzatu
}}
<div style="clear:both;"></div>
=== Multipli catigurii e rifirimenti ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Test Rifirimenti
| Vuci1 = Multipli ref
| Valuri1 = Testu cû ref<ref>Primu ref</ref> e n'àutru<ref>Sicunnu ref</ref>
| Vuci2 = Sulu catigurii
| Valuri2 = [[Category:Test1]][[Category:Test2]][[Category:Test3]]
| Vuci3 = Vacanti ammiscatu
| Valuri3 = <ref name="mixedtest">Cuntinnutu rifirimentu</ref>[[Category:Test Vacanti]]<ref name="mixedtest" />
}}
<div style="clear:both;"></div>
=== Test variazzioni di casi ntê catigurii ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Vuci1 = Catigurìa minùscula
| Valuri1 = [[category:test minusculu]]
| Vuci2 = Casu ammiscatu
| Valuri2 = [[CaTeGoRy:Test Casu Ammiscatu]]
| Vuci3 = Cû spazî
| Valuri3 = [[ Category : Test Cû Spazî ]]
}}
<div style="clear:both;"></div>
=== Test paràmitri nummirati àuti ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Nùmmari Àuti
| Vuci50 = Riga 50
| Valuri50 = Chista è a riga nùmmaru 50
| Vuci100 = Riga 100
| Valuri100 = Chista è a riga nùmmaru 100
| Gruppu100 = Nùmmari Assai Àuti
}}
<div style="clear:both;"></div>
=== Test gruppi manuali cû righi nummirati ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Raggruppamentu Manuali
| Gruppu1 = Primu Gruppu
| Vuci1 = Cosa A
| Valuri1 = Valuri A
| Vuci2 = Cosa B
| Valuri2 = Valuri B
| Gruppu3 = Sicunnu Gruppu
| Vuci3 = Cosa C
| Valuri3 = Valuri C
| Gruppu4 =
| Vuci4 = Cosa D
| Valuri4 = Valuri D (nudda intestazzioni gruppu picchì Gruppu4 è vacanti)
}}
<div style="clear:both;"></div>
=== Test paràmitru Wikidata ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Wikidata = Q2656
| Tìtulu = Test Ntegrazzioni Wikidata
| Vuci1 = Dati manuali
| Valuri1 = Chistu è manuali
}}
<div style="clear:both;"></div>
=== Infobox figghiu cû tutti i funzioni ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Infobox Patri
| Vuci1 = Prima dû figghiu
| Valuri1 = Dati patri
| Vuci2 = Cascia figghiu
| Valuri2 =
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| child = yes
| Tìtulu = Tìtulu Figghiu
| Abbirtenza1 = Sizzioni Figghiu
| Vuci1 = Dati figghiu
| Valuri1 = Valuri nnicatu
| Sutta = Pedi figghiu
}}
| Vuci3 = Doppu u figghiu
| Valuri3 = Cchiù dati patri
}}
<div style="clear:both;"></div>
=== Stringhi vacanti vs paràmitri mancanti ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Test Stringa Vacanti
| Vuci1 = Valuri stringa vacanti
| Valuri1 =
| Vuci2 = Sulu spazî
| Valuri2 =
| Vuci3 = Havi cuntinnutu
| Valuri3 = Cuntinnutu veru
}}
<div style="clear:both;"></div>
=== Test override campi predifiniti ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Test Override
| Genti = 50,000 àbitanti
| VuciGenti = Etichetta Pupulazzioni Pirsunalizzata
| Capu = Don Vicenzu
| VuciCapu = Capu Esecutivu
| GruppuCapu = Dirigenza
}}
<div style="clear:both;"></div>
=== Child box with parent no_float ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Parent No Float
| Valuri1 =
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| child = yes
| Vuci1 = Child content
| Valuri1 = Should inherit positioning
}}
}}
<div style="clear:both;"></div>
</noinclude>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa}}
pdgpcii54xjhg4fa570zlqwzqmvsk5q
Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira/stili.css
2
66277
770448
770422
2025-07-04T12:29:31Z
GianAntonucci
46609
770448
sanitized-css
text/css
.tessira {
width: 300px;
border: 1px solid #CCC;
border-radius: 6px;
margin: 0 15px 15px 0;
padding: 10px;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
color: #333;
float: right;
font-size: 14px;
}
.tessira_no_float {
float: none;
margin-left: auto;
margin-right: auto;
}
.tessira_child_wrapper {
display: inline-block;
border: 1px solid #CCC;
border-radius: 6px;
padding: 8px;
margin: 0 15px 15px 0;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0,0,0,0.1);
color: #333;
font-size: 14px;
}
/* Titles & subtitles */
.tessira_titulu {
font-size: 18px;
font-weight: bold;
text-align: center;
color: #333;
padding: 12px;
background: #EDEDED;
border-radius: 6px 6px 0 0;
border-bottom: 2px solid #CCC;
}
.tessira_suttatitulu {
font-size: 16px;
font-weight: normal;
text-align: center;
color: #555;
padding: 8px;
background: #F1F1F1;
border-bottom: 1px solid #CCC;
font-style: italic;
}
/* Supra / Sutta */
.tessira_supra {
font-size: 14px;
font-weight: bold;
text-align: center;
color: #333;
padding: 8px;
background: #F3F3F3;
border-bottom: 1px solid #CCC;
}
.tessira_sutta {
font-size: 13px;
text-align: center;
color: #444;
padding: 8px;
background: #F8F8F8;
border-top: 1px solid #DDD;
}
/* subheaders */
.tessira_subheader {
font-size: 14px;
font-weight: bold;
text-align: left;
color: #444;
padding: 6px 8px;
background: #EAEAEA;
border-top: 1px solid #DDD;
border-bottom: 1px solid #DDD;
margin: 4px 0;
}
/* Group header row */
.tessira_gruppu > th {
font-size: 14px;
font-weight: bold;
text-align: center;
background: #EFEFEF;
color: #333;
padding: 8px 0;
border-top: 2px solid #CCC;
border-bottom: 1px solid #CCC;
}
/* Label + value cells */
.tessira_vuci {
text-align: left;
font-weight: bold;
color: #444;
padding: 6px 8px;
width: 40%;
background: #F1F1F1;
border-right: 1px solid #DDD;
font-size: 90%;
vertical-align: top;
}
.tessira_valuri {
text-align: left;
padding: 6px 8px;
width: 60%;
font-size: 90%;
background: #FFFFFF;
vertical-align: top;
}
/* Fix list indentation in value cells */
.tessira_valuri ul,
.tessira_valuri ol {
margin: 0;
padding-left: 1.5em; /* Standard list indent */
}
.tessira_valuri li {
margin: 0;
padding: 0;
}
/* When plainlist class is applied, remove all indentation */
.tessira_valuri.plainlist ul,
.tessira_valuri.plainlist ol,
.tessira_valuri .plainlist ul,
.tessira_valuri .plainlist ol {
padding-left: 0;
}
.tessira_valuri.plainlist li,
.tessira_valuri .plainlist li {
padding-left: 0;
text-indent: 0;
}
/* Images + captions */
.tessira_mmaggini {
text-align: center;
padding: 8px 0 6px;
}
.tessira_mmaggini img {
max-width: 100%;
height: auto;
border: 1px solid #DDD;
}
.tessira_didascalia_mmaggini {
font-size: 12px;
text-align: center;
color: #666;
padding-bottom: 8px;
font-style: italic;
}
.tessira_mmaggini_manu_manca {
text-align: left;
padding: 6px;
}
.tessira_mmaggini_manu_dritta {
text-align: right;
padding: 6px;
}
.tessira_didascalia_mmaggini_manu_manca,
.tessira_didascalia_mmaggini_manu_dritta {
font-size: 12px;
color: #666;
padding-top: 4px;
font-style: italic;
}
/* Footer row */
.tessira_pedi_paggina {
font-size: 0.85em;
color: #666;
text-align: center;
padding: 8px;
border-top: 1px solid #DDD;
background: #F5F5F5;
border-radius: 0 0 6px 6px;
}
/* NavBar row */
.tessira_navbar {
text-align: center;
padding: 6px;
background: #F0F0F0;
font-size: 90%;
color: #444;
border-top: 1px solid #DDD;
margin: 4px 0;
}
/* Dark mode styles */
html.skin-theme-clientpref-night .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-night .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-night .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-os .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-os .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
}
d8as5ykuz7bzvtdajc42j73dg8puejs
770451
770448
2025-07-04T12:31:42Z
GianAntonucci
46609
770451
sanitized-css
text/css
.tessira {
width: 300px;
border: 1px solid #CCC;
border-radius: 6px;
margin: 0 15px 15px 0;
padding: 10px;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
color: #333;
float: right;
font-size: 14px;
}
.tessira_no_float {
float: none;
margin-left: auto;
margin-right: auto;
}
.tessira_child_wrapper {
display: inline-block;
border: 1px solid #CCC;
border-radius: 6px;
padding: 8px;
margin: 0 15px 15px 0;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0,0,0,0.1);
color: #333;
font-size: 14px;
}
/* Titles & subtitles */
.tessira_titulu {
font-size: 18px;
font-weight: bold;
text-align: center;
color: #333;
padding: 12px;
background: #EDEDED;
border-radius: 6px 6px 0 0;
border-bottom: 2px solid #CCC;
}
.tessira_suttatitulu {
font-size: 16px;
font-weight: normal;
text-align: center;
color: #555;
padding: 8px;
background: #F1F1F1;
border-bottom: 1px solid #CCC;
font-style: italic;
}
/* Supra / Sutta */
.tessira_supra {
font-size: 14px;
font-weight: bold;
text-align: center;
color: #333;
padding: 8px;
background: #F3F3F3;
border-bottom: 1px solid #CCC;
}
.tessira_sutta {
font-size: 13px;
text-align: center;
color: #444;
padding: 8px;
background: #F8F8F8;
border-top: 1px solid #DDD;
}
/* subheaders */
.tessira_subheader {
font-size: 14px;
font-weight: bold;
text-align: left;
color: #444;
padding: 6px 8px;
background: #EAEAEA;
border-top: 1px solid #DDD;
border-bottom: 1px solid #DDD;
margin: 4px 0;
}
/* Group header row */
.tessira_gruppu > th {
font-size: 14px;
font-weight: bold;
text-align: center;
background: #EFEFEF;
color: #333;
padding: 8px 0;
border-top: 2px solid #CCC;
border-bottom: 1px solid #CCC;
}
/* Label + value cells */
.tessira_vuci {
text-align: left;
font-weight: bold;
color: #444;
padding: 6px 8px;
width: 40%;
background: #F1F1F1;
border-right: 1px solid #DDD;
font-size: 90%;
vertical-align: top;
}
.tessira_valuri {
text-align: left;
padding: 6px 8px;
width: 60%;
font-size: 90%;
background: #FFFFFF;
vertical-align: top;
}
/* Fix list indentation in value cells */
.tessira_valuri ul,
.tessira_valuri ol {
margin: 0 !important;
padding-left: 1.5em;
}
.tessira_valuri li {
margin: 0 !important;
padding: 0 !important;
}
/* When plainlist class is applied, remove ALL indentation */
.tessira_valuri.plainlist ul,
.tessira_valuri.plainlist ol,
.tessira_valuri .plainlist ul,
.tessira_valuri .plainlist ol,
td.tessira_valuri.plainlist ul,
td.tessira_valuri.plainlist ol {
margin: 0 !important;
padding: 0 !important;
padding-left: 0 !important;
margin-left: 0 !important;
list-style-position: inside !important;
}
.tessira_valuri.plainlist li,
.tessira_valuri .plainlist li,
td.tessira_valuri.plainlist li {
margin: 0 !important;
padding: 0 !important;
padding-left: 0 !important;
margin-left: 0 !important;
text-indent: 0 !important;
}
/* Extra specificity for MediaWiki's generated HTML */
.tessira td.tessira_valuri .plainlist ul,
.tessira td.tessira_valuri .plainlist ol,
.tessira td.tessira_valuri.plainlist ul,
.tessira td.tessira_valuri.plainlist ol {
margin: 0 !important;
padding: 0 !important;
margin-left: 0 !important;
padding-left: 0 !important;
}
.tessira td.tessira_valuri .plainlist li,
.tessira td.tessira_valuri.plainlist li {
margin: 0 !important;
padding: 0 !important;
margin-left: 0 !important;
padding-left: 0 !important;
text-indent: 0 !important;
}
/* Images + captions */
.tessira_mmaggini {
text-align: center;
padding: 8px 0 6px;
}
.tessira_mmaggini img {
max-width: 100%;
height: auto;
border: 1px solid #DDD;
}
.tessira_didascalia_mmaggini {
font-size: 12px;
text-align: center;
color: #666;
padding-bottom: 8px;
font-style: italic;
}
.tessira_mmaggini_manu_manca {
text-align: left;
padding: 6px;
}
.tessira_mmaggini_manu_dritta {
text-align: right;
padding: 6px;
}
.tessira_didascalia_mmaggini_manu_manca,
.tessira_didascalia_mmaggini_manu_dritta {
font-size: 12px;
color: #666;
padding-top: 4px;
font-style: italic;
}
/* Footer row */
.tessira_pedi_paggina {
font-size: 0.85em;
color: #666;
text-align: center;
padding: 8px;
border-top: 1px solid #DDD;
background: #F5F5F5;
border-radius: 0 0 6px 6px;
}
/* NavBar row */
.tessira_navbar {
text-align: center;
padding: 6px;
background: #F0F0F0;
font-size: 90%;
color: #444;
border-top: 1px solid #DDD;
margin: 4px 0;
}
/* Dark mode styles */
html.skin-theme-clientpref-night .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-night .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-night .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-os .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-os .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
}
37vrtmx5aix9fclj42tetxxdg1qe95m
770453
770451
2025-07-04T12:37:47Z
GianAntonucci
46609
770453
sanitized-css
text/css
/* Simple list reset for Tèssira - Add to Tèssira/stili.css */
/* Default list styling in value cells */
.tessira_valuri ul,
.tessira_valuri ol {
margin: 0 !important;
padding: 0 0 0 1.5em !important;
}
/* Remove all spacing for plainlist */
.tessira .plainlist,
.tessira_valuri.plainlist,
.tessira td.plainlist {
padding-left: 0 !important;
}
.tessira .plainlist ul,
.tessira .plainlist ol,
.tessira_valuri.plainlist ul,
.tessira_valuri.plainlist ol,
.tessira td.plainlist ul,
.tessira td.plainlist ol {
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
}
.tessira .plainlist li,
.tessira_valuri.plainlist li,
.tessira td.plainlist li {
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
}
/* MediaWiki parser output specific */
.mw-parser-output .tessira .plainlist ul,
.mw-parser-output .tessira .plainlist ol,
.mw-parser-output .tessira td.plainlist ul,
.mw-parser-output .tessira td.plainlist ol {
margin: 0 !important;
padding: 0 !important;
}
/* Target the specific structure */
table.tessira td.tessira_valuri.plainlist ul {
margin-left: 0 !important;
padding-left: 0 !important;
}
.tessira {
width: 300px;
border: 1px solid #CCC;
border-radius: 6px;
margin: 0 15px 15px 0;
padding: 10px;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
color: #333;
float: right;
font-size: 14px;
}
.tessira_no_float {
float: none;
margin-left: auto;
margin-right: auto;
}
.tessira_child_wrapper {
display: inline-block;
border: 1px solid #CCC;
border-radius: 6px;
padding: 8px;
margin: 0 15px 15px 0;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0,0,0,0.1);
color: #333;
font-size: 14px;
}
/* Titles & subtitles */
.tessira_titulu {
font-size: 18px;
font-weight: bold;
text-align: center;
color: #333;
padding: 12px;
background: #EDEDED;
border-radius: 6px 6px 0 0;
border-bottom: 2px solid #CCC;
}
.tessira_suttatitulu {
font-size: 16px;
font-weight: normal;
text-align: center;
color: #555;
padding: 8px;
background: #F1F1F1;
border-bottom: 1px solid #CCC;
font-style: italic;
}
/* Supra / Sutta */
.tessira_supra {
font-size: 14px;
font-weight: bold;
text-align: center;
color: #333;
padding: 8px;
background: #F3F3F3;
border-bottom: 1px solid #CCC;
}
.tessira_sutta {
font-size: 13px;
text-align: center;
color: #444;
padding: 8px;
background: #F8F8F8;
border-top: 1px solid #DDD;
}
/* subheaders */
.tessira_subheader {
font-size: 14px;
font-weight: bold;
text-align: left;
color: #444;
padding: 6px 8px;
background: #EAEAEA;
border-top: 1px solid #DDD;
border-bottom: 1px solid #DDD;
margin: 4px 0;
}
/* Group header row */
.tessira_gruppu > th {
font-size: 14px;
font-weight: bold;
text-align: center;
background: #EFEFEF;
color: #333;
padding: 8px 0;
border-top: 2px solid #CCC;
border-bottom: 1px solid #CCC;
}
/* Label + value cells */
.tessira_vuci {
text-align: left;
font-weight: bold;
color: #444;
padding: 6px 8px;
width: 40%;
background: #F1F1F1;
border-right: 1px solid #DDD;
font-size: 90%;
vertical-align: top;
}
.tessira_valuri {
text-align: left;
padding: 6px 8px;
width: 60%;
font-size: 90%;
background: #FFFFFF;
vertical-align: top;
}
/* Fix list indentation in value cells */
.tessira_valuri ul,
.tessira_valuri ol {
margin: 0 !important;
padding-left: 1.5em;
}
.tessira_valuri li {
margin: 0 !important;
padding: 0 !important;
}
/* When plainlist class is applied, remove ALL indentation */
.tessira_valuri.plainlist ul,
.tessira_valuri.plainlist ol,
.tessira_valuri .plainlist ul,
.tessira_valuri .plainlist ol,
td.tessira_valuri.plainlist ul,
td.tessira_valuri.plainlist ol {
margin: 0 !important;
padding: 0 !important;
padding-left: 0 !important;
margin-left: 0 !important;
list-style-position: inside !important;
}
.tessira_valuri.plainlist li,
.tessira_valuri .plainlist li,
td.tessira_valuri.plainlist li {
margin: 0 !important;
padding: 0 !important;
padding-left: 0 !important;
margin-left: 0 !important;
text-indent: 0 !important;
}
/* Extra specificity for MediaWiki's generated HTML */
.tessira td.tessira_valuri .plainlist ul,
.tessira td.tessira_valuri .plainlist ol,
.tessira td.tessira_valuri.plainlist ul,
.tessira td.tessira_valuri.plainlist ol {
margin: 0 !important;
padding: 0 !important;
margin-left: 0 !important;
padding-left: 0 !important;
}
.tessira td.tessira_valuri .plainlist li,
.tessira td.tessira_valuri.plainlist li {
margin: 0 !important;
padding: 0 !important;
margin-left: 0 !important;
padding-left: 0 !important;
text-indent: 0 !important;
}
/* Images + captions */
.tessira_mmaggini {
text-align: center;
padding: 8px 0 6px;
}
.tessira_mmaggini img {
max-width: 100%;
height: auto;
border: 1px solid #DDD;
}
.tessira_didascalia_mmaggini {
font-size: 12px;
text-align: center;
color: #666;
padding-bottom: 8px;
font-style: italic;
}
.tessira_mmaggini_manu_manca {
text-align: left;
padding: 6px;
}
.tessira_mmaggini_manu_dritta {
text-align: right;
padding: 6px;
}
.tessira_didascalia_mmaggini_manu_manca,
.tessira_didascalia_mmaggini_manu_dritta {
font-size: 12px;
color: #666;
padding-top: 4px;
font-style: italic;
}
/* Footer row */
.tessira_pedi_paggina {
font-size: 0.85em;
color: #666;
text-align: center;
padding: 8px;
border-top: 1px solid #DDD;
background: #F5F5F5;
border-radius: 0 0 6px 6px;
}
/* NavBar row */
.tessira_navbar {
text-align: center;
padding: 6px;
background: #F0F0F0;
font-size: 90%;
color: #444;
border-top: 1px solid #DDD;
margin: 4px 0;
}
/* Dark mode styles */
html.skin-theme-clientpref-night .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-night .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-night .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-os .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-os .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
}
ewuy90vudfrw3wdpkc9qagvlk9azr6n
770455
770453
2025-07-04T12:41:19Z
GianAntonucci
46609
770455
sanitized-css
text/css
/* Simple list reset for Tèssira - Add to Tèssira/stili.css */
/* Default list styling in value cells */
.tessira_valuri ul,
.tessira_valuri ol {
margin: 0 !important;
padding: 0 0 0 1.5em !important;
}
/* Remove all spacing for plainlist */
.tessira .plainlist,
.tessira_valuri.plainlist,
.tessira td.plainlist {
padding-left: 0 !important;
}
.tessira .plainlist ul,
.tessira .plainlist ol,
.tessira_valuri.plainlist ul,
.tessira_valuri.plainlist ol,
.tessira td.plainlist ul,
.tessira td.plainlist ol {
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
}
.tessira .plainlist li,
.tessira_valuri.plainlist li,
.tessira td.plainlist li {
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
}
/* MediaWiki parser output specific */
.mw-parser-output .tessira .plainlist ul,
.mw-parser-output .tessira .plainlist ol,
.mw-parser-output .tessira td.plainlist ul,
.mw-parser-output .tessira td.plainlist ol {
margin: 0 !important;
padding: 0 !important;
}
/* Target the specific structure */
table.tessira td.tessira_valuri.plainlist ul {
margin-left: 0 !important;
padding-left: 0 !important;
}
.tessira {
width: 300px;
border: 1px solid #CCC;
border-radius: 6px;
margin: 0 15px 15px 0;
padding: 10px;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
color: #333;
float: right;
font-size: 14px;
}
.tessira_no_float {
float: none;
margin-left: auto;
margin-right: auto;
}
.tessira_child_wrapper {
display: inline-block;
border: 1px solid #CCC;
border-radius: 6px;
padding: 8px;
margin: 0 15px 15px 0;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0,0,0,0.1);
color: #333;
font-size: 14px;
}
/* Titles & subtitles */
.tessira_titulu {
font-size: 18px;
font-weight: bold;
text-align: center;
color: #333;
padding: 12px;
background: #EDEDED;
border-radius: 6px 6px 0 0;
border-bottom: 2px solid #CCC;
}
.tessira_suttatitulu {
font-size: 16px;
font-weight: normal;
text-align: center;
color: #555;
padding: 8px;
background: #F1F1F1;
border-bottom: 1px solid #CCC;
font-style: italic;
}
/* Supra / Sutta */
.tessira_supra {
font-size: 14px;
font-weight: bold;
text-align: center;
color: #333;
padding: 8px;
background: #F3F3F3;
border-bottom: 1px solid #CCC;
}
.tessira_sutta {
font-size: 13px;
text-align: center;
color: #444;
padding: 8px;
background: #F8F8F8;
border-top: 1px solid #DDD;
}
/* subheaders */
.tessira_subheader {
font-size: 14px;
font-weight: bold;
text-align: left;
color: #444;
padding: 6px 8px;
background: #EAEAEA;
border-top: 1px solid #DDD;
border-bottom: 1px solid #DDD;
margin: 4px 0;
}
/* Group header row */
.tessira_gruppu > th {
font-size: 14px;
font-weight: bold;
text-align: center;
background: #EFEFEF;
color: #333;
padding: 8px 0;
border-top: 2px solid #CCC;
border-bottom: 1px solid #CCC;
}
/* Label + value cells */
.tessira_vuci {
text-align: left;
font-weight: bold;
color: #444;
padding: 6px 8px;
width: 40%;
background: #F1F1F1;
border-right: 1px solid #DDD;
font-size: 90%;
vertical-align: top;
}
.tessira_valuri {
text-align: left;
padding: 6px 8px;
width: 60%;
font-size: 90%;
background: #FFFFFF;
vertical-align: top;
}
/* Fix list indentation in value cells */
.tessira_valuri ul,
.tessira_valuri ol {
margin: 0 !important;
padding-left: 1.5em;
}
.tessira_valuri li {
margin: 0 !important;
padding: 0 !important;
}
/* When plainlist class is applied, remove ALL indentation */
.tessira_valuri.plainlist ul,
.tessira_valuri.plainlist ol,
.tessira_valuri .plainlist ul,
.tessira_valuri .plainlist ol,
td.tessira_valuri.plainlist ul,
td.tessira_valuri.plainlist ol {
margin: 0 !important;
padding: 0 !important;
padding-left: 0 !important;
margin-left: 0 !important;
list-style-position: inside !important;
}
.tessira_valuri.plainlist li,
.tessira_valuri .plainlist li,
td.tessira_valuri.plainlist li {
margin: 0 !important;
padding: 0 !important;
padding-left: 0 !important;
margin-left: 0 !important;
text-indent: 0 !important;
}
/* Extra specificity for MediaWiki's generated HTML */
.tessira td.tessira_valuri .plainlist ul,
.tessira td.tessira_valuri .plainlist ol,
.tessira td.tessira_valuri.plainlist ul,
.tessira td.tessira_valuri.plainlist ol {
margin: 0 !important;
padding: 0 !important;
margin-left: 0 !important;
padding-left: 0 !important;
}
.tessira td.tessira_valuri .plainlist li,
.tessira td.tessira_valuri.plainlist li {
margin: 0 !important;
padding: 0 !important;
margin-left: 0 !important;
padding-left: 0 !important;
text-indent: 0 !important;
}
.tessira_valuri {
text-align: left;
padding: 6px 8px !important; /* Force consistent padding on all sides */
width: 60%;
font-size: 90%;
background: #FFFFFF;
vertical-align: top;
margin: 0 !important;
text-indent: 0 !important;
}
/* Double-check for table cells */
td.tessira_valuri {
padding-left: 8px !important;
padding-right: 8px !important;
}
/* Specific fix for MediaWiki output */
.mw-parser-output .tessira td.tessira_valuri {
padding: 6px 8px !important;
text-indent: 0 !important;
}
/* Images + captions */
.tessira_mmaggini {
text-align: center;
padding: 8px 0 6px;
}
.tessira_mmaggini img {
max-width: 100%;
height: auto;
border: 1px solid #DDD;
}
.tessira_didascalia_mmaggini {
font-size: 12px;
text-align: center;
color: #666;
padding-bottom: 8px;
font-style: italic;
}
.tessira_mmaggini_manu_manca {
text-align: left;
padding: 6px;
}
.tessira_mmaggini_manu_dritta {
text-align: right;
padding: 6px;
}
.tessira_didascalia_mmaggini_manu_manca,
.tessira_didascalia_mmaggini_manu_dritta {
font-size: 12px;
color: #666;
padding-top: 4px;
font-style: italic;
}
/* Footer row */
.tessira_pedi_paggina {
font-size: 0.85em;
color: #666;
text-align: center;
padding: 8px;
border-top: 1px solid #DDD;
background: #F5F5F5;
border-radius: 0 0 6px 6px;
}
/* NavBar row */
.tessira_navbar {
text-align: center;
padding: 6px;
background: #F0F0F0;
font-size: 90%;
color: #444;
border-top: 1px solid #DDD;
margin: 4px 0;
}
/* Dark mode styles */
html.skin-theme-clientpref-night .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-night .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-night .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-os .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-os .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
}
h1yci3cu60agd9jf0wofqc7e4vzykqp
770456
770455
2025-07-04T12:44:24Z
GianAntonucci
46609
770456
sanitized-css
text/css
/* Tèssira Infobox Styles */
/* Main container */
.tessira {
width: 300px;
border: 1px solid #CCC;
border-radius: 6px;
margin: 0 15px 15px 0;
padding: 10px;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
color: #333;
float: right;
font-size: 14px;
}
.tessira_no_float {
float: none;
margin-left: auto;
margin-right: auto;
}
.tessira_child_wrapper {
display: inline-block;
border: 1px solid #CCC;
border-radius: 6px;
padding: 8px;
margin: 0 15px 15px 0;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0,0,0,0.1);
color: #333;
font-size: 14px;
}
/* Titles & subtitles */
.tessira_titulu {
font-size: 18px;
font-weight: bold;
text-align: center;
color: #333;
padding: 12px;
background: #EDEDED;
border-radius: 6px 6px 0 0;
border-bottom: 2px solid #CCC;
}
.tessira_suttatitulu {
font-size: 16px;
font-weight: normal;
text-align: center;
color: #555;
padding: 8px;
background: #F1F1F1;
border-bottom: 1px solid #CCC;
font-style: italic;
}
/* Supra / Sutta */
.tessira_supra {
font-size: 14px;
font-weight: bold;
text-align: center;
color: #333;
padding: 8px;
background: #F3F3F3;
border-bottom: 1px solid #CCC;
}
.tessira_sutta {
font-size: 13px;
text-align: center;
color: #444;
padding: 8px;
background: #F8F8F8;
border-top: 1px solid #DDD;
}
/* Subheaders */
.tessira_subheader {
font-size: 14px;
font-weight: bold;
text-align: left;
color: #444;
padding: 6px 8px;
background: #EAEAEA;
border-top: 1px solid #DDD;
border-bottom: 1px solid #DDD;
margin: 4px 0;
}
/* Group header row */
.tessira_gruppu > th {
font-size: 14px;
font-weight: bold;
text-align: center;
background: #EFEFEF;
color: #333;
padding: 8px 0;
border-top: 2px solid #CCC;
border-bottom: 1px solid #CCC;
}
/* Label + value cells */
.tessira_vuci {
text-align: left;
font-weight: bold;
color: #444;
padding: 6px 8px;
width: 40%;
background: #F1F1F1;
border-right: 1px solid #DDD;
font-size: 90%;
vertical-align: top;
}
.tessira_valuri {
text-align: left;
padding: 6px 8px;
width: 60%;
font-size: 90%;
background: #FFFFFF;
vertical-align: top;
}
/* Force consistent padding on value cells */
td.tessira_valuri {
padding: 6px 8px !important;
text-indent: 0 !important;
margin: 0 !important;
}
/* List handling in value cells */
.tessira_valuri ul,
.tessira_valuri ol {
margin: 0;
padding-left: 1.5em;
}
.tessira_valuri li {
margin: 0;
padding: 0;
}
/* When plainlist class is applied, remove list formatting */
.tessira_valuri.plainlist ul,
.tessira_valuri.plainlist ol {
margin: 0;
padding: 0;
list-style: none;
}
.tessira_valuri.plainlist li {
margin: 0;
padding: 0;
}
/* Images + captions */
.tessira_mmaggini {
text-align: center;
padding: 8px 0 6px;
}
.tessira_mmaggini img {
max-width: 100%;
height: auto;
border: 1px solid #DDD;
}
.tessira_didascalia_mmaggini {
font-size: 12px;
text-align: center;
color: #666;
padding-bottom: 8px;
font-style: italic;
}
.tessira_mmaggini_manu_manca {
text-align: left;
padding: 6px;
}
.tessira_mmaggini_manu_dritta {
text-align: right;
padding: 6px;
}
.tessira_didascalia_mmaggini_manu_manca,
.tessira_didascalia_mmaggini_manu_dritta {
font-size: 12px;
color: #666;
padding-top: 4px;
font-style: italic;
}
/* Footer row */
.tessira_pedi_paggina {
font-size: 0.85em;
color: #666;
text-align: center;
padding: 8px;
border-top: 1px solid #DDD;
background: #F5F5F5;
border-radius: 0 0 6px 6px;
}
/* NavBar row */
.tessira_navbar {
text-align: center;
padding: 6px;
background: #F0F0F0;
font-size: 90%;
color: #444;
border-top: 1px solid #DDD;
margin: 4px 0;
}
/* Dark mode styles */
html.skin-theme-clientpref-night .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-night .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-night .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-os .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-os .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
}
ho2hpg5ayjne9ct23ymmd1xmij0k06e
770458
770456
2025-07-04T12:48:56Z
GianAntonucci
46609
770458
sanitized-css
text/css
/* Tèssira Infobox Styles */
/* Main container */
.tessira {
width: 300px;
border: 1px solid #CCC;
border-radius: 6px;
margin: 0 15px 15px 0;
padding: 10px;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
color: #333;
float: right;
font-size: 14px;
}
.tessira_no_float {
float: none;
margin-left: auto;
margin-right: auto;
}
.tessira_child_wrapper {
display: inline-block;
border: 1px solid #CCC;
border-radius: 6px;
padding: 8px;
margin: 0 15px 15px 0;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0,0,0,0.1);
color: #333;
font-size: 14px;
}
/* Titles & subtitles */
.tessira_titulu {
font-size: 18px;
font-weight: bold;
text-align: center;
color: #333;
padding: 12px;
background: #EDEDED;
border-radius: 6px 6px 0 0;
border-bottom: 2px solid #CCC;
}
.tessira_suttatitulu {
font-size: 16px;
font-weight: normal;
text-align: center;
color: #555;
padding: 8px;
background: #F1F1F1;
border-bottom: 1px solid #CCC;
font-style: italic;
}
/* Supra / Sutta */
.tessira_supra {
font-size: 14px;
font-weight: bold;
text-align: center;
color: #333;
padding: 8px;
background: #F3F3F3;
border-bottom: 1px solid #CCC;
}
.tessira_sutta {
font-size: 13px;
text-align: center;
color: #444;
padding: 8px;
background: #F8F8F8;
border-top: 1px solid #DDD;
}
/* Subheaders */
.tessira_subheader {
font-size: 14px;
font-weight: bold;
text-align: left;
color: #444;
padding: 6px 8px;
background: #EAEAEA;
border-top: 1px solid #DDD;
border-bottom: 1px solid #DDD;
margin: 4px 0;
}
/* Group header row */
.tessira_gruppu > th {
font-size: 14px;
font-weight: bold;
text-align: center;
background: #EFEFEF;
color: #333;
padding: 8px 0;
border-top: 2px solid #CCC;
border-bottom: 1px solid #CCC;
}
/* Label + value cells */
.tessira_vuci {
text-align: left;
font-weight: bold;
color: #444;
padding: 6px 8px;
width: 40%;
background: #F1F1F1;
border-right: 1px solid #DDD;
font-size: 90%;
vertical-align: top;
}
.tessira_valuri {
text-align: left;
padding: 6px 8px;
width: 60%;
font-size: 90%;
background: #FFFFFF;
vertical-align: top;
}
/* Force consistent padding on value cells */
td.tessira_valuri {
padding: 6px 8px !important;
text-indent: 0 !important;
margin: 0 !important;
}
/* List handling in value cells */
.tessira_valuri ul,
.tessira_valuri ol {
margin: 0;
padding-left: 1.5em;
}
.tessira_valuri li {
margin: 0;
padding: 0;
}
/* When plainlist class is applied, remove list formatting */
.tessira_valuri.plainlist ul,
.tessira_valuri.plainlist ol,
.tessira_valuri .plainlist ul,
.tessira_valuri .plainlist ol {
margin: 0;
padding: 0;
list-style: none;
}
.tessira_valuri.plainlist li,
.tessira_valuri .plainlist li {
margin: 0;
padding: 0;
}
/* When hlist class is applied, ensure inline display */
.tessira_valuri.hlist ul,
.tessira_valuri .hlist ul {
margin: 0;
padding: 0;
list-style: none;
}
.tessira_valuri.hlist li,
.tessira_valuri .hlist li {
display: inline;
margin: 0;
padding: 0;
}
/* Images + captions */
.tessira_mmaggini {
text-align: center;
padding: 8px 0 6px;
}
.tessira_mmaggini img {
max-width: 100%;
height: auto;
border: 1px solid #DDD;
}
.tessira_didascalia_mmaggini {
font-size: 12px;
text-align: center;
color: #666;
padding-bottom: 8px;
font-style: italic;
}
.tessira_mmaggini_manu_manca {
text-align: left;
padding: 6px;
}
.tessira_mmaggini_manu_dritta {
text-align: right;
padding: 6px;
}
.tessira_didascalia_mmaggini_manu_manca,
.tessira_didascalia_mmaggini_manu_dritta {
font-size: 12px;
color: #666;
padding-top: 4px;
font-style: italic;
}
/* Footer row */
.tessira_pedi_paggina {
font-size: 0.85em;
color: #666;
text-align: center;
padding: 8px;
border-top: 1px solid #DDD;
background: #F5F5F5;
border-radius: 0 0 6px 6px;
}
/* NavBar row */
.tessira_navbar {
text-align: center;
padding: 6px;
background: #F0F0F0;
font-size: 90%;
color: #444;
border-top: 1px solid #DDD;
margin: 4px 0;
}
/* Dark mode styles */
html.skin-theme-clientpref-night .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-night .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-night .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-os .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-os .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
}
86voyldndwbqs42n6iawogirmmm2r31
770463
770458
2025-07-04T13:00:03Z
GianAntonucci
46609
770463
sanitized-css
text/css
/* Tèssira Infobox Styles */
/* Main container */
.tessira {
width: 300px;
border: 1px solid #CCC;
border-radius: 6px;
margin: 0 15px 15px 0;
padding: 10px;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
color: #333;
float: right;
font-size: 14px;
}
.tessira_no_float {
float: none;
margin-left: auto;
margin-right: auto;
}
.tessira_child_wrapper {
display: inline-block;
border: 1px solid #CCC;
border-radius: 6px;
padding: 8px;
margin: 0 15px 15px 0;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0,0,0,0.1);
color: #333;
font-size: 14px;
}
/* Titles & subtitles */
.tessira_titulu {
font-size: 18px;
font-weight: bold;
text-align: center;
color: #333;
padding: 12px;
background: #EDEDED;
border-radius: 6px 6px 0 0;
border-bottom: 2px solid #CCC;
}
.tessira_suttatitulu {
font-size: 16px;
font-weight: normal;
text-align: center;
color: #555;
padding: 8px;
background: #F1F1F1;
border-bottom: 1px solid #CCC;
font-style: italic;
}
/* Supra / Sutta */
.tessira_supra {
font-size: 14px;
font-weight: bold;
text-align: center;
color: #333;
padding: 8px;
background: #F3F3F3;
border-bottom: 1px solid #CCC;
}
.tessira_sutta {
font-size: 13px;
text-align: center;
color: #444;
padding: 8px;
background: #F8F8F8;
border-top: 1px solid #DDD;
}
/* Subheaders */
.tessira_subheader {
font-size: 14px;
font-weight: bold;
text-align: left;
color: #444;
padding: 6px 8px;
background: #EAEAEA;
border-top: 1px solid #DDD;
border-bottom: 1px solid #DDD;
margin: 4px 0;
}
/* Group header row */
.tessira_gruppu > th {
font-size: 14px;
font-weight: bold;
text-align: center;
background: #EFEFEF;
color: #333;
padding: 8px 0;
border-top: 2px solid #CCC;
border-bottom: 1px solid #CCC;
}
/* Label + value cells */
.tessira_vuci {
text-align: left;
font-weight: bold;
color: #444;
padding: 6px 8px;
width: 40%;
background: #F1F1F1;
border-right: 1px solid #DDD;
font-size: 90%;
vertical-align: top;
}
.tessira_valuri {
text-align: left;
padding: 6px 8px;
width: 60%;
font-size: 90%;
background: #FFFFFF;
vertical-align: top;
}
/* Force consistent padding on value cells */
td.tessira_valuri {
padding: 6px 8px !important;
text-indent: 0 !important;
margin: 0 !important;
}
/* List handling in value cells */
.tessira_valuri ul,
.tessira_valuri ol {
margin: 0;
padding-left: 1.5em;
}
.tessira_valuri li {
margin: 0;
padding: 0;
}
/* Fix for list container divs - ensure they inherit the cell's background */
.tessira_valuri > div {
background: transparent;
margin: 0;
padding: 0;
}
/* When plainlist class is applied, remove list formatting */
.tessira_valuri.plainlist ul,
.tessira_valuri.plainlist ol,
.tessira_valuri .plainlist ul,
.tessira_valuri .plainlist ol {
margin: 0;
padding: 0;
list-style: none;
}
.tessira_valuri.plainlist li,
.tessira_valuri .plainlist li {
margin: 0;
padding: 0;
}
/* Ensure plainlist divs are transparent */
.tessira_valuri .plainlist {
background: transparent !important;
}
/* When hlist class is applied, ensure inline display */
.tessira_valuri.hlist ul,
.tessira_valuri .hlist ul {
margin: 0;
padding: 0;
list-style: none;
}
.tessira_valuri.hlist li,
.tessira_valuri .hlist li {
display: inline;
margin: 0;
padding: 0;
}
/* Images + captions */
.tessira_mmaggini {
text-align: center;
padding: 8px 0 6px;
}
.tessira_mmaggini img {
max-width: 100%;
height: auto;
border: 1px solid #DDD;
}
.tessira_didascalia_mmaggini {
font-size: 12px;
text-align: center;
color: #666;
padding-bottom: 8px;
font-style: italic;
}
.tessira_mmaggini_manu_manca {
text-align: left;
padding: 6px;
}
.tessira_mmaggini_manu_dritta {
text-align: right;
padding: 6px;
}
.tessira_didascalia_mmaggini_manu_manca,
.tessira_didascalia_mmaggini_manu_dritta {
font-size: 12px;
color: #666;
padding-top: 4px;
font-style: italic;
}
/* Footer row */
.tessira_pedi_paggina {
font-size: 0.85em;
color: #666;
text-align: center;
padding: 8px;
border-top: 1px solid #DDD;
background: #F5F5F5;
border-radius: 0 0 6px 6px;
}
/* NavBar row */
.tessira_navbar {
text-align: center;
padding: 6px;
background: #F0F0F0;
font-size: 90%;
color: #444;
border-top: 1px solid #DDD;
margin: 4px 0;
}
/* Dark mode styles */
html.skin-theme-clientpref-night .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-night .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_valuri {
background: #333;
color: #DDD;
}
/* Fix for dark mode list containers */
html.skin-theme-clientpref-night .tessira_valuri > div {
background: transparent;
}
html.skin-theme-clientpref-night .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-night .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-os .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_valuri {
background: #333;
color: #DDD;
}
/* Fix for OS dark mode list containers */
html.skin-theme-clientpref-os .tessira_valuri > div {
background: transparent;
}
html.skin-theme-clientpref-os .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-os .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
}
1eceju9hj9nvusi32y5w4wzeomnovdr
770466
770463
2025-07-04T13:03:36Z
GianAntonucci
46609
770466
sanitized-css
text/css
/* Tèssira Infobox Styles */
/* Main container */
.tessira {
width: 300px;
border: 1px solid #CCC;
border-radius: 6px;
margin: 0 15px 15px 0;
padding: 10px;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
color: #333;
float: right;
font-size: 14px;
}
.tessira_no_float {
float: none;
margin-left: auto;
margin-right: auto;
}
.tessira_child_wrapper {
display: inline-block;
border: 1px solid #CCC;
border-radius: 6px;
padding: 8px;
margin: 0 15px 15px 0;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0,0,0,0.1);
color: #333;
font-size: 14px;
}
/* Titles & subtitles */
.tessira_titulu {
font-size: 18px;
font-weight: bold;
text-align: center;
color: #333;
padding: 12px;
background: #EDEDED;
border-radius: 6px 6px 0 0;
border-bottom: 2px solid #CCC;
}
.tessira_suttatitulu {
font-size: 16px;
font-weight: normal;
text-align: center;
color: #555;
padding: 8px;
background: #F1F1F1;
border-bottom: 1px solid #CCC;
font-style: italic;
}
/* Supra / Sutta */
.tessira_supra {
font-size: 14px;
font-weight: bold;
text-align: center;
color: #333;
padding: 8px;
background: #F3F3F3;
border-bottom: 1px solid #CCC;
}
.tessira_sutta {
font-size: 13px;
text-align: center;
color: #444;
padding: 8px;
background: #F8F8F8;
border-top: 1px solid #DDD;
}
/* Subheaders */
.tessira_subheader {
font-size: 14px;
font-weight: bold;
text-align: left;
color: #444;
padding: 6px 8px;
background: #EAEAEA;
border-top: 1px solid #DDD;
border-bottom: 1px solid #DDD;
margin: 4px 0;
}
/* Group header row */
.tessira_gruppu > th {
font-size: 14px;
font-weight: bold;
text-align: center;
background: #EFEFEF;
color: #333;
padding: 8px 0;
border-top: 2px solid #CCC;
border-bottom: 1px solid #CCC;
}
/* Label + value cells */
.tessira_vuci {
text-align: left;
font-weight: bold;
color: #444;
padding: 6px 8px;
width: 40%;
background: #F1F1F1;
border-right: 1px solid #DDD;
font-size: 90%;
vertical-align: top;
}
.tessira_valuri {
text-align: left;
padding: 6px 8px;
width: 60%;
font-size: 90%;
background: #FFFFFF;
vertical-align: top;
}
/* Force consistent padding on value cells */
td.tessira_valuri {
padding: 6px 8px !important;
text-indent: 0 !important;
margin: 0 !important;
}
/* Ensure all content inside value cells has no background */
.tessira_valuri * {
background: transparent !important;
}
/* List handling in value cells */
.tessira_valuri ul,
.tessira_valuri ol {
margin: 0;
padding-left: 1.5em;
}
.tessira_valuri li {
margin: 0;
padding: 0;
}
/* Fix for list container divs - ensure they inherit the cell's background */
.tessira_valuri > div {
background: transparent;
margin: 0;
padding: 0;
}
/* When plainlist class is applied, remove list formatting */
.tessira_valuri.plainlist ul,
.tessira_valuri.plainlist ol,
.tessira_valuri .plainlist ul,
.tessira_valuri .plainlist ol {
margin: 0;
padding: 0;
list-style: none;
}
.tessira_valuri.plainlist li,
.tessira_valuri .plainlist li {
margin: 0;
padding: 0;
}
/* Ensure plainlist divs are transparent */
.tessira_valuri .plainlist {
background: transparent !important;
}
/* When hlist class is applied, ensure inline display */
.tessira_valuri.hlist ul,
.tessira_valuri .hlist ul {
margin: 0;
padding: 0;
list-style: none;
}
.tessira_valuri.hlist li,
.tessira_valuri .hlist li {
display: inline;
margin: 0;
padding: 0;
}
/* Images + captions */
.tessira_mmaggini {
text-align: center;
padding: 8px 0 6px;
}
.tessira_mmaggini img {
max-width: 100%;
height: auto;
border: 1px solid #DDD;
}
.tessira_didascalia_mmaggini {
font-size: 12px;
text-align: center;
color: #666;
padding-bottom: 8px;
font-style: italic;
}
.tessira_mmaggini_manu_manca {
text-align: left;
padding: 6px;
}
.tessira_mmaggini_manu_dritta {
text-align: right;
padding: 6px;
}
.tessira_didascalia_mmaggini_manu_manca,
.tessira_didascalia_mmaggini_manu_dritta {
font-size: 12px;
color: #666;
padding-top: 4px;
font-style: italic;
}
/* Footer row */
.tessira_pedi_paggina {
font-size: 0.85em;
color: #666;
text-align: center;
padding: 8px;
border-top: 1px solid #DDD;
background: #F5F5F5;
border-radius: 0 0 6px 6px;
}
/* NavBar row */
.tessira_navbar {
text-align: center;
padding: 6px;
background: #F0F0F0;
font-size: 90%;
color: #444;
border-top: 1px solid #DDD;
margin: 4px 0;
}
/* Dark mode styles */
html.skin-theme-clientpref-night .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-night .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_valuri {
background: #333;
color: #DDD;
}
/* Fix for dark mode list containers */
html.skin-theme-clientpref-night .tessira_valuri > div {
background: transparent;
}
html.skin-theme-clientpref-night .tessira_valuri * {
background: transparent !important;
}
html.skin-theme-clientpref-night .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-night .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-os .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_valuri {
background: #333;
color: #DDD;
}
/* Fix for OS dark mode list containers */
html.skin-theme-clientpref-os .tessira_valuri > div {
background: transparent;
}
html.skin-theme-clientpref-os .tessira_valuri * {
background: transparent !important;
}
html.skin-theme-clientpref-os .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-os .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
}
ct3j1os2t5j106n17y6j4c111ov1pe6
770467
770466
2025-07-04T13:06:04Z
GianAntonucci
46609
770467
sanitized-css
text/css
/* Tèssira Infobox Styles */
/* Main container */
.tessira {
width: 300px;
border: 1px solid #CCC;
border-radius: 6px;
margin: 0 15px 15px 0;
padding: 10px;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
color: #333;
float: right;
font-size: 14px;
}
.tessira_no_float {
float: none;
margin-left: auto;
margin-right: auto;
}
.tessira_child_wrapper {
display: inline-block;
border: 1px solid #CCC;
border-radius: 6px;
padding: 8px;
margin: 0 15px 15px 0;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0,0,0,0.1);
color: #333;
font-size: 14px;
}
/* Titles & subtitles */
.tessira_titulu {
font-size: 18px;
font-weight: bold;
text-align: center;
color: #333;
padding: 12px;
background: #EDEDED;
border-radius: 6px 6px 0 0;
border-bottom: 2px solid #CCC;
}
.tessira_suttatitulu {
font-size: 16px;
font-weight: normal;
text-align: center;
color: #555;
padding: 8px;
background: #F1F1F1;
border-bottom: 1px solid #CCC;
font-style: italic;
}
/* Supra / Sutta */
.tessira_supra {
font-size: 14px;
font-weight: bold;
text-align: center;
color: #333;
padding: 8px;
background: #F3F3F3;
border-bottom: 1px solid #CCC;
}
.tessira_sutta {
font-size: 13px;
text-align: center;
color: #444;
padding: 8px;
background: #F8F8F8;
border-top: 1px solid #DDD;
}
/* Subheaders */
.tessira_subheader {
font-size: 14px;
font-weight: bold;
text-align: left;
color: #444;
padding: 6px 8px;
background: #EAEAEA;
border-top: 1px solid #DDD;
border-bottom: 1px solid #DDD;
margin: 4px 0;
}
/* Group header row */
.tessira_gruppu > th {
font-size: 14px;
font-weight: bold;
text-align: center;
background: #EFEFEF;
color: #333;
padding: 8px 0;
border-top: 2px solid #CCC;
border-bottom: 1px solid #CCC;
}
/* Label + value cells */
.tessira_vuci {
text-align: left;
font-weight: bold;
color: #444;
padding: 6px 8px;
width: 40%;
background: #F1F1F1;
border-right: 1px solid #DDD;
font-size: 90%;
vertical-align: top;
}
.tessira_valuri {
text-align: left;
padding: 6px 8px;
width: 60%;
font-size: 90%;
background: #F8F8F8;
vertical-align: top;
}
/* Force consistent padding on value cells */
td.tessira_valuri {
padding: 6px 8px !important;
text-indent: 0 !important;
margin: 0 !important;
}
/* Ensure all content inside value cells has no background */
.tessira_valuri * {
background: transparent !important;
}
/* List handling in value cells */
.tessira_valuri ul,
.tessira_valuri ol {
margin: 0;
padding-left: 1.5em;
}
.tessira_valuri li {
margin: 0;
padding: 0;
}
/* Fix for list container divs - ensure they inherit the cell's background */
.tessira_valuri > div {
background: transparent;
margin: 0;
padding: 0;
}
/* When plainlist class is applied, remove list formatting */
.tessira_valuri.plainlist ul,
.tessira_valuri.plainlist ol,
.tessira_valuri .plainlist ul,
.tessira_valuri .plainlist ol {
margin: 0;
padding: 0;
list-style: none;
}
.tessira_valuri.plainlist li,
.tessira_valuri .plainlist li {
margin: 0;
padding: 0;
}
/* Ensure plainlist divs are transparent */
.tessira_valuri .plainlist {
background: transparent !important;
}
/* When hlist class is applied, ensure inline display */
.tessira_valuri.hlist ul,
.tessira_valuri .hlist ul {
margin: 0;
padding: 0;
list-style: none;
}
.tessira_valuri.hlist li,
.tessira_valuri .hlist li {
display: inline;
margin: 0;
padding: 0;
}
/* Images + captions */
.tessira_mmaggini {
text-align: center;
padding: 8px 0 6px;
}
.tessira_mmaggini img {
max-width: 100%;
height: auto;
border: 1px solid #DDD;
}
.tessira_didascalia_mmaggini {
font-size: 12px;
text-align: center;
color: #666;
padding-bottom: 8px;
font-style: italic;
}
.tessira_mmaggini_manu_manca {
text-align: left;
padding: 6px;
}
.tessira_mmaggini_manu_dritta {
text-align: right;
padding: 6px;
}
.tessira_didascalia_mmaggini_manu_manca,
.tessira_didascalia_mmaggini_manu_dritta {
font-size: 12px;
color: #666;
padding-top: 4px;
font-style: italic;
}
/* Footer row */
.tessira_pedi_paggina {
font-size: 0.85em;
color: #666;
text-align: center;
padding: 8px;
border-top: 1px solid #DDD;
background: #F5F5F5;
border-radius: 0 0 6px 6px;
}
/* NavBar row */
.tessira_navbar {
text-align: center;
padding: 6px;
background: #F0F0F0;
font-size: 90%;
color: #444;
border-top: 1px solid #DDD;
margin: 4px 0;
}
/* Dark mode styles */
html.skin-theme-clientpref-night .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-night .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_valuri {
background: #333;
color: #DDD;
}
/* Fix for dark mode list containers */
html.skin-theme-clientpref-night .tessira_valuri > div {
background: transparent;
}
html.skin-theme-clientpref-night .tessira_valuri * {
background: transparent !important;
}
html.skin-theme-clientpref-night .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-night .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-os .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_valuri {
background: #333;
color: #DDD;
}
/* Fix for OS dark mode list containers */
html.skin-theme-clientpref-os .tessira_valuri > div {
background: transparent;
}
html.skin-theme-clientpref-os .tessira_valuri * {
background: transparent !important;
}
html.skin-theme-clientpref-os .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-os .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
}
s2p2r19ut9lz1laxw3b88dek2ra6syn
770468
770467
2025-07-04T13:08:46Z
GianAntonucci
46609
770468
sanitized-css
text/css
/* Tèssira Infobox Styles */
/* Main container */
.tessira {
width: 300px;
border: 1px solid #CCC;
border-radius: 6px;
margin: 0 15px 15px 0;
padding: 10px;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
color: #333;
float: right;
font-size: 14px;
}
.tessira_no_float {
float: none;
margin-left: auto;
margin-right: auto;
}
.tessira_child_wrapper {
display: inline-block;
border: 1px solid #CCC;
border-radius: 6px;
padding: 8px;
margin: 0 15px 15px 0;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0,0,0,0.1);
color: #333;
font-size: 14px;
}
/* Titles & subtitles */
.tessira_titulu {
font-size: 18px;
font-weight: bold;
text-align: center;
color: #333;
padding: 12px;
background: #EDEDED;
border-radius: 6px 6px 0 0;
border-bottom: 2px solid #CCC;
}
.tessira_suttatitulu {
font-size: 16px;
font-weight: normal;
text-align: center;
color: #555;
padding: 8px;
background: #F1F1F1;
border-bottom: 1px solid #CCC;
font-style: italic;
}
/* Supra / Sutta */
.tessira_supra {
font-size: 14px;
font-weight: bold;
text-align: center;
color: #333;
padding: 8px;
background: #F3F3F3;
border-bottom: 1px solid #CCC;
}
.tessira_sutta {
font-size: 13px;
text-align: center;
color: #444;
padding: 8px;
background: #F8F8F8;
border-top: 1px solid #DDD;
}
/* Subheaders */
.tessira_subheader {
font-size: 14px;
font-weight: bold;
text-align: left;
color: #444;
padding: 6px 8px;
background: #EAEAEA;
border-top: 1px solid #DDD;
border-bottom: 1px solid #DDD;
margin: 4px 0;
}
/* Group header row */
.tessira_gruppu > th {
font-size: 14px;
font-weight: bold;
text-align: center;
background: #EFEFEF;
color: #333;
padding: 8px 0;
border-top: 2px solid #CCC;
border-bottom: 1px solid #CCC;
}
/* Label + value cells */
.tessira_vuci {
text-align: left;
font-weight: bold;
color: #444;
padding: 6px 8px;
width: 40%;
background: #F1F1F1;
border-right: 1px solid #DDD;
font-size: 90%;
vertical-align: top;
}
.tessira_valuri {
text-align: left;
padding: 6px 8px;
width: 60%;
font-size: 90%;
background: #FFFFFF;
vertical-align: top;
}
/* Force consistent padding on value cells */
td.tessira_valuri {
padding: 6px 8px !important;
text-indent: 0 !important;
margin: 0 !important;
}
/* List handling in value cells */
.tessira_valuri ul,
.tessira_valuri ol {
margin: 0;
padding-left: 1.5em;
}
.tessira_valuri li {
margin: 0;
padding: 0;
}
/* When plainlist class is applied, remove list formatting */
.tessira_valuri.plainlist ul,
.tessira_valuri.plainlist ol,
.tessira_valuri .plainlist ul,
.tessira_valuri .plainlist ol {
margin: 0;
padding: 0;
list-style: none;
}
.tessira_valuri.plainlist li,
.tessira_valuri .plainlist li {
margin: 0;
padding: 0;
}
/* When hlist class is applied, ensure inline display */
.tessira_valuri.hlist ul,
.tessira_valuri .hlist ul {
margin: 0;
padding: 0;
list-style: none;
}
.tessira_valuri.hlist li,
.tessira_valuri .hlist li {
display: inline;
margin: 0;
padding: 0;
}
/* Images + captions */
.tessira_mmaggini {
text-align: center;
padding: 8px 0 6px;
}
.tessira_mmaggini img {
max-width: 100%;
height: auto;
border: 1px solid #DDD;
}
.tessira_didascalia_mmaggini {
font-size: 12px;
text-align: center;
color: #666;
padding-bottom: 8px;
font-style: italic;
}
.tessira_mmaggini_manu_manca {
text-align: left;
padding: 6px;
}
.tessira_mmaggini_manu_dritta {
text-align: right;
padding: 6px;
}
.tessira_didascalia_mmaggini_manu_manca,
.tessira_didascalia_mmaggini_manu_dritta {
font-size: 12px;
color: #666;
padding-top: 4px;
font-style: italic;
}
/* Footer row */
.tessira_pedi_paggina {
font-size: 0.85em;
color: #666;
text-align: center;
padding: 8px;
border-top: 1px solid #DDD;
background: #F5F5F5;
border-radius: 0 0 6px 6px;
}
/* NavBar row */
.tessira_navbar {
text-align: center;
padding: 6px;
background: #F0F0F0;
font-size: 90%;
color: #444;
border-top: 1px solid #DDD;
margin: 4px 0;
}
html.skin-theme-clientpref-night .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-night .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_valuri {
background: #333;
color: #DDD;
}
/* Dark mode styles */
html.skin-theme-clientpref-night .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-night .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-os .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-os .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
}
ef9s2mv3j5oj30lpnyixjjd5be9z0xk
770473
770468
2025-07-04T13:12:48Z
GianAntonucci
46609
770473
sanitized-css
text/css
/* Tèssira Infobox Styles */
/* Main container */
.tessira {
width: 300px;
border: 1px solid #CCC;
border-radius: 6px;
margin: 0 15px 15px 0;
padding: 10px;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
color: #333;
float: right;
font-size: 14px;
}
.tessira_no_float {
float: none;
margin-left: auto;
margin-right: auto;
}
.tessira_child_wrapper {
display: inline-block;
border: 1px solid #CCC;
border-radius: 6px;
padding: 8px;
margin: 0 15px 15px 0;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0,0,0,0.1);
color: #333;
font-size: 14px;
}
/* Titles & subtitles */
.tessira_titulu {
font-size: 18px;
font-weight: bold;
text-align: center;
color: #333;
padding: 12px;
background: #EDEDED;
border-radius: 6px 6px 0 0;
border-bottom: 2px solid #CCC;
}
.tessira_suttatitulu {
font-size: 16px;
font-weight: normal;
text-align: center;
color: #555;
padding: 8px;
background: #F1F1F1;
border-bottom: 1px solid #CCC;
font-style: italic;
}
/* Supra / Sutta */
.tessira_supra {
font-size: 14px;
font-weight: bold;
text-align: center;
color: #333;
padding: 8px;
background: #F3F3F3;
border-bottom: 1px solid #CCC;
}
.tessira_sutta {
font-size: 13px;
text-align: center;
color: #444;
padding: 8px;
background: #F8F8F8;
border-top: 1px solid #DDD;
}
/* Subheaders */
.tessira_subheader {
font-size: 14px;
font-weight: bold;
text-align: left;
color: #444;
padding: 6px 8px;
background: #EAEAEA;
border-top: 1px solid #DDD;
border-bottom: 1px solid #DDD;
margin: 4px 0;
}
/* Group header row */
.tessira_gruppu > th {
font-size: 14px;
font-weight: bold;
text-align: center;
background: #EFEFEF;
color: #333;
padding: 8px 0;
border-top: 2px solid #CCC;
border-bottom: 1px solid #CCC;
}
/* Label + value cells */
.tessira_vuci {
text-align: left;
font-weight: bold;
color: #444;
padding: 6px 8px;
width: 40%;
background: #F1F1F1;
border-right: 1px solid #DDD;
font-size: 90%;
vertical-align: top;
}
.tessira_valuri {
text-align: left;
padding: 6px 8px;
width: 60%;
font-size: 90%;
background: #FFFFFF;
vertical-align: top;
}
/* Force consistent padding on value cells */
td.tessira_valuri {
padding: 6px 8px !important;
text-indent: 0 !important;
margin: 0 !important;
}
/* List handling in value cells */
.tessira_valuri ul,
.tessira_valuri ol {
margin: 0;
padding-left: 1.5em;
}
.tessira_valuri li {
margin: 0;
padding: 0;
}
/* Fix for list container divs */
.tessira_valuri > div {
margin: 0;
padding: 0;
width: 100%;
}
/* When plainlist class is applied, remove list formatting */
.tessira_valuri.plainlist ul,
.tessira_valuri.plainlist ol,
.tessira_valuri .plainlist ul,
.tessira_valuri .plainlist ol {
margin: 0;
padding: 0;
list-style: none;
}
.tessira_valuri.plainlist li,
.tessira_valuri .plainlist li {
margin: 0;
padding: 0;
}
/* When hlist class is applied, ensure inline display */
.tessira_valuri.hlist ul,
.tessira_valuri .hlist ul {
margin: 0;
padding: 0;
list-style: none;
}
.tessira_valuri.hlist li,
.tessira_valuri .hlist li {
display: inline;
margin: 0;
padding: 0;
}
/* Images + captions */
.tessira_mmaggini {
text-align: center;
padding: 8px 0 6px;
}
.tessira_mmaggini img {
max-width: 100%;
height: auto;
border: 1px solid #DDD;
}
.tessira_didascalia_mmaggini {
font-size: 12px;
text-align: center;
color: #666;
padding-bottom: 8px;
font-style: italic;
}
.tessira_mmaggini_manu_manca {
text-align: left;
padding: 6px;
}
.tessira_mmaggini_manu_dritta {
text-align: right;
padding: 6px;
}
.tessira_didascalia_mmaggini_manu_manca,
.tessira_didascalia_mmaggini_manu_dritta {
font-size: 12px;
color: #666;
padding-top: 4px;
font-style: italic;
}
/* Footer row */
.tessira_pedi_paggina {
font-size: 0.85em;
color: #666;
text-align: center;
padding: 8px;
border-top: 1px solid #DDD;
background: #F5F5F5;
border-radius: 0 0 6px 6px;
}
/* NavBar row */
.tessira_navbar {
text-align: center;
padding: 6px;
background: #F0F0F0;
font-size: 90%;
color: #444;
border-top: 1px solid #DDD;
margin: 4px 0;
}
html.skin-theme-clientpref-night .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-night .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_valuri {
background: #333;
color: #DDD;
}
/* Dark mode styles */
html.skin-theme-clientpref-night .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-night .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-os .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-os .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
}
g0m75dk4a3wdpc37tge0dk9m7bkk68d
Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità
2
66298
770474
770428
2025-07-04T13:44:21Z
GianAntonucci
46609
770474
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
Sta tèssira è spicìfica pî cità, paìsi e luchi abitati. Integra automaticamenti dati di Wikidata e permetti pirsunalizzazzioni lucali.
== Comu si usa ==
<pre>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità
| Nomu =
| Wikidata =
| Viduta =
| Sìnnacu =
| Genti =
| ...
}}
</pre>
== Paràmitri cumpleti ==
=== Nomi e tìtuli ===
* '''Nomu''' - Nomu dâ cità (si vacanti, piglia di Wikidata o usa u nomu dâ pàggina)
* '''Wikidata''' - ID Wikidata (es: Q2656 pi Palermu)
* '''NomuUfficiali''' - Nomu ufficiali cumpletu (si vacanti, piglia P1448 di Wikidata)
* '''NomuLucali''' - Nomu ntô dialettu lucali (si vacanti, piglia P1705 di Wikidata)
=== Mmàggini ===
* '''Viduta''' - Futugrafia principali dâ cità (si vacanti, piglia P18 di Wikidata)
* '''Didascalìa''' - Testo sutta a viduta principali
* '''Stemma''' - Stemma ufficiali (si vacanti, piglia P94 di Wikidata)
* '''Bannera''' - Bannera municipali (si vacanti, piglia P41 di Wikidata)
* '''Mappa''' - Mappa di pusizzioni (si vacanti, piglia P242 di Wikidata)
* '''DidascalìaMappa''' - Testo sutta a mappa
=== Giugrafìa ===
* '''Pusizzioni''' - Coordinati giugràfichi (si vacanti, piglia P625 di Wikidata)
* '''Aria''' - Supirfìci in km² (si vacanti, piglia P2046 di Wikidata)
* '''Artizza''' - Metri supra u liveddu dû mari (si vacanti, piglia P2044 di Wikidata)
* '''FusuUrariu''' - Fusu urariu (si vacanti, piglia P421 di Wikidata)
* '''Pruvincia''' - Pruvincia di appartinenza (si vacanti, piglia P131 di Wikidata)
* '''VuciPruvincia''' - Etichetta pirsunalizzata pâ pruvincia (default: "Pruvincia")
* '''Rigioni''' - Rigioni (si vacanti, cerca P131 cu qualifier P31=Q16110)
* '''Statu''' - Paìsi (si vacanti, piglia P17 di Wikidata)
=== Amministrazzioni ===
* '''Sìnnacu''' - Nomu dû sìnnacu attuali (si vacanti, piglia P6 di Wikidata)
* '''SìnnacuGèniri''' - "m" pi masculu, "f" pi fìmmina (pi cuntrullari "Sìnnacu" o "Sìnnaca")
* '''SìnnacuPartitu''' - Partitu pulìticu dû sìnnacu (si vacanti, piglia P6 qualifier P102)
* '''DataElizzioni''' - Data di l'ùrtimi elezzioni municipali
* '''Tipu''' - Classificazzioni amministrativa (si vacanti, piglia P31 di Wikidata)
=== Pupulazzioni ===
* '''Genti''' - Nùmmaru d'abitanti (si vacanti, piglia P1082 di Wikidata)
* '''DataCinsimentu''' - Data dû cinsimentu (appari nta parèntisi dopu "Pupulazzioni")
* '''Dinsità''' - Abitanti pi km²
* '''Dintilichiu''' - Nomu dî cittadini (es: "palermitani") (si vacanti, piglia P1549 di Wikidata)
=== Storia ===
* '''Funnata''' - Data di funnazzioni (si vacanti, piglia P571 di Wikidata)
* '''Patronu''' - Santu patronu (si vacanti, piglia P417 di Wikidata)
* '''Festa''' - Data dâ festa patronali
=== Economia (facoltativi) ===
* '''PIL''' - Produttu internu lordu
* '''PILPirsuna''' - PIL pi càpiti
* '''Disoccupazzioni''' - Tassu di disoccupazzioni
=== Còdici ===
* '''ISO''' - Còdici ISO 3166-2 (si vacanti, piglia P300 di Wikidata)
* '''CAP''' - Còdici postali (si vacanti, piglia P281 di Wikidata)
* '''Prifissu''' - Prifissu tilefònicu (si vacanti, piglia P473 di Wikidata)
* '''ISTAT''' - Còdici ISTAT (si vacanti, piglia P635 di Wikidata)
* '''Catastali''' - Còdici catastali (si vacanti, piglia P806 di Wikidata)
=== Àutri ===
* '''SituWeb''' - Situ web ufficiali (si vacanti, piglia P856 di Wikidata)
* '''PediPàggina''' - Noti o fonti â pedi dâ tèssira
* '''DataAggiurnamentu''' - Data di l'ùrtimu aggiurnamentu (appari comu "Dati aggiurnati ô...")
* '''NomuMudeḍḍu''' - Nomu dû mudeḍḍu pi navigazzioni
== Esempiu: stu còdici... ==
<pre>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità
| Nomu = Palermu
| Wikidata = Q2656
| NomuUfficiali = Comune di Palermo
| NomuLucali = Palermu
| Viduta = Palermo-view-from-north.jpg
| Didascalìa = Vista panoramica di Palermu
| Stemma = Palermo-Stemma.svg
| Bannera = Flag of Palermo.svg
| Sìnnacu = Roberto Lagalla
| SìnnacuGèniri = m
| SìnnacuPartitu = Forza Italia
| DataElizzioni = 12 giugnu 2022
| Genti = 663,401
| DataCinsimentu = 2023
| Dinsità = 4,176 ab./km²
| Dintilichiu = palermitani
| Pusizzioni = 38°07′N 13°22′E
| Aria = 158.88 km²
| Artizza = 14 m s.l.m.
| FusuUrariu = UTC+1
| Pruvincia = Palermo
| Rigioni = Sicilia
| Statu = Italia
| Tipu = Città metropolitana
| Funnata = 734 a.C.
| Patronu = Santa Rosalia
| Festa = 15 di lugliu
| ISO = IT-PA
| CAP = 90100
| Prifissu = 091
| ISTAT = 082053
| Catastali = G273
| SituWeb = https://www.comune.palermo.it
| Mappa = Palermo in Italy.svg
| DidascalìaMappa = Pusizzioni di Palermu in Italia
| DataAggiurnamentu = 2023
| NomuMudeḍḍu = TèssiraCità/Palermu
}}
</pre>
== ...pròduci sta tàvula ==
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità
| no_float = yes
| Nomu = Palermu
| Wikidata = Q2656
| NomuUfficiali = Comune di Palermo
| NomuLucali = Palermu
| Viduta = Palermo-view-from-north.jpg
| Didascalìa = Vista panoramica di Palermu
| Stemma = Palermo-Stemma.svg
| Bannera = Flag of Palermo.svg
| Sìnnacu = Roberto Lagalla
| SìnnacuGèniri = m
| SìnnacuPartitu = Forza Italia
| DataElizzioni = 12 giugnu 2022
| Genti = 663,401
| DataCinsimentu = 2023
| Dinsità = 4,176 ab./km²
| Dintilichiu = palermitani
| Pusizzioni = 38°07′N 13°22′E
| Aria = 158.88 km²
| Artizza = 14 m s.l.m.
| FusuUrariu = UTC+1
| Pruvincia = Palermo
| Rigioni = Sicilia
| Statu = Italia
| Tipu = Città metropolitana
| Funnata = 734 a.C.
| Patronu = Santa Rosalia
| Festa = 15 di lugliu
| ISO = IT-PA
| CAP = 90100
| Prifissu = 091
| ISTAT = 082053
| Catastali = G273
| SituWeb = https://www.comune.palermo.it
| Mappa = Palermo in Italy.svg
| DidascalìaMappa = Pusizzioni di Palermu in Italia
| DataAggiurnamentu = 2023
| NomuMudeḍḍu = TèssiraCità/Palermu
}}
== Noti mpurtanti ==
* Si un paràmitru è vacanti, a tèssira prova a pigghiari u valuri di Wikidata automaticamenti
* I sizzioni (Giugrafìa, Demografia, ecc.) appaìunu sulu si ci sunnu dati
* U paràmitru '''Wikidata''' è mpurtanti pi l'integrazzioni automatica
* Tutti i paràmitri sunnu facoltativi
== Lijami cu Wikidata ==
Sta tèssira supporta sti prupità Wikidata:
* P17 - Paìsi
* P18 - Mmàggini
* P31 - Istanza di
* P41 - Bannera
* P94 - Stemma
* P131 - Ntâ divisioni amministrativa
* P242 - Mappa di lucalizzazzioni
* P281 - Còdici postali
* P300 - Còdici ISO 3166-2
* P417 - Patronu
* P421 - Fusu urariu
* P473 - Prifissu tilefònicu
* P571 - Data di criazzioni
* P625 - Coordinati giugràfichi
* P635 - Còdici ISTAT
* P806 - Còdici catastali dû cumuni italianu
* P856 - Situ web ufficiali
* P1082 - Pupulazzioni
* P1448 - Nomu ufficiali
* P1549 - Dintilichiu
* P1705 - Nomu nativu
* P2044 - Artizza supra u liveddu dû mari
* P2046 - Aria
* P6 - Capu dû guvernu
[[Categoria:Mudeḍḍi di tèssira]]
</noinclude>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
<!-- Nome e titoli -->
| Tìtulu = {{#if: {{{Nomu|}}} | {{{Nomu}}} | {{#if: {{{Wikidata|}}} | {{WikidataLabel|from={{{Wikidata}}}}} | {{PAGENAME}} }} }}
| Suttatìtulu = {{#if: {{{NomuUfficiali|}}} | {{{NomuUfficiali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1448|from={{{Wikidata}}}}} }} }}
| Supra = {{#if: {{{NomuLucali|}}} | {{{NomuLucali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1705|from={{{Wikidata}}}}} }} }}
<!-- Immagini principali -->
| MmàgginiSupra = {{#if: {{{Viduta|}}} | {{{Viduta}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P18|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiSupra = {{{Didascalìa|}}}
<!-- Stemma e bandiera -->
| MmàgginiManuManca = {{#if: {{{Stemma|}}} | {{{Stemma}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P94|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiManuManca = {{#if: {{{Stemma|}}}|Stemma|{{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P94|from={{{Wikidata}}}}} | Stemma }} }} }}
| MmàgginiManuDritta = {{#if: {{{Bannera|}}} | {{{Bannera}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P41|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiManuDritta = {{#if: {{{Bannera|}}}|Bannera|{{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P41|from={{{Wikidata}}}}} | Bannera }} }} }}
<!-- Geografia - sezione automatica con fallback Wikidata completi -->
| Pusizzioni = {{#if: {{{Pusizzioni|}}} | {{{Pusizzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P625|from={{{Wikidata}}}}} }} }}
| VuciPusizzioni = Coordinati
| GruppuPusizzioni = Geography
| Aria = {{#if: {{{Aria|}}} | {{{Aria}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2046|from={{{Wikidata}}}}} }} }}
| VuciAria = Supirfìci
| GruppuAria = Geography
| Vuci1 = Artizza
| Valuri1 = {{#if: {{{Artizza|}}} | {{{Artizza}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2044|from={{{Wikidata}}}}} }} }}
| Gruppu1 = Geography
| Prupità1 = P2044
| FusuUrariu = {{#if: {{{FusuUrariu|}}} | {{{FusuUrariu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P421|from={{{Wikidata}}}}} }} }}
| VuciFusuUrariu = Fusu urariu
| GruppuFusuUrariu = Geography
| Pruvincia = {{#if: {{{Pruvincia|}}} | {{{Pruvincia}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P131|from={{{Wikidata}}}}} }} }}
| VuciPruvincia = {{#if: {{{VuciPruvincia|}}} | {{{VuciPruvincia}}} | Pruvincia }}
| GruppuPruvincia = Geography
| Vuci2 = Rigioni
| Valuri2 = {{#if: {{{Rigioni|}}} | {{{Rigioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P131|qualifier=P31=Q16110|from={{{Wikidata}}}}} }} }}
| Gruppu2 = Geography
| Prupità2 = P131
| Vuci3 = Statu
| Valuri3 = {{#if: {{{Statu|}}} | {{{Statu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P17|from={{{Wikidata}}}}} }} }}
| Gruppu3 = Geography
| Prupità3 = P17
<!-- Demografia - sezione automatica con fallback Wikidata -->
| Genti = {{#if: {{{Genti|}}} | {{{Genti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1082|from={{{Wikidata}}}}} }} }}
| VuciGenti = Pupulazzioni {{#if: {{{DataCinsimentu|}}} | ({{{DataCinsimentu}}}) }}
| GruppuGenti = Demographics
<!-- Nota: Il calcolo della densità andrebbe fatto nel modulo Lua per gestire meglio i valori mancanti -->
| Vuci4 = Dinsità
| Valuri4 = {{{Dinsità|}}}
| Gruppu4 = Demographics
| Vuci5 = Dintilichiu
| Valuri5 = {{#if: {{{Dintilichiu|}}} | {{{Dintilichiu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1549|from={{{Wikidata}}}}} }} }}
| Gruppu5 = Demographics
| Prupità5 = P1549
<!-- Amministrazione - sezione automatica con fallback Wikidata -->
| Capu = {{#if: {{{Sìnnacu|}}} | {{{Sìnnacu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P6|from={{{Wikidata}}}}} }} }}
| VuciCapu = Sìnnac{{#if: {{{SìnnacuGèniri|}}} | {{#ifeq: {{{SìnnacuGèniri|}}} | f | a | u }} | u }}
| GruppuCapu = Government
| Vuci6 = Partitu
| Valuri6 = {{#if: {{{SìnnacuPartitu|}}} | {{{SìnnacuPartitu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P6|qualifier=P102|from={{{Wikidata}}}}} }} }}
| Gruppu6 = Government
| Prupità6 = P102
| Vuci7 = Elittu
| Valuri7 = {{{DataElizzioni|}}}
| Gruppu7 = Government
| Tipu = {{#if: {{{Tipu|}}} | {{{Tipu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P31|from={{{Wikidata}}}}} }} }}
| VuciTipu = Classificazzioni
| GruppuTipu = Government
<!-- Storia - sezione automatica -->
| Vuci8 = Funnata
| Valuri8 = {{#if: {{{Funnata|}}} | {{{Funnata}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P571|from={{{Wikidata}}}}} }} }}
| Gruppu8 = History
| Prupità8 = P571
| Vuci9 = Patronu
| Valuri9 = {{#if: {{{Patronu|}}} | {{{Patronu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P417|from={{{Wikidata}}}}} }} }}
| Gruppu9 = History
| Prupità9 = P417
| Vuci10 = Festa
| Valuri10 = {{{Festa|}}}
| Gruppu10 = History
<!-- Economia - sezione opzionale -->
{{#if: {{{PIL|}}}{{{PILPirsuna|}}}{{{Disoccupazzioni|}}} |
{{!}} Vuci11 = PIL
{{!}} Valuri11 = {{{PIL|}}}
{{!}} Gruppu11 = Economia
{{!}} Vuci12 = PIL pi càpiti
{{!}} Valuri12 = {{{PILPirsuna|}}}
{{!}} Gruppu12 = Economia
{{!}} Vuci13 = Disoccupazzioni
{{!}} Valuri13 = {{{Disoccupazzioni|}}}
{{!}} Gruppu13 = Economia
}}
<!-- Codici con fallback Wikidata -->
| ISO = {{#if: {{{ISO|}}} | {{{ISO}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P300|from={{{Wikidata}}}}} }} }}
| VuciISO = Còdici ISO
| GruppuISO = Còdici
| Vuci20 = CAP
| Valuri20 = {{#if: {{{CAP|}}} | {{{CAP}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P281|from={{{Wikidata}}}}} }} }}
| Gruppu20 = Còdici
| Prupità20 = P281
| Vuci21 = Prifissu
| Valuri21 = {{#if: {{{Prifissu|}}} | {{{Prifissu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P473|from={{{Wikidata}}}}} }} }}
| Gruppu21 = Còdici
| Prupità21 = P473
| Vuci22 = Còdici ISTAT
| Valuri22 = {{#if: {{{ISTAT|}}} | {{{ISTAT}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P635|from={{{Wikidata}}}}} }} }}
| Gruppu22 = Còdici
| Prupità22 = P635
| Vuci23 = Còdici catastali
| Valuri23 = {{#if: {{{Catastali|}}} | {{{Catastali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P806|from={{{Wikidata}}}}} }} }}
| Gruppu23 = Còdici
| Prupità23 = P806
<!-- Collegamenti -->
| Vuci30 = Situ ufficiali
| Valuri30 = {{#if: {{{SituWeb|}}} | [{{{SituWeb}}} {{{SituWeb}}}] | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P856|from={{{Wikidata}}}}} }} }}
| Gruppu30 = Lijami
| Prupità30 = P856
| Classi30 = plainlist
<!-- Footer -->
| PediPàggina = {{#if: {{{PediPàggina|}}} | {{{PediPàggina}}} | {{#if: {{{DataAggiurnamentu|}}} | Dati aggiurnati ô {{{DataAggiurnamentu}}} }} }}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|}}}
| LijamiWikidata = {{#if: {{{Wikidata|}}} | yes }}
<!-- Immagine inferiore mappa -->
| MmàgginiSutta = {{#if: {{{Mappa|}}} | {{{Mappa}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P242|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiSutta = {{#if: {{{DidascalìaMappa|}}} | {{{DidascalìaMappa}}} | {{#if: {{{Mappa|}}}|Pusizzioni|{{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P242|from={{{Wikidata}}}}} | Pusizzioni }} }} }} }}
<!-- Parametri custom -->
{{{1|}}}
{{{2|}}}
{{{3|}}}
}}
686do59zf2r2f9kelgorh8bfe0crahv
770476
770474
2025-07-04T14:03:26Z
GianAntonucci
46609
770476
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
Sta tèssira è spicìfica pî cità, paìsi e luchi abitati. Integra automaticamenti dati di Wikidata e permetti pirsunalizzazzioni lucali.
== Comu si usa ==
<pre>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità
| Nomu =
| Wikidata =
| Viduta =
| Sìnnacu =
| Genti =
| ...
}}
</pre>
== Paràmitri cumpleti ==
=== Nomi e tìtuli ===
* '''Nomu''' - Nomu dâ cità (si vacanti, piglia di Wikidata o usa u nomu dâ pàggina)
* '''Wikidata''' - ID Wikidata (es: Q2656 pi Palermu)
* '''NomuUfficiali''' - Nomu ufficiali cumpletu (si vacanti, piglia P1448 di Wikidata)
* '''NomuLucali''' - Nomu ntô dialettu lucali (si vacanti, piglia P1705 di Wikidata)
=== Mmàggini ===
* '''Viduta''' - Futugrafia principali dâ cità (si vacanti, piglia P18 di Wikidata)
* '''Didascalìa''' - Testo sutta a viduta principali
* '''Stemma''' - Stemma ufficiali (si vacanti, piglia P94 di Wikidata)
* '''Bannera''' - Bannera municipali (si vacanti, piglia P41 di Wikidata)
* '''Mappa''' - Mappa di pusizzioni (si vacanti, piglia P242 di Wikidata)
* '''DidascalìaMappa''' - Testo sutta a mappa
=== Giugrafìa ===
* '''Pusizzioni''' - Coordinati giugràfichi (si vacanti, piglia P625 di Wikidata)
* '''Aria''' - Supirfìci in km² (si vacanti, piglia P2046 di Wikidata)
* '''Artizza''' - Metri supra u liveddu dû mari (si vacanti, piglia P2044 di Wikidata)
* '''FusuUrariu''' - Fusu urariu (si vacanti, piglia P421 di Wikidata)
* '''Pruvincia''' - Pruvincia di appartinenza (si vacanti, piglia P131 di Wikidata)
* '''VuciPruvincia''' - Etichetta pirsunalizzata pâ pruvincia (default: "Pruvincia")
* '''Rigioni''' - Rigioni (si vacanti, cerca P131 cu qualifier P31=Q16110)
* '''Statu''' - Paìsi (si vacanti, piglia P17 di Wikidata)
=== Amministrazzioni ===
* '''Sìnnacu''' - Nomu dû sìnnacu attuali (si vacanti, piglia P6 di Wikidata)
* '''SìnnacuGèniri''' - "m" pi masculu, "f" pi fìmmina (pi cuntrullari "Sìnnacu" o "Sìnnaca")
* '''SìnnacuPartitu''' - Partitu pulìticu dû sìnnacu (si vacanti, piglia P6 qualifier P102)
* '''DataElizzioni''' - Data di l'ùrtimi elezzioni municipali
* '''Tipu''' - Classificazzioni amministrativa (si vacanti, piglia P31 di Wikidata)
=== Pupulazzioni ===
* '''Genti''' - Nùmmaru d'abitanti (si vacanti, piglia P1082 di Wikidata)
* '''DataCinsimentu''' - Data dû cinsimentu (appari nta parèntisi dopu "Pupulazzioni")
* '''Dinsità''' - Abitanti pi km²
* '''Dintilichiu''' - Nomu dî cittadini (es: "palermitani") (si vacanti, piglia P1549 di Wikidata)
=== Storia ===
* '''Funnata''' - Data di funnazzioni (si vacanti, piglia P571 di Wikidata)
* '''Patronu''' - Santu patronu (si vacanti, piglia P417 di Wikidata)
* '''Festa''' - Data dâ festa patronali
=== Economia (facoltativi) ===
* '''PIL''' - Produttu internu lordu
* '''PILPirsuna''' - PIL pi càpiti
* '''Disoccupazzioni''' - Tassu di disoccupazzioni
=== Còdici ===
* '''ISO''' - Còdici ISO 3166-2 (si vacanti, piglia P300 di Wikidata)
* '''CAP''' - Còdici postali (si vacanti, piglia P281 di Wikidata)
* '''Prifissu''' - Prifissu tilefònicu (si vacanti, piglia P473 di Wikidata)
* '''ISTAT''' - Còdici ISTAT (si vacanti, piglia P635 di Wikidata)
* '''Catastali''' - Còdici catastali (si vacanti, piglia P806 di Wikidata)
=== Àutri ===
* '''SituWeb''' - Situ web ufficiali (si vacanti, piglia P856 di Wikidata)
* '''PediPàggina''' - Noti o fonti â pedi dâ tèssira
* '''DataAggiurnamentu''' - Data di l'ùrtimu aggiurnamentu (appari comu "Dati aggiurnati ô...")
* '''NomuMudeḍḍu''' - Nomu dû mudeḍḍu pi navigazzioni
== Esempiu ==
Stu còdici...
<pre>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità
| Nomu = Palermu
| Wikidata = Q2656
| NomuUfficiali = Comune di Palermo
| NomuLucali = Palermu
| Viduta = Palermo-view-from-north.jpg
| Didascalìa = Vista panoramica di Palermu
| Stemma = Palermo-Stemma.svg
| Bannera = Flag of Palermo.svg
| Sìnnacu = Roberto Lagalla
| SìnnacuGèniri = m
| SìnnacuPartitu = Forza Italia
| DataElizzioni = 12 giugnu 2022
| Genti = 663,401
| DataCinsimentu = 2023
| Dinsità = 4,176 ab./km²
| Dintilichiu = palermitani
| Pusizzioni = 38°07′N 13°22′E
| Aria = 158.88 km²
| Artizza = 14 m s.l.m.
| FusuUrariu = UTC+1
| Pruvincia = Palermo
| Rigioni = Sicilia
| Statu = Italia
| Tipu = Città metropolitana
| Funnata = 734 a.C.
| Patronu = Santa Rosalia
| Festa = 15 di lugliu
| ISO = IT-PA
| CAP = 90100
| Prifissu = 091
| ISTAT = 082053
| Catastali = G273
| SituWeb = https://www.comune.palermo.it
| Mappa = Palermo in Italy.svg
| DidascalìaMappa = Pusizzioni di Palermu in Italia
| DataAggiurnamentu = 2023
| NomuMudeḍḍu = TèssiraCità/Palermu
}}
</pre>
...pròduci sta tèssira:
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità
| no_float = yes
| Nomu = Palermu
| Wikidata = Q2656
| NomuUfficiali = Comune di Palermo
| NomuLucali = Palermu
| Viduta = Palermo-view-from-north.jpg
| Didascalìa = Vista panoramica di Palermu
| Stemma = Palermo-Stemma.svg
| Bannera = Flag of Palermo.svg
| Sìnnacu = Roberto Lagalla
| SìnnacuGèniri = m
| SìnnacuPartitu = Forza Italia
| DataElizzioni = 12 giugnu 2022
| Genti = 663,401
| DataCinsimentu = 2023
| Dinsità = 4,176 ab./km²
| Dintilichiu = palermitani
| Pusizzioni = 38°07′N 13°22′E
| Aria = 158.88 km²
| Artizza = 14 m s.l.m.
| FusuUrariu = UTC+1
| Pruvincia = Palermo
| Rigioni = Sicilia
| Statu = Italia
| Tipu = Città metropolitana
| Funnata = 734 a.C.
| Patronu = Santa Rosalia
| Festa = 15 di lugliu
| ISO = IT-PA
| CAP = 90100
| Prifissu = 091
| ISTAT = 082053
| Catastali = G273
| SituWeb = https://www.comune.palermo.it
| Mappa = Palermo in Italy.svg
| DidascalìaMappa = Pusizzioni di Palermu in Italia
| DataAggiurnamentu = 2023
| NomuMudeḍḍu = TèssiraCità/Palermu
}}
== Noti mpurtanti ==
* Si un paràmitru è vacanti, a tèssira prova a pigghiari u valuri di Wikidata automaticamenti
* I sizzioni (Giugrafìa, Demografia, ecc.) appaìunu sulu si ci sunnu dati
* U paràmitru '''Wikidata''' è mpurtanti pi l'integrazzioni automatica
* Tutti i paràmitri sunnu facoltativi
== Lijami cu Wikidata ==
Sta tèssira supporta sti prupità Wikidata:
* P17 - Paìsi
* P18 - Mmàggini
* P31 - Istanza di
* P41 - Bannera
* P94 - Stemma
* P131 - Ntâ divisioni amministrativa
* P242 - Mappa di lucalizzazzioni
* P281 - Còdici postali
* P300 - Còdici ISO 3166-2
* P417 - Patronu
* P421 - Fusu urariu
* P473 - Prifissu tilefònicu
* P571 - Data di criazzioni
* P625 - Coordinati giugràfichi
* P635 - Còdici ISTAT
* P806 - Còdici catastali dû cumuni italianu
* P856 - Situ web ufficiali
* P1082 - Pupulazzioni
* P1448 - Nomu ufficiali
* P1549 - Dintilichiu
* P1705 - Nomu nativu
* P2044 - Artizza supra u liveddu dû mari
* P2046 - Aria
* P6 - Capu dû guvernu
[[Categoria:Mudeḍḍi di tèssira]]
</noinclude>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
<!-- Nome e titoli -->
| Tìtulu = {{#if: {{{Nomu|}}} | {{{Nomu}}} | {{#if: {{{Wikidata|}}} | {{WikidataLabel|from={{{Wikidata}}}}} | {{PAGENAME}} }} }}
| Suttatìtulu = {{#if: {{{NomuUfficiali|}}} | {{{NomuUfficiali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1448|from={{{Wikidata}}}}} }} }}
| Supra = {{#if: {{{NomuLucali|}}} | {{{NomuLucali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1705|from={{{Wikidata}}}}} }} }}
<!-- Immagini principali -->
| MmàgginiSupra = {{#if: {{{Viduta|}}} | {{{Viduta}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P18|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiSupra = {{{Didascalìa|}}}
<!-- Stemma e bandiera -->
| MmàgginiManuManca = {{#if: {{{Stemma|}}} | {{{Stemma}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P94|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiManuManca = {{#if: {{{Stemma|}}}|Stemma|{{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P94|from={{{Wikidata}}}}} | Stemma }} }} }}
| MmàgginiManuDritta = {{#if: {{{Bannera|}}} | {{{Bannera}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P41|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiManuDritta = {{#if: {{{Bannera|}}}|Bannera|{{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P41|from={{{Wikidata}}}}} | Bannera }} }} }}
<!-- Geografia - sezione automatica con fallback Wikidata completi -->
| Pusizzioni = {{#if: {{{Pusizzioni|}}} | {{{Pusizzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P625|from={{{Wikidata}}}}} }} }}
| VuciPusizzioni = Coordinati
| GruppuPusizzioni = Geography
| Aria = {{#if: {{{Aria|}}} | {{{Aria}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2046|from={{{Wikidata}}}}} }} }}
| VuciAria = Supirfìci
| GruppuAria = Geography
| Vuci1 = Artizza
| Valuri1 = {{#if: {{{Artizza|}}} | {{{Artizza}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2044|from={{{Wikidata}}}}} }} }}
| Gruppu1 = Geography
| Prupità1 = P2044
| FusuUrariu = {{#if: {{{FusuUrariu|}}} | {{{FusuUrariu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P421|from={{{Wikidata}}}}} }} }}
| VuciFusuUrariu = Fusu urariu
| GruppuFusuUrariu = Geography
| Pruvincia = {{#if: {{{Pruvincia|}}} | {{{Pruvincia}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P131|from={{{Wikidata}}}}} }} }}
| VuciPruvincia = {{#if: {{{VuciPruvincia|}}} | {{{VuciPruvincia}}} | Pruvincia }}
| GruppuPruvincia = Geography
| Vuci2 = Rigioni
| Valuri2 = {{#if: {{{Rigioni|}}} | {{{Rigioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P131|qualifier=P31=Q16110|from={{{Wikidata}}}}} }} }}
| Gruppu2 = Geography
| Prupità2 = P131
| Vuci3 = Statu
| Valuri3 = {{#if: {{{Statu|}}} | {{{Statu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P17|from={{{Wikidata}}}}} }} }}
| Gruppu3 = Geography
| Prupità3 = P17
<!-- Demografia - sezione automatica con fallback Wikidata -->
| Genti = {{#if: {{{Genti|}}} | {{{Genti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1082|from={{{Wikidata}}}}} }} }}
| VuciGenti = Pupulazzioni {{#if: {{{DataCinsimentu|}}} | ({{{DataCinsimentu}}}) }}
| GruppuGenti = Demographics
<!-- Nota: Il calcolo della densità andrebbe fatto nel modulo Lua per gestire meglio i valori mancanti -->
| Vuci4 = Dinsità
| Valuri4 = {{{Dinsità|}}}
| Gruppu4 = Demographics
| Vuci5 = Dintilichiu
| Valuri5 = {{#if: {{{Dintilichiu|}}} | {{{Dintilichiu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1549|from={{{Wikidata}}}}} }} }}
| Gruppu5 = Demographics
| Prupità5 = P1549
<!-- Amministrazione - sezione automatica con fallback Wikidata -->
| Capu = {{#if: {{{Sìnnacu|}}} | {{{Sìnnacu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P6|from={{{Wikidata}}}}} }} }}
| VuciCapu = Sìnnac{{#if: {{{SìnnacuGèniri|}}} | {{#ifeq: {{{SìnnacuGèniri|}}} | f | a | u }} | u }}
| GruppuCapu = Government
| Vuci6 = Partitu
| Valuri6 = {{#if: {{{SìnnacuPartitu|}}} | {{{SìnnacuPartitu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P6|qualifier=P102|from={{{Wikidata}}}}} }} }}
| Gruppu6 = Government
| Prupità6 = P102
| Vuci7 = Elittu
| Valuri7 = {{{DataElizzioni|}}}
| Gruppu7 = Government
| Tipu = {{#if: {{{Tipu|}}} | {{{Tipu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P31|from={{{Wikidata}}}}} }} }}
| VuciTipu = Classificazzioni
| GruppuTipu = Government
<!-- Storia - sezione automatica -->
| Vuci8 = Funnata
| Valuri8 = {{#if: {{{Funnata|}}} | {{{Funnata}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P571|from={{{Wikidata}}}}} }} }}
| Gruppu8 = History
| Prupità8 = P571
| Vuci9 = Patronu
| Valuri9 = {{#if: {{{Patronu|}}} | {{{Patronu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P417|from={{{Wikidata}}}}} }} }}
| Gruppu9 = History
| Prupità9 = P417
| Vuci10 = Festa
| Valuri10 = {{{Festa|}}}
| Gruppu10 = History
<!-- Economia - sezione opzionale -->
{{#if: {{{PIL|}}}{{{PILPirsuna|}}}{{{Disoccupazzioni|}}} |
{{!}} Vuci11 = PIL
{{!}} Valuri11 = {{{PIL|}}}
{{!}} Gruppu11 = Economia
{{!}} Vuci12 = PIL pi càpiti
{{!}} Valuri12 = {{{PILPirsuna|}}}
{{!}} Gruppu12 = Economia
{{!}} Vuci13 = Disoccupazzioni
{{!}} Valuri13 = {{{Disoccupazzioni|}}}
{{!}} Gruppu13 = Economia
}}
<!-- Codici con fallback Wikidata -->
| ISO = {{#if: {{{ISO|}}} | {{{ISO}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P300|from={{{Wikidata}}}}} }} }}
| VuciISO = Còdici ISO
| GruppuISO = Còdici
| Vuci20 = CAP
| Valuri20 = {{#if: {{{CAP|}}} | {{{CAP}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P281|from={{{Wikidata}}}}} }} }}
| Gruppu20 = Còdici
| Prupità20 = P281
| Vuci21 = Prifissu
| Valuri21 = {{#if: {{{Prifissu|}}} | {{{Prifissu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P473|from={{{Wikidata}}}}} }} }}
| Gruppu21 = Còdici
| Prupità21 = P473
| Vuci22 = Còdici ISTAT
| Valuri22 = {{#if: {{{ISTAT|}}} | {{{ISTAT}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P635|from={{{Wikidata}}}}} }} }}
| Gruppu22 = Còdici
| Prupità22 = P635
| Vuci23 = Còdici catastali
| Valuri23 = {{#if: {{{Catastali|}}} | {{{Catastali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P806|from={{{Wikidata}}}}} }} }}
| Gruppu23 = Còdici
| Prupità23 = P806
<!-- Collegamenti -->
| Vuci30 = Situ ufficiali
| Valuri30 = {{#if: {{{SituWeb|}}} | [{{{SituWeb}}} {{{SituWeb}}}] | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P856|from={{{Wikidata}}}}} }} }}
| Gruppu30 = Lijami
| Prupità30 = P856
| Classi30 = plainlist
<!-- Footer -->
| PediPàggina = {{#if: {{{PediPàggina|}}} | {{{PediPàggina}}} | {{#if: {{{DataAggiurnamentu|}}} | Dati aggiurnati ô {{{DataAggiurnamentu}}} }} }}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|}}}
| LijamiWikidata = {{#if: {{{Wikidata|}}} | yes }}
<!-- Immagine inferiore mappa -->
| MmàgginiSutta = {{#if: {{{Mappa|}}} | {{{Mappa}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P242|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiSutta = {{#if: {{{DidascalìaMappa|}}} | {{{DidascalìaMappa}}} | {{#if: {{{Mappa|}}}|Pusizzioni|{{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P242|from={{{Wikidata}}}}} | Pusizzioni }} }} }} }}
<!-- Parametri custom -->
{{{1|}}}
{{{2|}}}
{{{3|}}}
}}
7x88frb9km9r6zmnfrbrj8amhmdpc2y
770482
770476
2025-07-04T14:37:58Z
GianAntonucci
46609
770482
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
'''TèssiraCità''' è na tèssira spicìfica pî cità, paìsi e luchi abitati. Integra automaticamenti dati di Wikidata e permetti pirsunalizzazzioni lucali. Fa parti dû sistema di tèssiri modulari basatu supra [[Mòdulu:Bozza/GianAntonucci/Tèssira]].
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata''': Piglia automaticamenti dati chi mancanu di Wikidata
* '''Sizzioni automatichi''': Ragruppa i campi sutta tìtuli adatti (Giugrafìa, Demografia, ecc.)
* '''Supportu listi''': Supporta furmattazzioni ''plainlist'' e ''hlist''
* '''Modalità scura''': Supportu cumpletu pî temi scuri
* '''Risponsiva''': Funziona beni nta dispusitivi mòbbili e desktop
== Comu si usa ==
=== Esempiu sìmplici ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità
| Nomu = Catania
| Wikidata = Q1903
| Viduta = Catania-Etna-Panorama.jpg
| Sìnnacu = Enrico Trantino
| Genti = 311,584
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità
| no_float = yes
| Nomu = Catania
| Wikidata = Q1903
| Viduta = Catania-Etna-Panorama.jpg
| Sìnnacu = Enrico Trantino
| Genti = 311,584
}}
=== Esempiu cumpletu ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità
| Nomu = Palermu
| Wikidata = Q2656
| NomuUfficiali = Comune di Palermo
| NomuLucali = Palermu
| Viduta = Palermo-view-from-north.jpg
| Didascalìa = Vista panoramica di Palermu
| Stemma = Palermo-Stemma.svg
| Bannera = Flag of Palermo.svg
| Sìnnacu = Roberto Lagalla
| SìnnacuGèniri = m
| SìnnacuPartitu = Forza Italia
| DataElizzioni = 12 giugnu 2022
| Genti = 663,401
| DataCinsimentu = 2023
| Dinsità = 4,176 ab./km²
| Dintilichiu = palermitani
| Pusizzioni = 38°07′N 13°22′E
| Aria = 158.88 km²
| Artizza = 14 m s.l.m.
| FusuUrariu = UTC+1
| Pruvincia = Palermo
| Rigioni = Sicilia
| Statu = Italia
| Tipu = Città metropolitana
| Funnata = 734 a.C.
| Patronu = Santa Rosalia
| Festa = 15 di lugliu
| ISO = IT-PA
| CAP = 90100
| Prifissu = 091
| ISTAT = 082053
| Catastali = G273
| SituWeb = https://www.comune.palermo.it
| Mappa = Palermo in Italy.svg
| DidascalìaMappa = Pusizzioni di Palermu in Italia
| DataAggiurnamentu = 2023
| NomuMudeḍḍu = TèssiraCità/Palermu
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità
| no_float = yes
| Nomu = Palermu
| Wikidata = Q2656
| NomuUfficiali = Comune di Palermo
| NomuLucali = Palermu
| Viduta = Palermo-view-from-north.jpg
| Didascalìa = Vista panoramica di Palermu
| Stemma = Palermo-Stemma.svg
| Bannera = Flag of Palermo.svg
| Sìnnacu = Roberto Lagalla
| SìnnacuGèniri = m
| SìnnacuPartitu = Forza Italia
| DataElizzioni = 12 giugnu 2022
| Genti = 663,401
| DataCinsimentu = 2023
| Dinsità = 4,176 ab./km²
| Dintilichiu = palermitani
| Pusizzioni = 38°07′N 13°22′E
| Aria = 158.88 km²
| Artizza = 14 m s.l.m.
| FusuUrariu = UTC+1
| Pruvincia = Palermo
| Rigioni = Sicilia
| Statu = Italia
| Tipu = Città metropolitana
| Funnata = 734 a.C.
| Patronu = Santa Rosalia
| Festa = 15 di lugliu
| ISO = IT-PA
| CAP = 90100
| Prifissu = 091
| ISTAT = 082053
| Catastali = G273
| SituWeb = https://www.comune.palermo.it
| Mappa = Palermo in Italy.svg
| DidascalìaMappa = Pusizzioni di Palermu in Italia
| DataAggiurnamentu = 2023
| NomuMudeḍḍu = TèssiraCità/Palermu
}}
== Paràmitri cumpleti ==
=== Paràmitri basi ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Nomu</code> || Nomu dâ cità || Etichetta || Si vacanti, usa u nomu dâ pàggina
|-
| <code>Wikidata</code> || ID Wikidata || — || Es: Q2656 pi Palermu
|-
| <code>NomuUfficiali</code> || Nomu ufficiali cumpletu || P1448 || Nomu ligali cumpletu
|-
| <code>NomuLucali</code> || Nomu ntô dialettu lucali || P1705 || Nomu in sicilianu lucali
|}
=== Mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Pusizzioni
|-
| <code>Viduta</code> || Futugrafia principali || P18 || Supra
|-
| <code>Didascalìa</code> || Didascalìa dâ viduta || — || Sutta a viduta
|-
| <code>Stemma</code> || Stemma ufficiali || P94 || Manu manca
|-
| <code>Bannera</code> || Bannera municipali || P41 || Manu dritta
|-
| <code>Mappa</code> || Mappa di pusizzioni || P242 || Sutta
|-
| <code>DidascalìaMappa</code> || Didascalìa dâ mappa || — || Sutta a mappa
|}
=== Sizzioni Giugrafìa ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Etichetta default
|-
| <code>Pusizzioni</code> || Coordinati giugràfichi || P625 || "Coordinati"
|-
| <code>Aria</code> || Supirfìci in km² || P2046 || "Supirfìci"
|-
| <code>Artizza</code> || Metri supra u liveddu dû mari || P2044 || "Artizza"
|-
| <code>FusuUrariu</code> || Fusu urariu || P421 || "Fusu urariu"
|-
| <code>Pruvincia</code> || Pruvincia di appartinenza || P131 || "Pruvincia"
|-
| <code>VuciPruvincia</code> || Etichetta pirsunalizzata || — || Suprascrive "Pruvincia"
|-
| <code>Rigioni</code> || Rigioni || P131 (Q16110) || "Rigioni"
|-
| <code>Statu</code> || Paìsi || P17 || "Statu"
|}
=== Sizzioni Demografia ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Genti</code> || Nùmmaru d'abitanti || P1082 ||
|-
| <code>DataCinsimentu</code> || Data dû cinsimentu || — || Appari nta parèntisi
|-
| <code>Dinsità</code> || Abitanti pi km² || — || Càlculu manuali
|-
| <code>Dintilichiu</code> || Nomu dî cittadini || P1549 || Es: "palermitani"
|}
=== Sizzioni Amministrazzioni ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Sìnnacu</code> || Nomu dû sìnnacu attuali || P6 ||
|-
| <code>SìnnacuGèniri</code> || Gèniri dû sìnnacu || — || "m" o "f"
|-
| <code>SìnnacuPartitu</code> || Partitu pulìticu || P6→P102 ||
|-
| <code>DataElizzioni</code> || Data elezzioni || — ||
|-
| <code>Tipu</code> || Classificazzioni || P31 || Es: "Cumuni"
|}
=== Sizzioni Storia ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>Funnata</code> || Data di funnazzioni || P571
|-
| <code>Patronu</code> || Santu patronu || P417
|-
| <code>Festa</code> || Data dâ festa patronali || —
|}
=== Sizzioni Economia (facoltativa) ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Noti
|-
| <code>PIL</code> || Produttu internu lordu || Appari sulu si usatu
|-
| <code>PILPirsuna</code> || PIL pi càpiti || Appari sulu si usatu
|-
| <code>Disoccupazzioni</code> || Tassu di disoccupazzioni || Appari sulu si usatu
|}
=== Còdici d'identificazzioni ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>ISO</code> || Còdici ISO 3166-2 || P300
|-
| <code>CAP</code> || Còdici postali || P281
|-
| <code>Prifissu</code> || Prifissu tilefònicu || P473
|-
| <code>ISTAT</code> || Còdici ISTAT || P635
|-
| <code>Catastali</code> || Còdici catastali || P806
|}
=== Àutri paràmitri ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>SituWeb</code> || Situ web ufficiali || P856
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || —
|-
| <code>DataAggiurnamentu</code> || Data aggiurnamentu || —
|-
| <code>NomuMudeḍḍu</code> || Pi navigazzioni || —
|}
== Integrazzioni Wikidata ==
A tèssira supporta automaticamenti sti prupità Wikidata:
* '''P17''' - Paìsi
* '''P18''' - Mmàggini
* '''P31''' - Istanza di
* '''P41''' - Bannera
* '''P94''' - Stemma
* '''P131''' - Ntâ divisioni amministrativa
* '''P242''' - Mappa di lucalizzazzioni
* '''P281''' - Còdici postali
* '''P300''' - Còdici ISO 3166-2
* '''P417''' - Patronu
* '''P421''' - Fusu urariu
* '''P473''' - Prifissu tilefònicu
* '''P571''' - Data di criazzioni
* '''P625''' - Coordinati giugràfichi
* '''P635''' - Còdici ISTAT
* '''P806''' - Còdici catastali dû cumuni italianu
* '''P856''' - Situ web ufficiali
* '''P1082''' - Pupulazzioni
* '''P1448''' - Nomu ufficiali
* '''P1549''' - Dintilichiu
* '''P1705''' - Nomu nativu
* '''P2044''' - Artizza supra u liveddu dû mari
* '''P2046''' - Aria
* '''P6''' - Capu dû guvernu
== Noti mpurtanti ==
* '''Wikidata''': Si un paràmitru è vacanti, a tèssira prova a pigghiari u valuri di Wikidata
* '''Sizzioni''': I sizzioni (Giugrafìa, Demografia, ecc.) appaìunu sulu si ci sunnu dati
* '''Listi''': Pi listi ntê valuri, usa <code>plainlist</code> o <code>hlist</code> ntô paràmitru <code>Classi</code>
* '''Gèniri''': U paràmitru <code>SìnnacuGèniri</code> cancia "Sìnnacu" in "Sìnnaca" si "f"
== Vidi macari ==
* [[Utenti:GianAntonucci/Bozza/Mòdulu:Tèssira]] - Mòdulu principali
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:Tèssira]] - Tèssira basi
* [[Aiutu:Tèssiri]] - Guida ginirali
{{Tracciamentu mudeḍḍu}}
[[Categoria:Mudeḍḍi di tèssira]]
[[Categoria:Mudeḍḍi chi usanu Wikidata]]
</noinclude>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
<!-- Nome e titoli -->
| Tìtulu = {{#if: {{{Nomu|}}} | {{{Nomu}}} | {{#if: {{{Wikidata|}}} | {{WikidataLabel|from={{{Wikidata}}}}} | {{PAGENAME}} }} }}
| Suttatìtulu = {{#if: {{{NomuUfficiali|}}} | {{{NomuUfficiali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1448|from={{{Wikidata}}}}} }} }}
| Supra = {{#if: {{{NomuLucali|}}} | {{{NomuLucali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1705|from={{{Wikidata}}}}} }} }}
<!-- Immagini principali -->
| MmàgginiSupra = {{#if: {{{Viduta|}}} | {{{Viduta}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P18|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiSupra = {{{Didascalìa|}}}
<!-- Stemma e bandiera -->
| MmàgginiManuManca = {{#if: {{{Stemma|}}} | {{{Stemma}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P94|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiManuManca = {{#if: {{{Stemma|}}}|Stemma|{{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P94|from={{{Wikidata}}}}} | Stemma }} }} }}
| MmàgginiManuDritta = {{#if: {{{Bannera|}}} | {{{Bannera}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P41|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiManuDritta = {{#if: {{{Bannera|}}}|Bannera|{{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P41|from={{{Wikidata}}}}} | Bannera }} }} }}
<!-- Geografia - sezione automatica con fallback Wikidata completi -->
| Pusizzioni = {{#if: {{{Pusizzioni|}}} | {{{Pusizzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P625|from={{{Wikidata}}}}} }} }}
| VuciPusizzioni = Coordinati
| GruppuPusizzioni = Giugrafìa
| Aria = {{#if: {{{Aria|}}} | {{{Aria}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2046|from={{{Wikidata}}}}} }} }}
| VuciAria = Supirfìci
| GruppuAria = Giugrafìa
| Vuci1 = Artizza
| Valuri1 = {{#if: {{{Artizza|}}} | {{{Artizza}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2044|from={{{Wikidata}}}}} }} }}
| Gruppu1 = Giugrafìa
| Prupità1 = P2044
| FusuUrariu = {{#if: {{{FusuUrariu|}}} | {{{FusuUrariu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P421|from={{{Wikidata}}}}} }} }}
| VuciFusuUrariu = Fusu urariu
| GruppuFusuUrariu = Giugrafìa
| Pruvincia = {{#if: {{{Pruvincia|}}} | {{{Pruvincia}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P131|from={{{Wikidata}}}}} }} }}
| VuciPruvincia = {{#if: {{{VuciPruvincia|}}} | {{{VuciPruvincia}}} | Pruvincia }}
| GruppuPruvincia = Giugrafìa
| Vuci2 = Rigioni
| Valuri2 = {{#if: {{{Rigioni|}}} | {{{Rigioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P131|qualifier=P31=Q16110|from={{{Wikidata}}}}} }} }}
| Gruppu2 = Giugrafìa
| Prupità2 = P131
| Vuci3 = Statu
| Valuri3 = {{#if: {{{Statu|}}} | {{{Statu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P17|from={{{Wikidata}}}}} }} }}
| Gruppu3 = Giugrafìa
| Prupità3 = P17
<!-- Demografia - sezione automatica con fallback Wikidata -->
| Genti = {{#if: {{{Genti|}}} | {{{Genti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1082|from={{{Wikidata}}}}} }} }}
| VuciGenti = Pupulazzioni {{#if: {{{DataCinsimentu|}}} | ({{{DataCinsimentu}}}) }}
| GruppuGenti = Demografia
| Vuci4 = Dinsità
| Valuri4 = {{{Dinsità|}}}
| Gruppu4 = Demografia
| Vuci5 = Dintilichiu
| Valuri5 = {{#if: {{{Dintilichiu|}}} | {{{Dintilichiu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1549|from={{{Wikidata}}}}} }} }}
| Gruppu5 = Demografia
| Prupità5 = P1549
<!-- Amministrazione - sezione automatica con fallback Wikidata -->
| Capu = {{#if: {{{Sìnnacu|}}} | {{{Sìnnacu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P6|from={{{Wikidata}}}}} }} }}
| VuciCapu = Sìnnac{{#if: {{{SìnnacuGèniri|}}} | {{#ifeq: {{{SìnnacuGèniri|}}} | f | a | u }} | u }}
| GruppuCapu = Amministrazzioni
| Vuci6 = Partitu
| Valuri6 = {{#if: {{{SìnnacuPartitu|}}} | {{{SìnnacuPartitu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P6|qualifier=P102|from={{{Wikidata}}}}} }} }}
| Gruppu6 = Amministrazzioni
| Prupità6 = P102
| Vuci7 = Elittu
| Valuri7 = {{{DataElizzioni|}}}
| Gruppu7 = Amministrazzioni
| Tipu = {{#if: {{{Tipu|}}} | {{{Tipu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P31|from={{{Wikidata}}}}} }} }}
| VuciTipu = Classificazzioni
| GruppuTipu = Amministrazzioni
<!-- Storia - sezione automatica -->
| Vuci8 = Funnata
| Valuri8 = {{#if: {{{Funnata|}}} | {{{Funnata}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P571|from={{{Wikidata}}}}} }} }}
| Gruppu8 = Storia
| Prupità8 = P571
| Vuci9 = Patronu
| Valuri9 = {{#if: {{{Patronu|}}} | {{{Patronu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P417|from={{{Wikidata}}}}} }} }}
| Gruppu9 = Storia
| Prupità9 = P417
| Vuci10 = Festa
| Valuri10 = {{{Festa|}}}
| Gruppu10 = Storia
<!-- Economia - sezione opzionale -->
{{#if: {{{PIL|}}}{{{PILPirsuna|}}}{{{Disoccupazzioni|}}} |
{{!}} Vuci11 = PIL
{{!}} Valuri11 = {{{PIL|}}}
{{!}} Gruppu11 = Economia
{{!}} Vuci12 = PIL pi càpiti
{{!}} Valuri12 = {{{PILPirsuna|}}}
{{!}} Gruppu12 = Economia
{{!}} Vuci13 = Disoccupazzioni
{{!}} Valuri13 = {{{Disoccupazzioni|}}}
{{!}} Gruppu13 = Economia
}}
<!-- Codici con fallback Wikidata -->
| ISO = {{#if: {{{ISO|}}} | {{{ISO}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P300|from={{{Wikidata}}}}} }} }}
| VuciISO = Còdici ISO
| GruppuISO = Còdici
| Vuci20 = CAP
| Valuri20 = {{#if: {{{CAP|}}} | {{{CAP}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P281|from={{{Wikidata}}}}} }} }}
| Gruppu20 = Còdici
| Prupità20 = P281
| Vuci21 = Prifissu
| Valuri21 = {{#if: {{{Prifissu|}}} | {{{Prifissu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P473|from={{{Wikidata}}}}} }} }}
| Gruppu21 = Còdici
| Prupità21 = P473
| Vuci22 = Còdici ISTAT
| Valuri22 = {{#if: {{{ISTAT|}}} | {{{ISTAT}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P635|from={{{Wikidata}}}}} }} }}
| Gruppu22 = Còdici
| Prupità22 = P635
| Vuci23 = Còdici catastali
| Valuri23 = {{#if: {{{Catastali|}}} | {{{Catastali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P806|from={{{Wikidata}}}}} }} }}
| Gruppu23 = Còdici
| Prupità23 = P806
<!-- Collegamenti -->
| Vuci30 = Situ ufficiali
| Valuri30 = {{#if: {{{SituWeb|}}} | [{{{SituWeb}}} {{{SituWeb}}}] | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P856|from={{{Wikidata}}}}} }} }}
| Gruppu30 = Lijami
| Prupità30 = P856
| Classi30 = plainlist
<!-- Footer -->
| PediPàggina = {{#if: {{{PediPàggina|}}} | {{{PediPàggina}}} | {{#if: {{{DataAggiurnamentu|}}} | Dati aggiurnati ô {{{DataAggiurnamentu}}} }} }}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|}}}
| LijamiWikidata = {{#if: {{{Wikidata|}}} | yes }}
<!-- Immagine inferiore mappa -->
| MmàgginiSutta = {{#if: {{{Mappa|}}} | {{{Mappa}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P242|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiSutta = {{#if: {{{DidascalìaMappa|}}} | {{{DidascalìaMappa}}} | {{#if: {{{Mappa|}}}|Pusizzioni|{{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P242|from={{{Wikidata}}}}} | Pusizzioni }} }} }} }}
<!-- Parametri di sistema -->
| Wikidata = {{{Wikidata|}}}
| child = {{{child|}}}
| no_float = {{{no_float|}}}
| inline_style = {{{inline_style|}}}
| style = {{{style|tessira}}}
| debug = {{{debug|}}}
}}
nk4um0worbpf8hh5yupk7wufclnnj78
Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu
2
66299
770446
770435
2025-07-04T12:20:42Z
GianAntonucci
46609
770446
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
Sta tèssira è spicìfica pî pulìtici. Si basa supra a [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu|TèssiraCristianu]] e agghiunci campi spicìfici pâ carrèra pulìtica.
== Comu si usa ==
<pre>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu
| Nomu =
| Wikidata =
| Mmàggini =
| CaricaPrincipali =
| DataInìziu =
| DataFini =
| Partitu =
| Pricidenti =
| Succissuri =
| CircuscrizzioniElittorali =
| CarichiPricidenti =
| CarichiMinistirijali =
| CarichiParlamentari =
| CarichiLucali =
| ElizzioniCuntistati =
... (tutti i paràmitri di TèssiraCristianu sunnu accittati)
}}
</pre>
== Paràmitri spicìfici ==
=== Carica currenti/principali ===
* '''CaricaPrincipali''' - Carica pulìtica principali o currenti
* '''DataInìziu''' - Data di nìziu dâ carica
* '''DataFini''' - Data di fini dâ carica (lassari vacanti si ancora n carica)
* '''Pricidenti''' - Chi l'havi pricidutu ntâ carica
* '''Succissuri''' - Chi l'havi succidutu ntâ carica
=== Carrèra pulìtica ===
* '''Partitu''' - Partitu pulìticu (currenti e passati)
* '''CircuscrizzioniElittorali''' - Circuscrizziuni elittorali rapprisintati
* '''CarichiPricidenti''' - Àutri carichi comu prisidenti
* '''CarichiMinistirijali''' - Carichi ministirijali
* '''CarichiParlamentari''' - Carichi parlamentari
* '''CarichiLucali''' - Carichi lucali (sìnnacu, cunzigghieri, ecc.)
=== Elizziuni ===
* '''ElizzioniCuntistati''' - Elizziuni a cui havi participatu
* '''VotiRicivuti''' - Nùmmiru di voti ricivuti
== Esempiu ==
<pre>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu
| Nomu = Sergio Mattarella
| Mmàggini = Sergio_Mattarella_2015.jpg
| Didascalìa = Sergio Mattarella ntô 2015
| CaricaPrincipali = 12ᵘ Prisidenti dâ Ripùbblica Taliana
| DataInìziu = 3 di frivaru 2015
| Pricidenti = [[Giorgio Napolitano]]
| Nascita = 23 di lugliu 1941
| LochiNascita = [[Palermu]], Sicilia
| Naziunalità = [[File:Flag of Italy.svg|20px]] Taliana
| Partitu =
* [[Democrazia Cristiana]] (1968–1994)
* [[Partitu Pupulari Talianu]] (1994–2002)
* Indipinnenti (2015–prisenti)
| CarichiMinistirijali =
* Ministru pî Rappurti cû Parlamentu (1987–1989)
* Ministru dâ Pubblica Istruzzioni (1989–1990)
* Ministru dâ Difisa (1999–2001)
| CarichiParlamentari =
* Diputatu (1983–2008)
* Giùdici Costituziunali (2011–2015)
| StudiUniversitari = Laurea n Liggi, [[Università di Palermu]] (1964)
| Sutta = Unu dî pulìtici siciliani cchiù mpurtanti dâ storia ripubblicana
}}
</pre>
Chissu prudùci:
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Sergio Mattarella
| Suttatìtulu = 12ᵘ Prisidenti dâ Ripùbblica Taliana
| MmàgginiSupra = Sergio_Mattarella_2015.jpg
| DidascalìaMmàgginiSupra = Sergio Mattarella ntô 2015
| Vuci1 = Nascita
| Valuri1 = 23 di lugliu 1941<br/>[[Palermu]], Sicilia
| Gruppu1 = Dati pirsunali
| Vuci2 = Naziunalità
| Valuri2 = [[File:Flag of Italy.svg|20px]] Taliana
| Gruppu2 = Dati pirsunali
| Vuci3 = Occupazzioni
| Valuri3 = Pulìticu
| Gruppu3 = Attività
| Vuci4 = Partitu pulìticu
| Valuri4 =
* [[Democrazia Cristiana]] (1968–1994)
* [[Partitu Pupulari Talianu]] (1994–2002)
* Indipinnenti (2015–prisenti)
| Classi4 = plainlist
| Gruppu4 = Attività
| Vuci5 = Studi universitari
| Valuri5 = Laurea n Liggi, [[Università di Palermu]] (1964)
| Gruppu5 = Furmazzjoni
| Vuci6 = Carica
| Valuri6 = 12ᵘ Prisidenti dâ Ripùbblica Taliana
| Gruppu6 = Carrèra pulìtica
| Vuci7 = In carica
| Valuri7 = 3 di frivaru 2015 – prisenti
| Gruppu7 = Carrèra pulìtica
| Vuci8 = Pricidenti
| Valuri8 = [[Giorgio Napolitano]]
| Gruppu8 = Carrèra pulìtica
| Vuci9 = Carichi ministirijali
| Valuri9 =
* Ministru pî Rappurti cû Parlamentu (1987–1989)
* Ministru dâ Pubblica Istruzzioni (1989–1990)
* Ministru dâ Difisa (1999–2001)
| Classi9 = plainlist
| Gruppu9 = Carrèra pulìtica
| Vuci10 = Carichi parlamentari
| Valuri10 =
* Diputatu (1983–2008)
* Giùdici Costituziunali (2011–2015)
| Classi10 = plainlist
| Gruppu10 = Carrèra pulìtica
| Sutta = Unu dî pulìtici siciliani cchiù mpurtanti dâ storia ripubblicana
}}
</noinclude>{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu
| child = {{{child|}}}
{{#if: {{{Wikidata|}}} | {{!}} Wikidata = {{{Wikidata}}} }}
| Nomu = {{{Nomu|}}}
| NomuCumpletu = {{{NomuCumpletu|}}}
| NomuNàscita = {{{NomuNàscita|}}}
| Pseuònimu = {{{Pseuònimu|}}}
| NomuÒrdini = {{{NomuÒrdini|}}}
| Mmàggini = {{{Mmàggini|}}}
| Didascalìa = {{{Didascalìa|}}}
| Firma = {{{Firma|}}}
| Nascita = {{{Nascita|}}}
| LochiNascita = {{{LochiNascita|}}}
| Morti = {{{Morti|}}}
| LochiMorti = {{{LochiMorti|}}}
| CausaMorti = {{{CausaMorti|}}}
| LochiSipurtura = {{{LochiSipurtura|}}}
| Naziunalità = {{{Naziunalità|}}}
| Cittadinanza = {{{Cittadinanza|}}}
| Religioni = {{{Religioni|}}}
| TìtuluNobili = {{{TìtuluNobili|}}}
| Patri = {{{Patri|}}}
| Matri = {{{Matri|}}}
| CònjugiCivili = {{{CònjugiCivili|}}}
| Figghi = {{{Figghi|}}}
| Parenti = {{{Parenti|}}}
| Occupazzioni = {{#if: {{{Occupazzioni|}}} | {{{Occupazzioni}}} | Pulìticu }}
| PiriuduAttività = {{{PiriuduAttività|}}}
| PartituPulìticu = {{{PartituPulìticu|{{{Partitu|}}}}}}
| GraduMilitari = {{{GraduMilitari|}}}
| OpiriNotèvuli = {{{OpiriNotèvuli|}}}
| PremiFamusi = {{{PremiFamusi|}}}
| StudiUniversitari = {{{StudiUniversitari|}}}
| StudiScundari = {{{StudiScundari|}}}
| Maistri = {{{Maistri|}}}
| SituWeb = {{{SituWeb|}}}
| PediPàggina = {{{PediPàggina|}}}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu}}}
| Sutta = {{{Sutta|}}}
| Suttatìtulu = {{{CaricaPrincipali|}}}
| 1 = {{#if: {{{CaricaPrincipali|}}} |
{{!}} Vuci50 = Carica
{{!}} Valuri50 = {{{CaricaPrincipali}}}
{{!}} Gruppu50 = Carrèra pulìtica
}}
| 2 = {{#if: {{{DataInìziu|}}}{{{DataFini|}}} |
{{!}} Vuci51 = {{#if: {{{DataFini|}}} | Piriudu | In carica }}
{{!}} Valuri51 = {{#if: {{{DataInìziu|}}} | {{{DataInìziu}}} }}{{#if: {{{DataFini|}}} | {{#if: {{{DataInìziu|}}} | – }} {{{DataFini}}} | {{#if: {{{DataInìziu|}}} | – prisenti }} }}
{{!}} Gruppu51 = Carrèra pulìtica
}}
| 3 = {{#if: {{{Pricidenti|}}} |
{{!}} Vuci52 = Pricidenti
{{!}} Valuri52 = {{{Pricidenti}}}
{{!}} Gruppu52 = Carrèra pulìtica
}}
| 4 = {{#if: {{{Succissuri|}}} |
{{!}} Vuci53 = Succissuri
{{!}} Valuri53 = {{{Succissuri}}}
{{!}} Gruppu53 = Carrèra pulìtica
}}
| 5 = {{#if: {{{CircuscrizzioniElittorali|}}} |
{{!}} Vuci54 = Circuscrizziuni elittorali
{{!}} Valuri54 = {{{CircuscrizzioniElittorali}}}
{{!}} Gruppu54 = Carrèra pulìtica
{{!}} Classi54 = plainlist
}}
| 6 = {{#if: {{{CarichiPricidenti|}}} |
{{!}} Vuci55 = Àutri carichi di prisidenti
{{!}} Valuri55 = {{{CarichiPricidenti}}}
{{!}} Gruppu55 = Carrèra pulìtica
{{!}} Classi55 = plainlist
}}
| 7 = {{#if: {{{CarichiMinistirijali|}}} |
{{!}} Vuci56 = Carichi ministirijali
{{!}} Valuri56 = {{{CarichiMinistirijali}}}
{{!}} Gruppu56 = Carrèra pulìtica
{{!}} Classi56 = plainlist
}}
| 8 = {{#if: {{{CarichiParlamentari|}}} |
{{!}} Vuci57 = Carichi parlamentari
{{!}} Valuri57 = {{{CarichiParlamentari}}}
{{!}} Gruppu57 = Carrèra pulìtica
{{!}} Classi57 = plainlist
}}
| 9 = {{#if: {{{CarichiLucali|}}} |
{{!}} Vuci58 = Carichi lucali
{{!}} Valuri58 = {{{CarichiLucali}}}
{{!}} Gruppu58 = Carrèra pulìtica
{{!}} Classi58 = plainlist
}}
| 10 = {{#if: {{{ElizzioniCuntistati|}}} |
{{!}} Vuci59 = Elizziuni cuntistati
{{!}} Valuri59 = {{{ElizzioniCuntistati}}}{{#if: {{{VotiRicivuti|}}} | <br/><small>{{{VotiRicivuti}}} voti</small> }}
{{!}} Gruppu59 = Carrèra pulìtica
{{!}} Classi59 = plainlist
}}
}}
8eyzl33pzd3a9k51ivll8mun5jlfoyd
770447
770446
2025-07-04T12:23:14Z
GianAntonucci
46609
770447
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
Sta tèssira è spicìfica pî pulìtici. Si basa supra a [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu|TèssiraCristianu]] e agghiunci campi spicìfici pâ carrèra pulìtica.
== Comu si usa ==
<pre>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu
| Nomu =
| Wikidata =
| Mmàggini =
| CaricaPrincipali =
| DataInìziu =
| DataFini =
| Partitu =
| Pricidenti =
| Succissuri =
| CircuscrizzioniElittorali =
| CarichiPricidenti =
| CarichiMinistirijali =
| CarichiParlamentari =
| CarichiLucali =
| ElizzioniCuntistati =
... (tutti i paràmitri di TèssiraCristianu sunnu accittati)
}}</includeonly>
</pre>
== Paràmitri spicìfici ==
=== Carica currenti/principali ===
* '''CaricaPrincipali''' - Carica pulìtica principali o currenti
* '''DataInìziu''' - Data di nìziu dâ carica
* '''DataFini''' - Data di fini dâ carica (lassari vacanti si ancora n carica)
* '''Pricidenti''' - Chi l'havi pricidutu ntâ carica
* '''Succissuri''' - Chi l'havi succidutu ntâ carica
=== Carrèra pulìtica ===
* '''Partitu''' - Partitu pulìticu (currenti e passati)
* '''CircuscrizzioniElittorali''' - Circuscrizziuni elittorali rapprisintati
* '''CarichiPricidenti''' - Àutri carichi comu prisidenti
* '''CarichiMinistirijali''' - Carichi ministirijali
* '''CarichiParlamentari''' - Carichi parlamentari
* '''CarichiLucali''' - Carichi lucali (sìnnacu, cunzigghieri, ecc.)
=== Elizziuni ===
* '''ElizzioniCuntistati''' - Elizziuni a cui havi participatu
* '''VotiRicivuti''' - Nùmmiru di voti ricivuti
== Esempiu ==
<pre>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu
| Nomu = Sergio Mattarella
| Mmàggini = Sergio_Mattarella_2015.jpg
| Didascalìa = Sergio Mattarella ntô 2015
| CaricaPrincipali = 12ᵘ Prisidenti dâ Ripùbblica Taliana
| DataInìziu = 3 di frivaru 2015
| Pricidenti = [[Giorgio Napolitano]]
| Nascita = 23 di lugliu 1941
| LochiNascita = [[Palermu]], Sicilia
| Naziunalità = [[File:Flag of Italy.svg|20px]] Taliana
| Partitu =
* [[Democrazia Cristiana]] (1968–1994)
* [[Partitu Pupulari Talianu]] (1994–2002)
* Indipinnenti (2015–prisenti)
| CarichiMinistirijali =
* Ministru pî Rappurti cû Parlamentu (1987–1989)
* Ministru dâ Pubblica Istruzzioni (1989–1990)
* Ministru dâ Difisa (1999–2001)
| CarichiParlamentari =
* Diputatu (1983–2008)
* Giùdici Costituziunali (2011–2015)
| StudiUniversitari = Laurea n Liggi, [[Università di Palermu]] (1964)
| Sutta = Unu dî pulìtici siciliani cchiù mpurtanti dâ storia ripubblicana
}}
</pre>
Chissu prudùci:
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Sergio Mattarella
| Suttatìtulu = 12ᵘ Prisidenti dâ Ripùbblica Taliana
| MmàgginiSupra = Sergio_Mattarella_2015.jpg
| DidascalìaMmàgginiSupra = Sergio Mattarella ntô 2015
| Vuci1 = Nascita
| Valuri1 = 23 di lugliu 1941<br/>[[Palermu]], Sicilia
| Gruppu1 = Dati pirsunali
| Vuci2 = Naziunalità
| Valuri2 = [[File:Flag of Italy.svg|20px]] Taliana
| Gruppu2 = Dati pirsunali
| Vuci3 = Occupazzioni
| Valuri3 = Pulìticu
| Gruppu3 = Attività
| Vuci4 = Partitu pulìticu
| Valuri4 =
* [[Democrazia Cristiana]] (1968–1994)
* [[Partitu Pupulari Talianu]] (1994–2002)
* Indipinnenti (2015–prisenti)
| Classi4 = plainlist
| Gruppu4 = Attività
| Vuci5 = Studi universitari
| Valuri5 = Laurea n Liggi, [[Università di Palermu]] (1964)
| Gruppu5 = Furmazzjoni
| Vuci6 = Carica
| Valuri6 = 12ᵘ Prisidenti dâ Ripùbblica Taliana
| Gruppu6 = Carrèra pulìtica
| Vuci7 = In carica
| Valuri7 = 3 di frivaru 2015 – prisenti
| Gruppu7 = Carrèra pulìtica
| Vuci8 = Pricidenti
| Valuri8 = [[Giorgio Napolitano]]
| Gruppu8 = Carrèra pulìtica
| Vuci9 = Carichi ministirijali
| Valuri9 =
* Ministru pî Rappurti cû Parlamentu (1987–1989)
* Ministru dâ Pubblica Istruzzioni (1989–1990)
* Ministru dâ Difisa (1999–2001)
| Classi9 = plainlist
| Gruppu9 = Carrèra pulìtica
| Vuci10 = Carichi parlamentari
| Valuri10 =
* Diputatu (1983–2008)
* Giùdici Costituziunali (2011–2015)
| Classi10 = plainlist
| Gruppu10 = Carrèra pulìtica
| Sutta = Unu dî pulìtici siciliani cchiù mpurtanti dâ storia ripubblicana
}}
</noinclude><includeonly>{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu
| child = {{{child|}}}
{{#if: {{{Wikidata|}}} | {{!}} Wikidata = {{{Wikidata}}} }}
| Nomu = {{{Nomu|}}}
| NomuCumpletu = {{{NomuCumpletu|}}}
| NomuNàscita = {{{NomuNàscita|}}}
| Pseuònimu = {{{Pseuònimu|}}}
| NomuÒrdini = {{{NomuÒrdini|}}}
| Mmàggini = {{{Mmàggini|}}}
| Didascalìa = {{{Didascalìa|}}}
| Firma = {{{Firma|}}}
| Nascita = {{{Nascita|}}}
| LochiNascita = {{{LochiNascita|}}}
| Morti = {{{Morti|}}}
| LochiMorti = {{{LochiMorti|}}}
| CausaMorti = {{{CausaMorti|}}}
| LochiSipurtura = {{{LochiSipurtura|}}}
| Naziunalità = {{{Naziunalità|}}}
| Cittadinanza = {{{Cittadinanza|}}}
| Religioni = {{{Religioni|}}}
| TìtuluNobili = {{{TìtuluNobili|}}}
| Patri = {{{Patri|}}}
| Matri = {{{Matri|}}}
| CònjugiCivili = {{{CònjugiCivili|}}}
| Figghi = {{{Figghi|}}}
| Parenti = {{{Parenti|}}}
| Occupazzioni = {{#if: {{{Occupazzioni|}}} | {{{Occupazzioni}}} | Pulìticu }}
| PiriuduAttività = {{{PiriuduAttività|}}}
| PartituPulìticu = {{{PartituPulìticu|{{{Partitu|}}}}}}
| GraduMilitari = {{{GraduMilitari|}}}
| OpiriNotèvuli = {{{OpiriNotèvuli|}}}
| PremiFamusi = {{{PremiFamusi|}}}
| StudiUniversitari = {{{StudiUniversitari|}}}
| StudiScundari = {{{StudiScundari|}}}
| Maistri = {{{Maistri|}}}
| SituWeb = {{{SituWeb|}}}
| PediPàggina = {{{PediPàggina|}}}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu}}}
| Sutta = {{{Sutta|}}}
| Suttatìtulu = {{{CaricaPrincipali|}}}
| 1 = {{#if: {{{CaricaPrincipali|}}} |
{{!}} Vuci50 = Carica
{{!}} Valuri50 = {{{CaricaPrincipali}}}
{{!}} Gruppu50 = Carrèra pulìtica
}}
| 2 = {{#if: {{{DataInìziu|}}}{{{DataFini|}}} |
{{!}} Vuci51 = {{#if: {{{DataFini|}}} | Piriudu | In carica }}
{{!}} Valuri51 = {{#if: {{{DataInìziu|}}} | {{{DataInìziu}}} }}{{#if: {{{DataFini|}}} | {{#if: {{{DataInìziu|}}} | – }} {{{DataFini}}} | {{#if: {{{DataInìziu|}}} | – prisenti }} }}
{{!}} Gruppu51 = Carrèra pulìtica
}}
| 3 = {{#if: {{{Pricidenti|}}} |
{{!}} Vuci52 = Pricidenti
{{!}} Valuri52 = {{{Pricidenti}}}
{{!}} Gruppu52 = Carrèra pulìtica
}}
| 4 = {{#if: {{{Succissuri|}}} |
{{!}} Vuci53 = Succissuri
{{!}} Valuri53 = {{{Succissuri}}}
{{!}} Gruppu53 = Carrèra pulìtica
}}
| 5 = {{#if: {{{CircuscrizzioniElittorali|}}} |
{{!}} Vuci54 = Circuscrizziuni elittorali
{{!}} Valuri54 = {{{CircuscrizzioniElittorali}}}
{{!}} Gruppu54 = Carrèra pulìtica
{{!}} Classi54 = plainlist
}}
| 6 = {{#if: {{{CarichiPricidenti|}}} |
{{!}} Vuci55 = Àutri carichi di prisidenti
{{!}} Valuri55 = {{{CarichiPricidenti}}}
{{!}} Gruppu55 = Carrèra pulìtica
{{!}} Classi55 = plainlist
}}
| 7 = {{#if: {{{CarichiMinistirijali|}}} |
{{!}} Vuci56 = Carichi ministirijali
{{!}} Valuri56 = {{{CarichiMinistirijali}}}
{{!}} Gruppu56 = Carrèra pulìtica
{{!}} Classi56 = plainlist
}}
| 8 = {{#if: {{{CarichiParlamentari|}}} |
{{!}} Vuci57 = Carichi parlamentari
{{!}} Valuri57 = {{{CarichiParlamentari}}}
{{!}} Gruppu57 = Carrèra pulìtica
{{!}} Classi57 = plainlist
}}
| 9 = {{#if: {{{CarichiLucali|}}} |
{{!}} Vuci58 = Carichi lucali
{{!}} Valuri58 = {{{CarichiLucali}}}
{{!}} Gruppu58 = Carrèra pulìtica
{{!}} Classi58 = plainlist
}}
| 10 = {{#if: {{{ElizzioniCuntistati|}}} |
{{!}} Vuci59 = Elizziuni cuntistati
{{!}} Valuri59 = {{{ElizzioniCuntistati}}}{{#if: {{{VotiRicivuti|}}} | <br/><small>{{{VotiRicivuti}}} voti</small> }}
{{!}} Gruppu59 = Carrèra pulìtica
{{!}} Classi59 = plainlist
}}
}}
46eghjxbwo6qmue5g6lkn9qm5xwl0ou
770480
770447
2025-07-04T14:31:10Z
GianAntonucci
46609
770480
wikitext
text/x-wiki
<noinclude>
{{Tèssira dâ ducumintazzioni}}
== Zoccu è ==
'''TèssiraPulìticu''' è na tèssira spicìfica pî pulìtici. Si basa supra a [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu|TèssiraCristianu]] e agghiunci campi spicìfici pâ carrèra pulìtica. Integra automaticamenti dati di Wikidata e permetti pirsunalizzazzioni lucali. Fa parti dû sistema di tèssiri modulari basatu supra [[Mòdulu:Bozza/GianAntonucci/Tèssira]].
== Carattirìstichi principali ==
* '''Eredita tuttu di TèssiraCristianu''': Tutti i funziunalità dâ tèssira basi
* '''Campi spicìfici pulìtici''': Carichi, partiti, elizziuni, succissiuni
* '''Integrazzioni Wikidata''': Piglia automaticamenti dati chi mancanu di Wikidata
* '''Sizzioni automatichi''': Agghiunci a sizzioni "Carrèra pulìtica"
* '''Supportu listi''': Furmattazzioni automatica pi carichi e partiti
== Comu si usa ==
=== Esempiu sìmplici ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu
| Nomu = Rosario Crocetta
| Wikidata = Q1236864
| Mmàggini = Rosario Crocetta 2012.jpg
| CaricaPrincipali = Prisidenti dâ Riggiuni Siciliana
| DataInìziu = 18 di nuvèmmiru 2012
| DataFini = 18 di nuvèmmiru 2017
| Nascita = 25 di sittèmmiru 1951
| LochiNascita = Gela, Sicilia
| Partitu = Partitu Dimucràticu
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu
| no_float = yes
| Nomu = Rosario Crocetta
| Wikidata = Q1236864
| Mmàggini = Rosario Crocetta 2012.jpg
| CaricaPrincipali = Prisidenti dâ Riggiuni Siciliana
| DataInìziu = 18 di nuvèmmiru 2012
| DataFini = 18 di nuvèmmiru 2017
| Nascita = 25 di sittèmmiru 1951
| LochiNascita = Gela, Sicilia
| Partitu = Partitu Dimucràticu
}}
=== Esempiu cumpletu ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu
| Nomu = Sergio Mattarella
| Wikidata = Q3956188
| NomuCumpletu = Sergio Mattarella
| Mmàggini = Sergio_Mattarella_2015.jpg
| Didascalìa = Sergio Mattarella ntô 2015
| CaricaPrincipali = 12ᵘ Prisidenti dâ Ripùbblica Taliana
| DataInìziu = 3 di frivaru 2015
| Pricidenti = Giorgio Napolitano
| Nascita = 23 di lugliu 1941
| LochiNascita = Palermu, Sicilia
| Naziunalità = taliana
| Religioni = cattòlica
| Patri = Bernardo Mattarella
| Matri = Maria Buccellato
| CònjugiCivili = Marisa Chiazzese (1966–2012)
| Figghi = Laura, Bernardo Maria, Francesco
| Partitu = * Democrazia Cristiana (1964–1994)
* Partitu Pupulari Talianu (1994–2002)
* La Margherita (2002–2007)
* Indipinnenti (2015–prisenti)
| CarichiMinistirijali = * Ministru pî Rappurti cû Parlamentu (1987–1989)
* Ministru dâ Pubblica Istruzzioni (1989–1990)
* Ministru dâ Difisa (1999–2001)
| CarichiParlamentari = * Diputatu (1983–2008)
* Giùdici Costituziunali (2011–2015)
| CarichiLucali = * Cunzigghieri rigiunali dâ Sicilia (1967–1983)
| CircuscrizzioniElittorali = * Palermu (1983–1992)
* Sicilia Uccidintali (1994–2008)
| StudiUniversitari = Laurea n Liggi, Università di Palermu (1964)
| PremiFamusi = * Cavalieri di Gran Cruci OMRI
* Gran Croce al Merito della Repubblica di Germania
| Firma = Sergio Mattarella signature.svg
| SituWeb = https://www.quirinale.it
| PediPàggina = Fonti: Quirinale.it, Archiviu Storico
| Sutta = Unu dî pulìtici siciliani cchiù mpurtanti dâ storia ripubblicana
| NomuMudeḍḍu = TèssiraPulìticu/Mattarella
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu
| no_float = yes
| Nomu = Sergio Mattarella
| Wikidata = Q3956188
| NomuCumpletu = Sergio Mattarella
| Mmàggini = Sergio_Mattarella_2015.jpg
| Didascalìa = Sergio Mattarella ntô 2015
| CaricaPrincipali = 12ᵘ Prisidenti dâ Ripùbblica Taliana
| DataInìziu = 3 di frivaru 2015
| Pricidenti = Giorgio Napolitano
| Nascita = 23 di lugliu 1941
| LochiNascita = Palermu, Sicilia
| Naziunalità = taliana
| Religioni = cattòlica
| Patri = Bernardo Mattarella
| Matri = Maria Buccellato
| CònjugiCivili = Marisa Chiazzese (1966–2012)
| Figghi = Laura, Bernardo Maria, Francesco
| Partitu = * Democrazia Cristiana (1964–1994)
* Partitu Pupulari Talianu (1994–2002)
* La Margherita (2002–2007)
* Indipinnenti (2015–prisenti)
| CarichiMinistirijali = * Ministru pî Rappurti cû Parlamentu (1987–1989)
* Ministru dâ Pubblica Istruzzioni (1989–1990)
* Ministru dâ Difisa (1999–2001)
| CarichiParlamentari = * Diputatu (1983–2008)
* Giùdici Costituziunali (2011–2015)
| CarichiLucali = * Cunzigghieri rigiunali dâ Sicilia (1967–1983)
| CircuscrizzioniElittorali = * Palermu (1983–1992)
* Sicilia Uccidintali (1994–2008)
| StudiUniversitari = Laurea n Liggi, Università di Palermu (1964)
| PremiFamusi = * Cavalieri di Gran Cruci OMRI
* Gran Croce al Merito della Repubblica di Germania
| Firma = Sergio Mattarella signature.svg
| SituWeb = https://www.quirinale.it
| PediPàggina = Fonti: Quirinale.it, Archiviu Storico
| Sutta = Unu dî pulìtici siciliani cchiù mpurtanti dâ storia ripubblicana
| NomuMudeḍḍu = TèssiraPulìticu/Mattarella
}}
== Paràmitri cumpleti ==
=== Paràmitri erditati di TèssiraCristianu ===
Sta tèssira accetta TUTTI i paràmitri dâ [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu|TèssiraCristianu]]:
{| class="wikitable"
! Gruppu !! Paràmitri principali
|-
| '''Nomi''' || <code>Nomu</code>, <code>NomuCumpletu</code>, <code>NomuNàscita</code>, <code>Pseuònimu</code>, <code>NomuÒrdini</code>
|-
| '''Mmàggini''' || <code>Mmàggini</code>, <code>Didascalìa</code>, <code>Firma</code>
|-
| '''Dati biugràfici''' || <code>Nascita</code>, <code>LochiNascita</code>, <code>Morti</code>, <code>LochiMorti</code>, <code>CausaMorti</code>, <code>LochiSipurtura</code>, <code>Naziunalità</code>, <code>Cittadinanza</code>, <code>Religioni</code>, <code>TìtuluNobili</code>
|-
| '''Famigghia''' || <code>Patri</code>, <code>Matri</code>, <code>CònjugiCivili</code>, <code>Figghi</code>, <code>Parenti</code>
|-
| '''Attività''' || <code>Occupazzioni</code>, <code>PiriuduAttività</code>, <code>OpiriNotèvuli</code>, <code>PremiFamusi</code>, <code>PartituPulìticu</code>, <code>GraduMilitari</code>
|-
| '''Furmazzjoni''' || <code>StudiUniversitari</code>, <code>StudiScundari</code>, <code>Maistri</code>
|-
| '''Àutri''' || <code>SituWeb</code>, <code>PediPàggina</code>, <code>NomuMudeḍḍu</code>, <code>Sutta</code>, <code>Wikidata</code>
|}
=== Paràmitri spicìfici pi pulìtici ===
==== Carica currenti/principali ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>CaricaPrincipali</code> || Carica pulìtica principali o currenti || P39 || Appari comu suttatìtulu
|-
| <code>DataInìziu</code> || Data di nìziu dâ carica || P580 ||
|-
| <code>DataFini</code> || Data di fini dâ carica || P582 || Lassari vacanti pi "prisenti"
|-
| <code>Pricidenti</code> || Chi l'havi pricidutu ntâ carica || P1365 ||
|-
| <code>Succissuri</code> || Chi l'havi succidutu ntâ carica || P1366 ||
|}
==== Carrèra pulìtica ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Partitu</code> || Partitu pulìticu (currenti e passati) || P102 || Alias di <code>PartituPulìticu</code>
|-
| <code>CircuscrizzioniElittorali</code> || Circuscrizziuni elittorali rapprisintati || P768 || Supporta listi
|-
| <code>CarichiPricidenti</code> || Àutri carichi comu prisidenti || — || Supporta listi
|-
| <code>CarichiMinistirijali</code> || Carichi ministirijali || — || Supporta listi
|-
| <code>CarichiParlamentari</code> || Carichi parlamentari || — || Supporta listi
|-
| <code>CarichiLucali</code> || Carichi lucali || — || Supporta listi
|}
==== Elizziuni ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Noti
|-
| <code>ElizzioniCuntistati</code> || Elizziuni a cui havi participatu || Supporta listi
|-
| <code>VotiRicivuti</code> || Nùmmiru di voti ricivuti || Appari n picculu sutta l'elizziuni
|}
== Integrazzioni Wikidata ==
A tèssira supporta automaticamenti sti prupità Wikidata (oltri a chiddi di TèssiraCristianu):
* '''P39''' - Carica
* '''P102''' - Membru dû partitu pulìticu
* '''P463''' - Membru di
* '''P580''' - Data di nìziu
* '''P582''' - Data di fini
* '''P768''' - Circuscrizziuni elittorali
* '''P1365''' - Sustituisci
* '''P1366''' - Sustituitu di
== Noti mpurtanti ==
* '''Occupazzioni default''': Si nun spicificata, metti automaticamenti "Pulìticu"
* '''Partitu''': U paràmitru <code>Partitu</code> pò èssiri usatu nveci di <code>PartituPulìticu</code>
* '''Data prisenti''': Si spicìfichi <code>DataInìziu</code> senza <code>DataFini</code>, appari "DataInìziu – prisenti"
* '''Listi automatichi''': Tutti i listi (partiti, carichi, elizziuni) usanu automaticamenti a classi <code>plainlist</code>
* '''Numirazziuni campi''': Usa i numiri 50-59 pî campi spicìfici (Vuci50, Vuci51, ecc.) pi nun cunflìggiri cu TèssiraCristianu
== Vidi macari ==
* [[Utenti:GianAntonucci/Bozza/Mòdulu:Tèssira]] - Mòdulu principali
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]] - Tèssira basi pi pirsunaggi
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMinistru]] - Pi ministri
* [[Aiutu:Tèssiri]] - Guida ginirali
{{Tracciamentu mudeḍḍu}}
[[Categoria:Mudeḍḍi di tèssira]]
[[Categoria:Mudeḍḍi chi usanu Wikidata]]
[[Categoria:Mudeḍḍi di biugrafìa]]
[[Categoria:Mudeḍḍi pi pulìtici]]
</noinclude><includeonly>{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu
| child = {{{child|}}}
{{#if: {{{Wikidata|}}} | {{!}} Wikidata = {{{Wikidata}}} }}
| Nomu = {{{Nomu|}}}
| NomuCumpletu = {{{NomuCumpletu|}}}
| NomuNàscita = {{{NomuNàscita|}}}
| Pseuònimu = {{{Pseuònimu|}}}
| NomuÒrdini = {{{NomuÒrdini|}}}
| Mmàggini = {{{Mmàggini|}}}
| Didascalìa = {{{Didascalìa|}}}
| Firma = {{{Firma|}}}
| Nascita = {{{Nascita|}}}
| LochiNascita = {{{LochiNascita|}}}
| Morti = {{{Morti|}}}
| LochiMorti = {{{LochiMorti|}}}
| CausaMorti = {{{CausaMorti|}}}
| LochiSipurtura = {{{LochiSipurtura|}}}
| Naziunalità = {{{Naziunalità|}}}
| Cittadinanza = {{{Cittadinanza|}}}
| Religioni = {{{Religioni|}}}
| TìtuluNobili = {{{TìtuluNobili|}}}
| Patri = {{{Patri|}}}
| Matri = {{{Matri|}}}
| CònjugiCivili = {{{CònjugiCivili|}}}
| Figghi = {{{Figghi|}}}
| Parenti = {{{Parenti|}}}
| Occupazzioni = {{#if: {{{Occupazzioni|}}} | {{{Occupazzioni}}} | Pulìticu }}
| PiriuduAttività = {{{PiriuduAttività|}}}
| PartituPulìticu = {{{PartituPulìticu|{{{Partitu|}}}}}}
| GraduMilitari = {{{GraduMilitari|}}}
| OpiriNotèvuli = {{{OpiriNotèvuli|}}}
| PremiFamusi = {{{PremiFamusi|}}}
| StudiUniversitari = {{{StudiUniversitari|}}}
| StudiScundari = {{{StudiScundari|}}}
| Maistri = {{{Maistri|}}}
| SituWeb = {{{SituWeb|}}}
| PediPàggina = {{{PediPàggina|}}}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu}}}
| Sutta = {{{Sutta|}}}
| Suttatìtulu = {{{CaricaPrincipali|}}}
| 1 = {{#if: {{{CaricaPrincipali|}}} |
{{!}} Vuci50 = Carica
{{!}} Valuri50 = {{{CaricaPrincipali}}}
{{!}} Gruppu50 = Carrèra pulìtica
}}
| 2 = {{#if: {{{DataInìziu|}}}{{{DataFini|}}} |
{{!}} Vuci51 = {{#if: {{{DataFini|}}} | Piriudu | In carica }}
{{!}} Valuri51 = {{#if: {{{DataInìziu|}}} | {{{DataInìziu}}} }}{{#if: {{{DataFini|}}} | {{#if: {{{DataInìziu|}}} | – }} {{{DataFini}}} | {{#if: {{{DataInìziu|}}} | – prisenti }} }}
{{!}} Gruppu51 = Carrèra pulìtica
}}
| 3 = {{#if: {{{Pricidenti|}}} |
{{!}} Vuci52 = Pricidenti
{{!}} Valuri52 = {{{Pricidenti}}}
{{!}} Gruppu52 = Carrèra pulìtica
}}
| 4 = {{#if: {{{Succissuri|}}} |
{{!}} Vuci53 = Succissuri
{{!}} Valuri53 = {{{Succissuri}}}
{{!}} Gruppu53 = Carrèra pulìtica
}}
| 5 = {{#if: {{{CircuscrizzioniElittorali|}}} |
{{!}} Vuci54 = Circuscrizziuni elittorali
{{!}} Valuri54 = {{{CircuscrizzioniElittorali}}}
{{!}} Gruppu54 = Carrèra pulìtica
{{!}} Classi54 = plainlist
}}
| 6 = {{#if: {{{CarichiPricidenti|}}} |
{{!}} Vuci55 = Àutri carichi di prisidenti
{{!}} Valuri55 = {{{CarichiPricidenti}}}
{{!}} Gruppu55 = Carrèra pulìtica
{{!}} Classi55 = plainlist
}}
| 7 = {{#if: {{{CarichiMinistirijali|}}} |
{{!}} Vuci56 = Carichi ministirijali
{{!}} Valuri56 = {{{CarichiMinistirijali}}}
{{!}} Gruppu56 = Carrèra pulìtica
{{!}} Classi56 = plainlist
}}
| 8 = {{#if: {{{CarichiParlamentari|}}} |
{{!}} Vuci57 = Carichi parlamentari
{{!}} Valuri57 = {{{CarichiParlamentari}}}
{{!}} Gruppu57 = Carrèra pulìtica
{{!}} Classi57 = plainlist
}}
| 9 = {{#if: {{{CarichiLucali|}}} |
{{!}} Vuci58 = Carichi lucali
{{!}} Valuri58 = {{{CarichiLucali}}}
{{!}} Gruppu58 = Carrèra pulìtica
{{!}} Classi58 = plainlist
}}
| 10 = {{#if: {{{ElizzioniCuntistati|}}} |
{{!}} Vuci59 = Elizziuni cuntistati
{{!}} Valuri59 = {{{ElizzioniCuntistati}}}{{#if: {{{VotiRicivuti|}}} | <br/><small>{{{VotiRicivuti}}} voti</small> }}
{{!}} Gruppu59 = Carrèra pulìtica
{{!}} Classi59 = plainlist
}}
}}</includeonly>
f9ibf6w4f6xf6hmxj64zseqe3dybqml
770481
770480
2025-07-04T14:32:22Z
GianAntonucci
46609
770481
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
'''TèssiraPulìticu''' è na tèssira spicìfica pî pulìtici. Si basa supra a [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu|TèssiraCristianu]] e agghiunci campi spicìfici pâ carrèra pulìtica. Integra automaticamenti dati di Wikidata e permetti pirsunalizzazzioni lucali. Fa parti dû sistema di tèssiri modulari basatu supra [[Mòdulu:Bozza/GianAntonucci/Tèssira]].
== Carattirìstichi principali ==
* '''Eredita tuttu di TèssiraCristianu''': Tutti i funziunalità dâ tèssira basi
* '''Campi spicìfici pulìtici''': Carichi, partiti, elizziuni, succissiuni
* '''Integrazzioni Wikidata''': Piglia automaticamenti dati chi mancanu di Wikidata
* '''Sizzioni automatichi''': Agghiunci a sizzioni "Carrèra pulìtica"
* '''Supportu listi''': Furmattazzioni automatica pi carichi e partiti
== Comu si usa ==
=== Esempiu sìmplici ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu
| Nomu = Rosario Crocetta
| Wikidata = Q1236864
| Mmàggini = Rosario Crocetta 2012.jpg
| CaricaPrincipali = Prisidenti dâ Riggiuni Siciliana
| DataInìziu = 18 di nuvèmmiru 2012
| DataFini = 18 di nuvèmmiru 2017
| Nascita = 25 di sittèmmiru 1951
| LochiNascita = Gela, Sicilia
| Partitu = Partitu Dimucràticu
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu
| no_float = yes
| Nomu = Rosario Crocetta
| Wikidata = Q1236864
| Mmàggini = Rosario Crocetta 2012.jpg
| CaricaPrincipali = Prisidenti dâ Riggiuni Siciliana
| DataInìziu = 18 di nuvèmmiru 2012
| DataFini = 18 di nuvèmmiru 2017
| Nascita = 25 di sittèmmiru 1951
| LochiNascita = Gela, Sicilia
| Partitu = Partitu Dimucràticu
}}
=== Esempiu cumpletu ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu
| Nomu = Sergio Mattarella
| Wikidata = Q3956188
| NomuCumpletu = Sergio Mattarella
| Mmàggini = Sergio_Mattarella_2015.jpg
| Didascalìa = Sergio Mattarella ntô 2015
| CaricaPrincipali = 12ᵘ Prisidenti dâ Ripùbblica Taliana
| DataInìziu = 3 di frivaru 2015
| Pricidenti = Giorgio Napolitano
| Nascita = 23 di lugliu 1941
| LochiNascita = Palermu, Sicilia
| Naziunalità = taliana
| Religioni = cattòlica
| Patri = Bernardo Mattarella
| Matri = Maria Buccellato
| CònjugiCivili = Marisa Chiazzese (1966–2012)
| Figghi = Laura, Bernardo Maria, Francesco
| Partitu = * Democrazia Cristiana (1964–1994)
* Partitu Pupulari Talianu (1994–2002)
* La Margherita (2002–2007)
* Indipinnenti (2015–prisenti)
| CarichiMinistirijali = * Ministru pî Rappurti cû Parlamentu (1987–1989)
* Ministru dâ Pubblica Istruzzioni (1989–1990)
* Ministru dâ Difisa (1999–2001)
| CarichiParlamentari = * Diputatu (1983–2008)
* Giùdici Costituziunali (2011–2015)
| CarichiLucali = * Cunzigghieri rigiunali dâ Sicilia (1967–1983)
| CircuscrizzioniElittorali = * Palermu (1983–1992)
* Sicilia Uccidintali (1994–2008)
| StudiUniversitari = Laurea n Liggi, Università di Palermu (1964)
| PremiFamusi = * Cavalieri di Gran Cruci OMRI
* Gran Croce al Merito della Repubblica di Germania
| Firma = Sergio Mattarella signature.svg
| SituWeb = https://www.quirinale.it
| PediPàggina = Fonti: Quirinale.it, Archiviu Storico
| Sutta = Unu dî pulìtici siciliani cchiù mpurtanti dâ storia ripubblicana
| NomuMudeḍḍu = TèssiraPulìticu/Mattarella
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu
| no_float = yes
| Nomu = Sergio Mattarella
| Wikidata = Q3956188
| NomuCumpletu = Sergio Mattarella
| Mmàggini = Sergio_Mattarella_2015.jpg
| Didascalìa = Sergio Mattarella ntô 2015
| CaricaPrincipali = 12ᵘ Prisidenti dâ Ripùbblica Taliana
| DataInìziu = 3 di frivaru 2015
| Pricidenti = Giorgio Napolitano
| Nascita = 23 di lugliu 1941
| LochiNascita = Palermu, Sicilia
| Naziunalità = taliana
| Religioni = cattòlica
| Patri = Bernardo Mattarella
| Matri = Maria Buccellato
| CònjugiCivili = Marisa Chiazzese (1966–2012)
| Figghi = Laura, Bernardo Maria, Francesco
| Partitu = * Democrazia Cristiana (1964–1994)
* Partitu Pupulari Talianu (1994–2002)
* La Margherita (2002–2007)
* Indipinnenti (2015–prisenti)
| CarichiMinistirijali = * Ministru pî Rappurti cû Parlamentu (1987–1989)
* Ministru dâ Pubblica Istruzzioni (1989–1990)
* Ministru dâ Difisa (1999–2001)
| CarichiParlamentari = * Diputatu (1983–2008)
* Giùdici Costituziunali (2011–2015)
| CarichiLucali = * Cunzigghieri rigiunali dâ Sicilia (1967–1983)
| CircuscrizzioniElittorali = * Palermu (1983–1992)
* Sicilia Uccidintali (1994–2008)
| StudiUniversitari = Laurea n Liggi, Università di Palermu (1964)
| PremiFamusi = * Cavalieri di Gran Cruci OMRI
* Gran Croce al Merito della Repubblica di Germania
| Firma = Sergio Mattarella signature.svg
| SituWeb = https://www.quirinale.it
| PediPàggina = Fonti: Quirinale.it, Archiviu Storico
| Sutta = Unu dî pulìtici siciliani cchiù mpurtanti dâ storia ripubblicana
| NomuMudeḍḍu = TèssiraPulìticu/Mattarella
}}
== Paràmitri cumpleti ==
=== Paràmitri erditati di TèssiraCristianu ===
Sta tèssira accetta TUTTI i paràmitri dâ [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu|TèssiraCristianu]]:
{| class="wikitable"
! Gruppu !! Paràmitri principali
|-
| '''Nomi''' || <code>Nomu</code>, <code>NomuCumpletu</code>, <code>NomuNàscita</code>, <code>Pseuònimu</code>, <code>NomuÒrdini</code>
|-
| '''Mmàggini''' || <code>Mmàggini</code>, <code>Didascalìa</code>, <code>Firma</code>
|-
| '''Dati biugràfici''' || <code>Nascita</code>, <code>LochiNascita</code>, <code>Morti</code>, <code>LochiMorti</code>, <code>CausaMorti</code>, <code>LochiSipurtura</code>, <code>Naziunalità</code>, <code>Cittadinanza</code>, <code>Religioni</code>, <code>TìtuluNobili</code>
|-
| '''Famigghia''' || <code>Patri</code>, <code>Matri</code>, <code>CònjugiCivili</code>, <code>Figghi</code>, <code>Parenti</code>
|-
| '''Attività''' || <code>Occupazzioni</code>, <code>PiriuduAttività</code>, <code>OpiriNotèvuli</code>, <code>PremiFamusi</code>, <code>PartituPulìticu</code>, <code>GraduMilitari</code>
|-
| '''Furmazzjoni''' || <code>StudiUniversitari</code>, <code>StudiScundari</code>, <code>Maistri</code>
|-
| '''Àutri''' || <code>SituWeb</code>, <code>PediPàggina</code>, <code>NomuMudeḍḍu</code>, <code>Sutta</code>, <code>Wikidata</code>
|}
=== Paràmitri spicìfici pi pulìtici ===
==== Carica currenti/principali ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>CaricaPrincipali</code> || Carica pulìtica principali o currenti || P39 || Appari comu suttatìtulu
|-
| <code>DataInìziu</code> || Data di nìziu dâ carica || P580 ||
|-
| <code>DataFini</code> || Data di fini dâ carica || P582 || Lassari vacanti pi "prisenti"
|-
| <code>Pricidenti</code> || Chi l'havi pricidutu ntâ carica || P1365 ||
|-
| <code>Succissuri</code> || Chi l'havi succidutu ntâ carica || P1366 ||
|}
==== Carrèra pulìtica ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Partitu</code> || Partitu pulìticu (currenti e passati) || P102 || Alias di <code>PartituPulìticu</code>
|-
| <code>CircuscrizzioniElittorali</code> || Circuscrizziuni elittorali rapprisintati || P768 || Supporta listi
|-
| <code>CarichiPricidenti</code> || Àutri carichi comu prisidenti || — || Supporta listi
|-
| <code>CarichiMinistirijali</code> || Carichi ministirijali || — || Supporta listi
|-
| <code>CarichiParlamentari</code> || Carichi parlamentari || — || Supporta listi
|-
| <code>CarichiLucali</code> || Carichi lucali || — || Supporta listi
|}
==== Elizziuni ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Noti
|-
| <code>ElizzioniCuntistati</code> || Elizziuni a cui havi participatu || Supporta listi
|-
| <code>VotiRicivuti</code> || Nùmmiru di voti ricivuti || Appari n picculu sutta l'elizziuni
|}
== Integrazzioni Wikidata ==
A tèssira supporta automaticamenti sti prupità Wikidata (oltri a chiddi di TèssiraCristianu):
* '''P39''' - Carica
* '''P102''' - Membru dû partitu pulìticu
* '''P463''' - Membru di
* '''P580''' - Data di nìziu
* '''P582''' - Data di fini
* '''P768''' - Circuscrizziuni elittorali
* '''P1365''' - Sustituisci
* '''P1366''' - Sustituitu di
== Noti mpurtanti ==
* '''Occupazzioni default''': Si nun spicificata, metti automaticamenti "Pulìticu"
* '''Partitu''': U paràmitru <code>Partitu</code> pò èssiri usatu nveci di <code>PartituPulìticu</code>
* '''Data prisenti''': Si spicìfichi <code>DataInìziu</code> senza <code>DataFini</code>, appari "DataInìziu – prisenti"
* '''Listi automatichi''': Tutti i listi (partiti, carichi, elizziuni) usanu automaticamenti a classi <code>plainlist</code>
* '''Numirazziuni campi''': Usa i numiri 50-59 pî campi spicìfici (Vuci50, Vuci51, ecc.) pi nun cunflìggiri cu TèssiraCristianu
== Vidi macari ==
* [[Utenti:GianAntonucci/Bozza/Mòdulu:Tèssira]] - Mòdulu principali
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]] - Tèssira basi pi pirsunaggi
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMinistru]] - Pi ministri
* [[Aiutu:Tèssiri]] - Guida ginirali
{{Tracciamentu mudeḍḍu}}
[[Categoria:Mudeḍḍi di tèssira]]
[[Categoria:Mudeḍḍi chi usanu Wikidata]]
[[Categoria:Mudeḍḍi di biugrafìa]]
[[Categoria:Mudeḍḍi pi pulìtici]]
</noinclude><includeonly>{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu
| child = {{{child|}}}
{{#if: {{{Wikidata|}}} | {{!}} Wikidata = {{{Wikidata}}} }}
| Nomu = {{{Nomu|}}}
| NomuCumpletu = {{{NomuCumpletu|}}}
| NomuNàscita = {{{NomuNàscita|}}}
| Pseuònimu = {{{Pseuònimu|}}}
| NomuÒrdini = {{{NomuÒrdini|}}}
| Mmàggini = {{{Mmàggini|}}}
| Didascalìa = {{{Didascalìa|}}}
| Firma = {{{Firma|}}}
| Nascita = {{{Nascita|}}}
| LochiNascita = {{{LochiNascita|}}}
| Morti = {{{Morti|}}}
| LochiMorti = {{{LochiMorti|}}}
| CausaMorti = {{{CausaMorti|}}}
| LochiSipurtura = {{{LochiSipurtura|}}}
| Naziunalità = {{{Naziunalità|}}}
| Cittadinanza = {{{Cittadinanza|}}}
| Religioni = {{{Religioni|}}}
| TìtuluNobili = {{{TìtuluNobili|}}}
| Patri = {{{Patri|}}}
| Matri = {{{Matri|}}}
| CònjugiCivili = {{{CònjugiCivili|}}}
| Figghi = {{{Figghi|}}}
| Parenti = {{{Parenti|}}}
| Occupazzioni = {{#if: {{{Occupazzioni|}}} | {{{Occupazzioni}}} | Pulìticu }}
| PiriuduAttività = {{{PiriuduAttività|}}}
| PartituPulìticu = {{{PartituPulìticu|{{{Partitu|}}}}}}
| GraduMilitari = {{{GraduMilitari|}}}
| OpiriNotèvuli = {{{OpiriNotèvuli|}}}
| PremiFamusi = {{{PremiFamusi|}}}
| StudiUniversitari = {{{StudiUniversitari|}}}
| StudiScundari = {{{StudiScundari|}}}
| Maistri = {{{Maistri|}}}
| SituWeb = {{{SituWeb|}}}
| PediPàggina = {{{PediPàggina|}}}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu}}}
| Sutta = {{{Sutta|}}}
| Suttatìtulu = {{{CaricaPrincipali|}}}
| 1 = {{#if: {{{CaricaPrincipali|}}} |
{{!}} Vuci50 = Carica
{{!}} Valuri50 = {{{CaricaPrincipali}}}
{{!}} Gruppu50 = Carrèra pulìtica
}}
| 2 = {{#if: {{{DataInìziu|}}}{{{DataFini|}}} |
{{!}} Vuci51 = {{#if: {{{DataFini|}}} | Piriudu | In carica }}
{{!}} Valuri51 = {{#if: {{{DataInìziu|}}} | {{{DataInìziu}}} }}{{#if: {{{DataFini|}}} | {{#if: {{{DataInìziu|}}} | – }} {{{DataFini}}} | {{#if: {{{DataInìziu|}}} | – prisenti }} }}
{{!}} Gruppu51 = Carrèra pulìtica
}}
| 3 = {{#if: {{{Pricidenti|}}} |
{{!}} Vuci52 = Pricidenti
{{!}} Valuri52 = {{{Pricidenti}}}
{{!}} Gruppu52 = Carrèra pulìtica
}}
| 4 = {{#if: {{{Succissuri|}}} |
{{!}} Vuci53 = Succissuri
{{!}} Valuri53 = {{{Succissuri}}}
{{!}} Gruppu53 = Carrèra pulìtica
}}
| 5 = {{#if: {{{CircuscrizzioniElittorali|}}} |
{{!}} Vuci54 = Circuscrizziuni elittorali
{{!}} Valuri54 = {{{CircuscrizzioniElittorali}}}
{{!}} Gruppu54 = Carrèra pulìtica
{{!}} Classi54 = plainlist
}}
| 6 = {{#if: {{{CarichiPricidenti|}}} |
{{!}} Vuci55 = Àutri carichi di prisidenti
{{!}} Valuri55 = {{{CarichiPricidenti}}}
{{!}} Gruppu55 = Carrèra pulìtica
{{!}} Classi55 = plainlist
}}
| 7 = {{#if: {{{CarichiMinistirijali|}}} |
{{!}} Vuci56 = Carichi ministirijali
{{!}} Valuri56 = {{{CarichiMinistirijali}}}
{{!}} Gruppu56 = Carrèra pulìtica
{{!}} Classi56 = plainlist
}}
| 8 = {{#if: {{{CarichiParlamentari|}}} |
{{!}} Vuci57 = Carichi parlamentari
{{!}} Valuri57 = {{{CarichiParlamentari}}}
{{!}} Gruppu57 = Carrèra pulìtica
{{!}} Classi57 = plainlist
}}
| 9 = {{#if: {{{CarichiLucali|}}} |
{{!}} Vuci58 = Carichi lucali
{{!}} Valuri58 = {{{CarichiLucali}}}
{{!}} Gruppu58 = Carrèra pulìtica
{{!}} Classi58 = plainlist
}}
| 10 = {{#if: {{{ElizzioniCuntistati|}}} |
{{!}} Vuci59 = Elizziuni cuntistati
{{!}} Valuri59 = {{{ElizzioniCuntistati}}}{{#if: {{{VotiRicivuti|}}} | <br/><small>{{{VotiRicivuti}}} voti</small> }}
{{!}} Gruppu59 = Carrèra pulìtica
{{!}} Classi59 = plainlist
}}
}}</includeonly>
rl3b5k59ld0e82ibhx1zwwoe2rgiibh
Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali
2
66300
770485
766957
2025-07-04T14:44:31Z
GianAntonucci
46609
770485
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
'''TèssiraAlbumMusicali''' è na tèssira spicìfica pî album musicali. Integra automaticamenti dati di Wikidata e permetti pirsunalizzazzioni lucali. Fa parti dû sistema di tèssiri modulari basatu supra [[Mòdulu:Bozza/GianAntonucci/Tèssira]].
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata''': Piglia automaticamenti dati chi mancanu di Wikidata
* '''Sizzioni automatichi''': Ragruppa i campi sutta tìtuli adatti (Nfurmazzioni ginirali, Tracce, Pirsunali, Produzzioni)
* '''Supportu listi''': Supporta furmattazzioni ''plainlist'' e ''hlist''
* '''Modalità scura''': Supportu cumpletu pî temi scuri
* '''Risponsiva''': Funziona beni nta dispusitivi mòbbili e desktop
== Comu si usa ==
=== Esempiu sìmplici ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali
| Tìtulu = Creuza de mä
| Wikidata = Q1139726
| Artista = Fabrizio De André
| DataUscita = 1984
| Gèniri = Musica d'auturi
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali
| no_float = yes
| Tìtulu = Creuza de mä
| Wikidata = Q1139726
| Artista = Fabrizio De André
| DataUscita = 1984
| Gèniri = Musica d'auturi
}}
=== Esempiu cumpletu ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali
| Tìtulu = Creuza de mä
| Wikidata = Q1139726
| Suttatìtulu = Album in dialettu genovesi
| Mmàggini = Creuza de mä.jpg
| Didascalìa = Cupirtina di l'album (1984)
| Artista = Fabrizio De André
| DataUscita = 1984
| Riggistratu = Studi Polygram, Milano
| DataRiggistrazziuni = 1983-1984
| Gèniri = * Musica d'auturi
* World music
* Folk
| Durata = 34:48
| Etichetta = Ricordi
| Produtturi = Mauro Pagani
| ArrangiamentiMusicali = Mauro Pagani
| Formatu = * LP
* CD
* Musicassetta
| AlbumPricidenti = L'indiano (1981)
| AlbumSuccissivu = Le nuvole (1990)
| Singuli = * Creuza de mä / Jamin-a
* Sidún / A pittima
| TracceListu = # Creuza de mä (5:40)
# Jamin-a (4:25)
# Sidún (6:07)
# Sinàn Capudàn Pascià (5:13)
# Â pittima (4:48)
# Â duménega (3:58)
# Â cùmba (4:37)
| Cantanti = Fabrizio De André
| Chitarristi = * Mauro Pagani
* Mark Harris
| Bassisti = Aldo Banfi
| Batteristi = Rosalino Cellamare (Ron)
| ÀutriMusicisti = * Mario Arcari (oboe)
* Franco Mussida (mandolinu)
* Dodi Moscati (violinu)
| TecniciSuonu = Paolo Bocchi
| StudiRiggistrazziuni = Studi Polygram, Milano
| Cirtificazzioni = Discu d'oru (Italia)
| ClassificheMassimi = #8 (Italia)
| Critica = * AllMusic: 4.5/5
* Rolling Stone: ★★★★☆
| SituWeb = https://www.fabriziodeandre.it
| PediPàggina = Cunzidiratu unu dî capulavura di De André
| NomuMudeḍḍu = TèssiraAlbumMusicali/CreuzaDeMa
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali
| no_float = yes
| Tìtulu = Creuza de mä
| Wikidata = Q1139726
| Suttatìtulu = Album in dialettu genovesi
| Mmàggini = Creuza de mä.jpg
| Didascalìa = Cupirtina di l'album (1984)
| Artista = Fabrizio De André
| DataUscita = 1984
| Riggistratu = Studi Polygram, Milano
| DataRiggistrazziuni = 1983-1984
| Gèniri = * Musica d'auturi
* World music
* Folk
| Durata = 34:48
| Etichetta = Ricordi
| Produtturi = Mauro Pagani
| ArrangiamentiMusicali = Mauro Pagani
| Formatu = * LP
* CD
* Musicassetta
| AlbumPricidenti = L'indiano (1981)
| AlbumSuccissivu = Le nuvole (1990)
| Singuli = * Creuza de mä / Jamin-a
* Sidún / A pittima
| TracceListu = # Creuza de mä (5:40)
# Jamin-a (4:25)
# Sidún (6:07)
# Sinàn Capudàn Pascià (5:13)
# Â pittima (4:48)
# Â duménega (3:58)
# Â cùmba (4:37)
| Cantanti = Fabrizio De André
| Chitarristi = * Mauro Pagani
* Mark Harris
| Bassisti = Aldo Banfi
| Batteristi = Rosalino Cellamare (Ron)
| ÀutriMusicisti = * Mario Arcari (oboe)
* Franco Mussida (mandolinu)
* Dodi Moscati (violinu)
| TecniciSuonu = Paolo Bocchi
| StudiRiggistrazziuni = Studi Polygram, Milano
| Cirtificazzioni = Discu d'oru (Italia)
| ClassificheMassimi = #8 (Italia)
| Critica = * AllMusic: 4.5/5
* Rolling Stone: ★★★★☆
| SituWeb = https://www.fabriziodeandre.it
| PediPàggina = Cunzidiratu unu dî capulavura di De André
| NomuMudeḍḍu = TèssiraAlbumMusicali/CreuzaDeMa
}}
== Paràmitri cumpleti ==
=== Paràmitri basi ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Tìtulu</code> || Tìtulu di l'album || Etichetta || Si vacanti, usa u nomu dâ pàggina
|-
| <code>Wikidata</code> || ID Wikidata || — || Es: Q1139726 pi Creuza de mä
|-
| <code>Suttatìtulu</code> || Suttatìtulu di l'album || P1680 ||
|-
| <code>TipoAlbum</code> || Tipu di album || P437 || Studio, Live, Compilation
|}
=== Mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Pusizzioni
|-
| <code>Mmàggini</code> || Cupirtina di l'album || P18 || Supra
|-
| <code>Didascalìa</code> || Didascalìa dâ cupirtina || — || Sutta a mmàggini
|}
=== Sizzioni Nfurmazzioni ginirali ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Artista</code> || Artista o gruppu || P175 || Supporta listi
|-
| <code>DataUscita</code> || Data di pubblicazzioni || P577 ||
|-
| <code>Riggistratu</code> || Locu di riggistrazziuni || P483 ||
|-
| <code>DataRiggistrazziuni</code> || Piriudu di riggistrazziuni || P2047 ||
|-
| <code>Gèniri</code> || Gèniri musicali || P136 || Supporta listi
|-
| <code>Durata</code> || Durata tutali || P2047 || In minuti:secunni
|-
| <code>Lingua</code> || Lingua dî canzuna || P407 ||
|-
| <code>Etichetta</code> || Casa discugrafica || P264 ||
|}
=== Sizzioni Produzzioni ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Produtturi</code> || Produtturi musicali || P162 || Supporta listi
|-
| <code>ArrangiamentiMusicali</code> || Arrangiatori || P5202 || Supporta listi
|-
| <code>TecniciSuonu</code> || Tecnicu dû suonu || P5028 || Supporta listi
|-
| <code>StudiRiggistrazziuni</code> || Studi di riggistrazziuni || P483 ||
|-
| <code>Formatu</code> || Formati disponibbili || P437 || LP, CD, digitali
|}
=== Sizzioni Tracce ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>TracceListu</code> || Lista cumpleta dî tracce || P658 || Usa numerazzioni
|-
| <code>TracceNùmmiru</code> || Nùmmiru tutali di tracce || P4283 ||
|-
| <code>Singuli</code> || Singuli estratti || P358 || Supporta listi
|}
=== Sizzioni Pirsunali ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Cantanti</code> || Cantanti || P175 || Supporta listi
|-
| <code>Chitarristi</code> || Chitarristi || P175 (Q1607826) || Supporta listi
|-
| <code>Bassisti</code> || Bassisti || P175 (Q584301) || Supporta listi
|-
| <code>Batteristi</code> || Batteristi || P175 (Q386854) || Supporta listi
|-
| <code>Tastieristi</code> || Tastieristi || P175 (Q1075651) || Supporta listi
|-
| <code>ÀutriMusicisti</code> || Àutri musicisti || — || Supporta listi
|}
=== Sizzioni Cronuluggìa ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>AlbumPricidenti</code> || Album pricidenti || P155 ||
|-
| <code>AlbumSuccissivu</code> || Album succissivu || P156 ||
|-
| <code>AnniAlbumPricidenti</code> || Annu album pricidenti || — ||
|-
| <code>AnniAlbumSuccissivu</code> || Annu album succissivu || — ||
|}
=== Sizzioni Ricunuscimenti ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>Cirtificazzioni</code> || Cirtificazzioni (oru, platinu) || P1399
|-
| <code>ClassificheMassimi</code> || Pusizzioni migghiuri nî classifichi || —
|-
| <code>Vinduti</code> || Copii vinduti || P2664
|-
| <code>Premi</code> || Premi ricivuti || P166
|}
=== Sizzioni Critica ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>Critica</code> || Ricinsioni di critica || —
|-
| <code>Metacritic</code> || Punteggio Metacritic || P1712
|-
| <code>AllMusic</code> || Valutazzioni AllMusic || P1729
|}
=== Àutri paràmitri ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>SituWeb</code> || Situ web ufficiali || P856
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || —
|-
| <code>NomuMudeḍḍu</code> || Pi navigazzioni || —
|-
| <code>child</code> || "yes" pi tèssira figghia || —
|}
== Integrazzioni Wikidata ==
A tèssira supporta automaticamenti sti prupità Wikidata:
* '''P18''' - Mmàggini
* '''P136''' - Gèniri
* '''P155''' - Pricidenti
* '''P156''' - Succissivi
* '''P162''' - Produtturi
* '''P166''' - Premiu ricivutu
* '''P175''' - Ntirpritatu da
* '''P264''' - Etichetta discugrafica
* '''P358''' - Traccia
* '''P407''' - Lingua di l'òpira
* '''P437''' - Tipu di distribuzzioni
* '''P483''' - Locu di riggistrazziuni
* '''P577''' - Data di pubblicazzioni
* '''P658''' - Listi di tracce
* '''P856''' - Situ web ufficiali
* '''P1399''' - Premiu ricivutu pi l'òpira
* '''P1680''' - Suttatìtulu
* '''P1712''' - Punteggio Metacritic
* '''P1729''' - Valutazzioni AllMusic
* '''P2047''' - Durata
* '''P2664''' - Unitati vinduti
* '''P4283''' - Nùmmiru di tracce
* '''P5028''' - Tecnicu dû suonu di riggistrazziuni
* '''P5202''' - Arrangiatu da
== Noti mpurtanti ==
* '''Wikidata''': Si un paràmitru è vacanti, a tèssira prova a pigghiari u valuri di Wikidata
* '''Sizzioni''': I sizzioni (Nfurmazzioni ginirali, Tracce, Pirsunali, Produzzioni, Cronuluggìa, Ricunuscimenti, Critica) appaìunu sulu si ci sunnu dati
* '''Listi''': Pi listi ntê valuri (artisti, tracce, musicisti), usa <code>plainlist</code> o <code>hlist</code> ntô paràmitru <code>Classi</code>
* '''Tracce''': U paràmitru <code>TracceListu</code> supporta lista numerata cu durata
* '''Cronuluggìa''': I lijami a l'album pricidenti e succissivi appaìunu automaticamenti
* '''Formatu multiplu''': Supporta diversi formati (LP, CD, digitali, streaming)
== Vidi macari ==
* [[Utenti:GianAntonucci/Bozza/Mòdulu:Tèssira]] - Mòdulu principali
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCanzuna]] - Pi canzuna singuli
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraArtistaMusicali]] - Pi musicisti
* [[Aiutu:Tèssiri]] - Guida ginirali
{{Tracciamentu mudeḍḍu}}
[[Categoria:Mudeḍḍi di tèssira]]
[[Categoria:Mudeḍḍi chi usanu Wikidata]]
[[Categoria:Mudeḍḍi pi musica]]
</noinclude><includeonly>{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
<!-- Parametri di sistema -->
| child = {{{child|}}}
| Wikidata = {{{Wikidata|}}}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|}}}
| no_float = {{{no_float|}}}
| inline_style = {{{inline_style|}}}
| style = {{{style|tessira}}}
| debug = {{{debug|}}}
<!-- Nome e titoli -->
| Tìtulu = {{#if: {{{Tìtulu|}}} | {{{Tìtulu}}} | {{#if: {{{Wikidata|}}} | {{WikidataLabel|from={{{Wikidata}}}}} | {{PAGENAME}} }} }}
| Suttatìtulu = {{#if: {{{Suttatìtulu|}}} | {{{Suttatìtulu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1680|from={{{Wikidata}}}}} }} }}
| Supra = {{#if: {{{TipoAlbum|}}} | Album {{{TipoAlbum}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P437|from={{{Wikidata}}}}} }} }}
<!-- Immagine principale -->
| MmàgginiSupra = {{#if: {{{Mmàggini|}}} | {{{Mmàggini}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P18|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiSupra = {{{Didascalìa|}}}
<!-- Informazioni generali -->
| Vuci1 = Artista
| Valuri1 = {{#if: {{{Artista|}}} | {{{Artista}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P175|from={{{Wikidata}}}}} }} }}
| Gruppu1 = Nfurmazzioni ginirali
| Classi1 = {{#if: {{{Artista|}}} | plainlist }}
| Prupità1 = P175
| Vuci2 = Pubblicatu
| Valuri2 = {{#if: {{{DataUscita|}}} | {{{DataUscita}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P577|from={{{Wikidata}}}}} }} }}
| Gruppu2 = Nfurmazzioni ginirali
| Prupità2 = P577
{{#if: {{{Riggistratu|}}}{{{DataRiggistrazziuni|}}}
| {{!}} Vuci3 = Riggistratu
{{!}} Valuri3 = {{#if: {{{DataRiggistrazziuni|}}} | {{{DataRiggistrazziuni}}}<br/> }}{{{Riggistratu|}}}
{{!}} Gruppu3 = Nfurmazzioni ginirali
{{!}} Prupità3 = P483
}}
| Vuci4 = Gèniri
| Valuri4 = {{#if: {{{Gèniri|}}} | {{{Gèniri}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P136|from={{{Wikidata}}}}} }} }}
| Gruppu4 = Nfurmazzioni ginirali
| Classi4 = {{#if: {{{Gèniri|}}} | plainlist }}
| Prupità4 = P136
{{#if: {{{Durata|}}}
| {{!}} Vuci5 = Durata
{{!}} Valuri5 = {{#if: {{{Durata|}}} | {{{Durata}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2047|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu5 = Nfurmazzioni ginirali
{{!}} Prupità5 = P2047
}}
{{#if: {{{Lingua|}}}
| {{!}} Vuci6 = Lingua
{{!}} Valuri6 = {{#if: {{{Lingua|}}} | {{{Lingua}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P407|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu6 = Nfurmazzioni ginirali
{{!}} Prupità6 = P407
}}
| Vuci7 = Etichetta
| Valuri7 = {{#if: {{{Etichetta|}}} | {{{Etichetta}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P264|from={{{Wikidata}}}}} }} }}
| Gruppu7 = Nfurmazzioni ginirali
| Prupità7 = P264
<!-- Produzione -->
{{#if: {{{Produtturi|}}}{{{ArrangiamentiMusicali|}}}{{{TecniciSuonu|}}}{{{StudiRiggistrazziuni|}}}{{{Formatu|}}}
| {{!}} Abbirtenza1 = Produzzioni
}}
{{#if: {{{Produtturi|}}}
| {{!}} Vuci8 = Produtturi
{{!}} Valuri8 = {{#if: {{{Produtturi|}}} | {{{Produtturi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P162|from={{{Wikidata}}}}} }} }}
{{!}} Classi8 = plainlist
{{!}} Prupità8 = P162
}}
{{#if: {{{ArrangiamentiMusicali|}}}
| {{!}} Vuci9 = Arrangiaturi
{{!}} Valuri9 = {{#if: {{{ArrangiamentiMusicali|}}} | {{{ArrangiamentiMusicali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P5202|from={{{Wikidata}}}}} }} }}
{{!}} Classi9 = plainlist
{{!}} Prupità9 = P5202
}}
{{#if: {{{TecniciSuonu|}}}
| {{!}} Vuci10 = Tecnicu dû suonu
{{!}} Valuri10 = {{#if: {{{TecniciSuonu|}}} | {{{TecniciSuonu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P5028|from={{{Wikidata}}}}} }} }}
{{!}} Classi10 = plainlist
{{!}} Prupità10 = P5028
}}
{{#if: {{{StudiRiggistrazziuni|}}}
| {{!}} Vuci11 = Studi
{{!}} Valuri11 = {{#if: {{{StudiRiggistrazziuni|}}} | {{{StudiRiggistrazziuni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P483|from={{{Wikidata}}}}} }} }}
{{!}} Prupità11 = P483
}}
{{#if: {{{Formatu|}}}
| {{!}} Vuci12 = Formatu
{{!}} Valuri12 = {{#if: {{{Formatu|}}} | {{{Formatu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P437|from={{{Wikidata}}}}} }} }}
{{!}} Classi12 = plainlist
{{!}} Prupità12 = P437
}}
<!-- Tracce -->
{{#if: {{{TracceListu|}}}{{{TracceNùmmiru|}}}{{{Singuli|}}}
| {{!}} Abbirtenza2 = Tracce
}}
{{#if: {{{TracceNùmmiru|}}}
| {{!}} Vuci13 = Nùmmiru di tracce
{{!}} Valuri13 = {{#if: {{{TracceNùmmiru|}}} | {{{TracceNùmmiru}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P4283|from={{{Wikidata}}}}} }} }}
{{!}} Prupità13 = P4283
}}
{{#if: {{{TracceListu|}}}
| {{!}} Vuci14 = Lista tracce
{{!}} Valuri14 = {{#if: {{{TracceListu|}}} | {{{TracceListu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P658|from={{{Wikidata}}}}} }} }}
{{!}} Classi14 = plainlist
{{!}} Prupità14 = P658
}}
{{#if: {{{Singuli|}}}
| {{!}} Vuci15 = Singuli
{{!}} Valuri15 = {{#if: {{{Singuli|}}} | {{{Singuli}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P358|from={{{Wikidata}}}}} }} }}
{{!}} Classi15 = plainlist
{{!}} Prupità15 = P358
}}
<!-- Personale -->
{{#if: {{{Cantanti|}}}{{{Chitarristi|}}}{{{Bassisti|}}}{{{Batteristi|}}}{{{Tastieristi|}}}{{{ÀutriMusicisti|}}}
| {{!}} Abbirtenza3 = Pirsunali
}}
{{#if: {{{Cantanti|}}}
| {{!}} Vuci16 = Cantanti
{{!}} Valuri16 = {{{Cantanti|}}}
{{!}} Classi16 = plainlist
}}
{{#if: {{{Chitarristi|}}}
| {{!}} Vuci17 = Chitarra
{{!}} Valuri17 = {{{Chitarristi|}}}
{{!}} Classi17 = plainlist
}}
{{#if: {{{Bassisti|}}}
| {{!}} Vuci18 = Bassu
{{!}} Valuri18 = {{{Bassisti|}}}
{{!}} Classi18 = plainlist
}}
{{#if: {{{Batteristi|}}}
| {{!}} Vuci19 = Battirìa
{{!}} Valuri19 = {{{Batteristi|}}}
{{!}} Classi19 = plainlist
}}
{{#if: {{{Tastieristi|}}}
| {{!}} Vuci20 = Tastieri
{{!}} Valuri20 = {{{Tastieristi|}}}
{{!}} Classi20 = plainlist
}}
{{#if: {{{ÀutriMusicisti|}}}
| {{!}} Vuci21 = Àutri
{{!}} Valuri21 = {{{ÀutriMusicisti|}}}
{{!}} Classi21 = plainlist
}}
<!-- Cronologia -->
{{#if: {{{AlbumPricidenti|}}}{{{AlbumSuccissivu|}}}
| {{!}} Sutta = <table style="width:100%; background:transparent;">
<tr>
<td style="width:33%; text-align:left;">{{#if: {{{AlbumPricidenti|}}} | ← ''{{{AlbumPricidenti}}}''{{#if: {{{AnniAlbumPricidenti|}}} | <br/><small>({{{AnniAlbumPricidenti}}})</small> }} }}</td>
<td style="width:34%; text-align:center; font-weight:bold;">Cronuluggìa</td>
<td style="width:33%; text-align:right;">{{#if: {{{AlbumSuccissivu|}}} | ''{{{AlbumSuccissivu}}}'' →{{#if: {{{AnniAlbumSuccissivu|}}} | <br/><small>({{{AnniAlbumSuccissivu}}})</small> }} }}</td>
</tr>
</table>
}}
<!-- Riconoscimenti -->
{{#if: {{{Cirtificazzioni|}}}{{{ClassificheMassimi|}}}{{{Vinduti|}}}{{{Premi|}}}
| {{!}} Abbirtenza4 = Ricunuscimenti
}}
{{#if: {{{Cirtificazzioni|}}}
| {{!}} Vuci22 = Cirtificazzioni
{{!}} Valuri22 = {{#if: {{{Cirtificazzioni|}}} | {{{Cirtificazzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1399|from={{{Wikidata}}}}} }} }}
{{!}} Classi22 = plainlist
{{!}} Prupità22 = P1399
}}
{{#if: {{{ClassificheMassimi|}}}
| {{!}} Vuci23 = Classifichi
{{!}} Valuri23 = {{{ClassificheMassimi|}}}
{{!}} Classi23 = plainlist
}}
{{#if: {{{Vinduti|}}}
| {{!}} Vuci24 = Copii vinduti
{{!}} Valuri24 = {{#if: {{{Vinduti|}}} | {{{Vinduti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2664|from={{{Wikidata}}}}} }} }}
{{!}} Prupità24 = P2664
}}
{{#if: {{{Premi|}}}
| {{!}} Vuci25 = Premi
{{!}} Valuri25 = {{#if: {{{Premi|}}} | {{{Premi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P166|from={{{Wikidata}}}}} }} }}
{{!}} Classi25 = plainlist
{{!}} Prupità25 = P166
}}
<!-- Critica -->
{{#if: {{{Critica|}}}{{{Metacritic|}}}{{{AllMusic|}}}
| {{!}} Abbirtenza5 = Critica
}}
{{#if: {{{Critica|}}}
| {{!}} Valuri26 = {{{Critica|}}}
{{!}} Classi26 = plainlist
}}
{{#if: {{{Metacritic|}}}
| {{!}} Vuci27 = Metacritic
{{!}} Valuri27 = {{#if: {{{Metacritic|}}} | {{{Metacritic}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1712|from={{{Wikidata}}}}} }} }}
{{!}} Prupità27 = P1712
}}
{{#if: {{{AllMusic|}}}
| {{!}} Vuci28 = AllMusic
{{!}} Valuri28 = {{#if: {{{AllMusic|}}} | {{{AllMusic}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1729|from={{{Wikidata}}}}} }} }}
{{!}} Prupità28 = P1729
}}
<!-- Collegamenti -->
{{#if: {{{SituWeb|}}}
| {{!}} Vuci30 = Situ web
{{!}} Valuri30 = {{#if: {{{SituWeb|}}} | [{{{SituWeb}}} {{{SituWeb}}}] | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P856|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu30 = Lijami
{{!}} Prupità30 = P856
}}
<!-- Footer -->
| PediPàggina = {{{PediPàggina|}}}
| LijamiWikidata = {{#if: {{{Wikidata|}}}|yes}}
}}</includeonly>
h9u0do290dn628bge5n8omkc3pnwf74
Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru
2
66301
770484
766966
2025-07-04T14:40:52Z
GianAntonucci
46609
770484
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
'''TèssiraLibbru''' è na tèssira spicìfica pî libbra. Integra automaticamenti dati di Wikidata e permetti pirsunalizzazzioni lucali. Fa parti dû sistema di tèssiri modulari basatu supra [[Mòdulu:Bozza/GianAntonucci/Tèssira]].
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata''': Piglia automaticamenti dati chi mancanu di Wikidata
* '''Sizzioni automatichi''': Ragruppa i campi sutta tìtuli adatti (Nfurmazzioni ginirali, Pubblicazzioni, Edizzioni, Cuntinuti)
* '''Supportu listi''': Supporta furmattazzioni ''plainlist'' e ''hlist''
* '''Modalità scura''': Supportu cumpletu pî temi scuri
* '''Risponsiva''': Funziona beni nta dispusitivi mòbbili e desktop
== Comu si usa ==
=== Esempiu sìmplici ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru
| Tìtulu = Il Gattopardo
| Wikidata = Q213138
| Auturi = Giuseppe Tomasi di Lampedusa
| DataPubblicazzioni = 1958
| Gèniri = Rumanzu storicu
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru
| no_float = yes
| Tìtulu = Il Gattopardo
| Wikidata = Q213138
| Auturi = Giuseppe Tomasi di Lampedusa
| DataPubblicazzioni = 1958
| Gèniri = Rumanzu storicu
}}
=== Esempiu cumpletu ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru
| Tìtulu = Il Gattopardo
| Wikidata = Q213138
| TìtuluOriginali = Il Gattopardo
| Mmàggini = Il Gattopardo cover.jpg
| Didascalìa = Prima edizzioni Feltrinelli (1958)
| Auturi = Giuseppe Tomasi di Lampedusa
| Lingua = talianu
| Gèniri = Rumanzu storicu
| DataPubblicazzioni = 11 di nuvèmmiru 1958
| Edituri = Feltrinelli
| LochiPubblicazzioni = Milano
| Pàggini = 331
| ISBN = 978-88-07-90091-8
| OCLC = 797304802
| Collana = I narratori
| Pricidenti = —
| Succissivi = —
| Ambientazzioni = Sicilia, 1860-1910
| Prutagunisti = Don Fabrizio Corbera, Prìncipi di Salina
| Antagonisti = —
| ÀutriPirsunaggi = * Tancredi Falconeri
* Angelica Sedara
* Don Calogero Sedara
| Temi = * Decadenza dâ nobiltà
* Risorgimentu
* Trasformazzioni sociali
| Premi = Premiu Strega (1959, pòstumu)
| Adattamenti = * Film di Luchino Visconti (1963)
* Miniserie TV (1968)
| SituWeb = https://www.feltrinellieditore.it
| PediPàggina = Unu dî romanzi cchiù mpurtanti dâ littiratùra taliana dû Novecento
| NomuMudeḍḍu = TèssiraLibbru/Gattopardo
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru
| no_float = yes
| Tìtulu = Il Gattopardo
| Wikidata = Q213138
| TìtuluOriginali = Il Gattopardo
| Mmàggini = Il Gattopardo cover.jpg
| Didascalìa = Prima edizzioni Feltrinelli (1958)
| Auturi = Giuseppe Tomasi di Lampedusa
| Lingua = talianu
| Gèniri = Rumanzu storicu
| DataPubblicazzioni = 11 di nuvèmmiru 1958
| Edituri = Feltrinelli
| LochiPubblicazzioni = Milano
| Pàggini = 331
| ISBN = 978-88-07-90091-8
| OCLC = 797304802
| Collana = I narratori
| Pricidenti = —
| Succissivi = —
| Ambientazzioni = Sicilia, 1860-1910
| Prutagunisti = Don Fabrizio Corbera, Prìncipi di Salina
| Antagonisti = —
| ÀutriPirsunaggi = * Tancredi Falconeri
* Angelica Sedara
* Don Calogero Sedara
| Temi = * Decadenza dâ nobiltà
* Risorgimentu
* Trasformazzioni sociali
| Premi = Premiu Strega (1959, pòstumu)
| Adattamenti = * Film di Luchino Visconti (1963)
* Miniserie TV (1968)
| SituWeb = https://www.feltrinellieditore.it
| PediPàggina = Unu dî romanzi cchiù mpurtanti dâ littiratùra taliana dû Novecento
| NomuMudeḍḍu = TèssiraLibbru/Gattopardo
}}
== Paràmitri cumpleti ==
=== Paràmitri basi ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Tìtulu</code> || Tìtulu dû libbru || Etichetta || Si vacanti, usa u nomu dâ pàggina
|-
| <code>Wikidata</code> || ID Wikidata || — || Es: Q213138 pi Il Gattopardo
|-
| <code>TìtuluOriginali</code> || Tìtulu ntâ lingua originali || P1476 || Si traduttu
|-
| <code>Suttatìtulu</code> || Suttatìtulu || P1680 ||
|}
=== Mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Pusizzioni
|-
| <code>Mmàggini</code> || Cupirtina dû libbru || P18 || Supra
|-
| <code>Didascalìa</code> || Didascalìa dâ cupirtina || — || Sutta a mmàggini
|}
=== Sizzioni Nfurmazzioni ginirali ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Auturi</code> || Auturi dû libbru || P50 || Supporta listi
|-
| <code>Illustraturi</code> || Illustraturi || P110 || Si illustratu
|-
| <code>Tradutturi</code> || Tradutturi || P655 || Pi traduzzioni
|-
| <code>Lingua</code> || Lingua originali || P407 ||
|-
| <code>Gèniri</code> || Gèniri littirariu || P136 || Supporta listi
|-
| <code>Suggettu</code> || Suggettu principali || P921 || Supporta listi
|}
=== Sizzioni Pubblicazzioni ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>DataPubblicazzioni</code> || Data dâ prima pubblicazzioni || P577 ||
|-
| <code>Edituri</code> || Casa editrici || P123 ||
|-
| <code>LochiPubblicazzioni</code> || Locu di pubblicazzioni || P291 ||
|-
| <code>Pàggini</code> || Nùmmiru di pàggini || P1104 ||
|-
| <code>ISBN</code> || Còdici ISBN || P212/P957 ||
|-
| <code>OCLC</code> || Nùmmiru OCLC || P243 ||
|-
| <code>Collana</code> || Collana edituriali || P179 ||
|}
=== Sizzioni Serii ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Serii</code> || Nomu dâ serii || P179 ||
|-
| <code>NùmmiruSerii</code> || Pusizzioni ntâ serii || P1545 ||
|-
| <code>Pricidenti</code> || Libbru pricidenti || P155 ||
|-
| <code>Succissivi</code> || Libbru succissivu || P156 ||
|}
=== Sizzioni Cuntinuti ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Ambientazzioni</code> || Locu e tempu dâ storia || P840 ||
|-
| <code>Prutagunisti</code> || Pirsunaggi principali || P674 || Supporta listi
|-
| <code>Antagonisti</code> || Antagonisti || P7975 ||
|-
| <code>ÀutriPirsunaggi</code> || Àutri pirsunaggi mpurtanti || — || Supporta listi
|-
| <code>Temi</code> || Temi principali || P921 || Supporta listi
|-
| <code>Ncipit</code> || Prima frasi dû libbru || P1922 ||
|}
=== Àutri paràmitri ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>Premi</code> || Premi ricivuti || P166
|-
| <code>Adattamenti</code> || Adattamenti (film, TV, teatru) || P4969
|-
| <code>SituWeb</code> || Situ web ufficiali || P856
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || —
|-
| <code>NomuMudeḍḍu</code> || Pi navigazzioni || —
|-
| <code>child</code> || "yes" pi tèssira figghia || —
|}
== Integrazzioni Wikidata ==
A tèssira supporta automaticamenti sti prupità Wikidata:
* '''P18''' - Mmàggini
* '''P50''' - Auturi
* '''P110''' - Illustraturi
* '''P123''' - Edituri
* '''P136''' - Gèniri
* '''P155''' - Pricidenti
* '''P156''' - Succissivi
* '''P166''' - Premiu ricivutu
* '''P179''' - Parti dâ serii
* '''P212''' - ISBN-13
* '''P243''' - Identificaturi OCLC
* '''P291''' - Locu di pubblicazzioni
* '''P407''' - Lingua di l'òpira
* '''P577''' - Data di pubblicazzioni
* '''P655''' - Tradutturi
* '''P674''' - Pirsunaggi
* '''P840''' - Locu narrativu
* '''P856''' - Situ web ufficiali
* '''P921''' - Suggettu principali
* '''P957''' - ISBN-10
* '''P1104''' - Nùmmiru di pàggini
* '''P1476''' - Tìtulu
* '''P1545''' - Nùmmiru di serii
* '''P1680''' - Suttatìtulu
* '''P1922''' - Prima riga
* '''P4969''' - Òpira dirivata
* '''P7975''' - Antagonisti
== Noti mpurtanti ==
* '''Wikidata''': Si un paràmitru è vacanti, a tèssira prova a pigghiari u valuri di Wikidata
* '''Sizzioni''': I sizzioni (Nfurmazzioni ginirali, Pubblicazzioni, Serii, Cuntinuti) appaìunu sulu si ci sunnu dati
* '''Listi''': Pi listi ntê valuri (auturi, pirsunaggi, temi), usa <code>plainlist</code> o <code>hlist</code> ntô paràmitru <code>Classi</code>
* '''ISBN''': Supporta sia ISBN-10 chi ISBN-13
* '''Serii''': Si u libbru fa parti di na serii, appaìunu automaticamenti i lijami a i libbra pricidenti e succissivi
== Vidi macari ==
* [[Utenti:GianAntonucci/Bozza/Mòdulu:Tèssira]] - Mòdulu principali
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraScrittùra]] - Pi scrittùra
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraFilm]] - Pi film
* [[Aiutu:Tèssiri]] - Guida ginirali
{{Tracciamentu mudeḍḍu}}
[[Categoria:Mudeḍḍi di tèssira]]
[[Categoria:Mudeḍḍi chi usanu Wikidata]]
[[Categoria:Mudeḍḍi pi libbra]]
</noinclude><includeonly>{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
<!-- Parametri di sistema -->
| child = {{{child|}}}
| Wikidata = {{{Wikidata|}}}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|}}}
| no_float = {{{no_float|}}}
| inline_style = {{{inline_style|}}}
| style = {{{style|tessira}}}
| debug = {{{debug|}}}
<!-- Nome e titoli -->
| Tìtulu = {{#if: {{{Tìtulu|}}} | {{{Tìtulu}}} | {{#if: {{{Wikidata|}}} | {{WikidataLabel|from={{{Wikidata}}}}} | {{PAGENAME}} }} }}
| Suttatìtulu = {{#if: {{{Suttatìtulu|}}} | {{{Suttatìtulu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1680|from={{{Wikidata}}}}} }} }}
| Supra = {{#if: {{{TìtuluOriginali|}}} | {{{TìtuluOriginali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1476|from={{{Wikidata}}}}} }} }}
<!-- Immagine principale -->
| MmàgginiSupra = {{#if: {{{Mmàggini|}}} | {{{Mmàggini}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P18|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiSupra = {{{Didascalìa|}}}
<!-- Informazioni generali -->
| Vuci1 = Auturi
| Valuri1 = {{#if: {{{Auturi|}}} | {{{Auturi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P50|from={{{Wikidata}}}}} }} }}
| Gruppu1 = Nfurmazzioni ginirali
| Classi1 = {{#if: {{{Auturi|}}} | plainlist }}
| Prupità1 = P50
{{#if: {{{Illustraturi|}}}
| {{!}} Vuci2 = Illustraturi
{{!}} Valuri2 = {{#if: {{{Illustraturi|}}} | {{{Illustraturi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P110|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu2 = Nfurmazzioni ginirali
{{!}} Classi2 = plainlist
{{!}} Prupità2 = P110
}}
{{#if: {{{Tradutturi|}}}
| {{!}} Vuci3 = Tradutturi
{{!}} Valuri3 = {{#if: {{{Tradutturi|}}} | {{{Tradutturi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P655|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu3 = Nfurmazzioni ginirali
{{!}} Classi3 = plainlist
{{!}} Prupità3 = P655
}}
| Vuci4 = Lingua
| Valuri4 = {{#if: {{{Lingua|}}} | {{{Lingua}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P407|from={{{Wikidata}}}}} }} }}
| Gruppu4 = Nfurmazzioni ginirali
| Prupità4 = P407
| Vuci5 = Gèniri
| Valuri5 = {{#if: {{{Gèniri|}}} | {{{Gèniri}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P136|from={{{Wikidata}}}}} }} }}
| Gruppu5 = Nfurmazzioni ginirali
| Classi5 = {{#if: {{{Gèniri|}}} | plainlist }}
| Prupità5 = P136
{{#if: {{{Suggettu|}}}
| {{!}} Vuci6 = Suggettu
{{!}} Valuri6 = {{#if: {{{Suggettu|}}} | {{{Suggettu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P921|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu6 = Nfurmazzioni ginirali
{{!}} Classi6 = plainlist
{{!}} Prupità6 = P921
}}
<!-- Pubblicazione -->
| Vuci7 = Data di pubblicazzioni
| Valuri7 = {{#if: {{{DataPubblicazzioni|}}} | {{{DataPubblicazzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P577|from={{{Wikidata}}}}} }} }}
| Gruppu7 = Pubblicazzioni
| Prupità7 = P577
| Vuci8 = Edituri
| Valuri8 = {{#if: {{{Edituri|}}} | {{{Edituri}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P123|from={{{Wikidata}}}}} }} }}
| Gruppu8 = Pubblicazzioni
| Prupità8 = P123
{{#if: {{{LochiPubblicazzioni|}}}
| {{!}} Vuci9 = Locu
{{!}} Valuri9 = {{#if: {{{LochiPubblicazzioni|}}} | {{{LochiPubblicazzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P291|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu9 = Pubblicazzioni
{{!}} Prupità9 = P291
}}
{{#if: {{{Pàggini|}}}
| {{!}} Vuci10 = Pàggini
{{!}} Valuri10 = {{#if: {{{Pàggini|}}} | {{{Pàggini}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1104|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu10 = Pubblicazzioni
{{!}} Prupità10 = P1104
}}
{{#if: {{{ISBN|}}}
| {{!}} Vuci11 = ISBN
{{!}} Valuri11 = {{#if: {{{ISBN|}}} | {{{ISBN}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P212|from={{{Wikidata}}}|fallback1=P957}} }} }}
{{!}} Gruppu11 = Pubblicazzioni
{{!}} Prupità11 = P212
}}
{{#if: {{{OCLC|}}}
| {{!}} Vuci12 = OCLC
{{!}} Valuri12 = {{#if: {{{OCLC|}}} | {{{OCLC}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P243|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu12 = Pubblicazzioni
{{!}} Prupità12 = P243
}}
{{#if: {{{Collana|}}}
| {{!}} Vuci13 = Collana
{{!}} Valuri13 = {{#if: {{{Collana|}}} | {{{Collana}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P179|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu13 = Pubblicazzioni
{{!}} Prupità13 = P179
}}
<!-- Serie -->
{{#if: {{{Serii|}}}{{{NùmmiruSerii|}}}{{{Pricidenti|}}}{{{Succissivi|}}}
| {{!}} Abbirtenza1 = Serii
}}
{{#if: {{{Serii|}}}
| {{!}} Vuci14 = Serii
{{!}} Valuri14 = {{#if: {{{Serii|}}} | {{{Serii}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P179|from={{{Wikidata}}}}} }} }}
{{!}} Prupità14 = P179
}}
{{#if: {{{NùmmiruSerii|}}}
| {{!}} Vuci15 = Nùmmiru
{{!}} Valuri15 = {{#if: {{{NùmmiruSerii|}}} | {{{NùmmiruSerii}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1545|from={{{Wikidata}}}}} }} }}
{{!}} Prupità15 = P1545
}}
{{#if: {{{Pricidenti|}}}
| {{!}} Vuci16 = Pricidenti
{{!}} Valuri16 = {{#if: {{{Pricidenti|}}} | {{{Pricidenti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P155|from={{{Wikidata}}}}} }} }}
{{!}} Prupità16 = P155
}}
{{#if: {{{Succissivi|}}}
| {{!}} Vuci17 = Succissivu
{{!}} Valuri17 = {{#if: {{{Succissivi|}}} | {{{Succissivi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P156|from={{{Wikidata}}}}} }} }}
{{!}} Prupità17 = P156
}}
<!-- Contenuto -->
{{#if: {{{Ambientazzioni|}}}{{{Prutagunisti|}}}{{{Antagonisti|}}}{{{ÀutriPirsunaggi|}}}{{{Temi|}}}{{{Ncipit|}}}
| {{!}} Abbirtenza2 = Cuntinuti
}}
{{#if: {{{Ambientazzioni|}}}
| {{!}} Vuci18 = Ambientazzioni
{{!}} Valuri18 = {{#if: {{{Ambientazzioni|}}} | {{{Ambientazzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P840|from={{{Wikidata}}}}} }} }}
{{!}} Prupità18 = P840
}}
{{#if: {{{Prutagunisti|}}}
| {{!}} Vuci19 = Prutagunisti
{{!}} Valuri19 = {{#if: {{{Prutagunisti|}}} | {{{Prutagunisti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P674|from={{{Wikidata}}}}} }} }}
{{!}} Classi19 = plainlist
{{!}} Prupità19 = P674
}}
{{#if: {{{Antagonisti|}}}
| {{!}} Vuci20 = Antagonisti
{{!}} Valuri20 = {{#if: {{{Antagonisti|}}} | {{{Antagonisti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P7975|from={{{Wikidata}}}}} }} }}
{{!}} Prupità20 = P7975
}}
{{#if: {{{ÀutriPirsunaggi|}}}
| {{!}} Vuci21 = Àutri pirsunaggi
{{!}} Valuri21 = {{{ÀutriPirsunaggi|}}}
{{!}} Classi21 = plainlist
}}
{{#if: {{{Temi|}}}
| {{!}} Vuci22 = Temi
{{!}} Valuri22 = {{#if: {{{Temi|}}} | {{{Temi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P921|from={{{Wikidata}}}}} }} }}
{{!}} Classi22 = plainlist
{{!}} Prupità22 = P921
}}
{{#if: {{{Ncipit|}}}
| {{!}} Vuci23 = Ncipit
{{!}} Valuri23 = {{#if: {{{Ncipit|}}} | "{{{Ncipit}}}" | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1922|from={{{Wikidata}}}}} }} }}
{{!}} Prupità23 = P1922
}}
<!-- Altri -->
{{#if: {{{Premi|}}}
| {{!}} Vuci24 = Premi
{{!}} Valuri24 = {{#if: {{{Premi|}}} | {{{Premi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P166|from={{{Wikidata}}}}} }} }}
{{!}} Classi24 = plainlist
{{!}} Prupità24 = P166
}}
{{#if: {{{Adattamenti|}}}
| {{!}} Vuci25 = Adattamenti
{{!}} Valuri25 = {{#if: {{{Adattamenti|}}} | {{{Adattamenti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P4969|from={{{Wikidata}}}}} }} }}
{{!}} Classi25 = plainlist
{{!}} Prupità25 = P4969
}}
<!-- Collegamenti -->
{{#if: {{{SituWeb|}}}
| {{!}} Vuci30 = Situ web
{{!}} Valuri30 = {{#if: {{{SituWeb|}}} | [{{{SituWeb}}} {{{SituWeb}}}] | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P856|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu30 = Lijami
{{!}} Prupità30 = P856
}}
<!-- Footer -->
| PediPàggina = {{{PediPàggina|}}}
| LijamiWikidata = {{#if: {{{Wikidata|}}}|yes}}
}}</includeonly>
dr0f3mhnkug0s8k9pox2aaqp0gk16d2
Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru
2
66302
770486
766967
2025-07-04T14:49:06Z
GianAntonucci
46609
770486
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
'''TèssiraQuatru''' è na tèssira spicìfica pî quatri, pitturi e àutri òpiri d'arti. Integra automaticamenti dati di Wikidata e permetti pirsunalizzazzioni lucali. Fa parti dû sistema di tèssiri modulari basatu supra [[Mòdulu:Bozza/GianAntonucci/Tèssira]].
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata''': Piglia automaticamenti dati chi mancanu di Wikidata
* '''Sizzioni automatichi''': Ragruppa i campi sutta tìtuli adatti (Nfurmazzioni ginirali, Discrizzioni, Lucalizzazzioni, Storia)
* '''Supportu listi''': Supporta furmattazzioni ''plainlist'' e ''hlist''
* '''Modalità scura''': Supportu cumpletu pî temi scuri
* '''Risponsiva''': Funziona beni nta dispusitivi mòbbili e desktop
== Comu si usa ==
=== Esempiu sìmplici ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru
| Tìtulu = La Gioconda
| Wikidata = Q12418
| Artista = Leonardo da Vinci
| DataCriazzioni = 1503-1519
| Museu = Museu dû Louvre
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru
| no_float = yes
| Tìtulu = La Gioconda
| Wikidata = Q12418
| Artista = Leonardo da Vinci
| DataCriazzioni = 1503-1519
| Museu = Museu dû Louvre
}}
=== Esempiu cumpletu ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru
| Tìtulu = La Gioconda
| Wikidata = Q12418
| TìtuluOriginali = La Gioconda
| ÀutriTìtuli = * Monna Lisa
* Ritratto di Lisa Gherardini
| Mmàggini = Mona Lisa, by Leonardo da Vinci, from C2RMF retouched.jpg
| Didascalìa = La Gioconda di Leonardo da Vinci
| Artista = Leonardo da Vinci
| DataCriazzioni = 1503-1519 circa
| Tipu = Pittura
| Tècnica = Ogghiu supra tavula di pioppu
| Diminsiuni = 77 × 53 cm
| Statu = {{bandiera|Francia}} Francia
| Cità = Parigi
| Museu = Museu dû Louvre
| NùmmiruNventariu = INV. 779
| Suggettu = Lisa Gherardini
| Movimentu = Rinascimentu talianu
| Stili = Sfumatu
| Temi = * Ritrattu
* Surrisu enigmaticu
* Paesaggiu
| Cummittenti = Francescu dû Giocondo
| ValuriStimatu = $850 milioni (2019)
| Pruvinenza = * Leonardo da Vinci (1503-1519)
* Francescu I di Francia (1519)
* Collezzioni riali francisi (1519-1797)
* Museu dû Louvre (1797-prisenti)
| Esposizzioni = * Salone Carré, Louvre (permanenti)
* National Gallery, Washington (1963)
* Metropolitan Museum, New York (1963)
| Restauri = * 1809 - pulitura ginirali
* 1913 - dopu u furtu
* 1956 - dopu l'attaccu cu l'àcitu
* 2004 - analisi tecnichi
| Cunnizzioni = Quatru cchiù famusu dû munnu
| InfluenzaSupra = * Raffaello Sanzio
* Innumerèvuli artisti moderni
| OpiriCurrilati = * La Belle Ferronnière
* Ritratto di Ginevra de' Benci
| BibliugrafìaPrincipali = * Vasari, Vite (1568)
* Clark, Leonardo da Vinci (1939)
* Sassoon, Becoming Mona Lisa (2001)
| SituWeb = https://www.louvre.fr/en/oeuvre-notices/mona-lisa
| PediPàggina = L'òpira d'arti cchiù canusciuta e visitata dû munnu
| NomuMudeḍḍu = TèssiraQuatru/Gioconda
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru
| no_float = yes
| Tìtulu = La Gioconda
| Wikidata = Q12418
| TìtuluOriginali = La Gioconda
| ÀutriTìtuli = * Monna Lisa
* Ritratto di Lisa Gherardini
| Mmàggini = Mona Lisa, by Leonardo da Vinci, from C2RMF retouched.jpg
| Didascalìa = La Gioconda di Leonardo da Vinci
| Artista = Leonardo da Vinci
| DataCriazzioni = 1503-1519 circa
| Tipu = Pittura
| Tècnica = Ogghiu supra tavula di pioppu
| Diminsiuni = 77 × 53 cm
| Statu = {{bandiera|Francia}} Francia
| Cità = Parigi
| Museu = Museu dû Louvre
| NùmmiruNventariu = INV. 779
| Suggettu = Lisa Gherardini
| Movimentu = Rinascimentu talianu
| Stili = Sfumatu
| Temi = * Ritrattu
* Surrisu enigmaticu
* Paesaggiu
| Cummittenti = Francescu dû Giocondo
| ValuriStimatu = $850 milioni (2019)
| Pruvinenza = * Leonardo da Vinci (1503-1519)
* Francescu I di Francia (1519)
* Collezzioni riali francisi (1519-1797)
* Museu dû Louvre (1797-prisenti)
| Esposizzioni = * Salone Carré, Louvre (permanenti)
* National Gallery, Washington (1963)
* Metropolitan Museum, New York (1963)
| Restauri = * 1809 - pulitura ginirali
* 1913 - dopu u furtu
* 1956 - dopu l'attaccu cu l'àcitu
* 2004 - analisi tecnichi
| Cunnizzioni = Quatru cchiù famusu dû munnu
| InfluenzaSupra = * Raffaello Sanzio
* Innumerèvuli artisti moderni
| OpiriCurrilati = * La Belle Ferronnière
* Ritratto di Ginevra de' Benci
| BibliugrafìaPrincipali = * Vasari, Vite (1568)
* Clark, Leonardo da Vinci (1939)
* Sassoon, Becoming Mona Lisa (2001)
| SituWeb = https://www.louvre.fr/en/oeuvre-notices/mona-lisa
| PediPàggina = L'òpira d'arti cchiù canusciuta e visitata dû munnu
| NomuMudeḍḍu = TèssiraQuatru/Gioconda
}}
== Paràmitri cumpleti ==
=== Paràmitri basi ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Tìtulu</code> || Tìtulu di l'òpira || Etichetta || Si vacanti, usa u nomu dâ pàggina
|-
| <code>Wikidata</code> || ID Wikidata || — || Es: Q12418 pâ Gioconda
|-
| <code>TìtuluOriginali</code> || Tìtulu ntâ lingua originali || P1476 ||
|-
| <code>ÀutriTìtuli</code> || Àutri tìtuli canusciuti || P1477 || Supporta listi
|}
=== Mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Pusizzioni
|-
| <code>Mmàggini</code> || Mmàggini di l'òpira || P18 || Supra
|-
| <code>Didascalìa</code> || Didascalìa dâ mmàggini || — || Sutta a mmàggini
|}
=== Sizzioni Nfurmazzioni ginirali ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Artista</code> || Auturi di l'òpira || P170 || Supporta listi
|-
| <code>DataCriazzioni</code> || Data o piriudu di criazzioni || P571 ||
|-
| <code>Tipu</code> || Tipu d'òpira || P31 || Pittura, scultura, ecc.
|-
| <code>Tècnica</code> || Tècnica usata || P186/P2079 || Es: ogghiu supra tila
|-
| <code>Matiriali</code> || Matiriali usati || P186 || Supporta listi
|-
| <code>Supportu</code> || Supportu fisicu || P186 || Tila, carta, lignu, ecc.
|}
=== Sizzioni Discrizzioni ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Diminsiuni</code> || Diminsiuni (larghizza × artizza) || P2048/P2049 || In cm
|-
| <code>Larghizza</code> || Larghizza || P2049 || Sulu si diversa
|-
| <code>Artizza</code> || Artizza || P2048 || Sulu si diversa
|-
| <code>Prufunnità</code> || Prufunnità (pi sculturi) || P2610 ||
|-
| <code>Pisu</code> || Pisu || P2067 ||
|-
| <code>Suggettu</code> || Suggettu rapprisintatu || P180 || Supporta listi
|-
| <code>Movimentu</code> || Movimentu artisticu || P135 ||
|-
| <code>Stili</code> || Stili artisticu || P1552 ||
|-
| <code>Temi</code> || Temi principali || P921 || Supporta listi
|}
=== Sizzioni Lucalizzazzioni ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Statu</code> || Paìsi unni si trova || P17 ||
|-
| <code>Cità</code> || Cità || P131 ||
|-
| <code>Museu</code> || Museu o collezzioni || P276 ||
|-
| <code>NùmmiruNventariu</code> || Nùmmiru d'inventariu || P217 ||
|-
| <code>Sala</code> || Sala o gallirìa || — ||
|-
| <code>Pusizzioni</code> || Coordinati || P625 ||
|}
=== Sizzioni Storia ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Cummittenti</code> || Chi l'havi cummissiunatu || P88 ||
|-
| <code>ValuriStimatu</code> || Valuri stimatu o assicuratu || P2284 ||
|-
| <code>Pruvinenza</code> || Storia dâ prupità || P127 || Supporta listi
|-
| <code>DataAcquistizzioni</code> || Quannu fu acquistatu || P580 ||
|-
| <code>ModuAcquistizzioni</code> || Comu fu acquistatu || — || Cumpratu, dunatu, ecc.
|}
=== Sizzioni Esposizzioni e conservazzioni ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Esposizzioni</code> || Esposizzioni principali || P608 || Supporta listi
|-
| <code>Restauri</code> || Restauri mpurtanti || — || Supporta listi
|-
| <code>StatuCunservazzioni</code> || Statu di cunservazzioni || — ||
|-
| <code>Cunnizzioni</code> || Cunnizzioni attuali || — ||
|}
=== Sizzioni Influenza e currilazzioni ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>InfluenzaDi</code> || Òpiri chi l'hannu influenzatu || P737 || Supporta listi
|-
| <code>InfluenzaSupra</code> || Òpiri o artisti influenzati || P738 || Supporta listi
|-
| <code>OpiriCurrilati</code> || Àutri òpiri currilati || — || Supporta listi
|-
| <code>Copii</code> || Copii famusi || P1639 || Supporta listi
|}
=== Àutri paràmitri ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>BibliugrafìaPrincipali</code> || Fonti principali || —
|-
| <code>SituWeb</code> || Situ web ufficiali || P856
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || —
|-
| <code>NomuMudeḍḍu</code> || Pi navigazzioni || —
|-
| <code>child</code> || "yes" pi tèssira figghia || —
|}
== Integrazzioni Wikidata ==
A tèssira supporta automaticamenti sti prupità Wikidata:
* '''P17''' - Paìsi
* '''P18''' - Mmàggini
* '''P31''' - Istanza di
* '''P88''' - Cummissiunatu da
* '''P127''' - Prupitariu
* '''P131''' - Ntâ divisioni amministrativa
* '''P135''' - Movimentu
* '''P170''' - Criaturi
* '''P180''' - Raffigura
* '''P186''' - Matiriali usatu
* '''P217''' - Nùmmiru d'inventariu
* '''P276''' - Locu
* '''P571''' - Data di ncignu/criazzioni
* '''P580''' - Tempu di ncignu
* '''P608''' - Esposizzioni
* '''P625''' - Coordinati giugràfichi
* '''P737''' - Nfluenzatu da
* '''P738''' - Havi nfluenzatu
* '''P856''' - Situ web ufficiali
* '''P921''' - Suggettu principali
* '''P1476''' - Tìtulu
* '''P1477''' - Nomu dû nascimentu
* '''P1552''' - Havi qualità
* '''P1639''' - Òpira dirivata
* '''P2048''' - Artizza
* '''P2049''' - Larghizza
* '''P2067''' - Massa
* '''P2079''' - Mètudu di fattura
* '''P2284''' - Prezzu
* '''P2610''' - Spissizza
== Noti mpurtanti ==
* '''Wikidata''': Si un paràmitru è vacanti, a tèssira prova a pigghiari u valuri di Wikidata
* '''Sizzioni''': I sizzioni (Nfurmazzioni ginirali, Discrizzioni, Lucalizzazzioni, Storia, Esposizzioni e conservazzioni, Influenza e currilazzioni) appaìunu sulu si ci sunnu dati
* '''Listi''': Pi listi ntê valuri (artisti, matiriali, suggettu), usa <code>plainlist</code> o <code>hlist</code> ntô paràmitru <code>Classi</code>
* '''Diminsiuni''': Si ponnu spicificari sia comu stringa unica (77 × 53 cm) o comu valuri siparati
* '''Lucalizzazzioni''': Supporta sia museu chi collezzioni privati
== Vidi macari ==
* [[Utenti:GianAntonucci/Bozza/Mòdulu:Tèssira]] - Mòdulu principali
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraArtista]] - Pi artisti
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMuseu]] - Pi museu
* [[Aiutu:Tèssiri]] - Guida ginirali
{{Tracciamentu mudeḍḍu}}
[[Categoria:Mudeḍḍi di tèssira]]
[[Categoria:Mudeḍḍi chi usanu Wikidata]]
[[Categoria:Mudeḍḍi pi arti]]
</noinclude><includeonly>{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
<!-- Parametri di sistema -->
| child = {{{child|}}}
| Wikidata = {{{Wikidata|}}}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|}}}
| no_float = {{{no_float|}}}
| inline_style = {{{inline_style|}}}
| style = {{{style|tessira}}}
| debug = {{{debug|}}}
<!-- Nome e titoli -->
| Tìtulu = {{#if: {{{Tìtulu|}}} | {{{Tìtulu}}} | {{#if: {{{Wikidata|}}} | {{WikidataLabel|from={{{Wikidata}}}}} | {{PAGENAME}} }} }}
| Suttatìtulu = {{#if: {{{TìtuluOriginali|}}} | {{{TìtuluOriginali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1476|from={{{Wikidata}}}}} }} }}
| Supra = {{#if: {{{ÀutriTìtuli|}}} | Àutri tìtuli: {{{ÀutriTìtuli}}} }}
<!-- Immagine principale -->
| MmàgginiSupra = {{#if: {{{Mmàggini|}}} | {{{Mmàggini}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P18|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiSupra = {{{Didascalìa|}}}
<!-- Informazioni generali -->
| Vuci1 = Artista
| Valuri1 = {{#if: {{{Artista|}}} | {{{Artista}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P170|from={{{Wikidata}}}}} }} }}
| Gruppu1 = Nfurmazzioni ginirali
| Classi1 = {{#if: {{{Artista|}}} | plainlist }}
| Prupità1 = P170
| Vuci2 = Data
| Valuri2 = {{#if: {{{DataCriazzioni|}}} | {{{DataCriazzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P571|from={{{Wikidata}}}}} }} }}
| Gruppu2 = Nfurmazzioni ginirali
| Prupità2 = P571
| Vuci3 = Tipu
| Valuri3 = {{#if: {{{Tipu|}}} | {{{Tipu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P31|from={{{Wikidata}}}}} }} }}
| Gruppu3 = Nfurmazzioni ginirali
| Prupità3 = P31
{{#if: {{{Tècnica|}}}
| {{!}} Vuci4 = Tècnica
{{!}} Valuri4 = {{#if: {{{Tècnica|}}} | {{{Tècnica}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2079|from={{{Wikidata}}}|fallback1=P186}} }} }}
{{!}} Gruppu4 = Nfurmazzioni ginirali
{{!}} Prupità4 = P2079
}}
{{#if: {{{Matiriali|}}}
| {{!}} Vuci5 = Matiriali
{{!}} Valuri5 = {{#if: {{{Matiriali|}}} | {{{Matiriali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P186|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu5 = Nfurmazzioni ginirali
{{!}} Classi5 = plainlist
{{!}} Prupità5 = P186
}}
{{#if: {{{Supportu|}}}
| {{!}} Vuci6 = Supportu
{{!}} Valuri6 = {{{Supportu|}}}
{{!}} Gruppu6 = Nfurmazzioni ginirali
}}
<!-- Descrizione -->
{{#if: {{{Diminsiuni|}}}{{{Larghizza|}}}{{{Artizza|}}}{{{Prufunnità|}}}{{{Pisu|}}}{{{Suggettu|}}}{{{Movimentu|}}}{{{Stili|}}}{{{Temi|}}}
| {{!}} Abbirtenza1 = Discrizzioni
}}
{{#if: {{{Diminsiuni|}}}
| {{!}} Vuci7 = Diminsiuni
{{!}} Valuri7 = {{{Diminsiuni|}}}
| {{#if: {{{Larghizza|}}}{{{Artizza|}}}
| {{!}} Vuci7 = Diminsiuni
{{!}} Valuri7 = {{#if: {{{Larghizza|}}} | {{{Larghizza}}} cm (L) }}{{#if: {{{Artizza|}}} | {{#if: {{{Larghizza|}}} | × }}{{{Artizza}}} cm (A) }}{{#if: {{{Prufunnità|}}} | × {{{Prufunnità}}} cm (P) }}
}}
}}
{{#if: {{{Pisu|}}}
| {{!}} Vuci8 = Pisu
{{!}} Valuri8 = {{#if: {{{Pisu|}}} | {{{Pisu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2067|from={{{Wikidata}}}}} }} }}
{{!}} Prupità8 = P2067
}}
{{#if: {{{Suggettu|}}}
| {{!}} Vuci9 = Suggettu
{{!}} Valuri9 = {{#if: {{{Suggettu|}}} | {{{Suggettu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P180|from={{{Wikidata}}}}} }} }}
{{!}} Classi9 = plainlist
{{!}} Prupità9 = P180
}}
{{#if: {{{Movimentu|}}}
| {{!}} Vuci10 = Movimentu
{{!}} Valuri10 = {{#if: {{{Movimentu|}}} | {{{Movimentu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P135|from={{{Wikidata}}}}} }} }}
{{!}} Prupità10 = P135
}}
{{#if: {{{Stili|}}}
| {{!}} Vuci11 = Stili
{{!}} Valuri11 = {{#if: {{{Stili|}}} | {{{Stili}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1552|from={{{Wikidata}}}}} }} }}
{{!}} Prupità11 = P1552
}}
{{#if: {{{Temi|}}}
| {{!}} Vuci12 = Temi
{{!}} Valuri12 = {{#if: {{{Temi|}}} | {{{Temi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P921|from={{{Wikidata}}}}} }} }}
{{!}} Classi12 = plainlist
{{!}} Prupità12 = P921
}}
<!-- Localizzazione -->
| Vuci13 = Statu
| Valuri13 = {{#if: {{{Statu|}}} | {{{Statu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P17|from={{{Wikidata}}}}} }} }}
| Gruppu13 = Lucalizzazzioni
| Prupità13 = P17
{{#if: {{{Cità|}}}
| {{!}} Vuci14 = Cità
{{!}} Valuri14 = {{#if: {{{Cità|}}} | {{{Cità}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P131|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu14 = Lucalizzazzioni
{{!}} Prupità14 = P131
}}
| Vuci15 = Museu
| Valuri15 = {{#if: {{{Museu|}}} | {{{Museu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P276|from={{{Wikidata}}}}} }} }}
| Gruppu15 = Lucalizzazzioni
| Prupità15 = P276
{{#if: {{{NùmmiruNventariu|}}}
| {{!}} Vuci16 = Nùmmiru inventariu
{{!}} Valuri16 = {{#if: {{{NùmmiruNventariu|}}} | {{{NùmmiruNventariu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P217|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu16 = Lucalizzazzioni
{{!}} Prupità16 = P217
}}
{{#if: {{{Sala|}}}
| {{!}} Vuci17 = Sala
{{!}} Valuri17 = {{{Sala|}}}
{{!}} Gruppu17 = Lucalizzazzioni
}}
{{#if: {{{Pusizzioni|}}}
| {{!}} Vuci18 = Coordinati
{{!}} Valuri18 = {{#if: {{{Pusizzioni|}}} | {{{Pusizzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P625|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu18 = Lucalizzazzioni
{{!}} Prupità18 = P625
}}
<!-- Storia -->
{{#if: {{{Cummittenti|}}}{{{ValuriStimatu|}}}{{{Pruvinenza|}}}{{{DataAcquistizzioni|}}}{{{ModuAcquistizzioni|}}}
| {{!}} Abbirtenza2 = Storia
}}
{{#if: {{{Cummittenti|}}}
| {{!}} Vuci19 = Cummittenti
{{!}} Valuri19 = {{#if: {{{Cummittenti|}}} | {{{Cummittenti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P88|from={{{Wikidata}}}}} }} }}
{{!}} Prupità19 = P88
}}
{{#if: {{{ValuriStimatu|}}}
| {{!}} Vuci20 = Valuri stimatu
{{!}} Valuri20 = {{#if: {{{ValuriStimatu|}}} | {{{ValuriStimatu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2284|from={{{Wikidata}}}}} }} }}
{{!}} Prupità20 = P2284
}}
{{#if: {{{Pruvinenza|}}}
| {{!}} Vuci21 = Pruvinenza
{{!}} Valuri21 = {{#if: {{{Pruvinenza|}}} | {{{Pruvinenza}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P127|from={{{Wikidata}}}}} }} }}
{{!}} Classi21 = plainlist
{{!}} Prupità21 = P127
}}
{{#if: {{{DataAcquistizzioni|}}}
| {{!}} Vuci22 = Data acquistizzioni
{{!}} Valuri22 = {{#if: {{{DataAcquistizzioni|}}} | {{{DataAcquistizzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P580|from={{{Wikidata}}}}} }} }}
{{!}} Prupità22 = P580
}}
{{#if: {{{ModuAcquistizzioni|}}}
| {{!}} Vuci23 = Modu acquistizzioni
{{!}} Valuri23 = {{{ModuAcquistizzioni|}}}
}}
<!-- Esposizioni e conservazione -->
{{#if: {{{Esposizzioni|}}}{{{Restauri|}}}{{{StatuCunservazzioni|}}}{{{Cunnizzioni|}}}
| {{!}} Abbirtenza3 = Esposizzioni e conservazzioni
}}
{{#if: {{{Esposizzioni|}}}
| {{!}} Vuci24 = Esposizzioni
{{!}} Valuri24 = {{#if: {{{Esposizzioni|}}} | {{{Esposizzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P608|from={{{Wikidata}}}}} }} }}
{{!}} Classi24 = plainlist
{{!}} Prupità24 = P608
}}
{{#if: {{{Restauri|}}}
| {{!}} Vuci25 = Restauri
{{!}} Valuri25 = {{{Restauri|}}}
{{!}} Classi25 = plainlist
}}
{{#if: {{{StatuCunservazzioni|}}}
| {{!}} Vuci26 = Statu conservazzioni
{{!}} Valuri26 = {{{StatuCunservazzioni|}}}
}}
{{#if: {{{Cunnizzioni|}}}
| {{!}} Vuci27 = Cunnizzioni
{{!}} Valuri27 = {{{Cunnizzioni|}}}
}}
<!-- Influenza e correlazioni -->
{{#if: {{{InfluenzaDi|}}}{{{InfluenzaSupra|}}}{{{OpiriCurrilati|}}}{{{Copii|}}}
| {{!}} Abbirtenza4 = Influenza e currilazzioni
}}
{{#if: {{{InfluenzaDi|}}}
| {{!}} Vuci28 = Influenzatu da
{{!}} Valuri28 = {{#if: {{{InfluenzaDi|}}} | {{{InfluenzaDi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P737|from={{{Wikidata}}}}} }} }}
{{!}} Classi28 = plainlist
{{!}} Prupità28 = P737
}}
{{#if: {{{InfluenzaSupra|}}}
| {{!}} Vuci29 = Havi influenzatu
{{!}} Valuri29 = {{#if: {{{InfluenzaSupra|}}} | {{{InfluenzaSupra}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P738|from={{{Wikidata}}}}} }} }}
{{!}} Classi29 = plainlist
{{!}} Prupità29 = P738
}}
{{#if: {{{OpiriCurrilati|}}}
| {{!}} Vuci30 = Òpiri currilati
{{!}} Valuri30 = {{{OpiriCurrilati|}}}
{{!}} Classi30 = plainlist
}}
{{#if: {{{Copii|}}}
| {{!}} Vuci31 = Copii
{{!}} Valuri31 = {{#if: {{{Copii|}}} | {{{Copii}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1639|from={{{Wikidata}}}}} }} }}
{{!}} Classi31 = plainlist
{{!}} Prupità31 = P1639
}}
<!-- Bibliografia -->
{{#if: {{{BibliugrafìaPrincipali|}}}
| {{!}} Vuci32 = Bibliugrafìa
{{!}} Valuri32 = {{{BibliugrafìaPrincipali|}}}
{{!}} Classi32 = plainlist
{{!}} Gruppu32 = Fonti
}}
<!-- Collegamenti -->
{{#if: {{{SituWeb|}}}
| {{!}} Vuci33 = Situ web
{{!}} Valuri33 = {{#if: {{{SituWeb|}}} | [{{{SituWeb}}} {{{SituWeb}}}] | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P856|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu33 = Lijami
{{!}} Prupità33 = P856
}}
<!-- Footer -->
| PediPàggina = {{{PediPàggina|}}}
| LijamiWikidata = {{#if: {{{Wikidata|}}}|yes}}
}}</includeonly>
1amtegex19fjvgjmk3ofqeejfmasczj
Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu
2
66303
770491
766968
2025-07-04T14:53:09Z
GianAntonucci
46609
770491
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
'''TèssiraSquatraJocu''' è na tèssira spicìfica pî squatri dî sport (palluni, basket, pallacanestu, ecc.). Integra automaticamenti dati di Wikidata e permetti pirsunalizzazzioni lucali. Fa parti dû sistema di tèssiri modulari basatu supra [[Mòdulu:Bozza/GianAntonucci/Tèssira]].
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata''': Piglia automaticamenti dati chi mancanu di Wikidata
* '''Sizzioni automatichi''': Ragruppa i campi sutta tìtuli adatti (Nfurmazzioni ginirali, Stadiu, Rosa, Palmarès)
* '''Supportu listi''': Supporta furmattazzioni ''plainlist'' e ''hlist''
* '''Modalità scura''': Supportu cumpletu pî temi scuri
* '''Risponsiva''': Funziona beni nta dispusitivi mòbbili e desktop
== Comu si usa ==
=== Esempiu sìmplici ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu
| Nomu = Catania FC
| Wikidata = Q2307
| Sport = Palluni
| Campiunatu = Serie C
| Funnata = 1946
| Stadiu = Angelo Massimino
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu
| no_float = yes
| Nomu = Catania FC
| Wikidata = Q2307
| Sport = Palluni
| Campiunatu = Serie C
| Funnata = 1946
| Stadiu = Angelo Massimino
}}
=== Esempiu cumpletu ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu
| Nomu = Catania FC
| Wikidata = Q2307
| NomuCumpletu = Catania Football Club
| NomuSoprannomi = * I Rossazzurri
* L'Elefanti
| Stemma = Calcio Catania Logo.svg
| DiminsiuniStemma = 180px
| Culuri = {{colorbox|red}} {{colorbox|lightblue}} Russu e azzurru
| Nnu = Catania alè
| Sport = Palluni
| Funnata = 27 di giugnu 1946
| Rifunnata = * 1993
* 2022
| Cità = Catania
| Paìsi = {{ITA}}
| Campiunatu = Serie C - Girone C
| PusizzioniAnnu = 9º (2022-23)
| Stadiu = Angelo Massimino
| CapacitàStadiu = 23,266
| Prisidenti = Ross Pelligra
| Allinaturi = Domenico Toscano
| Capitanu = Francesco Lodi
| StaggiuniCurrenti = 2023-24
| MàssimuCampiunatu = Serie A
| TrofeiNazziunali = * 1 Coppa Italia Serie C (2021)
* 2 Coppe delle Alpi (1961, 1964)
| TrofeiInternazziunali = —
| ParticipazioniEuropei = * 1 Coppa UEFA (1983-84)
| RivalitàPrincipali = * Palermo (Derby di Sicilia)
* Messina
| RicordPressenzi = Giuseppe Mascara (335)
| RicordReti = Pino Izco (58)
| AnniGloriusi = 1960-1966, 1982-1984
| GiucaturiFamusi = * Angelo Di Livio
* Christian Vieri
* Giuseppe Signori
* Ciro Ferrara
| MagghiaVittoria = Catania 6-0 Latina (1963)
| MagghiaSconfitta = Milan 7-0 Catania (1961)
| MediaSpettatori = 16,542 (2022-23)
| SponsorPrincipali = Giap
| FornitoriTecnicu = Givova
| SituWeb = https://www.calciocatania.it
| CuloriCasa = {{Football kit
|pattern_la =
|pattern_b = _redstripes
|pattern_ra =
|leftarm = FF0000
|body = 87CEEB
|rightarm = FF0000
|shorts = FF0000
|socks = FF0000
}}
| CuloriTrasferta = {{Football kit
|pattern_la =
|pattern_b =
|pattern_ra =
|leftarm = FFFFFF
|body = FFFFFF
|rightarm = FFFFFF
|shorts = FFFFFF
|socks = FFFFFF
}}
| PediPàggina = Unu dî club storici dû palluni sicilianu
| NomuMudeḍḍu = TèssiraSquatraJocu/Catania
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu
| no_float = yes
| Nomu = Catania FC
| Wikidata = Q2307
| NomuCumpletu = Catania Football Club
| NomuSoprannomi = * I Rossazzurri
* L'Elefanti
| Stemma = Calcio Catania Logo.svg
| DiminsiuniStemma = 180px
| Culuri = {{colorbox|red}} {{colorbox|lightblue}} Russu e azzurru
| Nnu = Catania alè
| Sport = Palluni
| Funnata = 27 di giugnu 1946
| Rifunnata = * 1993
* 2022
| Cità = Catania
| Paìsi = {{ITA}}
| Campiunatu = Serie C - Girone C
| PusizzioniAnnu = 9º (2022-23)
| Stadiu = Angelo Massimino
| CapacitàStadiu = 23,266
| Prisidenti = Ross Pelligra
| Allinaturi = Domenico Toscano
| Capitanu = Francesco Lodi
| StaggiuniCurrenti = 2023-24
| MàssimuCampiunatu = Serie A
| TrofeiNazziunali = * 1 Coppa Italia Serie C (2021)
* 2 Coppe delle Alpi (1961, 1964)
| TrofeiInternazziunali = —
| ParticipazioniEuropei = * 1 Coppa UEFA (1983-84)
| RivalitàPrincipali = * Palermo (Derby di Sicilia)
* Messina
| RicordPressenzi = Giuseppe Mascara (335)
| RicordReti = Pino Izco (58)
| AnniGloriusi = 1960-1966, 1982-1984
| GiucaturiFamusi = * Angelo Di Livio
* Christian Vieri
* Giuseppe Signori
* Ciro Ferrara
| MagghiaVittoria = Catania 6-0 Latina (1963)
| MagghiaSconfitta = Milan 7-0 Catania (1961)
| MediaSpettatori = 16,542 (2022-23)
| SponsorPrincipali = Giap
| FornitoriTecnicu = Givova
| SituWeb = https://www.calciocatania.it
| CuloriCasa = {{Football kit
|pattern_la =
|pattern_b = _redstripes
|pattern_ra =
|leftarm = FF0000
|body = 87CEEB
|rightarm = FF0000
|shorts = FF0000
|socks = FF0000
}}
| CuloriTrasferta = {{Football kit
|pattern_la =
|pattern_b =
|pattern_ra =
|leftarm = FFFFFF
|body = FFFFFF
|rightarm = FFFFFF
|shorts = FFFFFF
|socks = FFFFFF
}}
| PediPàggina = Unu dî club storici dû palluni sicilianu
| NomuMudeḍḍu = TèssiraSquatraJocu/Catania
}}
== Paràmitri cumpleti ==
=== Paràmitri basi ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Nomu</code> || Nomu dâ squatra || Etichetta || Si vacanti, usa u nomu dâ pàggina
|-
| <code>Wikidata</code> || ID Wikidata || — || Es: Q2307 pi Catania FC
|-
| <code>NomuCumpletu</code> || Nomu cumpletu ufficiali || P1448 ||
|-
| <code>NomuSoprannomi</code> || Soprannomi || P1449 || Supporta listi
|}
=== Sìmbuli e culuri ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Pusizzioni
|-
| <code>Stemma</code> || Stemma dâ squatra || P154 || Supra
|-
| <code>DiminsiuniStemma</code> || Larghizza stemma || — || Default: 150px
|-
| <code>Culuri</code> || Culuri suciali || P462 ||
|-
| <code>Nnu</code> || Nnu dâ squatra || — ||
|}
=== Sizzioni Nfurmazzioni ginirali ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Sport</code> || Sport praticatu || P641 ||
|-
| <code>Funnata</code> || Data di funnazzioni || P571 ||
|-
| <code>Rifunnata</code> || Date di rifunnazzioni || — || Supporta listi
|-
| <code>Sciolta</code> || Data di scioglimentu || P576 ||
|-
| <code>Cità</code> || Cità di sedi || P159 ||
|-
| <code>Paìsi</code> || Paìsi || P17 ||
|-
| <code>Cunfidirazzioni</code> || Cunfidirazzioni || P463 || Es: UEFA
|-
| <code>Fidirazzioni</code> || Fidirazzioni nazziunali || P463 || Es: FIGC
|}
=== Sizzioni Campiunatu ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Campiunatu</code> || Campiunatu attuali || P118 ||
|-
| <code>PusizzioniAnnu</code> || Pusizzioni e annu || — || Es: 5º (2022-23)
|-
| <code>StaggiuniCurrenti</code> || Staggiuni n corsu || — ||
|-
| <code>MàssimuCampiunatu</code> || Liveddu cchiù àutu raggiuntu || — ||
|}
=== Sizzioni Stadiu ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Stadiu</code> || Nomu dû stadiu || P115 ||
|-
| <code>CapacitàStadiu</code> || Capacità || P1083 ||
|-
| <code>LochiStadiu</code> || Unni si trova || — || Si diversu dâ cità
|-
| <code>CampuAllenamentu</code> || Centru sportivo || — ||
|}
=== Sizzioni Dirigenza ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Prupitariu</code> || Prupitariu || P127 ||
|-
| <code>Prisidenti</code> || Prisidenti || P488 ||
|-
| <code>DiretturiGenerali</code> || Diretturi ginirali || — ||
|-
| <code>DiretturiSportivu</code> || Diretturi sportivu || P505 ||
|-
| <code>Allinaturi</code> || Allinaturi || P286 ||
|-
| <code>ViceAllinaturi</code> || Vice allinaturi || — ||
|-
| <code>Capitanu</code> || Capitanu || P634 ||
|}
=== Sizzioni Rosa ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>RosaAttuali</code> || Rosa attuali || — || Link â pàggina rosa
|-
| <code>NùmmiruGiucaturi</code> || Nùmmiru di giucaturi || — ||
|-
| <code>GiucaturiPrincipali</code> || Giucaturi cchiù mpurtanti || — || Supporta listi
|-
| <code>CapocannoneriAttuali</code> || Capocannoneri staggiuni || — ||
|}
=== Sizzioni Palmarès ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>TrofeiNazziunali</code> || Trofei nazziunali || P2522 || Supporta listi
|-
| <code>TrofeiInternazziunali</code> || Trofei internazziunali || — || Supporta listi
|-
| <code>ParticipazioniEuropei</code> || Participazzioni europei || — || Supporta listi
|-
| <code>ÀutriTrofei</code> || Àutri trofei minuri || — || Supporta listi
|}
=== Sizzioni Rivalità e tradizzioni ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>RivalitàPrincipali</code> || Squatri rivali || —
|-
| <code>DerbyPrincipali</code> || Derby principali || —
|-
| <code>Mascotti</code> || Mascotti ufficiali || —
|-
| <code>TifuserìaOrganizzata</code> || Gruppi ultras || —
|}
=== Sizzioni Record e statistichi ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>RicordPressenzi</code> || Giucaturi cu cchiù pressenzi || —
|-
| <code>RicordReti</code> || Migghi marcaturi || —
|-
| <code>MagghiaVittoria</code> || Vittoria cchiù larga || —
|-
| <code>MagghiaSconfitta</code> || Sconfitta cchiù pisanti || —
|-
| <code>MediaSpettatori</code> || Media spittatura || —
|}
=== Sizzioni Storia ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>AnniGloriusi</code> || Piriudi di successu || —
|-
| <code>GiucaturiFamusi</code> || Ex giucaturi mpurtanti || —
|-
| <code>AllinaturiStorici</code> || Allinaturi storici || —
|}
=== Sizzioni Sponsorizzazzioni ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>SponsorPrincipali</code> || Sponsor principali || —
|-
| <code>SponsorTecnicu</code> || Sponsor tecnicu || —
|-
| <code>FornitoriTecnicu</code> || Fornitùra divisi || —
|}
=== Divisi ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Noti
|-
| <code>CuloriCasa</code> || Divisa casa || Usa template Football kit
|-
| <code>CuloriTrasferta</code> || Divisa trasferta || Usa template Football kit
|-
| <code>CuloriTerza</code> || Terza divisa || Usa template Football kit
|}
=== Àutri paràmitri ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>SituWeb</code> || Situ web ufficiali || P856
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || —
|-
| <code>NomuMudeḍḍu</code> || Pi navigazzioni || —
|-
| <code>child</code> || "yes" pi tèssira figghia || —
|}
== Integrazzioni Wikidata ==
A tèssira supporta automaticamenti sti prupità Wikidata:
* '''P17''' - Paìsi
* '''P115''' - Stadiu
* '''P118''' - Liga
* '''P127''' - Prupitariu
* '''P154''' - Logu
* '''P159''' - Sedi centrali
* '''P286''' - Allinaturi
* '''P463''' - Membru di
* '''P462''' - Culuri
* '''P488''' - Prisidenti
* '''P505''' - Diretturi ginirali
* '''P571''' - Data di criazzioni
* '''P576''' - Data di dissoluzzioni
* '''P634''' - Capitanu
* '''P641''' - Sport
* '''P856''' - Situ web ufficiali
* '''P1083''' - Capacità màssima
* '''P1448''' - Nomu ufficiali
* '''P1449''' - Soprannomi
* '''P2522''' - Vittoria in cumpitizzioni
== Noti mpurtanti ==
* '''Wikidata''': Si un paràmitru è vacanti, a tèssira prova a pigghiari u valuri di Wikidata
* '''Sizzioni''': I sizzioni (Nfurmazzioni ginirali, Campiunatu, Stadiu, Dirigenza, Rosa, Palmarès, ecc.) appaìunu sulu si ci sunnu dati
* '''Listi''': Pi listi ntê valuri (trofei, giucaturi, rivalità), usa <code>plainlist</code> o <code>hlist</code> ntô paràmitru <code>Classi</code>
* '''Sport multipli''': A tèssira funziona pi diversi sport (palluni, basket, pallavolu, ecc.)
* '''Divisi''': Pi i divisi, usa u template Football kit o àutri template specifici
== Vidi macari ==
* [[Utenti:GianAntonucci/Bozza/Mòdulu:Tèssira]] - Mòdulu principali
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraGiucaturi]] - Pi giucaturi
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraStadiu]] - Pi stadi
* [[Aiutu:Tèssiri]] - Guida ginirali
{{Tracciamentu mudeḍḍu}}
[[Categoria:Mudeḍḍi di tèssira]]
[[Categoria:Mudeḍḍi chi usanu Wikidata]]
[[Categoria:Mudeḍḍi pi sport]]
</noinclude><includeonly>{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
<!-- Parametri di sistema -->
| child = {{{child|}}}
| Wikidata = {{{Wikidata|}}}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|}}}
| no_float = {{{no_float|}}}
| inline_style = {{{inline_style|}}}
| style = {{{style|tessira}}}
| debug = {{{debug|}}}
<!-- Nome e titoli -->
| Tìtulu = {{#if: {{{Nomu|}}} | {{{Nomu}}} | {{#if: {{{Wikidata|}}} | {{WikidataLabel|from={{{Wikidata}}}}} | {{PAGENAME}} }} }}
| Suttatìtulu = {{#if: {{{NomuCumpletu|}}} | {{{NomuCumpletu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1448|from={{{Wikidata}}}}} }} }}
| Supra = {{#if: {{{NomuSoprannomi|}}} | {{{NomuSoprannomi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1449|from={{{Wikidata}}}}} }} }}
<!-- Stemma -->
| MmàgginiSupra = {{#if: {{{Stemma|}}} | {{{Stemma}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P154|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiSupra = {{#if: {{{Stemma|}}}|{{#if: {{{DiminsiuniStemma|}}}|[[File:{{{Stemma}}}|{{{DiminsiuniStemma}}}]]|[[File:{{{Stemma}}}|150px]]}}}}
<!-- Colori e inno -->
{{#if: {{{Culuri|}}}
| {{!}} Vuci1 = Culuri suciali
{{!}} Valuri1 = {{#if: {{{Culuri|}}} | {{{Culuri}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P462|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu1 = Nfurmazzioni ginirali
{{!}} Prupità1 = P462
}}
{{#if: {{{Nnu|}}}
| {{!}} Vuci2 = Nnu
{{!}} Valuri2 = {{{Nnu|}}}
{{!}} Gruppu2 = Nfurmazzioni ginirali
}}
<!-- Informazioni generali -->
| Vuci3 = Sport
| Valuri3 = {{#if: {{{Sport|}}} | {{{Sport}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P641|from={{{Wikidata}}}}} }} }}
| Gruppu3 = Nfurmazzioni ginirali
| Prupità3 = P641
| Vuci4 = Funnata
| Valuri4 = {{#if: {{{Funnata|}}} | {{{Funnata}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P571|from={{{Wikidata}}}}} }} }}
| Gruppu4 = Nfurmazzioni ginirali
| Prupità4 = P571
{{#if: {{{Rifunnata|}}}
| {{!}} Vuci5 = Rifunnata
{{!}} Valuri5 = {{{Rifunnata|}}}
{{!}} Gruppu5 = Nfurmazzioni ginirali
{{!}} Classi5 = plainlist
}}
{{#if: {{{Sciolta|}}}
| {{!}} Vuci6 = Sciolta
{{!}} Valuri6 = {{#if: {{{Sciolta|}}} | {{{Sciolta}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P576|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu6 = Nfurmazzioni ginirali
{{!}} Prupità6 = P576
}}
| Vuci7 = Cità
| Valuri7 = {{#if: {{{Cità|}}} | {{{Cità}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P159|from={{{Wikidata}}}}} }} }}
| Gruppu7 = Nfurmazzioni ginirali
| Prupità7 = P159
| Vuci8 = Paìsi
| Valuri8 = {{#if: {{{Paìsi|}}} | {{{Paìsi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P17|from={{{Wikidata}}}}} }} }}
| Gruppu8 = Nfurmazzioni ginirali
| Prupità8 = P17
{{#if: {{{Cunfidirazzioni|}}}
| {{!}} Vuci9 = Cunfidirazzioni
{{!}} Valuri9 = {{#if: {{{Cunfidirazzioni|}}} | {{{Cunfidirazzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P463|qualifier=P31=Q1763527|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu9 = Nfurmazzioni ginirali
{{!}} Prupità9 = P463
}}
{{#if: {{{Fidirazzioni|}}}
| {{!}} Vuci10 = Fidirazzioni
{{!}} Valuri10 = {{#if: {{{Fidirazzioni|}}} | {{{Fidirazzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P463|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu10 = Nfurmazzioni ginirali
{{!}} Prupità10 = P463
}}
<!-- Campionato -->
{{#if: {{{Campiunatu|}}}{{{PusizzioniAnnu|}}}{{{StaggiuniCurrenti|}}}{{{MàssimuCampiunatu|}}}
| {{!}} Abbirtenza1 = Campiunatu
}}
| Vuci11 = Campiunatu
| Valuri11 = {{#if: {{{Campiunatu|}}} | {{{Campiunatu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P118|from={{{Wikidata}}}}} }} }}
| Prupità11 = P118
{{#if: {{{PusizzioniAnnu|}}}
| {{!}} Vuci12 = Pusizzioni
{{!}} Valuri12 = {{{PusizzioniAnnu|}}}
}}
{{#if: {{{StaggiuniCurrenti|}}}
| {{!}} Vuci13 = Staggiuni
{{!}} Valuri13 = {{{StaggiuniCurrenti|}}}
}}
{{#if: {{{MàssimuCampiunatu|}}}
| {{!}} Vuci14 = Màssimu liveddu
{{!}} Valuri14 = {{{MàssimuCampiunatu|}}}
}}
<!-- Stadio -->
{{#if: {{{Stadiu|}}}{{{CapacitàStadiu|}}}{{{LochiStadiu|}}}{{{CampuAllenamentu|}}}
| {{!}} Abbirtenza2 = Stadiu
}}
| Vuci15 = Stadiu
| Valuri15 = {{#if: {{{Stadiu|}}} | {{{Stadiu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P115|from={{{Wikidata}}}}} }} }}
| Prupità15 = P115
{{#if: {{{CapacitàStadiu|}}}
| {{!}} Vuci16 = Capacità
{{!}} Valuri16 = {{#if: {{{CapacitàStadiu|}}} | {{{CapacitàStadiu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1083|from={{{Wikidata}}}}} }} }}
{{!}} Prupità16 = P1083
}}
{{#if: {{{LochiStadiu|}}}
| {{!}} Vuci17 = Lucalizzazzioni
{{!}} Valuri17 = {{{LochiStadiu|}}}
}}
{{#if: {{{CampuAllenamentu|}}}
| {{!}} Vuci18 = Centru sportivu
{{!}} Valuri18 = {{{CampuAllenamentu|}}}
}}
<!-- Dirigenza -->
{{#if: {{{Prupitariu|}}}{{{Prisidenti|}}}{{{DiretturiGenerali|}}}{{{DiretturiSportivu|}}}{{{Allinaturi|}}}{{{ViceAllinaturi|}}}{{{Capitanu|}}}
| {{!}} Abbirtenza3 = Dirigenza
}}
{{#if: {{{Prupitariu|}}}
| {{!}} Vuci19 = Prupitariu
{{!}} Valuri19 = {{#if: {{{Prupitariu|}}} | {{{Prupitariu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P127|from={{{Wikidata}}}}} }} }}
{{!}} Prupità19 = P127
}}
{{#if: {{{Prisidenti|}}}
| {{!}} Vuci20 = Prisidenti
{{!}} Valuri20 = {{#if: {{{Prisidenti|}}} | {{{Prisidenti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P488|from={{{Wikidata}}}}} }} }}
{{!}} Prupità20 = P488
}}
{{#if: {{{DiretturiGenerali|}}}
| {{!}} Vuci21 = Diretturi ginirali
{{!}} Valuri21 = {{{DiretturiGenerali|}}}
}}
{{#if: {{{DiretturiSportivu|}}}
| {{!}} Vuci22 = Diretturi sportivu
{{!}} Valuri22 = {{#if: {{{DiretturiSportivu|}}} | {{{DiretturiSportivu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P505|from={{{Wikidata}}}}} }} }}
{{!}} Prupità22 = P505
}}
{{#if: {{{Allinaturi|}}}
| {{!}} Vuci23 = Allinaturi
{{!}} Valuri23 = {{#if: {{{Allinaturi|}}} | {{{Allinaturi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P286|from={{{Wikidata}}}}} }} }}
{{!}} Prupità23 = P286
}}
{{#if: {{{ViceAllinaturi|}}}
| {{!}} Vuci24 = Vice allinaturi
{{!}} Valuri24 = {{{ViceAllinaturi|}}}
}}
{{#if: {{{Capitanu|}}}
| {{!}} Vuci25 = Capitanu
{{!}} Valuri25 = {{#if: {{{Capitanu|}}} | {{{Capitanu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P634|from={{{Wikidata}}}}} }} }}
{{!}} Prupità25 = P634
}}
<!-- Rosa -->
{{#if: {{{RosaAttuali|}}}{{{NùmmiruGiucaturi|}}}{{{GiucaturiPrincipali|}}}{{{CapocannoneriAttuali|}}}
| {{!}} Abbirtenza4 = Rosa
}}
{{#if: {{{RosaAttuali|}}}
| {{!}} Vuci26 = Rosa attuali
{{!}} Valuri26 = {{{RosaAttuali|}}}
}}
{{#if: {{{NùmmiruGiucaturi|}}}
| {{!}} Vuci27 = Nùmmiru giucaturi
{{!}} Valuri27 = {{{NùmmiruGiucaturi|}}}
}}
{{#if: {{{GiucaturiPrincipali|}}}
| {{!}} Vuci28 = Giucaturi principali
{{!}} Valuri28 = {{{GiucaturiPrincipali|}}}
{{!}} Classi28 = plainlist
}}
{{#if: {{{CapocannoneriAttuali|}}}
| {{!}} Vuci29 = Capocannoneri
{{!}} Valuri29 = {{{CapocannoneriAttuali|}}}
}}
<!-- Palmarès -->
{{#if: {{{TrofeiNazziunali|}}}{{{TrofeiInternazziunali|}}}{{{ParticipazioniEuropei|}}}{{{ÀutriTrofei|}}}
| {{!}} Abbirtenza5 = Palmarès
}}
{{#if: {{{TrofeiNazziunali|}}}
| {{!}} Vuci30 = Trofei nazziunali
{{!}} Valuri30 = {{#if: {{{TrofeiNazziunali|}}} | {{{TrofeiNazziunali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2522|from={{{Wikidata}}}}} }} }}
{{!}} Classi30 = plainlist
{{!}} Prupità30 = P2522
}}
{{#if: {{{TrofeiInternazziunali|}}}
| {{!}} Vuci31 = Trofei internazziunali
{{!}} Valuri31 = {{{TrofeiInternazziunali|}}}
{{!}} Classi31 = plainlist
}}
{{#if: {{{ParticipazioniEuropei|}}}
| {{!}} Vuci32 = Cumpitizzioni europei
{{!}} Valuri32 = {{{ParticipazioniEuropei|}}}
{{!}} Classi32 = plainlist
}}
{{#if: {{{ÀutriTrofei|}}}
| {{!}} Vuci33 = Àutri trofei
{{!}} Valuri33 = {{{ÀutriTrofei|}}}
{{!}} Classi33 = plainlist
}}
<!-- Rivalità e tradizioni -->
{{#if: {{{RivalitàPrincipali|}}}{{{DerbyPrincipali|}}}{{{Mascotti|}}}{{{TifuserìaOrganizzata|}}}
| {{!}} Abbirtenza6 = Rivalità e tradizzioni
}}
{{#if: {{{RivalitàPrincipali|}}}
| {{!}} Vuci34 = Rivalità
{{!}} Valuri34 = {{{RivalitàPrincipali|}}}
{{!}} Classi34 = plainlist
}}
{{#if: {{{DerbyPrincipali|}}}
| {{!}} Vuci35 = Derby
{{!}} Valuri35 = {{{DerbyPrincipali|}}}
{{!}} Classi35 = plainlist
}}
{{#if: {{{Mascotti|}}}
| {{!}} Vuci36 = Mascotti
{{!}} Valuri36 = {{{Mascotti|}}}
}}
{{#if: {{{TifuserìaOrganizzata|}}}
| {{!}} Vuci37 = Tifuserìa
{{!}} Valuri37 = {{{TifuserìaOrganizzata|}}}
{{!}} Classi37 = plainlist
}}
<!-- Record e statistiche -->
{{#if: {{{RicordPressenzi|}}}{{{RicordReti|}}}{{{MagghiaVittoria|}}}{{{MagghiaSconfitta|}}}{{{MediaSpettatori|}}}
| {{!}} Abbirtenza7 = Record e statistichi
}}
{{#if: {{{RicordPressenzi|}}}
| {{!}} Vuci38 = Record pressenzi
{{!}} Valuri38 = {{{RicordPressenzi|}}}
}}
{{#if: {{{RicordReti|}}}
| {{!}} Vuci39 = Record reti
{{!}} Valuri39 = {{{RicordReti|}}}
}}
{{#if: {{{MagghiaVittoria|}}}
| {{!}} Vuci40 = Magghia vittoria
{{!}} Valuri40 = {{{MagghiaVittoria|}}}
}}
{{#if: {{{MagghiaSconfitta|}}}
| {{!}} Vuci41 = Magghia sconfitta
{{!}} Valuri41 = {{{MagghiaSconfitta|}}}
}}
{{#if: {{{MediaSpettatori|}}}
| {{!}} Vuci42 = Media spittatura
{{!}} Valuri42 = {{{MediaSpettatori|}}}
}}
<!-- Storia -->
{{#if: {{{AnniGloriusi|}}}{{{GiucaturiFamusi|}}}{{{AllinaturiStorici|}}}
| {{!}} Abbirtenza8 = Storia
}}
{{#if: {{{AnniGloriusi|}}}
| {{!}} Vuci43 = Anni gloriusi
{{!}} Valuri43 = {{{AnniGloriusi|}}}
}}
{{#if: {{{GiucaturiFamusi|}}}
| {{!}} Vuci44 = Giucaturi storici
{{!}} Valuri44 = {{{GiucaturiFamusi|}}}
{{!}} Classi44 = plainlist
}}
{{#if: {{{AllinaturiStorici|}}}
| {{!}} Vuci45 = Allinaturi storici
{{!}} Valuri45 = {{{AllinaturiStorici|}}}
{{!}} Classi45 = plainlist
}}
<!-- Sponsorizzazioni -->
{{#if: {{{SponsorPrincipali|}}}{{{SponsorTecnicu|}}}{{{FornitoriTecnicu|}}}
| {{!}} Abbirtenza9 = Sponsorizzazzioni
}}
{{#if: {{{SponsorPrincipali|}}}
| {{!}} Vuci46 = Sponsor principali
{{!}} Valuri46 = {{{SponsorPrincipali|}}}
}}
{{#if: {{{SponsorTecnicu|}}}
| {{!}} Vuci47 = Sponsor tecnicu
{{!}} Valuri47 = {{{SponsorTecnicu|}}}
}}
{{#if: {{{FornitoriTecnicu|}}}
| {{!}} Vuci48 = Fornitùra tecnica
{{!}} Valuri48 = {{{FornitoriTecnicu|}}}
}}
<!-- Divise -->
{{#if: {{{CuloriCasa|}}}{{{CuloriTrasferta|}}}{{{CuloriTerza|}}}
| {{!}} Abbirtenza10 = Divisi
}}
{{#if: {{{CuloriCasa|}}}
| {{!}} Valuri49 = '''Casa'''<br/>{{{CuloriCasa}}}
}}
{{#if: {{{CuloriTrasferta|}}}
| {{!}} Valuri50 = '''Trasferta'''<br/>{{{CuloriTrasferta}}}
}}
{{#if: {{{CuloriTerza|}}}
| {{!}} Valuri51 = '''Terza'''<br/>{{{CuloriTerza}}}
}}
<!-- Collegamenti -->
{{#if: {{{SituWeb|}}}
| {{!}} Vuci52 = Situ web
{{!}} Valuri52 = {{#if: {{{SituWeb|}}} | [{{{SituWeb}}} {{{SituWeb}}}] | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P856|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu52 = Lijami
{{!}} Prupità52 = P856
}}
<!-- Footer -->
| PediPàggina = {{{PediPàggina|}}}
| LijamiWikidata = {{#if: {{{Wikidata|}}}|yes}}
}}</includeonly>
rt9sei2vk5o3imux9orncl1bp4tfj43
Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu
2
66304
770487
766969
2025-07-04T14:49:49Z
GianAntonucci
46609
770487
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
Pi l'eventi stòrici
== Comu si usa ==
<code><nowiki>{{ Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu }}</nowiki></code>
== Esempiu ==
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = The Great Testing War
| subheader1 = Basic Info
| subheader2 = Timeline
| Vuci1 = Start Date
| Valuri1 = 1800
| Vuci2 = End Date
| Valuri2 = 1810
| Property2 = P31 <!-- This might cause autoheader to place row in "History" if code is set that way -->
| above = "Major Conflict"
| Genti = 10000 casualties
| below = "All data is approximate."
}}
</noinclude>
oo1acqbo2bsqpdm9tjqkqgjfeol4g3l
770488
770487
2025-07-04T14:50:14Z
GianAntonucci
46609
GianAntonucci spustau la pàggina [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraStoria]] nni [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
770487
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
Pi l'eventi stòrici
== Comu si usa ==
<code><nowiki>{{ Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu }}</nowiki></code>
== Esempiu ==
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = The Great Testing War
| subheader1 = Basic Info
| subheader2 = Timeline
| Vuci1 = Start Date
| Valuri1 = 1800
| Vuci2 = End Date
| Valuri2 = 1810
| Property2 = P31 <!-- This might cause autoheader to place row in "History" if code is set that way -->
| above = "Major Conflict"
| Genti = 10000 casualties
| below = "All data is approximate."
}}
</noinclude>
oo1acqbo2bsqpdm9tjqkqgjfeol4g3l
770492
770488
2025-07-04T15:59:31Z
GianAntonucci
46609
770492
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
'''TèssiraMmàttituStòricu''' è na tèssira spicìfica pî mmàttiti stòrici. Integra automaticamenti dati di Wikidata e permetti pirsunalizzazzioni lucali. Fa parti dû sistema di tèssiri modulari basatu supra [[Mòdulu:Bozza/GianAntonucci/Tèssira]].
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata''': Piglia automaticamenti dati chi mancanu di Wikidata
* '''Sizzioni automatichi''': Ragruppa i campi sutta tìtuli adatti (Nfurmazzioni ginirali, Crunuluggìa, Participanti, Cunsiquenzi)
* '''Supportu listi''': Supporta furmattazzioni ''plainlist'' e ''hlist''
* '''Modalità scura''': Supportu cumpletu pî temi scuri
* '''Risponsiva''': Funziona beni nta dispusitivi mòbbili e desktop
== Comu si usa ==
=== Esempiu sìmplici ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu
| Nomu = Sbarcu dî Milli
| Wikidata = Q215720
| DataNìziu = 11 di maiu 1860
| DataFini = 11 di maiu 1860
| Locu = Marsala, Sicilia
| Risultatu = Vittoria garibaldina
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu
| no_float = yes
| Nomu = Sbarcu dî Milli
| Wikidata = Q215720
| DataNìziu = 11 di maiu 1860
| DataFini = 11 di maiu 1860
| Locu = Marsala, Sicilia
| Risultatu = Vittoria garibaldina
}}
=== Esempiu cumpletu ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu
| Nomu = Sbarcu dî Milli
| Wikidata = Q215720
| NomuUfficiali = Spedizione dei Mille
| ÀutriNomi = * Impresa dei Mille
* Spedizione garibaldina
| Mmàggini = Sbarco dei Mille a Marsala.jpg
| Didascalìa = U sbarcu dî Milli a Marsala
| Tipu = Spedizione militari
| DataNìziu = 11 di maiu 1860
| DataFini = 17 di marzu 1861
| Durata = 10 misi e 6 jorna
| Locu = Sicilia e Italia miridiunali
| Coordinati = 37°48′N 12°26′E
| PartiDiCunflittu = Spedizione dei Mille
| Participanti1 = {{bandiera|Regno di Sardegna}} Garibaldini
| Capi1 = Giuseppe Garibaldi
| Forzi1 = 1,089 vuluntari (iniziali)
| Participanti2 = {{bandiera|Regno delle Due Sicilie}} Borboni
| Capi2 = Francesco II
| Forzi2 = 25,000 suldati rigulari
| Participanti3 = Picciotti siciliani
| Capi3 = Rosolino Pilo
| Forzi3 = ~3,000 vuluntari
| Causa = * Movimentu risorgimentali
* Rivolta siciliana dû 1860
| Casus = Rivoluzzioni siciliana dû 4 aprili 1860
| Ubbiettivu = Liberazzioni dâ Sicilia e unificazzioni taliana
| Risultatu = Vittoria garibaldina cumpleta
| CunsiquenziTerrituriali = * Annissioni dû Regnu dî Dui Sicilii ô Regnu di Sardegna
* Criazzioni dû Regnu d'Italia
| CunsiquenziPulìtichi = * Caduta dî Borboni
* Unificazzioni taliana
| Vittimi1 = ~300 morti
| Vittimi2 = ~4,000 morti
| VittimeCivili = ~1,000
| VittimiTutali = ~5,300
| MmàttitiCurrilati = * Battagghia di Calatafimi
* Battagghia di Milazzo
* Battagghia dû Volturno
| MmàttitiPricidenti = Rivoluzzioni siciliana (1848-49)
| MmàttitiSuccissivi = Proclamazzioni dû Regnu d'Italia
| LuochiMmurtanti = * Marsala (sbarcu)
* Calatafimi (prima battagghia)
* Palermu (cunquista)
* Milazzo
* Napuli
| Mappa = Spedizione dei Mille.svg
| DidascalìaMappa = Percorsu dâ spedizioni dî Milli
| SituWeb = https://www.150anni.it
| PediPàggina = Unu dî mumenti fundamenti dû Risorgimentu talianu
| NomuMudeḍḍu = TèssiraMmàttituStòricu/SbarcuMilli
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu
| no_float = yes
| Nomu = Sbarcu dî Milli
| Wikidata = Q215720
| NomuUfficiali = Spedizione dei Mille
| ÀutriNomi = * Impresa dei Mille
* Spedizione garibaldina
| Mmàggini = Sbarco dei Mille a Marsala.jpg
| Didascalìa = U sbarcu dî Milli a Marsala
| Tipu = Spedizione militari
| DataNìziu = 11 di maiu 1860
| DataFini = 17 di marzu 1861
| Durata = 10 misi e 6 jorna
| Locu = Sicilia e Italia miridiunali
| Coordinati = 37°48′N 12°26′E
| PartiDiCunflittu = Spedizione dei Mille
| Participanti1 = {{bandiera|Regno di Sardegna}} Garibaldini
| Capi1 = Giuseppe Garibaldi
| Forzi1 = 1,089 vuluntari (iniziali)
| Participanti2 = {{bandiera|Regno delle Due Sicilie}} Borboni
| Capi2 = Francesco II
| Forzi2 = 25,000 suldati rigulari
| Participanti3 = Picciotti siciliani
| Capi3 = Rosolino Pilo
| Forzi3 = ~3,000 vuluntari
| Causa = * Movimentu risorgimentali
* Rivolta siciliana dû 1860
| Casus = Rivoluzzioni siciliana dû 4 aprili 1860
| Ubbiettivu = Liberazzioni dâ Sicilia e unificazzioni taliana
| Risultatu = Vittoria garibaldina cumpleta
| CunsiquenziTerrituriali = * Annissioni dû Regnu dî Dui Sicilii ô Regnu di Sardegna
* Criazzioni dû Regnu d'Italia
| CunsiquenziPulìtichi = * Caduta dî Borboni
* Unificazzioni taliana
| Vittimi1 = ~300 morti
| Vittimi2 = ~4,000 morti
| VittimeCivili = ~1,000
| VittimiTutali = ~5,300
| MmàttituCurrilati = * Battagghia di Calatafimi
* Battagghia di Milazzo
* Battagghia dû Volturno
| MmàttituPricidenti = Rivoluzzioni siciliana (1848-49)
| MmàttituSuccissivi = Proclamazzioni dû Regnu d'Italia
| LuochiMmurtanti = * Marsala (sbarcu)
* Calatafimi (prima battagghia)
* Palermu (cunquista)
* Milazzo
* Napuli
| Mappa = Spedizione dei Mille.svg
| DidascalìaMappa = Percorsu dâ spedizioni dî Milli
| SituWeb = https://www.150anni.it
| PediPàggina = Unu dî mumenti fundamenti dû Risorgimentu talianu
| NomuMudeḍḍu = TèssiraMmàttituStòricu/SbarcuMilli
}}
== Paràmitri cumpleti ==
=== Paràmitri basi ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Nomu</code> || Nomu di l'evèntu || Etichetta || Si vacanti, usa u nomu dâ pàggina
|-
| <code>Wikidata</code> || ID Wikidata || — || Es: Q215720 pû sbarcu dî Milli
|-
| <code>NomuUfficiali</code> || Nomu ufficiali cumpletu || P1448 ||
|-
| <code>ÀutriNomi</code> || Àutri nomi canusciuti || P1477 || Supporta listi
|}
=== Mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Pusizzioni
|-
| <code>Mmàggini</code> || Mmàggini principali || P18 || Supra
|-
| <code>Didascalìa</code> || Didascalìa dâ mmàggini || — || Sutta a mmàggini
|-
| <code>Mappa</code> || Mappa di l'evèntu || P242 || Sutta
|-
| <code>DidascalìaMappa</code> || Didascalìa dâ mappa || — || Sutta a mappa
|}
=== Sizzioni Nfurmazzioni ginirali ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Tipu</code> || Tipu d'evèntu || P31 || Battagghia, rivuluzzioni, ecc.
|-
| <code>PartiDiCunflittu</code> || Parti di quali cunflittu || P361 || Si parti di guerra/campagna
|}
=== Sizzioni Crunuluggìa ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>DataNìziu</code> || Data di nìziu || P580 ||
|-
| <code>DataFini</code> || Data di fini || P582 ||
|-
| <code>Durata</code> || Durata di l'evèntu || P2047 || Calcolata automaticamenti si manca
|-
| <code>Locu</code> || Locu di l'evèntu || P276 ||
|-
| <code>Coordinati</code> || Coordinati giugràfichi || P625 ||
|}
=== Sizzioni Participanti ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Participanti1</code> || Prima parti || P710 || Ripitìbbili finu a 5
|-
| <code>Capi1</code> || Cumandanti prima parti || P710 (Q215627) || Supporta listi
|-
| <code>Forzi1</code> || Forzi prima parti || P1132 || Nùmmiru suldati/participanti
|-
| <code>Participanti2-5</code> || Àutri parti || P710 || Stissu schema
|}
=== Sizzioni Causi e ubbiettivu ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Causa</code> || Causi di l'evèntu || P828 || Supporta listi
|-
| <code>Casus</code> || Casus belli || P1478 || Evèntu scatenanti
|-
| <code>Ubbiettivu</code> || Ubbiettivu principali || P3712 ||
|}
=== Sizzioni Risultatu e cunsiquenzi ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Risultatu</code> || Risultatu di l'evèntu || P1120 ||
|-
| <code>CunsiquenziTerrituriali</code> || Canciamenti territuriali || P1269 || Supporta listi
|-
| <code>CunsiquenziPulìtichi</code> || Cunsiquenzi pulìtichi || — || Supporta listi
|}
=== Sizzioni Vittimi ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Vittimi1-5</code> || Vittimi pi parti || P1120 || Currisponni a Participanti1-5
|-
| <code>VittimeCivili</code> || Vittimi civili || P1590 ||
|-
| <code>VittimiTutali</code> || Tutali vittimi || P1120 ||
|}
=== Sizzioni Mmàttiti currilati ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>MmàttitiCurrilati</code> || Mmàttiti currilati || P1542
|-
| <code>MmàttitiPricidenti</code> || Mmàttiti pricidenti || P155
|-
| <code>MmàttitiSuccissivi</code> || Mmàttiti succissivi || P156
|-
| <code>LuochiMmurtanti</code> || Lochi significativi || P706
|}
=== Àutri paràmitri ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>SituWeb</code> || Situ web ufficiali || P856
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || —
|-
| <code>NomuMudeḍḍu</code> || Pi navigazzioni || —
|-
| <code>child</code> || "yes" pi tèssira figghia || —
|}
== Integrazzioni Wikidata ==
A tèssira supporta automaticamenti sti prupità Wikidata:
* '''P17''' - Paìsi
* '''P18''' - Mmàggini
* '''P31''' - Istanza di
* '''P155''' - Pricidenti
* '''P156''' - Succissivi
* '''P242''' - Mappa di lucalizzazzioni
* '''P276''' - Locu
* '''P361''' - Parti di
* '''P580''' - Data di nìziu
* '''P582''' - Data di fini
* '''P625''' - Coordinati giugràfichi
* '''P706''' - Situatu nta
* '''P710''' - Participanti
* '''P828''' - Causatu da
* '''P856''' - Situ web ufficiali
* '''P1120''' - Nùmmiru di vittimi
* '''P1132''' - Nùmmiru di participanti
* '''P1269''' - Aspettu di
* '''P1448''' - Nomu ufficiali
* '''P1477''' - Nomu dû nascimentu
* '''P1478''' - Casus belli immidiatu
* '''P1542''' - Effettu
* '''P1590''' - Nùmmiru di vittimi feruti
* '''P2047''' - Durata
* '''P3712''' - Ubbiettivu
== Noti mpurtanti ==
* '''Wikidata''': Si un paràmitru è vacanti, a tèssira prova a pigghiari u valuri di Wikidata
* '''Sizzioni''': I sizzioni (Nfurmazzioni ginirali, Crunuluggìa, Participanti, Causi e ubbiettivu, Risultatu e cunsiquenzi, Vittimi, Mmàttiti currilati) appaìunu sulu si ci sunnu dati
* '''Listi''': Pi listi ntê valuri (causi, cunsiquenzi, mmàttiti), usa <code>plainlist</code> o <code>hlist</code> ntô paràmitru <code>Classi</code>
* '''Participanti multipli''': Supporta finu a 5 parti/fazziuni cu rispittivi capi e forzi
* '''Durata''': Calculata automaticamenti si ci sunnu DataNìziu e DataFini
== Vidi macari ==
* [[Utenti:GianAntonucci/Bozza/Mòdulu:Tèssira]] - Mòdulu principali
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraBattagghia]] - Pi battagghi militari
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraGuerra]] - Pi guerri
* [[Aiutu:Tèssiri]] - Guida ginirali
{{Tracciamentu mudeḍḍu}}
[[Categoria:Mudeḍḍi di tèssira]]
[[Categoria:Mudeḍḍi chi usanu Wikidata]]
[[Categoria:Mudeḍḍi pi storia]]
</noinclude><includeonly>{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
<!-- Parametri di sistema -->
| child = {{{child|}}}
| Wikidata = {{{Wikidata|}}}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|}}}
| no_float = {{{no_float|}}}
| inline_style = {{{inline_style|}}}
| style = {{{style|tessira}}}
| debug = {{{debug|}}}
<!-- Nome e titoli -->
| Tìtulu = {{#if: {{{Nomu|}}} | {{{Nomu}}} | {{#if: {{{Wikidata|}}} | {{WikidataLabel|from={{{Wikidata}}}}} | {{PAGENAME}} }} }}
| Suttatìtulu = {{#if: {{{NomuUfficiali|}}} | {{{NomuUfficiali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1448|from={{{Wikidata}}}}} }} }}
| Supra = {{#if: {{{ÀutriNomi|}}} | {{{ÀutriNomi}}} }}
<!-- Immagine principale -->
| MmàgginiSupra = {{#if: {{{Mmàggini|}}} | {{{Mmàggini}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P18|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiSupra = {{{Didascalìa|}}}
<!-- Informazioni generali -->
| Vuci1 = Tipu
| Valuri1 = {{#if: {{{Tipu|}}} | {{{Tipu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P31|from={{{Wikidata}}}}} }} }}
| Gruppu1 = Nfurmazzioni ginirali
| Prupità1 = P31
{{#if: {{{PartiDiCunflittu|}}}
| {{!}} Vuci2 = Parti di
{{!}} Valuri2 = {{#if: {{{PartiDiCunflittu|}}} | {{{PartiDiCunflittu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P361|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu2 = Nfurmazzioni ginirali
{{!}} Prupità2 = P361
}}
<!-- Cronologia -->
| Vuci3 = Data nìziu
| Valuri3 = {{#if: {{{DataNìziu|}}} | {{{DataNìziu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P580|from={{{Wikidata}}}}} }} }}
| Gruppu3 = Crunuluggìa
| Prupità3 = P580
{{#if: {{{DataFini|}}}
| {{!}} Vuci4 = Data fini
{{!}} Valuri4 = {{#if: {{{DataFini|}}} | {{{DataFini}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P582|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu4 = Crunuluggìa
{{!}} Prupità4 = P582
}}
{{#if: {{{Durata|}}}
| {{!}} Vuci5 = Durata
{{!}} Valuri5 = {{#if: {{{Durata|}}} | {{{Durata}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2047|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu5 = Crunuluggìa
{{!}} Prupità5 = P2047
}}
| Vuci6 = Locu
| Valuri6 = {{#if: {{{Locu|}}} | {{{Locu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P276|from={{{Wikidata}}}}} }} }}
| Gruppu6 = Crunuluggìa
| Prupità6 = P276
{{#if: {{{Coordinati|}}}
| {{!}} Vuci7 = Coordinati
{{!}} Valuri7 = {{#if: {{{Coordinati|}}} | {{{Coordinati}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P625|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu7 = Crunuluggìa
{{!}} Prupità7 = P625
}}
<!-- Partecipanti -->
{{#if: {{{Participanti1|}}}{{{Participanti2|}}}{{{Participanti3|}}}{{{Participanti4|}}}{{{Participanti5|}}}
| {{!}} Abbirtenza1 = Participanti
}}
{{#if: {{{Participanti1|}}}
| {{!}} Valuri8 = '''{{{Participanti1}}}'''{{#if: {{{Capi1|}}} | <br/>Capi: {{{Capi1}}} }}{{#if: {{{Forzi1|}}} | <br/>Forzi: {{{Forzi1}}} }}
{{!}} Classi8 = {{#if: {{{Capi1|}}} | plainlist }}
}}
{{#if: {{{Participanti2|}}}
| {{!}} Valuri9 = '''{{{Participanti2}}}'''{{#if: {{{Capi2|}}} | <br/>Capi: {{{Capi2}}} }}{{#if: {{{Forzi2|}}} | <br/>Forzi: {{{Forzi2}}} }}
{{!}} Classi9 = {{#if: {{{Capi2|}}} | plainlist }}
}}
{{#if: {{{Participanti3|}}}
| {{!}} Valuri10 = '''{{{Participanti3}}}'''{{#if: {{{Capi3|}}} | <br/>Capi: {{{Capi3}}} }}{{#if: {{{Forzi3|}}} | <br/>Forzi: {{{Forzi3}}} }}
{{!}} Classi10 = {{#if: {{{Capi3|}}} | plainlist }}
}}
{{#if: {{{Participanti4|}}}
| {{!}} Valuri11 = '''{{{Participanti4}}}'''{{#if: {{{Capi4|}}} | <br/>Capi: {{{Capi4}}} }}{{#if: {{{Forzi4|}}} | <br/>Forzi: {{{Forzi4}}} }}
{{!}} Classi11 = {{#if: {{{Capi4|}}} | plainlist }}
}}
{{#if: {{{Participanti5|}}}
| {{!}} Valuri12 = '''{{{Participanti5}}}'''{{#if: {{{Capi5|}}} | <br/>Capi: {{{Capi5}}} }}{{#if: {{{Forzi5|}}} | <br/>Forzi: {{{Forzi5}}} }}
{{!}} Classi12 = {{#if: {{{Capi5|}}} | plainlist }}
}}
<!-- Cause e obiettivo -->
{{#if: {{{Causa|}}}{{{Casus|}}}{{{Ubbiettivu|}}}
| {{!}} Abbirtenza2 = Causi e ubbiettivu
}}
{{#if: {{{Causa|}}}
| {{!}} Vuci13 = Causi
{{!}} Valuri13 = {{#if: {{{Causa|}}} | {{{Causa}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P828|from={{{Wikidata}}}}} }} }}
{{!}} Classi13 = plainlist
{{!}} Prupità13 = P828
}}
{{#if: {{{Casus|}}}
| {{!}} Vuci14 = Casus belli
{{!}} Valuri14 = {{#if: {{{Casus|}}} | {{{Casus}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1478|from={{{Wikidata}}}}} }} }}
{{!}} Prupità14 = P1478
}}
{{#if: {{{Ubbiettivu|}}}
| {{!}} Vuci15 = Ubbiettivu
{{!}} Valuri15 = {{#if: {{{Ubbiettivu|}}} | {{{Ubbiettivu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P3712|from={{{Wikidata}}}}} }} }}
{{!}} Prupità15 = P3712
}}
<!-- Risultato e conseguenze -->
{{#if: {{{Risultatu|}}}{{{CunsiquenziTerrituriali|}}}{{{CunsiquenziPulìtichi|}}}
| {{!}} Abbirtenza3 = Risultatu e cunsiquenzi
}}
{{#if: {{{Risultatu|}}}
| {{!}} Vuci16 = Risultatu
{{!}} Valuri16 = {{#if: {{{Risultatu|}}} | {{{Risultatu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1120|from={{{Wikidata}}}}} }} }}
{{!}} Prupità16 = P1120
}}
{{#if: {{{CunsiquenziTerrituriali|}}}
| {{!}} Vuci17 = Canciamenti territuriali
{{!}} Valuri17 = {{#if: {{{CunsiquenziTerrituriali|}}} | {{{CunsiquenziTerrituriali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1269|from={{{Wikidata}}}}} }} }}
{{!}} Classi17 = plainlist
{{!}} Prupità17 = P1269
}}
{{#if: {{{CunsiquenziPulìtichi|}}}
| {{!}} Vuci18 = Cunsiquenzi pulìtichi
{{!}} Valuri18 = {{{CunsiquenziPulìtichi|}}}
{{!}} Classi18 = plainlist
}}
<!-- Vittime -->
{{#if: {{{Vittimi1|}}}{{{Vittimi2|}}}{{{Vittimi3|}}}{{{Vittimi4|}}}{{{Vittimi5|}}}{{{VittimeCivili|}}}{{{VittimiTutali|}}}
| {{!}} Abbirtenza4 = Vittimi
}}
{{#if: {{{Vittimi1|}}}
| {{!}} Vuci19 = {{#if: {{{Participanti1|}}} | {{{Participanti1}}} | Parti 1 }}
{{!}} Valuri19 = {{{Vittimi1|}}}
}}
{{#if: {{{Vittimi2|}}}
| {{!}} Vuci20 = {{#if: {{{Participanti2|}}} | {{{Participanti2}}} | Parti 2 }}
{{!}} Valuri20 = {{{Vittimi2|}}}
}}
{{#if: {{{Vittimi3|}}}
| {{!}} Vuci21 = {{#if: {{{Participanti3|}}} | {{{Participanti3}}} | Parti 3 }}
{{!}} Valuri21 = {{{Vittimi3|}}}
}}
{{#if: {{{Vittimi4|}}}
| {{!}} Vuci22 = {{#if: {{{Participanti4|}}} | {{{Participanti4}}} | Parti 4 }}
{{!}} Valuri22 = {{{Vittimi4|}}}
}}
{{#if: {{{Vittimi5|}}}
| {{!}} Vuci23 = {{#if: {{{Participanti5|}}} | {{{Participanti5}}} | Parti 5 }}
{{!}} Valuri23 = {{{Vittimi5|}}}
}}
{{#if: {{{VittimeCivili|}}}
| {{!}} Vuci24 = Civili
{{!}} Valuri24 = {{#if: {{{VittimeCivili|}}} | {{{VittimeCivili}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1590|from={{{Wikidata}}}}} }} }}
{{!}} Prupità24 = P1590
}}
{{#if: {{{VittimiTutali|}}}
| {{!}} Vuci25 = '''Tutali'''
{{!}} Valuri25 = {{{VittimiTutali|}}}
}}
<!-- Mmàttiti correlati -->
{{#if: {{{MmàttitiCurrilati|}}}{{{MmàttitiPricidenti|}}}{{{MmàttitiSuccissivi|}}}{{{LuochiMmurtanti|}}}
| {{!}} Abbirtenza5 = Mmàttiti currilati
}}
{{#if: {{{MmàttitiCurrilati|}}}
| {{!}} Vuci26 = Mmàttiti currilati
{{!}} Valuri26 = {{#if: {{{MmàttitiCurrilati|}}} | {{{MmàttitiCurrilati}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1542|from={{{Wikidata}}}}} }} }}
{{!}} Classi26 = plainlist
{{!}} Prupità26 = P1542
}}
{{#if: {{{MmàttitiPricidenti|}}}
| {{!}} Vuci27 = Pricidenti
{{!}} Valuri27 = {{#if: {{{MmàttitiPricidenti|}}} | {{{MmàttitiPricidenti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P155|from={{{Wikidata}}}}} }} }}
{{!}} Prupità27 = P155
}}
{{#if: {{{MmàttitiSuccissivi|}}}
| {{!}} Vuci28 = Succissivi
{{!}} Valuri28 = {{#if: {{{MmàttitiSuccissivi|}}} | {{{MmàttitiSuccissivi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P156|from={{{Wikidata}}}}} }} }}
{{!}} Prupità28 = P156
}}
{{#if: {{{LuochiMmurtanti|}}}
| {{!}} Vuci29 = Lochi principali
{{!}} Valuri29 = {{#if: {{{LuochiMmurtanti|}}} | {{{LuochiMmurtanti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P706|from={{{Wikidata}}}}} }} }}
{{!}} Classi29 = plainlist
{{!}} Prupità29 = P706
}}
<!-- Collegamenti -->
{{#if: {{{SituWeb|}}}
| {{!}} Vuci30 = Situ web
{{!}} Valuri30 = {{#if: {{{SituWeb|}}} | [{{{SituWeb}}} {{{SituWeb}}}] | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P856|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu30 = Lijami
{{!}} Prupità30 = P856
}}
<!-- Mappa inferiore -->
| MmàgginiSutta = {{#if: {{{Mappa|}}} | {{{Mappa}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P242|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiSutta = {{#if: {{{DidascalìaMappa|}}} | {{{DidascalìaMappa}}} }}
<!-- Footer -->
| PediPàggina = {{{PediPàggina|}}}
| LijamiWikidata = {{#if: {{{Wikidata|}}}|yes}}
}}</includeonly>
mscnkve9v6fux8xhxo781owjpknvyaf
Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula
2
66305
770493
767737
2025-07-04T16:00:41Z
GianAntonucci
46609
GianAntonucci spustau la pàggina [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCìnamu]] nni [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
767737
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
...
== Comu si usa ==
<code><nowiki>{{ Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraX }}</nowiki></code>
== Esempiu ==
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = "The Great Movie"
| DidascalìaMmàgginiSupra = Official Poster
| subheader1 = Production
| Vuci1 = Director
| Valuri1 = John Director
| Vuci2 = Producer
| Valuri2 = Jane Producer
| subheader2 = Cast
| Gruppu3 = Main Actors
| Vuci3 = Leads
| Valuri3 =
* Alice
* Bob
| PediPàggina = "See also: [[List of examples in film]]"
}}
</noinclude>
5vrng9jz6w67xgvupdtvvdq5dmgob3i
770496
770493
2025-07-04T16:04:20Z
GianAntonucci
46609
770496
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
'''TèssiraPiḍḍìcula''' è na tèssira spicìfica pî film. Integra automaticamenti dati di Wikidata e permetti pirsunalizzazzioni lucali. Fa parti dû sistema di tèssiri modulari basatu supra [[Mòdulu:Bozza/GianAntonucci/Tèssira]].
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata''': Piglia automaticamenti dati chi mancanu di Wikidata
* '''Sizzioni automatichi''': Ragruppa i campi sutta tìtuli adatti (Produzzioni, Cast, Distribuzzioni, Accoglienza)
* '''Supportu listi''': Supporta furmattazzioni ''plainlist'' e ''hlist''
* '''Modalità scura''': Supportu cumpletu pî temi scuri
* '''Risponsiva''': Funziona beni nta dispusitivi mòbbili e desktop
== Comu si usa ==
=== Esempiu sìmplici ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula
| Tìtulu = Il Gattopardo
| Wikidata = Q165203
| Rigista = Luchino Visconti
| DataUscita = 27 di marzu 1963
| Gèniri = Drammaticu storicu
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula
| no_float = yes
| Tìtulu = Il Gattopardo
| Wikidata = Q165203
| Rigista = Luchino Visconti
| DataUscita = 27 di marzu 1963
| Gèniri = Drammaticu storicu
}}
=== Esempiu cumpletu ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula
| Tìtulu = Il Gattopardo
| Wikidata = Q165203
| TìtuluOriginali = Il Gattopardo
| TìtuluNglisi = The Leopard
| Mmàggini = Il Gattopardo poster.jpg
| DidascalìaMmàgginiSupra = Poster ufficiali dû film
| Rigista = Luchino Visconti
| Produtturi = Goffredo Lombardo
| ProdutturiEsecutivu = Pietro Notarianni
| Sceneggiatura = * Luchino Visconti
* Suso Cecchi d'Amico
* Pasquale Festa Campanile
* Enrico Medioli
* Massimo Franciosa
| Suggettu = Giuseppe Tomasi di Lampedusa (rumanzu)
| Narraturi = —
| AttoriPrincipali = * Burt Lancaster - Don Fabrizio
* Alain Delon - Tancredi
* Claudia Cardinale - Angelica
| AttoriSecundari = * Paolo Stoppa - Don Calogero
* Rina Morelli - Principessa Stella
* Romolo Valli - Padre Pirrone
| MusicaDi = Nino Rota
| Futugrafia = Giuseppe Rotunno
| Muntaggiu = Mario Serandrei
| Scenografia = Mario Garbuglia
| Custumi = Piero Tosi
| Truccu = Alberto De Rossi
| EffettiSpeciali = —
| CasaProduzzioni = * Titanus
* S.G.C.
* Pathé
| DistributuDa = 20th Century Fox
| DataUscita = 27 di marzu 1963
| DataUscitaItalia = 28 di marzu 1963
| DataUscitaUSA = 13 di austu 1963
| Durata = 187 minuti (versioni originali)
| Tipu = Culuri
| RapportuAspettu = 2.20:1
| Formatu = 70 mm (Super Technirama 70)
| Gèniri = * Drammaticu
* Storicu
* Epicu
| Lingua = talianu
| Paìsi = {{bandiera|Italia}} Italia<br/>{{bandiera|Francia}} Francia
| LuochiRiprese = * Sicilia
* Cinecitta, Roma
| Costi = 2.8 milioni di dollari
| Incassi = 20.9 milioni di dollari
| PremiFamusi = * Palma d'Oro - Cannes 1963
* David di Donatello 1963
* Nastro d'Argento 1964
| Cirtificazzioni = * {{bandiera|Italia}} V.M.14
* {{bandiera|USA}} PG
| Critica = * Rotten Tomatoes: 94%
* Metacritic: 100/100
| FilmPricidenti = Rocco e i suoi fratelli (1960)
| FilmSuccissivu = Vaghe stelle dell'Orsa... (1965)
| SituWeb = https://www.cinematografo.it/film/il-gattopardo
| PediPàggina = Cunzidiratu unu dî capulavura dû cinema talianu
| NomuMudeḍḍu = TèssiraPiḍḍìcula/Gattopardo
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula
| no_float = yes
| Tìtulu = Il Gattopardo
| Wikidata = Q165203
| TìtuluOriginali = Il Gattopardo
| TìtuluNglisi = The Leopard
| Mmàggini = Il Gattopardo poster.jpg
| DidascalìaMmàgginiSupra = Poster ufficiali dû film
| Rigista = Luchino Visconti
| Produtturi = Goffredo Lombardo
| ProdutturiEsecutivu = Pietro Notarianni
| Sceneggiatura = * Luchino Visconti
* Suso Cecchi d'Amico
* Pasquale Festa Campanile
* Enrico Medioli
* Massimo Franciosa
| Suggettu = Giuseppe Tomasi di Lampedusa (rumanzu)
| Narraturi = —
| AttoriPrincipali = * Burt Lancaster - Don Fabrizio
* Alain Delon - Tancredi
* Claudia Cardinale - Angelica
| AttoriSecundari = * Paolo Stoppa - Don Calogero
* Rina Morelli - Principessa Stella
* Romolo Valli - Padre Pirrone
| MusicaDi = Nino Rota
| Futugrafia = Giuseppe Rotunno
| Muntaggiu = Mario Serandrei
| Scenografia = Mario Garbuglia
| Custumi = Piero Tosi
| Truccu = Alberto De Rossi
| EffettiSpeciali = —
| CasaProduzzioni = * Titanus
* S.G.C.
* Pathé
| DistributuDa = 20th Century Fox
| DataUscita = 27 di marzu 1963
| DataUscitaItalia = 28 di marzu 1963
| DataUscitaUSA = 13 di austu 1963
| Durata = 187 minuti (versioni originali)
| Tipu = Culuri
| RapportuAspettu = 2.20:1
| Formatu = 70 mm (Super Technirama 70)
| Gèniri = * Drammaticu
* Storicu
* Epicu
| Lingua = talianu
| Paìsi = {{bandiera|Italia}} Italia<br/>{{bandiera|Francia}} Francia
| LuochiRiprese = * Sicilia
* Cinecitta, Roma
| Costi = 2.8 milioni di dollari
| Incassi = 20.9 milioni di dollari
| PremiFamusi = * Palma d'Oro - Cannes 1963
* David di Donatello 1963
* Nastro d'Argento 1964
| Cirtificazzioni = * {{bandiera|Italia}} V.M.14
* {{bandiera|USA}} PG
| Critica = * Rotten Tomatoes: 94%
* Metacritic: 100/100
| FilmPricidenti = Rocco e i suoi fratelli (1960)
| FilmSuccissivu = Vaghe stelle dell'Orsa... (1965)
| SituWeb = https://www.cinematografo.it/film/il-gattopardo
| PediPàggina = Cunzidiratu unu dî capulavura dû cinema talianu
| NomuMudeḍḍu = TèssiraPiḍḍìcula/Gattopardo
}}
== Paràmitri cumpleti ==
=== Paràmitri basi ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Tìtulu</code> || Tìtulu dû film || Etichetta || Si vacanti, usa u nomu dâ pàggina
|-
| <code>Wikidata</code> || ID Wikidata || — || Es: Q165203 pi Il Gattopardo
|-
| <code>TìtuluOriginali</code> || Tìtulu ntâ lingua originali || P1476 ||
|-
| <code>TìtuluNglisi</code> || Tìtulu ngrisi || P1476 (en) || Pi distribuzzioni internazziunali
|}
=== Mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Pusizzioni
|-
| <code>Mmàggini</code> || Poster dû film || P3383 || Supra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa dû poster || — || Sutta a mmàggini
|}
=== Sizzioni Produzzioni ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Rigista</code> || Rigista || P57 || Supporta listi
|-
| <code>Produtturi</code> || Produtturi || P162 || Supporta listi
|-
| <code>ProdutturiEsecutivu</code> || Produtturi esecutivu || P1431 || Supporta listi
|-
| <code>Sceneggiatura</code> || Sceneggiatori || P58 || Supporta listi
|-
| <code>Suggettu</code> || Suggettu/Storia || P7937 ||
|-
| <code>Narraturi</code> || Vuci narranti || P2438 ||
|}
=== Sizzioni Cast ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>AttoriPrincipali</code> || Attori principali cu ruoli || P161 || Formatu: Nomu - Ruolu
|-
| <code>AttoriSecundari</code> || Attori sicundari || P161 || Supporta listi
|-
| <code>Cameo</code> || Apparizzioni speciali || — || Supporta listi
|}
=== Sizzioni Crew tecnicu ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>MusicaDi</code> || Cumpusituri || P86 ||
|-
| <code>Futugrafia</code> || Diretturi dâ futugrafia || P344 ||
|-
| <code>Muntaggiu</code> || Muntaturi || P1040 || Supporta listi
|-
| <code>Scenografia</code> || Scenografi || P2554 ||
|-
| <code>Custumi</code> || Custumisti || P2515 ||
|-
| <code>Truccu</code> || Truccaturi || P4805 ||
|-
| <code>EffettiSpeciali</code> || Effetti speciali || P859 ||
|}
=== Sizzioni Produzzioni e distribuzzioni ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>CasaProduzzioni</code> || Casa di produzzioni || P272 || Supporta listi
|-
| <code>DistributuDa</code> || Distributori || P750 || Supporta listi
|-
| <code>DataUscita</code> || Data di uscita ginirali || P577 ||
|-
| <code>DataUscitaItalia</code> || Data uscita in Italia || P577 (Q38) ||
|-
| <code>DataUscitaUSA</code> || Data uscita USA || P577 (Q30) ||
|}
=== Sizzioni Dati tecnici ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Durata</code> || Durata in minuti || P2047 ||
|-
| <code>Tipu</code> || Culuri/Biancu e nivuru || P462 ||
|-
| <code>RapportuAspettu</code> || Rapportu d'aspettu || P2061 || Es: 2.35:1
|-
| <code>Formatu</code> || Formatu cinematugràficu || P3212 || 35mm, 70mm, digitali
|-
| <code>Gèniri</code> || Gèniri cinematugràficu || P136 || Supporta listi
|-
| <code>Lingua</code> || Lingua originali || P364 || Supporta listi
|-
| <code>Paìsi</code> || Paìsi di produzzioni || P495 || Supporta listi
|}
=== Sizzioni Produzzioni ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>LuochiRiprese</code> || Lochi di ripresa || P915 || Supporta listi
|-
| <code>Costi</code> || Budget || P2130 ||
|-
| <code>Incassi</code> || Incassi mundiali || P2142 ||
|-
| <code>IncassiItalia</code> || Incassi in Italia || — ||
|-
| <code>IncassiUSA</code> || Incassi USA || — ||
|}
=== Sizzioni Accoglienza ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>PremiFamusi</code> || Premi principali || P166 || Supporta listi
|-
| <code>Nominazioni</code> || Nominazioni mpurtanti || P1411 || Supporta listi
|-
| <code>Cirtificazzioni</code> || Classificazzioni età || P1657 || Pi paìsi
|-
| <code>Critica</code> || Valutazzioni critica || — || Supporta listi
|}
=== Sizzioni Sequel e franchise ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>FilmPricidenti</code> || Film pricidenti || P155
|-
| <code>FilmSuccissivu</code> || Sequel || P156
|-
| <code>Franchise</code> || Parti di franchise || P179
|-
| <code>Sequel</code> || Lista sequel || P747
|-
| <code>Prequel</code> || Prequel || P1434
|}
=== Àutri paràmitri ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>SituWeb</code> || Situ web ufficiali || P856
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || —
|-
| <code>NomuMudeḍḍu</code> || Pi navigazzioni || —
|-
| <code>child</code> || "yes" pi tèssira figghia || —
|}
== Integrazzioni Wikidata ==
A tèssira supporta automaticamenti sti prupità Wikidata:
* '''P57''' - Rigista
* '''P58''' - Sceneggiatori
* '''P86''' - Cumpusituri dâ colonna sonora
* '''P136''' - Gèniri
* '''P155''' - Pricidenti
* '''P156''' - Succissivi
* '''P161''' - Cast
* '''P162''' - Produtturi
* '''P166''' - Premiu ricivutu
* '''P179''' - Parti dâ serii
* '''P272''' - Casa di produzzioni
* '''P344''' - Diretturi dâ futugrafia
* '''P364''' - Lingua originali di l'òpira
* '''P462''' - Culuri
* '''P495''' - Paìsi d'origini
* '''P577''' - Data di pubblicazzioni
* '''P750''' - Distributori
* '''P856''' - Situ web ufficiali
* '''P859''' - Sponsor
* '''P915''' - Locu di ripresa
* '''P1040''' - Edituri dû film
* '''P1411''' - Nominatu pi
* '''P1431''' - Produtturi esecutivu
* '''P1434''' - Prequel
* '''P1476''' - Tìtulu
* '''P1657''' - Classificazzioni MPAA
* '''P2047''' - Durata
* '''P2061''' - Rapportu d'aspettu
* '''P2130''' - Costi
* '''P2142''' - Incassi
* '''P2438''' - Narraturi
* '''P2515''' - Disignatori di custumi
* '''P2554''' - Disignatori di produzzioni
* '''P3212''' - Formatu film
* '''P3383''' - Poster dû film
* '''P4805''' - Artista dû truccu
* '''P7937''' - Basatu supra
== Noti mpurtanti ==
* '''Wikidata''': Si un paràmitru è vacanti, a tèssira prova a pigghiari u valuri di Wikidata
* '''Sizzioni''': I sizzioni (Produzzioni, Cast, Crew tecnicu, Dati tecnici, Distribuzzioni, Accoglienza) appaìunu sulu si ci sunnu dati
* '''Listi''': Pi listi ntê valuri (attori, gèniri, premi), usa <code>plainlist</code> o <code>hlist</code> ntô paràmitru <code>Classi</code>
* '''Cast''': U paràmitru <code>AttoriPrincipali</code> supporta u formatu "Nomu - Ruolu"
* '''Date multipli''': Supporta dati di uscita pi diversi paìsi
* '''Incassi''': Separa incassi mundiali e pi paìsi
== Vidi macari ==
* [[Utenti:GianAntonucci/Bozza/Mòdulu:Tèssira]] - Mòdulu principali
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]] - Pi libbra (fonti)
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraArtista]] - Pi rigisti e attori
* [[Aiutu:Tèssiri]] - Guida ginirali
{{Tracciamentu mudeḍḍu}}
[[Categoria:Mudeḍḍi di tèssira]]
[[Categoria:Mudeḍḍi chi usanu Wikidata]]
[[Categoria:Mudeḍḍi pi cinema]]
</noinclude><includeonly>{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
<!-- Parametri di sistema -->
| child = {{{child|}}}
| Wikidata = {{{Wikidata|}}}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|}}}
| no_float = {{{no_float|}}}
| inline_style = {{{inline_style|}}}
| style = {{{style|tessira}}}
| debug = {{{debug|}}}
<!-- Nome e titoli -->
| Tìtulu = {{#if: {{{Tìtulu|}}} | {{{Tìtulu}}} | {{#if: {{{Wikidata|}}} | {{WikidataLabel|from={{{Wikidata}}}}} | {{PAGENAME}} }} }}
| Suttatìtulu = {{#if: {{{TìtuluOriginali|}}} | {{{TìtuluOriginali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1476|from={{{Wikidata}}}}} }} }}
| Supra = {{#if: {{{TìtuluNglisi|}}} | ''{{{TìtuluNglisi}}}'' }}
<!-- Immagine principale -->
| MmàgginiSupra = {{#if: {{{Mmàggini|}}} | {{{Mmàggini}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P3383|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiSupra = {{{DidascalìaMmàgginiSupra|}}}
<!-- Produzione -->
| Vuci1 = Rigista
| Valuri1 = {{#if: {{{Rigista|}}} | {{{Rigista}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P57|from={{{Wikidata}}}}} }} }}
| Gruppu1 = Produzzioni
| Classi1 = {{#if: {{{Rigista|}}} | plainlist }}
| Prupità1 = P57
{{#if: {{{Produtturi|}}}
| {{!}} Vuci2 = Produtturi
{{!}} Valuri2 = {{#if: {{{Produtturi|}}} | {{{Produtturi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P162|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu2 = Produzzioni
{{!}} Classi2 = plainlist
{{!}} Prupità2 = P162
}}
{{#if: {{{ProdutturiEsecutivu|}}}
| {{!}} Vuci3 = Produtturi esecutivu
{{!}} Valuri3 = {{#if: {{{ProdutturiEsecutivu|}}} | {{{ProdutturiEsecutivu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1431|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu3 = Produzzioni
{{!}} Classi3 = plainlist
{{!}} Prupità3 = P1431
}}
| Vuci4 = Sceneggiatura
| Valuri4 = {{#if: {{{Sceneggiatura|}}} | {{{Sceneggiatura}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P58|from={{{Wikidata}}}}} }} }}
| Gruppu4 = Produzzioni
| Classi4 = {{#if: {{{Sceneggiatura|}}} | plainlist }}
| Prupità4 = P58
{{#if: {{{Suggettu|}}}
| {{!}} Vuci5 = Suggettu
{{!}} Valuri5 = {{#if: {{{Suggettu|}}} | {{{Suggettu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P7937|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu5 = Produzzioni
{{!}} Prupità5 = P7937
}}
{{#if: {{{Narraturi|}}}
| {{!}} Vuci6 = Narraturi
{{!}} Valuri6 = {{#if: {{{Narraturi|}}} | {{{Narraturi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2438|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu6 = Produzzioni
{{!}} Prupità6 = P2438
}}
<!-- Cast -->
{{#if: {{{AttoriPrincipali|}}}{{{AttoriSecundari|}}}{{{Cameo|}}}
| {{!}} Abbirtenza1 = Cast
}}
{{#if: {{{AttoriPrincipali|}}}
| {{!}} Vuci7 = Attori principali
{{!}} Valuri7 = {{#if: {{{AttoriPrincipali|}}} | {{{AttoriPrincipali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P161|from={{{Wikidata}}}}} }} }}
{{!}} Classi7 = plainlist
{{!}} Prupità7 = P161
}}
{{#if: {{{AttoriSecundari|}}}
| {{!}} Vuci8 = Àutri attori
{{!}} Valuri8 = {{{AttoriSecundari|}}}
{{!}} Classi8 = plainlist
}}
{{#if: {{{Cameo|}}}
| {{!}} Vuci9 = Cameo
{{!}} Valuri9 = {{{Cameo|}}}
{{!}} Classi9 = plainlist
}}
<!-- Crew tecnico -->
{{#if: {{{MusicaDi|}}}{{{Futugrafia|}}}{{{Muntaggiu|}}}{{{Scenografia|}}}{{{Custumi|}}}{{{Truccu|}}}{{{EffettiSpeciali|}}}
| {{!}} Abbirtenza2 = Crew tecnicu
}}
{{#if: {{{MusicaDi|}}}
| {{!}} Vuci10 = Musica
{{!}} Valuri10 = {{#if: {{{MusicaDi|}}} | {{{MusicaDi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P86|from={{{Wikidata}}}}} }} }}
{{!}} Prupità10 = P86
}}
{{#if: {{{Futugrafia|}}}
| {{!}} Vuci11 = Futugrafia
{{!}} Valuri11 = {{#if: {{{Futugrafia|}}} | {{{Futugrafia}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P344|from={{{Wikidata}}}}} }} }}
{{!}} Prupità11 = P344
}}
{{#if: {{{Muntaggiu|}}}
| {{!}} Vuci12 = Muntaggiu
{{!}} Valuri12 = {{#if: {{{Muntaggiu|}}} | {{{Muntaggiu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1040|from={{{Wikidata}}}}} }} }}
{{!}} Classi12 = plainlist
{{!}} Prupità12 = P1040
}}
{{#if: {{{Scenografia|}}}
| {{!}} Vuci13 = Scenografia
{{!}} Valuri13 = {{#if: {{{Scenografia|}}} | {{{Scenografia}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2554|from={{{Wikidata}}}}} }} }}
{{!}} Prupità13 = P2554
}}
{{#if: {{{Custumi|}}}
| {{!}} Vuci14 = Custumi
{{!}} Valuri14 = {{#if: {{{Custumi|}}} | {{{Custumi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2515|from={{{Wikidata}}}}} }} }}
{{!}} Prupità14 = P2515
}}
{{#if: {{{Truccu|}}}
| {{!}} Vuci15 = Truccu
{{!}} Valuri15 = {{#if: {{{Truccu|}}} | {{{Truccu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P4805|from={{{Wikidata}}}}} }} }}
{{!}} Prupità15 = P4805
}}
{{#if: {{{EffettiSpeciali|}}}
| {{!}} Vuci16 = Effetti speciali
{{!}} Valuri16 = {{#if: {{{EffettiSpeciali|}}} | {{{EffettiSpeciali}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P859|from={{{Wikidata}}}}} }} }}
{{!}} Prupità16 = P859
}}
<!-- Produzione e distribuzione -->
| Vuci17 = Casa di produzzioni
| Valuri17 = {{#if: {{{CasaProduzzioni|}}} | {{{CasaProduzzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P272|from={{{Wikidata}}}}} }} }}
| Gruppu17 = Produzzioni e distribuzzioni
| Classi17 = {{#if: {{{CasaProduzzioni|}}} | plainlist }}
| Prupità17 = P272
{{#if: {{{DistributuDa|}}}
| {{!}} Vuci18 = Distribuzzioni
{{!}} Valuri18 = {{#if: {{{DistributuDa|}}} | {{{DistributuDa}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P750|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu18 = Produzzioni e distribuzzioni
{{!}} Classi18 = plainlist
{{!}} Prupità18 = P750
}}
| Vuci19 = Data di uscita
| Valuri19 = {{#if: {{{DataUscita|}}} | {{{DataUscita}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P577|from={{{Wikidata}}}}} }} }}
| Gruppu19 = Produzzioni e distribuzzioni
| Prupità19 = P577
{{#if: {{{DataUscitaItalia|}}}
| {{!}} Vuci20 = Italia
{{!}} Valuri20 = {{{DataUscitaItalia|}}}
{{!}} Gruppu20 = Produzzioni e distribuzzioni
}}
{{#if: {{{DataUscitaUSA|}}}
| {{!}} Vuci21 = USA
{{!}} Valuri21 = {{{DataUscitaUSA|}}}
{{!}} Gruppu21 = Produzzioni e distribuzzioni
}}
<!-- Dati tecnici -->
| Vuci22 = Durata
| Valuri22 = {{#if: {{{Durata|}}} | {{{Durata}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2047|from={{{Wikidata}}}}} }} }}
| Gruppu22 = Dati tecnici
| Prupità22 = P2047
{{#if: {{{Tipu|}}}
| {{!}} Vuci23 = Tipu
{{!}} Valuri23 = {{#if: {{{Tipu|}}} | {{{Tipu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P462|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu23 = Dati tecnici
{{!}} Prupità23 = P462
}}
{{#if: {{{RapportuAspettu|}}}
| {{!}} Vuci24 = Rapportu aspettu
{{!}} Valuri24 = {{#if: {{{RapportuAspettu|}}} | {{{RapportuAspettu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2061|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu24 = Dati tecnici
{{!}} Prupità24 = P2061
}}
{{#if: {{{Formatu|}}}
| {{!}} Vuci25 = Formatu
{{!}} Valuri25 = {{#if: {{{Formatu|}}} | {{{Formatu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P3212|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu25 = Dati tecnici
{{!}} Prupità25 = P3212
}}
| Vuci26 = Gèniri
| Valuri26 = {{#if: {{{Gèniri|}}} | {{{Gèniri}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P136|from={{{Wikidata}}}}} }} }}
| Gruppu26 = Dati tecnici
| Classi26 = {{#if: {{{Gèniri|}}} | plainlist }}
| Prupità26 = P136
| Vuci27 = Lingua
| Valuri27 = {{#if: {{{Lingua|}}} | {{{Lingua}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P364|from={{{Wikidata}}}}} }} }}
| Gruppu27 = Dati tecnici
| Classi27 = {{#if: {{{Lingua|}}} | plainlist }}
| Prupità27 = P364
| Vuci28 = Paìsi
| Valuri28 = {{#if: {{{Paìsi|}}} | {{{Paìsi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P495|from={{{Wikidata}}}}} }} }}
| Gruppu28 = Dati tecnici
| Classi28 = {{#if: {{{Paìsi|}}} | plainlist }}
| Prupità28 = P495
<!-- Produzione -->
{{#if: {{{LuochiRiprese|}}}{{{Costi|}}}{{{Incassi|}}}{{{IncassiItalia|}}}{{{IncassiUSA|}}}
| {{!}} Abbirtenza3 = Produzzioni
}}
{{#if: {{{LuochiRiprese|}}}
| {{!}} Vuci29 = Lochi riprese
{{!}} Valuri29 = {{#if: {{{LuochiRiprese|}}} | {{{LuochiRiprese}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P915|from={{{Wikidata}}}}} }} }}
{{!}} Classi29 = plainlist
{{!}} Prupità29 = P915
}}
{{#if: {{{Costi|}}}
| {{!}} Vuci30 = Budget
{{!}} Valuri30 = {{#if: {{{Costi|}}} | {{{Costi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2130|from={{{Wikidata}}}}} }} }}
{{!}} Prupità30 = P2130
}}
{{#if: {{{Incassi|}}}
| {{!}} Vuci31 = Incassi
{{!}} Valuri31 = {{#if: {{{Incassi|}}} | {{{Incassi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2142|from={{{Wikidata}}}}} }} }}
{{!}} Prupità31 = P2142
}}
{{#if: {{{IncassiItalia|}}}
| {{!}} Vuci32 = Italia
{{!}} Valuri32 = {{{IncassiItalia|}}}
}}
{{#if: {{{IncassiUSA|}}}
| {{!}} Vuci33 = USA
{{!}} Valuri33 = {{{IncassiUSA|}}}
}}
<!-- Accoglienza -->
{{#if: {{{PremiFamusi|}}}{{{Nominazioni|}}}{{{Cirtificazzioni|}}}{{{Critica|}}}
| {{!}} Abbirtenza4 = Accoglienza
}}
{{#if: {{{PremiFamusi|}}}
| {{!}} Vuci34 = Premi
{{!}} Valuri34 = {{#if: {{{PremiFamusi|}}} | {{{PremiFamusi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P166|from={{{Wikidata}}}}} }} }}
{{!}} Classi34 = plainlist
{{!}} Prupità34 = P166
}}
{{#if: {{{Nominazioni|}}}
| {{!}} Vuci35 = Nominazioni
{{!}} Valuri35 = {{#if: {{{Nominazioni|}}} | {{{Nominazioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1411|from={{{Wikidata}}}}} }} }}
{{!}} Classi35 = plainlist
{{!}} Prupità35 = P1411
}}
{{#if: {{{Cirtificazzioni|}}}
| {{!}} Vuci36 = Classificazzioni
{{!}} Valuri36 = {{#if: {{{Cirtificazzioni|}}} | {{{Cirtificazzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1657|from={{{Wikidata}}}}} }} }}
{{!}} Classi36 = plainlist
{{!}} Prupità36 = P1657
}}
{{#if: {{{Critica|}}}
| {{!}} Vuci37 = Critica
{{!}} Valuri37 = {{{Critica|}}}
{{!}} Classi37 = plainlist
}}
<!-- Sequel e franchise -->
{{#if: {{{FilmPricidenti|}}}{{{FilmSuccissivu|}}}{{{Franchise|}}}{{{Sequel|}}}{{{Prequel|}}}
| {{!}} Abbirtenza5 = Serii
}}
{{#if: {{{FilmPricidenti|}}}
| {{!}} Vuci38 = Pricidenti
{{!}} Valuri38 = {{#if: {{{FilmPricidenti|}}} | {{{FilmPricidenti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P155|from={{{Wikidata}}}}} }} }}
{{!}} Prupità38 = P155
}}
{{#if: {{{FilmSuccissivu|}}}
| {{!}} Vuci39 = Succissivu
{{!}} Valuri39 = {{#if: {{{FilmSuccissivu|}}} | {{{FilmSuccissivu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P156|from={{{Wikidata}}}}} }} }}
{{!}} Prupità39 = P156
}}
{{#if: {{{Franchise|}}}
| {{!}} Vuci40 = Franchise
{{!}} Valuri40 = {{#if: {{{Franchise|}}} | {{{Franchise}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P179|from={{{Wikidata}}}}} }} }}
{{!}} Prupità40 = P179
}}
{{#if: {{{Sequel|}}}
| {{!}} Vuci41 = Sequel
{{!}} Valuri41 = {{#if: {{{Sequel|}}} | {{{Sequel}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P747|from={{{Wikidata}}}}} }} }}
{{!}} Classi41 = plainlist
{{!}} Prupità41 = P747
}}
{{#if: {{{Prequel|}}}
| {{!}} Vuci42 = Prequel
{{!}} Valuri42 = {{#if: {{{Prequel|}}} | {{{Prequel}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1434|from={{{Wikidata}}}}} }} }}
{{!}} Classi42 = plainlist
{{!}} Prupità42 = P1434
}}
<!-- Collegamenti -->
{{#if: {{{SituWeb|}}}
| {{!}} Vuci50 = Situ web
{{!}} Valuri50 = {{#if: {{{SituWeb|}}} | [{{{SituWeb}}} {{{SituWeb}}}] | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P856|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu50 = Lijami
{{!}} Prupità50 = P856
}}
<!-- Footer -->
| PediPàggina = {{{PediPàggina|}}}
| LijamiWikidata = {{#if: {{{Wikidata|}}}|yes}}
}}</includeonly>
277k7x68ho8n9ruf7xd41m0ia4tibvp
Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css
2
66310
770449
770439
2025-07-04T12:29:46Z
GianAntonucci
46609
770449
sanitized-css
text/css
/* Reset list styling for plainlist */
.plainlist ol,
.plainlist ul {
margin: 0;
padding: 0;
list-style: none; /* Remove bullets */
line-height: inherit;
}
/* Basic plainlist item styling */
.plainlist li {
margin: 0;
padding: 0;
color: inherit; /* Inherit color from parent */
}
/* Ensure plainlist is block-level */
.plainlist {
display: block;
}
/* Nested list support */
.plainlist ol ol,
.plainlist ol ul,
.plainlist ul ol,
.plainlist ul ul {
margin-left: 1em;
margin-top: 0.25em;
}
/* Special handling for plainlist in infobox context */
.tessira .plainlist li,
.tessira_valuri .plainlist li {
padding-left: 0;
text-indent: 0;
}
/* Ensure proper spacing between list items */
.plainlist li + li {
margin-top: 0.25em;
}
/* Dark mode support for plainlist */
html.skin-theme-clientpref-night .plainlist li {
color: inherit;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .plainlist li {
color: inherit;
}
}
m8147996s3q9zn2pqgl1whyrboocf4v
770459
770449
2025-07-04T12:49:15Z
GianAntonucci
46609
770459
sanitized-css
text/css
/* Plainlist styles - removes bullets and indentation from lists */
/* Reset list styling */
.plainlist ol,
.plainlist ul {
margin: 0;
padding: 0;
list-style: none;
line-height: inherit;
}
/* Basic list item styling */
.plainlist li {
margin: 0;
padding: 0;
color: inherit;
}
/* Ensure plainlist container is block-level */
.plainlist {
display: block;
}
/* Nested list support with small indent */
.plainlist ol ol,
.plainlist ol ul,
.plainlist ul ol,
.plainlist ul ul {
margin-left: 1em;
margin-top: 0.25em;
}
/* Remove any default browser spacing */
.plainlist ul,
.plainlist ol {
margin-block-start: 0;
margin-block-end: 0;
padding-inline-start: 0;
}
/* Spacing between list items */
.plainlist li + li {
margin-top: 0.25em;
}
/* Special handling for Tèssira infoboxes */
.tessira .plainlist ul,
.tessira .plainlist ol,
.tessira_valuri .plainlist ul,
.tessira_valuri .plainlist ol {
margin: 0 !important;
padding: 0 !important;
}
.tessira .plainlist li,
.tessira_valuri .plainlist li {
padding-left: 0 !important;
margin-left: 0 !important;
text-indent: 0 !important;
}
/* Dark mode support */
html.skin-theme-clientpref-night .plainlist li {
color: inherit;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .plainlist li {
color: inherit;
}
}
28uc1aw99te8c4pzp345vyocqacwefg
770464
770459
2025-07-04T13:01:18Z
GianAntonucci
46609
770464
sanitized-css
text/css
/* Plainlist styles - removes bullets and indentation from lists */
/* Reset list styling */
.plainlist ol,
.plainlist ul {
margin: 0;
padding: 0;
list-style: none;
line-height: inherit;
background: transparent !important;
}
/* Basic list item styling */
.plainlist li {
margin: 0;
padding: 0;
color: inherit;
background: transparent !important;
}
/* Ensure plainlist container is block-level with no background */
.plainlist {
display: block;
background: transparent !important;
}
/* Nested list support with small indent */
.plainlist ol ol,
.plainlist ol ul,
.plainlist ul ol,
.plainlist ul ul {
margin-left: 1em;
margin-top: 0.25em;
background: transparent !important;
}
/* Remove any default browser spacing */
.plainlist ul,
.plainlist ol {
margin-block-start: 0;
margin-block-end: 0;
padding-inline-start: 0;
}
/* Spacing between list items */
.plainlist li + li {
margin-top: 0.25em;
}
/* Special handling for Tèssira infoboxes */
.tessira .plainlist,
.tessira_valuri .plainlist {
background: transparent !important;
}
.tessira .plainlist ul,
.tessira .plainlist ol,
.tessira_valuri .plainlist ul,
.tessira_valuri .plainlist ol {
margin: 0 !important;
padding: 0 !important;
background: transparent !important;
}
.tessira .plainlist li,
.tessira_valuri .plainlist li {
padding-left: 0 !important;
margin-left: 0 !important;
text-indent: 0 !important;
background: transparent !important;
}
/* Ensure div wrappers are transparent */
div.plainlist {
background: transparent !important;
}
/* Dark mode support */
html.skin-theme-clientpref-night .plainlist,
html.skin-theme-clientpref-night .plainlist ul,
html.skin-theme-clientpref-night .plainlist ol,
html.skin-theme-clientpref-night .plainlist li,
html.skin-theme-clientpref-night div.plainlist {
color: inherit;
background: transparent !important;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .plainlist,
html.skin-theme-clientpref-os .plainlist ul,
html.skin-theme-clientpref-os .plainlist ol,
html.skin-theme-clientpref-os .plainlist li,
html.skin-theme-clientpref-os div.plainlist {
color: inherit;
background: transparent !important;
}
}
15wdsq2hhmxawsdlrzbg5jjau8sorbe
770469
770464
2025-07-04T13:09:00Z
GianAntonucci
46609
770469
sanitized-css
text/css
/* Tèssira Infobox Styles */
/* Main container */
.tessira {
width: 300px;
border: 1px solid #CCC;
border-radius: 6px;
margin: 0 15px 15px 0;
padding: 10px;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
color: #333;
float: right;
font-size: 14px;
}
.tessira_no_float {
float: none;
margin-left: auto;
margin-right: auto;
}
.tessira_child_wrapper {
display: inline-block;
border: 1px solid #CCC;
border-radius: 6px;
padding: 8px;
margin: 0 15px 15px 0;
background: #F9F9F9;
box-shadow: 0px 4px 8px rgba(0,0,0,0.1);
color: #333;
font-size: 14px;
}
/* Titles & subtitles */
.tessira_titulu {
font-size: 18px;
font-weight: bold;
text-align: center;
color: #333;
padding: 12px;
background: #EDEDED;
border-radius: 6px 6px 0 0;
border-bottom: 2px solid #CCC;
}
.tessira_suttatitulu {
font-size: 16px;
font-weight: normal;
text-align: center;
color: #555;
padding: 8px;
background: #F1F1F1;
border-bottom: 1px solid #CCC;
font-style: italic;
}
/* Supra / Sutta */
.tessira_supra {
font-size: 14px;
font-weight: bold;
text-align: center;
color: #333;
padding: 8px;
background: #F3F3F3;
border-bottom: 1px solid #CCC;
}
.tessira_sutta {
font-size: 13px;
text-align: center;
color: #444;
padding: 8px;
background: #F8F8F8;
border-top: 1px solid #DDD;
}
/* Subheaders */
.tessira_subheader {
font-size: 14px;
font-weight: bold;
text-align: left;
color: #444;
padding: 6px 8px;
background: #EAEAEA;
border-top: 1px solid #DDD;
border-bottom: 1px solid #DDD;
margin: 4px 0;
}
/* Group header row */
.tessira_gruppu > th {
font-size: 14px;
font-weight: bold;
text-align: center;
background: #EFEFEF;
color: #333;
padding: 8px 0;
border-top: 2px solid #CCC;
border-bottom: 1px solid #CCC;
}
/* Label + value cells */
.tessira_vuci {
text-align: left;
font-weight: bold;
color: #444;
padding: 6px 8px;
width: 40%;
background: #F1F1F1;
border-right: 1px solid #DDD;
font-size: 90%;
vertical-align: top;
}
.tessira_valuri {
text-align: left;
padding: 6px 8px;
width: 60%;
font-size: 90%;
background: #FFFFFF;
vertical-align: top;
}
/* Force consistent padding on value cells */
td.tessira_valuri {
padding: 6px 8px !important;
text-indent: 0 !important;
margin: 0 !important;
}
/* List handling in value cells */
.tessira_valuri ul,
.tessira_valuri ol {
margin: 0;
padding-left: 1.5em;
}
.tessira_valuri li {
margin: 0;
padding: 0;
}
/* When plainlist class is applied, remove list formatting */
.tessira_valuri.plainlist ul,
.tessira_valuri.plainlist ol,
.tessira_valuri .plainlist ul,
.tessira_valuri .plainlist ol {
margin: 0;
padding: 0;
list-style: none;
}
.tessira_valuri.plainlist li,
.tessira_valuri .plainlist li {
margin: 0;
padding: 0;
}
/* When hlist class is applied, ensure inline display */
.tessira_valuri.hlist ul,
.tessira_valuri .hlist ul {
margin: 0;
padding: 0;
list-style: none;
}
.tessira_valuri.hlist li,
.tessira_valuri .hlist li {
display: inline;
margin: 0;
padding: 0;
}
/* Images + captions */
.tessira_mmaggini {
text-align: center;
padding: 8px 0 6px;
}
.tessira_mmaggini img {
max-width: 100%;
height: auto;
border: 1px solid #DDD;
}
.tessira_didascalia_mmaggini {
font-size: 12px;
text-align: center;
color: #666;
padding-bottom: 8px;
font-style: italic;
}
.tessira_mmaggini_manu_manca {
text-align: left;
padding: 6px;
}
.tessira_mmaggini_manu_dritta {
text-align: right;
padding: 6px;
}
.tessira_didascalia_mmaggini_manu_manca,
.tessira_didascalia_mmaggini_manu_dritta {
font-size: 12px;
color: #666;
padding-top: 4px;
font-style: italic;
}
/* Footer row */
.tessira_pedi_paggina {
font-size: 0.85em;
color: #666;
text-align: center;
padding: 8px;
border-top: 1px solid #DDD;
background: #F5F5F5;
border-radius: 0 0 6px 6px;
}
/* NavBar row */
.tessira_navbar {
text-align: center;
padding: 6px;
background: #F0F0F0;
font-size: 90%;
color: #444;
border-top: 1px solid #DDD;
margin: 4px 0;
}
html.skin-theme-clientpref-night .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-night .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-night .tessira_valuri {
background: #333;
color: #DDD;
}
/* Dark mode styles */
html.skin-theme-clientpref-night .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-night .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-night .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-night .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .tessira {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_child_wrapper {
background: #222;
border: 1px solid #555;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_titulu {
background: #333;
color: #EEE;
border-bottom: 2px solid #555;
}
html.skin-theme-clientpref-os .tessira_suttatitulu {
background: #333;
color: #DDD;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_supra {
background: #333;
color: #EEE;
border-bottom: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_sutta {
background: #333;
color: #CCC;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_subheader {
background: #444;
color: #EEE;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_gruppu > th {
background: #444;
color: #EEE;
border-top: 2px solid #555;
border-bottom: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_vuci {
background: #444;
color: #FFF;
border-right: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_valuri {
background: #333;
color: #DDD;
}
html.skin-theme-clientpref-os .tessira_mmaggini img {
border: 1px solid #666;
}
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_manca,
html.skin-theme-clientpref-os .tessira_didascalia_mmaggini_manu_dritta {
color: #AAA;
}
html.skin-theme-clientpref-os .tessira_pedi_paggina {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
html.skin-theme-clientpref-os .tessira_navbar {
background: #333;
color: #AAA;
border-top: 1px solid #555;
}
}
ef9s2mv3j5oj30lpnyixjjd5be9z0xk
770470
770469
2025-07-04T13:09:33Z
GianAntonucci
46609
770470
sanitized-css
text/css
/* Plainlist styles - removes bullets and indentation from lists */
/* Reset list styling */
.plainlist ol,
.plainlist ul {
margin: 0;
padding: 0;
list-style: none;
line-height: inherit;
}
/* Basic list item styling */
.plainlist li {
margin: 0;
padding: 0;
color: inherit;
}
/* Ensure plainlist container is block-level */
.plainlist {
display: block;
}
/* Nested list support with small indent */
.plainlist ol ol,
.plainlist ol ul,
.plainlist ul ol,
.plainlist ul ul {
margin-left: 1em;
margin-top: 0.25em;
}
/* Remove any default browser spacing */
.plainlist ul,
.plainlist ol {
margin-block-start: 0;
margin-block-end: 0;
padding-inline-start: 0;
}
/* Spacing between list items */
.plainlist li + li {
margin-top: 0.25em;
}
/* Special handling for Tèssira infoboxes */
.tessira .plainlist ul,
.tessira .plainlist ol,
.tessira_valuri .plainlist ul,
.tessira_valuri .plainlist ol {
margin: 0 !important;
padding: 0 !important;
}
.tessira .plainlist li,
.tessira_valuri .plainlist li {
padding-left: 0 !important;
margin-left: 0 !important;
text-indent: 0 !important;
}
/* Dark mode support */
html.skin-theme-clientpref-night .plainlist li {
color: inherit;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .plainlist li {
color: inherit;
}
}
28uc1aw99te8c4pzp345vyocqacwefg
Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css
2
66311
770450
770438
2025-07-04T12:30:01Z
GianAntonucci
46609
770450
sanitized-css
text/css
/* Reset default list styling for hlist */
.hlist dl,
.hlist ol,
.hlist ul {
margin: 0;
padding: 0;
list-style: none;
}
/* Display each item inline */
.hlist dd,
.hlist dt,
.hlist li {
display: inline;
margin: 0;
padding: 0;
color: inherit;
}
/* Use interpunct as separator */
.hlist dd::after,
.hlist dt::after,
.hlist li::after {
content: " · ";
font-weight: normal;
color: #666;
margin: 0 0.25em;
}
/* Remove separator from last item */
.hlist dd:last-child::after,
.hlist dt:last-child::after,
.hlist li:last-child::after {
content: none;
}
/* Parentheses around nested lists */
.hlist dd dl::before,
.hlist dd ol::before,
.hlist dd ul::before {
content: "(";
margin-right: 0.25em;
}
.hlist dd dl::after,
.hlist dd ol::after,
.hlist dd ul::after {
content: ")";
margin-left: 0.25em;
}
/* Ensure proper wrapping */
.hlist {
word-wrap: break-word;
line-height: 1.6;
}
/* Special handling for hlist in infobox */
.tessira_valuri .hlist {
line-height: 1.4;
}
/* Dark mode support for hlist */
html.skin-theme-clientpref-night .hlist dd::after,
html.skin-theme-clientpref-night .hlist dt::after,
html.skin-theme-clientpref-night .hlist li::after {
color: #999;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .hlist dd::after,
html.skin-theme-clientpref-os .hlist dt::after,
html.skin-theme-clientpref-os .hlist li::after {
color: #999;
}
}
cu9zyxdm5m7n7h74qqf29nyomp0nk1r
770460
770450
2025-07-04T12:49:25Z
GianAntonucci
46609
770460
sanitized-css
text/css
/* Hlist styles - displays list items horizontally with separators */
/* Reset list styling */
.hlist dl,
.hlist ol,
.hlist ul {
margin: 0;
padding: 0;
list-style: none;
line-height: 1.6;
}
/* Display items inline */
.hlist dd,
.hlist dt,
.hlist li {
display: inline;
margin: 0;
padding: 0;
color: inherit;
}
/* Interpunct separator between items */
.hlist li::after {
content: " · ";
font-weight: normal;
color: #666;
margin: 0 0.25em;
}
/* Remove separator from last item */
.hlist li:last-child::after {
content: none;
}
/* Definition list separators */
.hlist dd::after,
.hlist dt::after {
content: " · ";
font-weight: normal;
color: #666;
margin: 0 0.25em;
}
.hlist dd:last-child::after,
.hlist dt:last-child::after {
content: none;
}
/* Parentheses for nested lists */
.hlist dl dl::before,
.hlist dl ol::before,
.hlist dl ul::before,
.hlist ol dl::before,
.hlist ol ol::before,
.hlist ol ul::before,
.hlist ul dl::before,
.hlist ul ol::before,
.hlist ul ul::before {
content: "(";
}
.hlist dl dl::after,
.hlist dl ol::after,
.hlist dl ul::after,
.hlist ol dl::after,
.hlist ol ol::after,
.hlist ol ul::after,
.hlist ul dl::after,
.hlist ul ol::after,
.hlist ul ul::after {
content: ")";
}
/* Ensure proper wrapping */
.hlist {
word-wrap: break-word;
}
/* Special handling for Tèssira infoboxes */
.tessira_valuri .hlist {
line-height: 1.4;
}
.tessira .hlist ul,
.tessira .hlist ol,
.tessira_valuri .hlist ul,
.tessira_valuri .hlist ol {
margin: 0 !important;
padding: 0 !important;
}
/* Dark mode support */
html.skin-theme-clientpref-night .hlist li::after,
html.skin-theme-clientpref-night .hlist dd::after,
html.skin-theme-clientpref-night .hlist dt::after {
color: #999;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .hlist li::after,
html.skin-theme-clientpref-os .hlist dd::after,
html.skin-theme-clientpref-os .hlist dt::after {
color: #999;
}
}
ou320qwnm1r1ff5yelpzy61mkso3nkr
770465
770460
2025-07-04T13:01:39Z
GianAntonucci
46609
770465
sanitized-css
text/css
/* Hlist styles - displays list items horizontally with separators */
/* Reset list styling */
.hlist dl,
.hlist ol,
.hlist ul {
margin: 0;
padding: 0;
list-style: none;
line-height: 1.6;
background: transparent !important;
}
/* Display items inline */
.hlist dd,
.hlist dt,
.hlist li {
display: inline;
margin: 0;
padding: 0;
color: inherit;
background: transparent !important;
}
/* Interpunct separator between items */
.hlist li::after {
content: " · ";
font-weight: normal;
color: #666;
margin: 0 0.25em;
}
/* Remove separator from last item */
.hlist li:last-child::after {
content: none;
}
/* Definition list separators */
.hlist dd::after,
.hlist dt::after {
content: " · ";
font-weight: normal;
color: #666;
margin: 0 0.25em;
}
.hlist dd:last-child::after,
.hlist dt:last-child::after {
content: none;
}
/* Parentheses for nested lists */
.hlist dl dl::before,
.hlist dl ol::before,
.hlist dl ul::before,
.hlist ol dl::before,
.hlist ol ol::before,
.hlist ol ul::before,
.hlist ul dl::before,
.hlist ul ol::before,
.hlist ul ul::before {
content: "(";
}
.hlist dl dl::after,
.hlist dl ol::after,
.hlist dl ul::after,
.hlist ol dl::after,
.hlist ol ol::after,
.hlist ol ul::after,
.hlist ul dl::after,
.hlist ul ol::after,
.hlist ul ul::after {
content: ")";
}
/* Ensure proper wrapping */
.hlist {
word-wrap: break-word;
background: transparent !important;
}
/* Ensure div wrappers are transparent */
div.hlist {
background: transparent !important;
}
/* Special handling for Tèssira infoboxes */
.tessira .hlist,
.tessira_valuri .hlist {
line-height: 1.4;
background: transparent !important;
}
.tessira .hlist ul,
.tessira .hlist ol,
.tessira_valuri .hlist ul,
.tessira_valuri .hlist ol {
margin: 0 !important;
padding: 0 !important;
background: transparent !important;
}
.tessira .hlist li,
.tessira_valuri .hlist li {
background: transparent !important;
}
/* Dark mode support */
html.skin-theme-clientpref-night .hlist,
html.skin-theme-clientpref-night .hlist ul,
html.skin-theme-clientpref-night .hlist ol,
html.skin-theme-clientpref-night .hlist li,
html.skin-theme-clientpref-night div.hlist {
background: transparent !important;
}
html.skin-theme-clientpref-night .hlist li::after,
html.skin-theme-clientpref-night .hlist dd::after,
html.skin-theme-clientpref-night .hlist dt::after {
color: #999;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .hlist,
html.skin-theme-clientpref-os .hlist ul,
html.skin-theme-clientpref-os .hlist ol,
html.skin-theme-clientpref-os .hlist li,
html.skin-theme-clientpref-os div.hlist {
background: transparent !important;
}
html.skin-theme-clientpref-os .hlist li::after,
html.skin-theme-clientpref-os .hlist dd::after,
html.skin-theme-clientpref-os .hlist dt::after {
color: #999;
}
}
nxvvo7ki4yw1mp8glkhwuhelzf6gbgu
770471
770465
2025-07-04T13:09:41Z
GianAntonucci
46609
770471
sanitized-css
text/css
/* Hlist styles - displays list items horizontally with separators */
/* Reset list styling */
.hlist dl,
.hlist ol,
.hlist ul {
margin: 0;
padding: 0;
list-style: none;
line-height: 1.6;
}
/* Display items inline */
.hlist dd,
.hlist dt,
.hlist li {
display: inline;
margin: 0;
padding: 0;
color: inherit;
}
/* Interpunct separator between items */
.hlist li::after {
content: " · ";
font-weight: normal;
color: #666;
margin: 0 0.25em;
}
/* Remove separator from last item */
.hlist li:last-child::after {
content: none;
}
/* Definition list separators */
.hlist dd::after,
.hlist dt::after {
content: " · ";
font-weight: normal;
color: #666;
margin: 0 0.25em;
}
.hlist dd:last-child::after,
.hlist dt:last-child::after {
content: none;
}
/* Parentheses for nested lists */
.hlist dl dl::before,
.hlist dl ol::before,
.hlist dl ul::before,
.hlist ol dl::before,
.hlist ol ol::before,
.hlist ol ul::before,
.hlist ul dl::before,
.hlist ul ol::before,
.hlist ul ul::before {
content: "(";
}
.hlist dl dl::after,
.hlist dl ol::after,
.hlist dl ul::after,
.hlist ol dl::after,
.hlist ol ol::after,
.hlist ol ul::after,
.hlist ul dl::after,
.hlist ul ol::after,
.hlist ul ul::after {
content: ")";
}
/* Ensure proper wrapping */
.hlist {
word-wrap: break-word;
}
/* Special handling for Tèssira infoboxes */
.tessira_valuri .hlist {
line-height: 1.4;
}
.tessira .hlist ul,
.tessira .hlist ol,
.tessira_valuri .hlist ul,
.tessira_valuri .hlist ol {
margin: 0 !important;
padding: 0 !important;
}
/* Dark mode support */
html.skin-theme-clientpref-night .hlist li::after,
html.skin-theme-clientpref-night .hlist dd::after,
html.skin-theme-clientpref-night .hlist dt::after {
color: #999;
}
@media (prefers-color-scheme: dark) {
html.skin-theme-clientpref-os .hlist li::after,
html.skin-theme-clientpref-os .hlist dd::after,
html.skin-theme-clientpref-os .hlist dt::after {
color: #999;
}
}
ou320qwnm1r1ff5yelpzy61mkso3nkr
Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu
2
66468
770440
770437
2025-07-04T12:00:05Z
GianAntonucci
46609
770440
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
Sta tèssira è a basi pi tutti i pirsunaggi pùbblici. Pò èssiri usata direttamenti o comu basi pi tèssiri cchiù spicìfichi (pulìtici, artisti, scrittùra, ecc.).
== Comu si usa ==
<pre>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu
| Nomu =
| Wikidata =
| Mmàggini =
| Nascita =
| Morti =
| Naziunalità =
| Occupazzioni =
| ...
}}
</pre>
== Paràmitri ==
=== Dati basi ===
* '''Nomu''' - Nomu dû pirsunàggiu
* '''Wikidata''' - ID Wikidata
* '''NomuCumpletu''' - Nomu cumpletu ufficiali
* '''NomuNàscita''' - Nomu â nàscita (si diffirenti)
* '''Pseuònimu''' - Pseuònimu o nomu d'arti
* '''NomuÒrdini''' - Nomu rillijusu (pi membri dû cleru)
=== Mmàggini ===
* '''Mmàggini''' - Futugrafia principali
* '''Didascalìa''' - Didascalìa pâ futugrafia
* '''Firma''' - Mmàggini dâ firma
=== Dati biugràfici ===
* '''Nascita''' - Data di nàscita
* '''LochiNascita''' - Locu di nàscita
* '''Morti''' - Data di morti
* '''LochiMorti''' - Locu di morti
* '''CausaMorti''' - Causa dâ morti
* '''LochiSipurtura''' - Unni è sippillutu
* '''Naziunalità''' - Naziunalità
* '''Cittadinanza''' - Cittadinanza (si diffirenti)
* '''Religioni''' - Religioni
* '''TìtuluNobili''' - Tìtuli nobili
=== Famigghia ===
* '''Patri''' - Nomu dû patri
* '''Matri''' - Nomu dâ matri
* '''CònjugiCivili''' - Cònjugi/maritu/mugghieri
* '''Figghi''' - Figghi
* '''Parenti''' - Àutri parenti mpurtanti
=== Attività ===
* '''Occupazzioni''' - Occupazzioni principali
* '''PiriuduAttività''' - Anni d'attività
* '''OpiriNotèvuli''' - Òpiri o risultati principali
* '''PremiFamusi''' - Premi e ricunuscimenti
* '''PartituPulìticu''' - Partitu pulìticu
* '''GraduMilitari''' - Gradu militari
=== Furmazzjoni ===
* '''StudiUniversitari''' - Università e laurea
* '''StudiScundari''' - Scola sicundaria
* '''Maistri''' - Maistri mpurtanti
=== Àutri ===
* '''SituWeb''' - Situ web ufficiali
* '''PediPàggina''' - Noti o fonti â pedi
* '''NomuMudeḍḍu''' - Nomu dû mudeḍḍu pi navigazzioni
* '''child''' - "yes" pi usari comu tèssira figghia
== Esempiu ==
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Wikidata = Q693833
| no_float = yes
| Tìtulu = Leonardo Sciascia
| MmàgginiSupra = Leonardo_Sciascia.jpg
| DidascalìaMmàgginiSupra = Leonardo Sciascia nta li anni 1960
| Vuci1 = Nascita
| Valuri1 = 8 di jinnaru 1921<br/>[[Racalmuto]], Sicilia
| Vuci2 = Morti
| Valuri2 = 20 di nuvèmmiru 1989 (68 anni)<br/>[[Palermu]], Sicilia
| Vuci3 = Naziunalità
| Valuri3 = [[File:Flag of Italy.svg|20px]] Taliana
| Abbirtenza1 = Attività
| Vuci4 = Occupazzioni
| Valuri4 =
* Scritturi
* Jurnalista
* Pulìticu
| Classi4 = plainlist
| Vuci5 = Piriudu attività
| Valuri5 = 1950–1989
| Vuci6 = Gèniri littrariu
| Valuri6 = Rumanzu, saggi, tiatra
| Abbirtenza2 = Òpiri principali
| Vuci7 = Libbra famusa
| Valuri7 =
* ''Il giorno della civetta'' (1961)
* ''A ciascuno il suo'' (1966)
* ''Todo modo'' (1974)
| Classi7 = plainlist
| Sutta = Unu dî maiuri scrittùra siciliani dû XX sèculu
}}
</noinclude>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| child = {{{child|}}}
| Wikidata = {{{Wikidata|}}}
| Tìtulu = {{#if: {{{Nomu|}}} | {{{Nomu}}} | {{#if: {{{Wikidata|}}} | {{WikidataLabel|from={{{Wikidata}}}}} | {{PAGENAME}} }} }}
| Suttatìtulu = {{#if: {{{Occupazzioni|}}} | {{{Occupazzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P106|from={{{Wikidata}}}}} }} }}
{{#if: {{{NomuCumpletu|}}}{{{Pseuònimu|}}}{{{NomuÒrdini|}}} |
{{!}} Supra = {{#if: {{{NomuCumpletu|}}} | {{{NomuCumpletu}}} | {{#if: {{{Pseuònimu|}}} | {{{Pseuònimu}}} | {{{NomuÒrdini}}} }} }}
}}
| MmàgginiSupra = {{#if: {{{Mmàggini|}}} | {{{Mmàggini}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P18|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiSupra = {{{Didascalìa|}}}
| Vuci1 = Nascita
| Valuri1 = {{#if: {{{Nascita|}}} | {{{Nascita}}} | {{#if: {{{Wikidata|}}} | {{#invoke:Wikidata|formatDate|P569|from={{{Wikidata}}}}} }} }}{{#if: {{{Morti|}}} | | {{#if: {{{Nascita|}}} | {{#if: {{{Wikidata|}}} | | ({{#invoke:Age|age|{{{Nascita}}}}} anni) }} }} }}{{#if: {{{LochiNascita|}}} | <br/>{{{LochiNascita}}} | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P19|from={{{Wikidata}}}}} | <br/>{{Wikidata|1=P19|from={{{Wikidata}}}}} }} }} }}
| Gruppu1 = Dati pirsunali
| Prupità1 = P569
| Vuci2 = {{#if: {{{Morti|}}} | Morti | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P570|from={{{Wikidata}}}}} | Morti }} }} }}
| Valuri2 = {{#if: {{{Morti|}}} | {{{Morti}}} | {{#if: {{{Wikidata|}}} | {{#invoke:Wikidata|formatDate|P570|from={{{Wikidata}}}}} }} }}{{#if: {{{LochiMorti|}}} | <br/>{{{LochiMorti}}} | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P20|from={{{Wikidata}}}}} | <br/>{{Wikidata|1=P20|from={{{Wikidata}}}}} }} }} }}
| Gruppu2 = {{#if: {{{Morti|}}} | Dati pirsunali | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P570|from={{{Wikidata}}}}} | Dati pirsunali }} }} }}
| Prupità2 = P570
| Vuci3 = {{#if: {{{CausaMorti|}}} | Causa dâ morti | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P509|from={{{Wikidata}}}}} | Causa dâ morti }} }} }}
| Valuri3 = {{#if: {{{CausaMorti|}}} | {{{CausaMorti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P509|from={{{Wikidata}}}}} }} }}
| Gruppu3 = {{#if: {{{CausaMorti|}}} | Dati pirsunali | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P509|from={{{Wikidata}}}}} | Dati pirsunali }} }} }}
| Prupità3 = P509
| Vuci4 = {{#if: {{{LochiSipurtura|}}} | Locu di sipurtura | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P119|from={{{Wikidata}}}}} | Locu di sipurtura }} }} }}
| Valuri4 = {{#if: {{{LochiSipurtura|}}} | {{{LochiSipurtura}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P119|from={{{Wikidata}}}}} }} }}
| Gruppu4 = {{#if: {{{LochiSipurtura|}}} | Dati pirsunali | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P119|from={{{Wikidata}}}}} | Dati pirsunali }} }} }}
| Prupità4 = P119
| Vuci5 = Naziunalità
| Valuri5 = {{#if: {{{Naziunalità|}}} | {{{Naziunalità}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P27|from={{{Wikidata}}}}} }} }}
| Gruppu5 = Dati pirsunali
| Prupità5 = P27
| Vuci6 = {{#if: {{{Cittadinanza|}}} | Cittadinanza | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P27|from={{{Wikidata}}}|max=2}} | Cittadinanza }} }} }}
| Valuri6 = {{#if: {{{Cittadinanza|}}} | {{{Cittadinanza}}} | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P27|from={{{Wikidata}}}|max=2}} | {{Wikidata|1=P27|from={{{Wikidata}}}}} }} }} }}
| Gruppu6 = {{#if: {{{Cittadinanza|}}} | Dati pirsunali }}
| Classi6 = {{#if: {{{Cittadinanza|}}} | | plainlist }}
| Vuci7 = {{#if: {{{Religioni|}}} | Religioni | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P140|from={{{Wikidata}}}}} | Religioni }} }} }}
| Valuri7 = {{#if: {{{Religioni|}}} | {{{Religioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P140|from={{{Wikidata}}}}} }} }}
| Gruppu7 = {{#if: {{{Religioni|}}} | Dati pirsunali | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P140|from={{{Wikidata}}}}} | Dati pirsunali }} }} }}
| Prupità7 = P140
| Vuci8 = {{#if: {{{TìtuluNobili|}}} | Tìtulu nobili | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P97|from={{{Wikidata}}}}} | Tìtulu nobili }} }} }}
| Valuri8 = {{#if: {{{TìtuluNobili|}}} | {{{TìtuluNobili}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P97|from={{{Wikidata}}}}} }} }}
| Gruppu8 = {{#if: {{{TìtuluNobili|}}} | Dati pirsunali | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P97|from={{{Wikidata}}}}} | Dati pirsunali }} }} }}
| Prupità8 = P97
| Vuci9 = {{#if: {{{Patri|}}} | Patri | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P22|from={{{Wikidata}}}}} | Patri }} }} }}
| Valuri9 = {{#if: {{{Patri|}}} | {{{Patri}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P22|from={{{Wikidata}}}}} }} }}
| Gruppu9 = {{#if: {{{Patri|}}} | Famigghia | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P22|from={{{Wikidata}}}}} | Famigghia }} }} }}
| Prupità9 = P22
| Vuci10 = {{#if: {{{Matri|}}} | Matri | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P25|from={{{Wikidata}}}}} | Matri }} }} }}
| Valuri10 = {{#if: {{{Matri|}}} | {{{Matri}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P25|from={{{Wikidata}}}}} }} }}
| Gruppu10 = {{#if: {{{Matri|}}} | Famigghia | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P25|from={{{Wikidata}}}}} | Famigghia }} }} }}
| Prupità10 = P25
| Vuci11 = {{#if: {{{CònjugiCivili|}}} | Cònjugi | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P26|from={{{Wikidata}}}}} | Cònjugi }} }} }}
| Valuri11 = {{#if: {{{CònjugiCivili|}}} | {{{CònjugiCivili}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P26|from={{{Wikidata}}}}} }} }}
| Gruppu11 = {{#if: {{{CònjugiCivili|}}} | Famigghia | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P26|from={{{Wikidata}}}}} | Famigghia }} }} }}
| Prupità11 = P26
| Classi11 = plainlist
| Vuci12 = {{#if: {{{Figghi|}}} | Figghi | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P40|from={{{Wikidata}}}}} | Figghi }} }} }}
| Valuri12 = {{#if: {{{Figghi|}}} | {{{Figghi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P40|from={{{Wikidata}}}}} }} }}
| Gruppu12 = {{#if: {{{Figghi|}}} | Famigghia | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P40|from={{{Wikidata}}}}} | Famigghia }} }} }}
| Prupità12 = P40
| Classi12 = plainlist
| Vuci13 = {{#if: {{{Parenti|}}} | Parenti notèvuli }}
| Valuri13 = {{{Parenti|}}}
| Gruppu13 = {{#if: {{{Parenti|}}} | Famigghia }}
| Classi13 = plainlist
| Vuci14 = {{#if: {{{Occupazzioni|}}} | Occupazzioni | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P106|from={{{Wikidata}}}}} | Occupazzioni }} }} }}
| Valuri14 = {{#if: {{{Occupazzioni|}}} | {{{Occupazzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P106|from={{{Wikidata}}}}} }} }}
| Gruppu14 = {{#if: {{{Occupazzioni|}}} | Attività | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P106|from={{{Wikidata}}}}} | Attività }} }} }}
| Prupità14 = P106
| Classi14 = plainlist
| Vuci15 = {{#if: {{{PiriuduAttività|}}} | Piriudu attività | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P2031|from={{{Wikidata}}}}} | Piriudu attività }} }} }}
| Valuri15 = {{#if: {{{PiriuduAttività|}}} | {{{PiriuduAttività}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P2031|from={{{Wikidata}}}}}–{{Wikidata|1=P2032|from={{{Wikidata}}}}} }} }}
| Gruppu15 = {{#if: {{{PiriuduAttività|}}} | Attività | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P2031|from={{{Wikidata}}}}} | Attività }} }} }}
| Vuci16 = {{#if: {{{PartituPulìticu|}}} | Partitu pulìticu | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P102|from={{{Wikidata}}}}} | Partitu pulìticu }} }} }}
| Valuri16 = {{#if: {{{PartituPulìticu|}}} | {{{PartituPulìticu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P102|from={{{Wikidata}}}}} }} }}
| Gruppu16 = {{#if: {{{PartituPulìticu|}}} | Attività | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P102|from={{{Wikidata}}}}} | Attività }} }} }}
| Prupità16 = P102
| Classi16 = plainlist
| Vuci17 = {{#if: {{{GraduMilitari|}}} | Gradu militari | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P410|from={{{Wikidata}}}}} | Gradu militari }} }} }}
| Valuri17 = {{#if: {{{GraduMilitari|}}} | {{{GraduMilitari}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P410|from={{{Wikidata}}}}} }} }}
| Gruppu17 = {{#if: {{{GraduMilitari|}}} | Attività | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P410|from={{{Wikidata}}}}} | Attività }} }} }}
| Prupità17 = P410
| Vuci18 = {{#if: {{{OpiriNotèvuli|}}} | Òpiri notèvuli | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P800|from={{{Wikidata}}}}} | Òpiri notèvuli }} }} }}
| Valuri18 = {{#if: {{{OpiriNotèvuli|}}} | {{{OpiriNotèvuli}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P800|from={{{Wikidata}}}|max=5}} }} }}
| Gruppu18 = {{#if: {{{OpiriNotèvuli|}}} | Attività | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P800|from={{{Wikidata}}}}} | Attività }} }} }}
| Prupità18 = P800
| Classi18 = plainlist
| Vuci19 = {{#if: {{{PremiFamusi|}}} | Premi | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P166|from={{{Wikidata}}}}} | Premi }} }} }}
| Valuri19 = {{#if: {{{PremiFamusi|}}} | {{{PremiFamusi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P166|from={{{Wikidata}}}}} }} }}
| Gruppu19 = {{#if: {{{PremiFamusi|}}} | Attività | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P166|from={{{Wikidata}}}}} | Attività }} }} }}
| Prupità19 = P166
| Classi19 = plainlist
| Vuci20 = {{#if: {{{StudiUniversitari|}}} | Studi universitari | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P69|from={{{Wikidata}}}}} | Studi universitari }} }} }}
| Valuri20 = {{#if: {{{StudiUniversitari|}}} | {{{StudiUniversitari}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P69|from={{{Wikidata}}}}} }} }}
| Gruppu20 = {{#if: {{{StudiUniversitari|}}} | Furmazzjoni | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P69|from={{{Wikidata}}}}} | Furmazzjoni }} }} }}
| Prupità20 = P69
| Classi20 = plainlist
| Vuci21 = {{#if: {{{StudiScundari|}}} | Studi sicundari }}
| Valuri21 = {{{StudiScundari|}}}
| Gruppu21 = {{#if: {{{StudiScundari|}}} | Furmazzjoni }}
| Vuci22 = {{#if: {{{Maistri|}}} | Maistri | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P1066|from={{{Wikidata}}}}} | Maistri }} }} }}
| Valuri22 = {{#if: {{{Maistri|}}} | {{{Maistri}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1066|from={{{Wikidata}}}}} }} }}
| Gruppu22 = {{#if: {{{Maistri|}}} | Furmazzjoni | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P1066|from={{{Wikidata}}}}} | Furmazzjoni }} }} }}
| Prupità22 = P1066
| Classi22 = plainlist
| MmàgginiSutta = {{#if: {{{Firma|}}} | [[File:{{{Firma}}}|150px|center]] | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P109|from={{{Wikidata}}}}} | [[File:{{Wikidata|1=P109|from={{{Wikidata}}}}}|150px|center]] }} }} }}
| DidascalìaMmàgginiSutta = {{#if: {{{Firma|}}} | Firma | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P109|from={{{Wikidata}}}}} | Firma }} }} }}
| Vuci30 = {{#if: {{{SituWeb|}}} | Situ web | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P856|from={{{Wikidata}}}}} | Situ web }} }} }}
| Valuri30 = {{#if: {{{SituWeb|}}} | [{{{SituWeb}}} {{{SituWeb}}}] | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P856|from={{{Wikidata}}}}} }} }}
| Gruppu30 = {{#if: {{{SituWeb|}}} | Lijami | {{#if: {{{Wikidata|}}} | {{#if: {{Wikidata|1=P856|from={{{Wikidata}}}}} | Lijami }} }} }}
| Prupità30 = P856
| PediPàggina = {{{PediPàggina|}}}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|}}}
| LijamiWikidata = {{#if: {{{Wikidata|}}} | yes }}
| Sutta = {{{Sutta|}}}
{{!-- Paràmitri addizziunali passati --}}
{{{1|}}}
{{{2|}}}
{{{3|}}}
{{{4|}}}
{{{5|}}}
{{{6|}}}
{{{7|}}}
{{{8|}}}
{{{9|}}}
{{{10|}}}
}}{{#if: {{{Morti|}}} | | {{#if: {{{PiriuduAttività|}}} |
{{#ifexpr: {{CURRENTYEAR}} < {{#invoke:String|match|{{{PiriuduAttività}}}|(%d%d%d%d)%-}} |
[[Categoria:Tèssiri cu erruri di data]]
}}
}} }}{{#if: {{{Morti|}}} | {{#if: {{{PiriuduAttività|}}} |
{{#ifexpr: {{#time:Y|{{{Morti}}}|en}} < {{#invoke:String|match|{{{PiriuduAttività}}}|%-(%d%d%d%d)}} |
[[Categoria:Tèssiri cu erruri di data]]
}}
}} }}
gm3rqclluo7qu5piyburz1lf1lh9ko6
770442
770440
2025-07-04T12:08:07Z
GianAntonucci
46609
770442
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
Sta tèssira è a basi pi tutti i pirsunaggi pùbblici. Pò èssiri usata direttamenti o comu basi pi tèssiri cchiù spicìfichi (pulìtici, artisti, scrittùra, ecc.).
== Comu si usa ==
<pre>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu
| Nomu =
| Wikidata =
| Mmàggini =
| Nascita =
| Morti =
| Naziunalità =
| Occupazzioni =
| ...
}}
</pre>
== Paràmitri ==
=== Dati basi ===
* '''Nomu''' - Nomu dû pirsunàggiu
* '''Wikidata''' - ID Wikidata
* '''NomuCumpletu''' - Nomu cumpletu ufficiali
* '''NomuNàscita''' - Nomu â nàscita (si diffirenti)
* '''Pseuònimu''' - Pseuònimu o nomu d'arti
* '''NomuÒrdini''' - Nomu rillijusu (pi membri dû cleru)
=== Mmàggini ===
* '''Mmàggini''' - Futugrafia principali
* '''Didascalìa''' - Didascalìa pâ futugrafia
* '''Firma''' - Mmàggini dâ firma
=== Dati biugràfici ===
* '''Nascita''' - Data di nàscita
* '''LochiNascita''' - Locu di nàscita
* '''Morti''' - Data di morti
* '''LochiMorti''' - Locu di morti
* '''CausaMorti''' - Causa dâ morti
* '''LochiSipurtura''' - Unni è sippillutu
* '''Naziunalità''' - Naziunalità
* '''Cittadinanza''' - Cittadinanza (si diffirenti)
* '''Religioni''' - Religioni
* '''TìtuluNobili''' - Tìtuli nobili
=== Famigghia ===
* '''Patri''' - Nomu dû patri
* '''Matri''' - Nomu dâ matri
* '''CònjugiCivili''' - Cònjugi/maritu/mugghieri
* '''Figghi''' - Figghi
* '''Parenti''' - Àutri parenti mpurtanti
=== Attività ===
* '''Occupazzioni''' - Occupazzioni principali
* '''PiriuduAttività''' - Anni d'attività
* '''OpiriNotèvuli''' - Òpiri o risultati principali
* '''PremiFamusi''' - Premi e ricunuscimenti
* '''PartituPulìticu''' - Partitu pulìticu
* '''GraduMilitari''' - Gradu militari
=== Furmazzjoni ===
* '''StudiUniversitari''' - Università e laurea
* '''StudiScundari''' - Scola sicundaria
* '''Maistri''' - Maistri mpurtanti
=== Àutri ===
* '''SituWeb''' - Situ web ufficiali
* '''PediPàggina''' - Noti o fonti â pedi
* '''NomuMudeḍḍu''' - Nomu dû mudeḍḍu pi navigazzioni
* '''child''' - "yes" pi usari comu tèssira figghia
== Esempiu ==
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Wikidata = Q693833
| no_float = yes
| Tìtulu = Leonardo Sciascia
| MmàgginiSupra = Leonardo_Sciascia.jpg
| DidascalìaMmàgginiSupra = Leonardo Sciascia nta li anni 1960
| Vuci1 = Nascita
| Valuri1 = 8 di jinnaru 1921<br/>[[Racalmuto]], Sicilia
| Vuci2 = Morti
| Valuri2 = 20 di nuvèmmiru 1989 (68 anni)<br/>[[Palermu]], Sicilia
| Vuci3 = Naziunalità
| Valuri3 = [[File:Flag of Italy.svg|20px]] Taliana
| Abbirtenza1 = Attività
| Vuci4 = Occupazzioni
| Valuri4 =
* Scritturi
* Jurnalista
* Pulìticu
| Classi4 = plainlist
| Vuci5 = Piriudu attività
| Valuri5 = 1950–1989
| Vuci6 = Gèniri littrariu
| Valuri6 = Rumanzu, saggi, tiatra
| Abbirtenza2 = Òpiri principali
| Vuci7 = Libbra famusa
| Valuri7 =
* ''Il giorno della civetta'' (1961)
* ''A ciascuno il suo'' (1966)
* ''Todo modo'' (1974)
| Classi7 = plainlist
| Sutta = Unu dî maiuri scrittùra siciliani dû XX sèculu
}}
</noinclude>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| child = {{{child|}}}
| Wikidata = {{{Wikidata|}}}
| Tìtulu = {{{Nomu|{{PAGENAME}}}}}
| Suttatìtulu = {{{Occupazzioni|}}}
{{#if: {{{NomuCumpletu|}}}{{{Pseuònimu|}}}{{{NomuÒrdini|}}} |
{{!}} Supra = {{#if: {{{NomuCumpletu|}}} | {{{NomuCumpletu}}} | {{#if: {{{Pseuònimu|}}} | {{{Pseuònimu}}} | {{{NomuÒrdini}}} }} }}
}}
| MmàgginiSupra = {{{Mmàggini|}}}
| DidascalìaMmàgginiSupra = {{{Didascalìa|}}}
| Vuci1 = Nascita
| Valuri1 = {{{Nascita|}}}{{#if: {{{Morti|}}} | | {{#if: {{{Nascita|}}} | ({{#invoke:Age|age|{{{Nascita}}}}} anni) }} }}{{#if: {{{LochiNascita|}}} | <br/>{{{LochiNascita}}} }}
| Gruppu1 = Dati pirsunali
| Vuci2 = {{#if: {{{Morti|}}} | Morti }}
| Valuri2 = {{{Morti|}}}{{#if: {{{LochiMorti|}}} | <br/>{{{LochiMorti}}} }}
| Gruppu2 = {{#if: {{{Morti|}}} | Dati pirsunali }}
| Vuci3 = {{#if: {{{CausaMorti|}}} | Causa dâ morti }}
| Valuri3 = {{{CausaMorti|}}}
| Gruppu3 = {{#if: {{{CausaMorti|}}} | Dati pirsunali }}
| Vuci4 = {{#if: {{{LochiSipurtura|}}} | Locu di sipurtura }}
| Valuri4 = {{{LochiSipurtura|}}}
| Gruppu4 = {{#if: {{{LochiSipurtura|}}} | Dati pirsunali }}
| Vuci5 = {{#if: {{{Naziunalità|}}} | Naziunalità }}
| Valuri5 = {{{Naziunalità|}}}
| Gruppu5 = {{#if: {{{Naziunalità|}}} | Dati pirsunali }}
| Vuci6 = {{#if: {{{Cittadinanza|}}} | Cittadinanza }}
| Valuri6 = {{{Cittadinanza|}}}
| Gruppu6 = {{#if: {{{Cittadinanza|}}} | Dati pirsunali }}
| Classi6 = {{#if: {{{Cittadinanza|}}} | plainlist }}
| Vuci7 = {{#if: {{{Religioni|}}} | Religioni }}
| Valuri7 = {{{Religioni|}}}
| Gruppu7 = {{#if: {{{Religioni|}}} | Dati pirsunali }}
| Vuci8 = {{#if: {{{TìtuluNobili|}}} | Tìtulu nobili }}
| Valuri8 = {{{TìtuluNobili|}}}
| Gruppu8 = {{#if: {{{TìtuluNobili|}}} | Dati pirsunali }}
| Vuci9 = {{#if: {{{Patri|}}} | Patri }}
| Valuri9 = {{{Patri|}}}
| Gruppu9 = {{#if: {{{Patri|}}} | Famigghia }}
| Vuci10 = {{#if: {{{Matri|}}} | Matri }}
| Valuri10 = {{{Matri|}}}
| Gruppu10 = {{#if: {{{Matri|}}} | Famigghia }}
| Vuci11 = {{#if: {{{CònjugiCivili|}}} | Cònjugi }}
| Valuri11 = {{{CònjugiCivili|}}}
| Gruppu11 = {{#if: {{{CònjugiCivili|}}} | Famigghia }}
| Classi11 = {{#if: {{{CònjugiCivili|}}} | plainlist }}
| Vuci12 = {{#if: {{{Figghi|}}} | Figghi }}
| Valuri12 = {{{Figghi|}}}
| Gruppu12 = {{#if: {{{Figghi|}}} | Famigghia }}
| Classi12 = {{#if: {{{Figghi|}}} | plainlist }}
| Vuci13 = {{#if: {{{Parenti|}}} | Parenti notèvuli }}
| Valuri13 = {{{Parenti|}}}
| Gruppu13 = {{#if: {{{Parenti|}}} | Famigghia }}
| Classi13 = {{#if: {{{Parenti|}}} | plainlist }}
| Vuci14 = {{#if: {{{Occupazzioni|}}} | Occupazzioni }}
| Valuri14 = {{{Occupazzioni|}}}
| Gruppu14 = {{#if: {{{Occupazzioni|}}} | Attività }}
| Classi14 = {{#if: {{{Occupazzioni|}}} | plainlist }}
| Vuci15 = {{#if: {{{PiriuduAttività|}}} | Piriudu attività }}
| Valuri15 = {{{PiriuduAttività|}}}
| Gruppu15 = {{#if: {{{PiriuduAttività|}}} | Attività }}
| Vuci16 = {{#if: {{{PartituPulìticu|}}} | Partitu pulìticu }}
| Valuri16 = {{{PartituPulìticu|}}}
| Gruppu16 = {{#if: {{{PartituPulìticu|}}} | Attività }}
| Classi16 = {{#if: {{{PartituPulìticu|}}} | plainlist }}
| Vuci17 = {{#if: {{{GraduMilitari|}}} | Gradu militari }}
| Valuri17 = {{{GraduMilitari|}}}
| Gruppu17 = {{#if: {{{GraduMilitari|}}} | Attività }}
| Vuci18 = {{#if: {{{OpiriNotèvuli|}}} | Òpiri notèvuli }}
| Valuri18 = {{{OpiriNotèvuli|}}}
| Gruppu18 = {{#if: {{{OpiriNotèvuli|}}} | Attività }}
| Classi18 = {{#if: {{{OpiriNotèvuli|}}} | plainlist }}
| Vuci19 = {{#if: {{{PremiFamusi|}}} | Premi }}
| Valuri19 = {{{PremiFamusi|}}}
| Gruppu19 = {{#if: {{{PremiFamusi|}}} | Attività }}
| Classi19 = {{#if: {{{PremiFamusi|}}} | plainlist }}
| Vuci20 = {{#if: {{{StudiUniversitari|}}} | Studi universitari }}
| Valuri20 = {{{StudiUniversitari|}}}
| Gruppu20 = {{#if: {{{StudiUniversitari|}}} | Furmazzjoni }}
| Classi20 = {{#if: {{{StudiUniversitari|}}} | plainlist }}
| Vuci21 = {{#if: {{{StudiScundari|}}} | Studi sicundari }}
| Valuri21 = {{{StudiScundari|}}}
| Gruppu21 = {{#if: {{{StudiScundari|}}} | Furmazzjoni }}
| Vuci22 = {{#if: {{{Maistri|}}} | Maistri }}
| Valuri22 = {{{Maistri|}}}
| Gruppu22 = {{#if: {{{Maistri|}}} | Furmazzjoni }}
| Classi22 = {{#if: {{{Maistri|}}} | plainlist }}
| MmàgginiSutta = {{#if: {{{Firma|}}} | [[File:{{{Firma}}}|150px|center]] }}
| DidascalìaMmàgginiSutta = {{#if: {{{Firma|}}} | Firma }}
| Vuci30 = {{#if: {{{SituWeb|}}} | Situ web }}
| Valuri30 = {{#if: {{{SituWeb|}}} | [{{{SituWeb}}} {{{SituWeb}}}] }}
| Gruppu30 = {{#if: {{{SituWeb|}}} | Lijami }}
| PediPàggina = {{{PediPàggina|}}}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|}}}
| LijamiWikidata = {{#if: {{{Wikidata|}}} | yes }}
| Sutta = {{{Sutta|}}}
<!-- Paràmitri addizziunali passati -->
{{{1|}}}
{{{2|}}}
{{{3|}}}
{{{4|}}}
{{{5|}}}
{{{6|}}}
{{{7|}}}
{{{8|}}}
{{{9|}}}
{{{10|}}}
}}{{#if: {{{Morti|}}} | | {{#if: {{{PiriuduAttività|}}} |
{{#ifexpr: {{CURRENTYEAR}} < {{#invoke:String|match|{{{PiriuduAttività}}}|(%d%d%d%d)%-}} |
[[Categoria:Tèssiri cu erruri di data]]
}}
}} }}{{#if: {{{Morti|}}} | {{#if: {{{PiriuduAttività|}}} |
{{#ifexpr: {{#time:Y|{{{Morti}}}|en}} < {{#invoke:String|match|{{{PiriuduAttività}}}|%-(%d%d%d%d)}} |
[[Categoria:Tèssiri cu erruri di data]]
}}
}} }}
j4kpbupm8p4l9218sxuvec010rep042
770443
770442
2025-07-04T12:10:11Z
GianAntonucci
46609
770443
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
Sta tèssira è a basi pi tutti i pirsunaggi pùbblici. Pò èssiri usata direttamenti o comu basi pi tèssiri cchiù spicìfichi (pulìtici, artisti, scrittùra, ecc.).
== Comu si usa ==
<pre>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu
| Nomu =
| Wikidata =
| Mmàggini =
| Nascita =
| Morti =
| Naziunalità =
| Occupazzioni =
| ...
}}
</pre>
== Paràmitri ==
=== Dati basi ===
* '''Nomu''' - Nomu dû pirsunàggiu
* '''Wikidata''' - ID Wikidata
* '''NomuCumpletu''' - Nomu cumpletu ufficiali
* '''NomuNàscita''' - Nomu â nàscita (si diffirenti)
* '''Pseuònimu''' - Pseuònimu o nomu d'arti
* '''NomuÒrdini''' - Nomu rillijusu (pi membri dû cleru)
=== Mmàggini ===
* '''Mmàggini''' - Futugrafia principali
* '''Didascalìa''' - Didascalìa pâ futugrafia
* '''Firma''' - Mmàggini dâ firma
=== Dati biugràfici ===
* '''Nascita''' - Data di nàscita
* '''LochiNascita''' - Locu di nàscita
* '''Morti''' - Data di morti
* '''LochiMorti''' - Locu di morti
* '''CausaMorti''' - Causa dâ morti
* '''LochiSipurtura''' - Unni è sippillutu
* '''Naziunalità''' - Naziunalità
* '''Cittadinanza''' - Cittadinanza (si diffirenti)
* '''Religioni''' - Religioni
* '''TìtuluNobili''' - Tìtuli nobili
=== Famigghia ===
* '''Patri''' - Nomu dû patri
* '''Matri''' - Nomu dâ matri
* '''CònjugiCivili''' - Cònjugi/maritu/mugghieri
* '''Figghi''' - Figghi
* '''Parenti''' - Àutri parenti mpurtanti
=== Attività ===
* '''Occupazzioni''' - Occupazzioni principali
* '''PiriuduAttività''' - Anni d'attività
* '''OpiriNotèvuli''' - Òpiri o risultati principali
* '''PremiFamusi''' - Premi e ricunuscimenti
* '''PartituPulìticu''' - Partitu pulìticu
* '''GraduMilitari''' - Gradu militari
=== Furmazzjoni ===
* '''StudiUniversitari''' - Università e laurea
* '''StudiScundari''' - Scola sicundaria
* '''Maistri''' - Maistri mpurtanti
=== Àutri ===
* '''SituWeb''' - Situ web ufficiali
* '''PediPàggina''' - Noti o fonti â pedi
* '''NomuMudeḍḍu''' - Nomu dû mudeḍḍu pi navigazzioni
* '''child''' - "yes" pi usari comu tèssira figghia
== Esempiu ==
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Leonardo Sciascia
| MmàgginiSupra = Leonardo_Sciascia.jpg
| DidascalìaMmàgginiSupra = Leonardo Sciascia nta li anni 1960
| Vuci1 = Nascita
| Valuri1 = 8 di jinnaru 1921<br/>[[Racalmuto]], Sicilia
| Gruppu1 = Dati pirsunali
| Vuci2 = Morti
| Valuri2 = 20 di nuvèmmiru 1989 (68 anni)<br/>[[Palermu]], Sicilia
| Gruppu2 = Dati pirsunali
| Vuci3 = Naziunalità
| Valuri3 = [[File:Flag of Italy.svg|20px]] Taliana
| Gruppu3 = Dati pirsunali
| Abbirtenza1 = Attività
| Vuci4 = Occupazzioni
| Valuri4 =
* Scritturi
* Jurnalista
* Pulìticu
| Classi4 = plainlist
| Vuci5 = Piriudu attività
| Valuri5 = 1950–1989
| Vuci6 = Gèniri littrariu
| Valuri6 = Rumanzu, saggi, tiatra
| Abbirtenza2 = Òpiri principali
| Vuci7 = Libbra famusa
| Valuri7 =
* ''Il giorno della civetta'' (1961)
* ''A ciascuno il suo'' (1966)
* ''Todo modo'' (1974)
| Classi7 = plainlist
| Sutta = Unu dî maiuri scrittùra siciliani dû XX sèculu
}}
</noinclude>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| child = {{{child|}}}
| Wikidata = {{{Wikidata|}}}
| Tìtulu = {{{Nomu|{{PAGENAME}}}}}
| Suttatìtulu = {{{Occupazzioni|}}}
{{#if: {{{NomuCumpletu|}}}{{{Pseuònimu|}}}{{{NomuÒrdini|}}} |
{{!}} Supra = {{#if: {{{NomuCumpletu|}}} | {{{NomuCumpletu}}} | {{#if: {{{Pseuònimu|}}} | {{{Pseuònimu}}} | {{{NomuÒrdini}}} }} }}
}}
| MmàgginiSupra = {{{Mmàggini|}}}
| DidascalìaMmàgginiSupra = {{{Didascalìa|}}}
| Vuci1 = Nascita
| Valuri1 = {{{Nascita|}}}{{#if: {{{Morti|}}} | | {{#if: {{{Nascita|}}} | ({{#invoke:Age|age|{{{Nascita}}}}} anni) }} }}{{#if: {{{LochiNascita|}}} | <br/>{{{LochiNascita}}} }}
| Gruppu1 = Dati pirsunali
| Vuci2 = {{#if: {{{Morti|}}} | Morti }}
| Valuri2 = {{{Morti|}}}{{#if: {{{LochiMorti|}}} | <br/>{{{LochiMorti}}} }}
| Gruppu2 = {{#if: {{{Morti|}}} | Dati pirsunali }}
| Vuci3 = {{#if: {{{CausaMorti|}}} | Causa dâ morti }}
| Valuri3 = {{{CausaMorti|}}}
| Gruppu3 = {{#if: {{{CausaMorti|}}} | Dati pirsunali }}
| Vuci4 = {{#if: {{{LochiSipurtura|}}} | Locu di sipurtura }}
| Valuri4 = {{{LochiSipurtura|}}}
| Gruppu4 = {{#if: {{{LochiSipurtura|}}} | Dati pirsunali }}
| Vuci5 = {{#if: {{{Naziunalità|}}} | Naziunalità }}
| Valuri5 = {{{Naziunalità|}}}
| Gruppu5 = {{#if: {{{Naziunalità|}}} | Dati pirsunali }}
| Vuci6 = {{#if: {{{Cittadinanza|}}} | Cittadinanza }}
| Valuri6 = {{{Cittadinanza|}}}
| Gruppu6 = {{#if: {{{Cittadinanza|}}} | Dati pirsunali }}
| Classi6 = {{#if: {{{Cittadinanza|}}} | plainlist }}
| Vuci7 = {{#if: {{{Religioni|}}} | Religioni }}
| Valuri7 = {{{Religioni|}}}
| Gruppu7 = {{#if: {{{Religioni|}}} | Dati pirsunali }}
| Vuci8 = {{#if: {{{TìtuluNobili|}}} | Tìtulu nobili }}
| Valuri8 = {{{TìtuluNobili|}}}
| Gruppu8 = {{#if: {{{TìtuluNobili|}}} | Dati pirsunali }}
| Vuci9 = {{#if: {{{Patri|}}} | Patri }}
| Valuri9 = {{{Patri|}}}
| Gruppu9 = {{#if: {{{Patri|}}} | Famigghia }}
| Vuci10 = {{#if: {{{Matri|}}} | Matri }}
| Valuri10 = {{{Matri|}}}
| Gruppu10 = {{#if: {{{Matri|}}} | Famigghia }}
| Vuci11 = {{#if: {{{CònjugiCivili|}}} | Cònjugi }}
| Valuri11 = {{{CònjugiCivili|}}}
| Gruppu11 = {{#if: {{{CònjugiCivili|}}} | Famigghia }}
| Classi11 = {{#if: {{{CònjugiCivili|}}} | plainlist }}
| Vuci12 = {{#if: {{{Figghi|}}} | Figghi }}
| Valuri12 = {{{Figghi|}}}
| Gruppu12 = {{#if: {{{Figghi|}}} | Famigghia }}
| Classi12 = {{#if: {{{Figghi|}}} | plainlist }}
| Vuci13 = {{#if: {{{Parenti|}}} | Parenti notèvuli }}
| Valuri13 = {{{Parenti|}}}
| Gruppu13 = {{#if: {{{Parenti|}}} | Famigghia }}
| Classi13 = {{#if: {{{Parenti|}}} | plainlist }}
| Vuci14 = {{#if: {{{Occupazzioni|}}} | Occupazzioni }}
| Valuri14 = {{{Occupazzioni|}}}
| Gruppu14 = {{#if: {{{Occupazzioni|}}} | Attività }}
| Classi14 = {{#if: {{{Occupazzioni|}}} | plainlist }}
| Vuci15 = {{#if: {{{PiriuduAttività|}}} | Piriudu attività }}
| Valuri15 = {{{PiriuduAttività|}}}
| Gruppu15 = {{#if: {{{PiriuduAttività|}}} | Attività }}
| Vuci16 = {{#if: {{{PartituPulìticu|}}} | Partitu pulìticu }}
| Valuri16 = {{{PartituPulìticu|}}}
| Gruppu16 = {{#if: {{{PartituPulìticu|}}} | Attività }}
| Classi16 = {{#if: {{{PartituPulìticu|}}} | plainlist }}
| Vuci17 = {{#if: {{{GraduMilitari|}}} | Gradu militari }}
| Valuri17 = {{{GraduMilitari|}}}
| Gruppu17 = {{#if: {{{GraduMilitari|}}} | Attività }}
| Vuci18 = {{#if: {{{OpiriNotèvuli|}}} | Òpiri notèvuli }}
| Valuri18 = {{{OpiriNotèvuli|}}}
| Gruppu18 = {{#if: {{{OpiriNotèvuli|}}} | Attività }}
| Classi18 = {{#if: {{{OpiriNotèvuli|}}} | plainlist }}
| Vuci19 = {{#if: {{{PremiFamusi|}}} | Premi }}
| Valuri19 = {{{PremiFamusi|}}}
| Gruppu19 = {{#if: {{{PremiFamusi|}}} | Attività }}
| Classi19 = {{#if: {{{PremiFamusi|}}} | plainlist }}
| Vuci20 = {{#if: {{{StudiUniversitari|}}} | Studi universitari }}
| Valuri20 = {{{StudiUniversitari|}}}
| Gruppu20 = {{#if: {{{StudiUniversitari|}}} | Furmazzjoni }}
| Classi20 = {{#if: {{{StudiUniversitari|}}} | plainlist }}
| Vuci21 = {{#if: {{{StudiScundari|}}} | Studi sicundari }}
| Valuri21 = {{{StudiScundari|}}}
| Gruppu21 = {{#if: {{{StudiScundari|}}} | Furmazzjoni }}
| Vuci22 = {{#if: {{{Maistri|}}} | Maistri }}
| Valuri22 = {{{Maistri|}}}
| Gruppu22 = {{#if: {{{Maistri|}}} | Furmazzjoni }}
| Classi22 = {{#if: {{{Maistri|}}} | plainlist }}
| MmàgginiSutta = {{#if: {{{Firma|}}} | [[File:{{{Firma}}}|150px|center]] }}
| DidascalìaMmàgginiSutta = {{#if: {{{Firma|}}} | Firma }}
| Vuci30 = {{#if: {{{SituWeb|}}} | Situ web }}
| Valuri30 = {{#if: {{{SituWeb|}}} | [{{{SituWeb}}} {{{SituWeb}}}] }}
| Gruppu30 = {{#if: {{{SituWeb|}}} | Lijami }}
| PediPàggina = {{{PediPàggina|}}}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|}}}
| LijamiWikidata = {{#if: {{{Wikidata|}}} | yes }}
| Sutta = {{{Sutta|}}}
<!-- Paràmitri addizziunali passati -->
{{{1|}}}
{{{2|}}}
{{{3|}}}
{{{4|}}}
{{{5|}}}
{{{6|}}}
{{{7|}}}
{{{8|}}}
{{{9|}}}
{{{10|}}}
}}{{#if: {{{Morti|}}} | | {{#if: {{{PiriuduAttività|}}} |
{{#ifexpr: {{CURRENTYEAR}} < {{#invoke:String|match|{{{PiriuduAttività}}}|(%d%d%d%d)%-}} |
[[Categoria:Tèssiri cu erruri di data]]
}}
}} }}{{#if: {{{Morti|}}} | {{#if: {{{PiriuduAttività|}}} |
{{#ifexpr: {{#time:Y|{{{Morti}}}|en}} < {{#invoke:String|match|{{{PiriuduAttività}}}|%-(%d%d%d%d)}} |
[[Categoria:Tèssiri cu erruri di data]]
}}
}} }}
o2ves80vdywdaf4xydcragflgzkwbyq
770444
770443
2025-07-04T12:11:38Z
GianAntonucci
46609
770444
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
Sta tèssira è a basi pi tutti i pirsunaggi pùbblici. Pò èssiri usata direttamenti o comu basi pi tèssiri cchiù spicìfichi (pulìtici, artisti, scrittùra, ecc.).
== Comu si usa ==
<pre>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu
| Nomu =
| Wikidata =
| Mmàggini =
| Nascita =
| Morti =
| Naziunalità =
| Occupazzioni =
| ...
}}
</pre>
== Paràmitri ==
=== Dati basi ===
* '''Nomu''' - Nomu dû pirsunàggiu
* '''Wikidata''' - ID Wikidata
* '''NomuCumpletu''' - Nomu cumpletu ufficiali
* '''NomuNàscita''' - Nomu â nàscita (si diffirenti)
* '''Pseuònimu''' - Pseuònimu o nomu d'arti
* '''NomuÒrdini''' - Nomu rillijusu (pi membri dû cleru)
=== Mmàggini ===
* '''Mmàggini''' - Futugrafia principali
* '''Didascalìa''' - Didascalìa pâ futugrafia
* '''Firma''' - Mmàggini dâ firma
=== Dati biugràfici ===
* '''Nascita''' - Data di nàscita
* '''LochiNascita''' - Locu di nàscita
* '''Morti''' - Data di morti
* '''LochiMorti''' - Locu di morti
* '''CausaMorti''' - Causa dâ morti
* '''LochiSipurtura''' - Unni è sippillutu
* '''Naziunalità''' - Naziunalità
* '''Cittadinanza''' - Cittadinanza (si diffirenti)
* '''Religioni''' - Religioni
* '''TìtuluNobili''' - Tìtuli nobili
=== Famigghia ===
* '''Patri''' - Nomu dû patri
* '''Matri''' - Nomu dâ matri
* '''CònjugiCivili''' - Cònjugi/maritu/mugghieri
* '''Figghi''' - Figghi
* '''Parenti''' - Àutri parenti mpurtanti
=== Attività ===
* '''Occupazzioni''' - Occupazzioni principali
* '''PiriuduAttività''' - Anni d'attività
* '''OpiriNotèvuli''' - Òpiri o risultati principali
* '''PremiFamusi''' - Premi e ricunuscimenti
* '''PartituPulìticu''' - Partitu pulìticu
* '''GraduMilitari''' - Gradu militari
=== Furmazzjoni ===
* '''StudiUniversitari''' - Università e laurea
* '''StudiScundari''' - Scola sicundaria
* '''Maistri''' - Maistri mpurtanti
=== Àutri ===
* '''SituWeb''' - Situ web ufficiali
* '''PediPàggina''' - Noti o fonti â pedi
* '''NomuMudeḍḍu''' - Nomu dû mudeḍḍu pi navigazzioni
* '''child''' - "yes" pi usari comu tèssira figghia
== Esempiu ==
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Leonardo Sciascia
| MmàgginiSupra = Leonardo_Sciascia.jpg
| DidascalìaMmàgginiSupra = Leonardo Sciascia nta li anni 1960
| Vuci1 = Nascita
| Valuri1 = 8 di jinnaru 1921<br/>[[Racalmuto]], Sicilia
| Gruppu1 = Dati pirsunali
| Vuci2 = Morti
| Valuri2 = 20 di nuvèmmiru 1989 (68 anni)<br/>[[Palermu]], Sicilia
| Gruppu2 = Dati pirsunali
| Vuci3 = Naziunalità
| Valuri3 = [[File:Flag of Italy.svg|20px]] Taliana
| Gruppu3 = Dati pirsunali
| Vuci4 = Occupazzioni
| Valuri4 =
* Scritturi
* Jurnalista
* Pulìticu
| Classi4 = plainlist
| Gruppu4 = Attività
| Vuci5 = Piriudu attività
| Valuri5 = 1950–1989
| Gruppu5 = Attività
| Vuci6 = Gèniri littrariu
| Valuri6 = Rumanzu, saggi, tiatra
| Gruppu6 = Attività
| Vuci7 = Òpiri notèvuli
| Valuri7 =
* ''Il giorno della civetta'' (1961)
* ''A ciascuno il suo'' (1966)
* ''Todo modo'' (1974)
| Classi7 = plainlist
| Gruppu7 = Attività
| Sutta = Unu dî maiuri scrittùra siciliani dû XX sèculu
}}
</noinclude>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| child = {{{child|}}}
| Wikidata = {{{Wikidata|}}}
| Tìtulu = {{{Nomu|{{PAGENAME}}}}}
| Suttatìtulu = {{{Occupazzioni|}}}
{{#if: {{{NomuCumpletu|}}}{{{Pseuònimu|}}}{{{NomuÒrdini|}}} |
{{!}} Supra = {{#if: {{{NomuCumpletu|}}} | {{{NomuCumpletu}}} | {{#if: {{{Pseuònimu|}}} | {{{Pseuònimu}}} | {{{NomuÒrdini}}} }} }}
}}
| MmàgginiSupra = {{{Mmàggini|}}}
| DidascalìaMmàgginiSupra = {{{Didascalìa|}}}
| Vuci1 = Nascita
| Valuri1 = {{{Nascita|}}}{{#if: {{{Morti|}}} | | {{#if: {{{Nascita|}}} | ({{#invoke:Age|age|{{{Nascita}}}}} anni) }} }}{{#if: {{{LochiNascita|}}} | <br/>{{{LochiNascita}}} }}
| Gruppu1 = Dati pirsunali
| Vuci2 = {{#if: {{{Morti|}}} | Morti }}
| Valuri2 = {{{Morti|}}}{{#if: {{{LochiMorti|}}} | <br/>{{{LochiMorti}}} }}
| Gruppu2 = {{#if: {{{Morti|}}} | Dati pirsunali }}
| Vuci3 = {{#if: {{{CausaMorti|}}} | Causa dâ morti }}
| Valuri3 = {{{CausaMorti|}}}
| Gruppu3 = {{#if: {{{CausaMorti|}}} | Dati pirsunali }}
| Vuci4 = {{#if: {{{LochiSipurtura|}}} | Locu di sipurtura }}
| Valuri4 = {{{LochiSipurtura|}}}
| Gruppu4 = {{#if: {{{LochiSipurtura|}}} | Dati pirsunali }}
| Vuci5 = {{#if: {{{Naziunalità|}}} | Naziunalità }}
| Valuri5 = {{{Naziunalità|}}}
| Gruppu5 = {{#if: {{{Naziunalità|}}} | Dati pirsunali }}
| Vuci6 = {{#if: {{{Cittadinanza|}}} | Cittadinanza }}
| Valuri6 = {{{Cittadinanza|}}}
| Gruppu6 = {{#if: {{{Cittadinanza|}}} | Dati pirsunali }}
| Classi6 = {{#if: {{{Cittadinanza|}}} | plainlist }}
| Vuci7 = {{#if: {{{Religioni|}}} | Religioni }}
| Valuri7 = {{{Religioni|}}}
| Gruppu7 = {{#if: {{{Religioni|}}} | Dati pirsunali }}
| Vuci8 = {{#if: {{{TìtuluNobili|}}} | Tìtulu nobili }}
| Valuri8 = {{{TìtuluNobili|}}}
| Gruppu8 = {{#if: {{{TìtuluNobili|}}} | Dati pirsunali }}
| Vuci9 = {{#if: {{{Patri|}}} | Patri }}
| Valuri9 = {{{Patri|}}}
| Gruppu9 = {{#if: {{{Patri|}}} | Famigghia }}
| Vuci10 = {{#if: {{{Matri|}}} | Matri }}
| Valuri10 = {{{Matri|}}}
| Gruppu10 = {{#if: {{{Matri|}}} | Famigghia }}
| Vuci11 = {{#if: {{{CònjugiCivili|}}} | Cònjugi }}
| Valuri11 = {{{CònjugiCivili|}}}
| Gruppu11 = {{#if: {{{CònjugiCivili|}}} | Famigghia }}
| Classi11 = {{#if: {{{CònjugiCivili|}}} | plainlist }}
| Vuci12 = {{#if: {{{Figghi|}}} | Figghi }}
| Valuri12 = {{{Figghi|}}}
| Gruppu12 = {{#if: {{{Figghi|}}} | Famigghia }}
| Classi12 = {{#if: {{{Figghi|}}} | plainlist }}
| Vuci13 = {{#if: {{{Parenti|}}} | Parenti notèvuli }}
| Valuri13 = {{{Parenti|}}}
| Gruppu13 = {{#if: {{{Parenti|}}} | Famigghia }}
| Classi13 = {{#if: {{{Parenti|}}} | plainlist }}
| Vuci14 = {{#if: {{{Occupazzioni|}}} | Occupazzioni }}
| Valuri14 = {{{Occupazzioni|}}}
| Gruppu14 = {{#if: {{{Occupazzioni|}}} | Attività }}
| Classi14 = {{#if: {{{Occupazzioni|}}} | plainlist }}
| Vuci15 = {{#if: {{{PiriuduAttività|}}} | Piriudu attività }}
| Valuri15 = {{{PiriuduAttività|}}}
| Gruppu15 = {{#if: {{{PiriuduAttività|}}} | Attività }}
| Vuci16 = {{#if: {{{PartituPulìticu|}}} | Partitu pulìticu }}
| Valuri16 = {{{PartituPulìticu|}}}
| Gruppu16 = {{#if: {{{PartituPulìticu|}}} | Attività }}
| Classi16 = {{#if: {{{PartituPulìticu|}}} | plainlist }}
| Vuci17 = {{#if: {{{GraduMilitari|}}} | Gradu militari }}
| Valuri17 = {{{GraduMilitari|}}}
| Gruppu17 = {{#if: {{{GraduMilitari|}}} | Attività }}
| Vuci18 = {{#if: {{{OpiriNotèvuli|}}} | Òpiri notèvuli }}
| Valuri18 = {{{OpiriNotèvuli|}}}
| Gruppu18 = {{#if: {{{OpiriNotèvuli|}}} | Attività }}
| Classi18 = {{#if: {{{OpiriNotèvuli|}}} | plainlist }}
| Vuci19 = {{#if: {{{PremiFamusi|}}} | Premi }}
| Valuri19 = {{{PremiFamusi|}}}
| Gruppu19 = {{#if: {{{PremiFamusi|}}} | Attività }}
| Classi19 = {{#if: {{{PremiFamusi|}}} | plainlist }}
| Vuci20 = {{#if: {{{StudiUniversitari|}}} | Studi universitari }}
| Valuri20 = {{{StudiUniversitari|}}}
| Gruppu20 = {{#if: {{{StudiUniversitari|}}} | Furmazzjoni }}
| Classi20 = {{#if: {{{StudiUniversitari|}}} | plainlist }}
| Vuci21 = {{#if: {{{StudiScundari|}}} | Studi sicundari }}
| Valuri21 = {{{StudiScundari|}}}
| Gruppu21 = {{#if: {{{StudiScundari|}}} | Furmazzjoni }}
| Vuci22 = {{#if: {{{Maistri|}}} | Maistri }}
| Valuri22 = {{{Maistri|}}}
| Gruppu22 = {{#if: {{{Maistri|}}} | Furmazzjoni }}
| Classi22 = {{#if: {{{Maistri|}}} | plainlist }}
| MmàgginiSutta = {{#if: {{{Firma|}}} | [[File:{{{Firma}}}|150px|center]] }}
| DidascalìaMmàgginiSutta = {{#if: {{{Firma|}}} | Firma }}
| Vuci30 = {{#if: {{{SituWeb|}}} | Situ web }}
| Valuri30 = {{#if: {{{SituWeb|}}} | [{{{SituWeb}}} {{{SituWeb}}}] }}
| Gruppu30 = {{#if: {{{SituWeb|}}} | Lijami }}
| PediPàggina = {{{PediPàggina|}}}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|}}}
| LijamiWikidata = {{#if: {{{Wikidata|}}} | yes }}
| Sutta = {{{Sutta|}}}
<!-- Paràmitri addizziunali passati -->
{{{1|}}}
{{{2|}}}
{{{3|}}}
{{{4|}}}
{{{5|}}}
{{{6|}}}
{{{7|}}}
{{{8|}}}
{{{9|}}}
{{{10|}}}
}}{{#if: {{{Morti|}}} | | {{#if: {{{PiriuduAttività|}}} |
{{#ifexpr: {{CURRENTYEAR}} < {{#invoke:String|match|{{{PiriuduAttività}}}|(%d%d%d%d)%-}} |
[[Categoria:Tèssiri cu erruri di data]]
}}
}} }}{{#if: {{{Morti|}}} | {{#if: {{{PiriuduAttività|}}} |
{{#ifexpr: {{#time:Y|{{{Morti}}}|en}} < {{#invoke:String|match|{{{PiriuduAttività}}}|%-(%d%d%d%d)}} |
[[Categoria:Tèssiri cu erruri di data]]
}}
}} }}
6jjwjc6htu6gft4bm0dfcnlnc6og9x6
770475
770444
2025-07-04T13:55:06Z
GianAntonucci
46609
770475
wikitext
text/x-wiki
<noinclude>
== Zoccu è ==
Sta tèssira è a basi pi tutti i pirsunaggi pùbblici. Pò èssiri usata direttamenti o comu basi pi tèssiri cchiù spicìfichi (pulìtici, artisti, scrittùra, ecc.).
== Comu si usa ==
<pre>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu
| Nomu =
| Wikidata =
| Mmàggini =
| Nascita =
| Morti =
| Naziunalità =
| Occupazzioni =
| ...
}}
</pre>
== Paràmitri ==
=== Dati basi ===
* '''Nomu''' - Nomu dû pirsunàggiu
* '''Wikidata''' - ID Wikidata
* '''NomuCumpletu''' - Nomu cumpletu ufficiali
* '''NomuNàscita''' - Nomu â nàscita (si diffirenti)
* '''Pseuònimu''' - Pseuònimu o nomu d'arti
* '''NomuÒrdini''' - Nomu rillijusu (pi membri dû cleru)
=== Mmàggini ===
* '''Mmàggini''' - Futugrafia principali
* '''Didascalìa''' - Didascalìa pâ futugrafia
* '''Firma''' - Mmàggini dâ firma
=== Dati biugràfici ===
* '''Nascita''' - Data di nàscita
* '''LochiNascita''' - Locu di nàscita
* '''Morti''' - Data di morti
* '''LochiMorti''' - Locu di morti
* '''CausaMorti''' - Causa dâ morti
* '''LochiSipurtura''' - Unni è sippillutu
* '''Naziunalità''' - Naziunalità
* '''Cittadinanza''' - Cittadinanza (si diffirenti)
* '''Religioni''' - Religioni
* '''TìtuluNobili''' - Tìtuli nobili
=== Famigghia ===
* '''Patri''' - Nomu dû patri
* '''Matri''' - Nomu dâ matri
* '''CònjugiCivili''' - Cònjugi/maritu/mugghieri
* '''Figghi''' - Figghi
* '''Parenti''' - Àutri parenti mpurtanti
=== Attività ===
* '''Occupazzioni''' - Occupazzioni principali
* '''PiriuduAttività''' - Anni d'attività
* '''OpiriNotèvuli''' - Òpiri o risultati principali
* '''PremiFamusi''' - Premi e ricunuscimenti
* '''PartituPulìticu''' - Partitu pulìticu
* '''GraduMilitari''' - Gradu militari
=== Furmazzjoni ===
* '''StudiUniversitari''' - Università e laurea
* '''StudiScundari''' - Scola sicundaria
* '''Maistri''' - Maistri mpurtanti
=== Àutri ===
* '''SituWeb''' - Situ web ufficiali
* '''PediPàggina''' - Noti o fonti â pedi
* '''NomuMudeḍḍu''' - Nomu dû mudeḍḍu pi navigazzioni
* '''child''' - "yes" pi usari comu tèssira figghia
== Esempiu ==
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Tìtulu = Leonardo Sciascia
| MmàgginiSupra = Leonardo_Sciascia.jpg
| DidascalìaMmàgginiSupra = Leonardo Sciascia nta li anni 1960
| Vuci1 = Nascita
| Valuri1 = 8 di jinnaru 1921<br/>[[Racalmuto]], Sicilia
| Gruppu1 = Dati pirsunali
| Vuci2 = Morti
| Valuri2 = 20 di nuvèmmiru 1989 (68 anni)<br/>[[Palermu]], Sicilia
| Gruppu2 = Dati pirsunali
| Vuci3 = Naziunalità
| Valuri3 = [[File:Flag of Italy.svg|20px]] Taliana
| Gruppu3 = Dati pirsunali
| Vuci4 = Occupazzioni
| Valuri4 =
* Scritturi
* Jurnalista
* Pulìticu
| Classi4 = plainlist
| Gruppu4 = Attività
| Vuci5 = Piriudu attività
| Valuri5 = 1950–1989
| Gruppu5 = Attività
| Vuci6 = Gèniri littrariu
| Valuri6 = Rumanzu, saggi, tiatra
| Gruppu6 = Attività
| Vuci7 = Òpiri notèvuli
| Valuri7 =
* ''Il giorno della civetta'' (1961)
* ''A ciascuno il suo'' (1966)
* ''Todo modo'' (1974)
| Classi7 = plainlist
| Gruppu7 = Attività
| Sutta = Unu dî maiuri scrittùra siciliani dû XX sèculu
}}
</noinclude>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| child = {{{child|}}}
| Wikidata = {{{Wikidata|}}}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|}}}
| Tìtulu = {{{Nomu|{{PAGENAME}}}}}
| Suttatìtulu = {{{Occupazzioni|}}}
{{#if: {{{NomuCumpletu|}}}{{{Pseuònimu|}}}{{{NomuÒrdini|}}}
| {{!}} Supra = {{{NomuCumpletu|{{{Pseuònimu|{{{NomuÒrdini|}}}}}}}}}
}}
| MmàgginiSupra = {{{Mmàggini|}}}
| DidascalìaMmàgginiSupra = {{{Didascalìa|}}}
| Vuci1 = Nascita
| Valuri1 = {{{Nascita|}}}{{#if: {{{Morti|}}}||{{#if: {{{Nascita|}}}| ({{#invoke:Age|age|{{{Nascita}}}}} anni)}}}}{{#if: {{{LochiNascita|}}}|<br />{{{LochiNascita}}}}}
| Gruppu1 = Dati pirsunali
{{#if: {{{Morti|}}}
| {{!}} Vuci2 = Morti
{{!}} Valuri2 = {{{Morti}}}{{#if: {{{LochiMorti|}}}|<br />{{{LochiMorti}}}}}
{{!}} Gruppu2 = Dati pirsunali
}}
{{#if: {{{CausaMorti|}}}
| {{!}} Vuci3 = Causa dâ morti
{{!}} Valuri3 = {{{CausaMorti}}}
{{!}} Gruppu3 = Dati pirsunali
}}
{{#if: {{{LochiSipurtura|}}}
| {{!}} Vuci4 = Locu di sipurtura
{{!}} Valuri4 = {{{LochiSipurtura}}}
{{!}} Gruppu4 = Dati pirsunali
}}
{{#if: {{{Naziunalità|}}}
| {{!}} Vuci5 = Naziunalità
{{!}} Valuri5 = {{{Naziunalità}}}
{{!}} Gruppu5 = Dati pirsunali
}}
{{#if: {{{Cittadinanza|}}}
| {{!}} Vuci6 = Cittadinanza
{{!}} Valuri6 = {{{Cittadinanza}}}
{{!}} Gruppu6 = Dati pirsunali
{{!}} Classi6 = plainlist
}}
{{#if: {{{Religioni|}}}
| {{!}} Vuci7 = Religioni
{{!}} Valuri7 = {{{Religioni}}}
{{!}} Gruppu7 = Dati pirsunali
}}
{{#if: {{{TìtuluNobili|}}}
| {{!}} Vuci8 = Tìtulu nobili
{{!}} Valuri8 = {{{TìtuluNobili}}}
{{!}} Gruppu8 = Dati pirsunali
}}
{{#if: {{{Patri|}}}
| {{!}} Vuci9 = Patri
{{!}} Valuri9 = {{{Patri}}}
{{!}} Gruppu9 = Famigghia
}}
{{#if: {{{Matri|}}}
| {{!}} Vuci10 = Matri
{{!}} Valuri10 = {{{Matri}}}
{{!}} Gruppu10 = Famigghia
}}
{{#if: {{{CònjugiCivili|}}}
| {{!}} Vuci11 = Cònjugi
{{!}} Valuri11 = {{{CònjugiCivili}}}
{{!}} Gruppu11 = Famigghia
{{!}} Classi11 = plainlist
}}
{{#if: {{{Figghi|}}}
| {{!}} Vuci12 = Figghi
{{!}} Valuri12 = {{{Figghi}}}
{{!}} Gruppu12 = Famigghia
{{!}} Classi12 = plainlist
}}
{{#if: {{{Parenti|}}}
| {{!}} Vuci13 = Parenti notèvuli
{{!}} Valuri13 = {{{Parenti}}}
{{!}} Gruppu13 = Famigghia
{{!}} Classi13 = plainlist
}}
{{#if: {{{Occupazzioni|}}}
| {{!}} Vuci14 = Occupazzioni
{{!}} Valuri14 = {{{Occupazzioni}}}
{{!}} Gruppu14 = Attività
{{!}} Classi14 = plainlist
}}
{{#if: {{{PiriuduAttività|}}}
| {{!}} Vuci15 = Piriudu attività
{{!}} Valuri15 = {{{PiriuduAttività}}}
{{!}} Gruppu15 = Attività
}}
{{#if: {{{PartituPulìticu|}}}
| {{!}} Vuci16 = Partitu pulìticu
{{!}} Valuri16 = {{{PartituPulìticu}}}
{{!}} Gruppu16 = Attività
{{!}} Classi16 = plainlist
}}
{{#if: {{{GraduMilitari|}}}
| {{!}} Vuci17 = Gradu militari
{{!}} Valuri17 = {{{GraduMilitari}}}
{{!}} Gruppu17 = Attività
}}
{{#if: {{{OpiriNotèvuli|}}}
| {{!}} Vuci18 = Òpiri notèvuli
{{!}} Valuri18 = {{{OpiriNotèvuli}}}
{{!}} Gruppu18 = Attività
{{!}} Classi18 = plainlist
}}
{{#if: {{{PremiFamusi|}}}
| {{!}} Vuci19 = Premi
{{!}} Valuri19 = {{{PremiFamusi}}}
{{!}} Gruppu19 = Attività
{{!}} Classi19 = plainlist
}}
{{#if: {{{StudiUniversitari|}}}
| {{!}} Vuci20 = Studi universitari
{{!}} Valuri20 = {{{StudiUniversitari}}}
{{!}} Gruppu20 = Furmazzjoni
{{!}} Classi20 = plainlist
}}
{{#if: {{{StudiScundari|}}}
| {{!}} Vuci21 = Studi sicundari
{{!}} Valuri21 = {{{StudiScundari}}}
{{!}} Gruppu21 = Furmazzjoni
}}
{{#if: {{{Maistri|}}}
| {{!}} Vuci22 = Maistri
{{!}} Valuri22 = {{{Maistri}}}
{{!}} Gruppu22 = Furmazzjoni
{{!}} Classi22 = plainlist
}}
{{#if: {{{Firma|}}}
| {{!}} MmàgginiSutta = [[File:{{{Firma}}}|150px|center]]
{{!}} DidascalìaMmàgginiSutta = Firma
}}
{{#if: {{{SituWeb|}}}
| {{!}} Vuci30 = Situ web
{{!}} Valuri30 = [{{{SituWeb}}} {{{SituWeb}}}]
{{!}} Gruppu30 = Lijami
}}
| PediPàggina = {{{PediPàggina|}}}
| Sutta = {{{Sutta|}}}
| LijamiWikidata = {{#if: {{{Wikidata|}}}|yes}}
| 1 = {{{1|}}}
| 2 = {{{2|}}}
| 3 = {{{3|}}}
| 4 = {{{4|}}}
| 5 = {{{5|}}}
| 6 = {{{6|}}}
| 7 = {{{7|}}}
| 8 = {{{8|}}}
| 9 = {{{9|}}}
| 10 = {{{10|}}}
}}{{#if: {{{PiriuduAttività|}}}
|{{#if: {{{Morti|}}}
|{{#if: {{#invoke:String|match|s={{{PiriuduAttività}}}|pattern=%-(%d%d%d%d)|nomatch=}}
|{{#ifexpr: {{#time:Y|{{{Morti}}}|en}} < {{#invoke:String|match|s={{{PiriuduAttività}}}|pattern=%-(%d%d%d%d)}}
|[[Categoria:Tèssiri cu erruri di data]]
}}
}}
|{{#if: {{#invoke:String|match|s={{{PiriuduAttività}}}|pattern=(%d%d%d%d)%-|nomatch=}}
|{{#ifexpr: {{CURRENTYEAR}} < {{#invoke:String|match|s={{{PiriuduAttività}}}|pattern=(%d%d%d%d)%-}}
|[[Categoria:Tèssiri cu erruri di data]]
}}
}}
}}
}}
l1dql3sw2oxzljdxuwyuohk0i1sea87
770479
770475
2025-07-04T14:27:48Z
GianAntonucci
46609
770479
wikitext
text/x-wiki
<noinclude>
{{Tèssira dâ ducumintazzioni}}
== Zoccu è ==
'''TèssiraCristianu''' è a tèssira basi pi tutti i pirsunaggi pùbblici. Integra automaticamenti dati di Wikidata e pò èssiri usata direttamenti o comu basi pi tèssiri cchiù spicìfichi (pulìtici, artisti, scrittùra, sportivi, ecc.). Fa parti dû sistema di tèssiri modulari basatu supra [[Mòdulu:Bozza/GianAntonucci/Tèssira]].
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata''': Piglia automaticamenti dati chi mancanu di Wikidata
* '''Sizzioni automatichi''': Ragruppa i campi sutta tìtuli adatti (Dati pirsunali, Famigghia, Attività, Furmazzjoni)
* '''Supportu listi''': Supporta furmattazzioni ''plainlist'' e ''hlist''
* '''Modalità scura''': Supportu cumpletu pî temi scuri
* '''Tèssira figghia''': Pò èssiri ncurpurata nta àutri tèssiri
== Comu si usa ==
=== Esempiu sìmplici ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu
| Nomu = Leonardo Sciascia
| Wikidata = Q13566
| Mmàggini = Leonardo Sciascia.jpg
| Nascita = 8 di jinnaru 1921
| LochiNascita = Racalmuto
| Morti = 20 di nuvèmmiru 1989
| LochiMorti = Palermu
| Occupazzioni = scrittùra, jurnalista
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu
| no_float = yes
| Nomu = Leonardo Sciascia
| Wikidata = Q13566
| Mmàggini = Leonardo Sciascia.jpg
| Nascita = 8 di jinnaru 1921
| LochiNascita = Racalmuto
| Morti = 20 di nuvèmmiru 1989
| LochiMorti = Palermu
| Occupazzioni = scrittùra, jurnalista
}}
=== Esempiu cumpletu ===
<syntaxhighlight lang="wikitext">
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu
| Nomu = Giuseppe Tomasi di Lampedusa
| Wikidata = Q167379
| NomuCumpletu = Giuseppe Tomasi, XII Principe di Lampedusa
| Mmàggini = Giuseppe Tomasi di Lampedusa.jpg
| Didascalìa = Giuseppe Tomasi di Lampedusa ntô 1955
| Nascita = 23 di dicèmmiru 1896
| LochiNascita = Palermu, Sicilia
| Morti = 23 di lugliu 1957
| LochiMorti = Roma, Italia
| CausaMorti = cancru a i purmuna
| LochiSipurtura = Cimiteru dî Cappuccini, Palermu
| Naziunalità = talianu
| Religioni = cattòlica
| TìtuluNobili = XII Prìncipi di Lampedusa
| Patri = Giulio Maria Tomasi
| Matri = Beatrice Mastrogiovanni Tasca Filangeri di Cutò
| CònjugiCivili = Alessandra Wolff Stomersee (1932-1957)
| Occupazzioni = scrittùra, nobili
| PiriuduAttività = 1954-1957
| OpiriNotèvuli = Il Gattopardo
| PremiFamusi = Premiu Strega (1959, pòstumu)
| StudiUniversitari = Università di Roma
| Firma = Firma Tomasi di Lampedusa.svg
| PediPàggina = Fonti: Archiviu Tomasi di Lampedusa
| NomuMudeḍḍu = TèssiraCristianu/Tomasi
}}
</syntaxhighlight>
{{Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu
| no_float = yes
| Nomu = Giuseppe Tomasi di Lampedusa
| Wikidata = Q167379
| NomuCumpletu = Giuseppe Tomasi, XII Principe di Lampedusa
| Mmàggini = Giuseppe Tomasi di Lampedusa.jpg
| Didascalìa = Giuseppe Tomasi di Lampedusa ntô 1955
| Nascita = 23 di dicèmmiru 1896
| LochiNascita = Palermu, Sicilia
| Morti = 23 di lugliu 1957
| LochiMorti = Roma, Italia
| CausaMorti = cancru a i purmuna
| LochiSipurtura = Cimiteru dî Cappuccini, Palermu
| Naziunalità = talianu
| Religioni = cattòlica
| TìtuluNobili = XII Prìncipi di Lampedusa
| Patri = Giulio Maria Tomasi
| Matri = Beatrice Mastrogiovanni Tasca Filangeri di Cutò
| CònjugiCivili = Alessandra Wolff Stomersee (1932-1957)
| Occupazzioni = scrittùra, nobili
| PiriuduAttività = 1954-1957
| OpiriNotèvuli = Il Gattopardo
| PremiFamusi = Premiu Strega (1959, pòstumu)
| StudiUniversitari = Università di Roma
| Firma = Firma Tomasi di Lampedusa.svg
| PediPàggina = Fonti: Archiviu Tomasi di Lampedusa
| NomuMudeḍḍu = TèssiraCristianu/Tomasi
}}
== Paràmitri cumpleti ==
=== Paràmitri basi ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Nomu</code> || Nomu dû pirsunàggiu || Etichetta || Si vacanti, usa u nomu dâ pàggina
|-
| <code>Wikidata</code> || ID Wikidata || — || Es: Q13566 pi Sciascia
|-
| <code>NomuCumpletu</code> || Nomu cumpletu ufficiali || P1477 || Nomu ligali cumpletu
|-
| <code>NomuNàscita</code> || Nomu â nàscita || P1477 || Si diffirenti dû nomu attuali
|-
| <code>Pseuònimu</code> || Pseuònimu o nomu d'arti || P742 || Pi artisti e scrittùra
|-
| <code>NomuÒrdini</code> || Nomu rillijusu || P1635 || Pi membri dû cleru
|}
=== Mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Pusizzioni
|-
| <code>Mmàggini</code> || Futugrafia principali || P18 || Supra
|-
| <code>Didascalìa</code> || Didascalìa pâ futugrafia || — || Sutta a mmàggini
|-
| <code>Firma</code> || Mmàggini dâ firma || P109 || Sutta
|}
=== Sizzioni Dati pirsunali ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Nascita</code> || Data di nàscita || P569 || Formatu: gg di misi aaaa
|-
| <code>LochiNascita</code> || Locu di nàscita || P19 ||
|-
| <code>Morti</code> || Data di morti || P570 ||
|-
| <code>LochiMorti</code> || Locu di morti || P20 ||
|-
| <code>CausaMorti</code> || Causa dâ morti || P509 ||
|-
| <code>LochiSipurtura</code> || Unni è sippillutu || P119 ||
|-
| <code>Naziunalità</code> || Naziunalità || P27 ||
|-
| <code>Cittadinanza</code> || Cittadinanza || P27 || Si diffirenti dâ naziunalità
|-
| <code>Religioni</code> || Religioni || P140 ||
|-
| <code>TìtuluNobili</code> || Tìtuli nobili || P97 ||
|}
=== Sizzioni Famigghia ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Patri</code> || Nomu dû patri || P22 ||
|-
| <code>Matri</code> || Nomu dâ matri || P25 ||
|-
| <code>CònjugiCivili</code> || Cònjugi/maritu/mugghieri || P26 || Supporta listi
|-
| <code>Figghi</code> || Figghi || P40 || Supporta listi
|-
| <code>Parenti</code> || Àutri parenti mpurtanti || P1038 || Supporta listi
|}
=== Sizzioni Attività ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>Occupazzioni</code> || Occupazzioni principali || P106 || Supporta listi
|-
| <code>PiriuduAttività</code> || Anni d'attività || P2031/P2032 || Es: 1950-1990
|-
| <code>OpiriNotèvuli</code> || Òpiri o risultati principali || P800 || Supporta listi
|-
| <code>PremiFamusi</code> || Premi e ricunuscimenti || P166 || Supporta listi
|-
| <code>PartituPulìticu</code> || Partitu pulìticu || P102 || Supporta listi
|-
| <code>GraduMilitari</code> || Gradu militari || P410 ||
|}
=== Sizzioni Furmazzjoni ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata !! Noti
|-
| <code>StudiUniversitari</code> || Università e laurea || P69 || Supporta listi
|-
| <code>StudiScundari</code> || Scola sicundaria || P69 ||
|-
| <code>Maistri</code> || Maistri mpurtanti || P1066 || Supporta listi
|}
=== Àutri paràmitri ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Prupità Wikidata
|-
| <code>SituWeb</code> || Situ web ufficiali || P856
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || —
|-
| <code>NomuMudeḍḍu</code> || Pi navigazzioni || —
|-
| <code>child</code> || "yes" pi tèssira figghia || —
|-
| <code>Sutta</code> || Testu sutta a tèssira || —
|}
== Integrazzioni Wikidata ==
A tèssira supporta automaticamenti sti prupità Wikidata:
* '''P18''' - Mmàggini
* '''P19''' - Locu di nàscita
* '''P20''' - Locu di morti
* '''P22''' - Patri
* '''P25''' - Matri
* '''P26''' - Cònjugi
* '''P27''' - Paìsi di cittadinanza
* '''P40''' - Figghiu
* '''P69''' - Furmatu â
* '''P97''' - Tìtulu nobili
* '''P102''' - Membru dû partitu pulìticu
* '''P106''' - Occupazzioni
* '''P109''' - Firma
* '''P119''' - Locu di sipurtura
* '''P140''' - Religioni
* '''P166''' - Premiu ricivutu
* '''P410''' - Gradu militari
* '''P509''' - Causa dâ morti
* '''P569''' - Data di nàscita
* '''P570''' - Data di morti
* '''P734''' - Cugnomi
* '''P735''' - Nomu
* '''P742''' - Pseuònimu
* '''P800''' - Òpira notèvuli
* '''P856''' - Situ web ufficiali
* '''P1038''' - Parenti
* '''P1066''' - Maistru/Studenti
* '''P1477''' - Nomu di nàscita
* '''P1635''' - Nomu rillijusu
* '''P2031''' - Ncignatu a travagghiari
* '''P2032''' - Fini dû travagghiu
== Noti mpurtanti ==
* '''Wikidata''': Si un paràmitru è vacanti, a tèssira prova a pigghiari u valuri di Wikidata
* '''Sizzioni''': I sizzioni (Dati pirsunali, Famigghia, Attività, Furmazzjoni) appaìunu sulu si ci sunnu dati
* '''Listi''': Pi listi ntê valuri, usa <code>plainlist</code> o <code>hlist</code> ntô paràmitru <code>Classi</code>
* '''Età''': L'età veni calculata automaticamenti si c'è a data di nàscita e manca chidda di morti
* '''Cuntrollu dati''': A tèssira cuntrodda automaticamenti a cuirenza dî dati (es: piriudu attività vs. morti)
== Vidi macari ==
* [[Utenti:GianAntonucci/Bozza/Mòdulu:Tèssira]] - Mòdulu principali
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]] - Pi pulìtici
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraArtista]] - Pi artisti
* [[Aiutu:Tèssiri]] - Guida ginirali
{{Tracciamentu mudeḍḍu}}
[[Categoria:Mudeḍḍi di tèssira]]
[[Categoria:Mudeḍḍi chi usanu Wikidata]]
[[Categoria:Mudeḍḍi di biugrafìa]]
</noinclude>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
<!-- Parametri di sistema -->
| child = {{{child|}}}
| Wikidata = {{{Wikidata|}}}
| NomuMudeḍḍu = {{{NomuMudeḍḍu|}}}
| no_float = {{{no_float|}}}
| inline_style = {{{inline_style|}}}
| style = {{{style|tessira}}}
| debug = {{{debug|}}}
<!-- Nome e titoli -->
| Tìtulu = {{#if: {{{Nomu|}}} | {{{Nomu}}} | {{#if: {{{Wikidata|}}} | {{WikidataLabel|from={{{Wikidata}}}}} | {{PAGENAME}} }} }}
| Suttatìtulu = {{{Occupazzioni|}}}
{{#if: {{{NomuCumpletu|}}}{{{Pseuònimu|}}}{{{NomuÒrdini|}}}
| {{!}} Supra = {{{NomuCumpletu|{{{Pseuònimu|{{{NomuÒrdini|}}}}}}}}}
}}
<!-- Immagine principale -->
| MmàgginiSupra = {{#if: {{{Mmàggini|}}} | {{{Mmàggini}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P18|from={{{Wikidata}}}}} }} }}
| DidascalìaMmàgginiSupra = {{{Didascalìa|}}}
<!-- Dati personali -->
| Vuci1 = Nascita
| Valuri1 = {{#if: {{{Nascita|}}} | {{{Nascita}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P569|from={{{Wikidata}}}}} }} }}{{#if: {{{Morti|}}}||{{#if: {{{Nascita|}}}| ({{#invoke:Age|age|{{{Nascita}}}}} anni)}}}}{{#if: {{{LochiNascita|}}}|<br />{{#if: {{{LochiNascita|}}} | {{{LochiNascita}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P19|from={{{Wikidata}}}}} }} }}}}
| Gruppu1 = Dati pirsunali
| Prupità1 = P569
{{#if: {{{Morti|}}}{{{Wikidata|}}}
| {{!}} Vuci2 = Morti
{{!}} Valuri2 = {{#if: {{{Morti|}}} | {{{Morti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P570|from={{{Wikidata}}}}} }} }}{{#if: {{{LochiMorti|}}}|<br />{{#if: {{{LochiMorti|}}} | {{{LochiMorti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P20|from={{{Wikidata}}}}} }} }}}}
{{!}} Gruppu2 = Dati pirsunali
{{!}} Prupità2 = P570
}}
{{#if: {{{CausaMorti|}}}
| {{!}} Vuci3 = Causa dâ morti
{{!}} Valuri3 = {{#if: {{{CausaMorti|}}} | {{{CausaMorti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P509|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu3 = Dati pirsunali
{{!}} Prupità3 = P509
}}
{{#if: {{{LochiSipurtura|}}}
| {{!}} Vuci4 = Locu di sipurtura
{{!}} Valuri4 = {{#if: {{{LochiSipurtura|}}} | {{{LochiSipurtura}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P119|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu4 = Dati pirsunali
{{!}} Prupità4 = P119
}}
{{#if: {{{Naziunalità|}}}
| {{!}} Vuci5 = Naziunalità
{{!}} Valuri5 = {{#if: {{{Naziunalità|}}} | {{{Naziunalità}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P27|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu5 = Dati pirsunali
{{!}} Prupità5 = P27
}}
{{#if: {{{Cittadinanza|}}}
| {{!}} Vuci6 = Cittadinanza
{{!}} Valuri6 = {{{Cittadinanza|}}}
{{!}} Gruppu6 = Dati pirsunali
{{!}} Classi6 = plainlist
}}
{{#if: {{{Religioni|}}}
| {{!}} Vuci7 = Religioni
{{!}} Valuri7 = {{#if: {{{Religioni|}}} | {{{Religioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P140|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu7 = Dati pirsunali
{{!}} Prupità7 = P140
}}
{{#if: {{{TìtuluNobili|}}}
| {{!}} Vuci8 = Tìtulu nobili
{{!}} Valuri8 = {{#if: {{{TìtuluNobili|}}} | {{{TìtuluNobili}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P97|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu8 = Dati pirsunali
{{!}} Prupità8 = P97
}}
<!-- Famiglia -->
{{#if: {{{Patri|}}}
| {{!}} Vuci9 = Patri
{{!}} Valuri9 = {{#if: {{{Patri|}}} | {{{Patri}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P22|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu9 = Famigghia
{{!}} Prupità9 = P22
}}
{{#if: {{{Matri|}}}
| {{!}} Vuci10 = Matri
{{!}} Valuri10 = {{#if: {{{Matri|}}} | {{{Matri}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P25|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu10 = Famigghia
{{!}} Prupità10 = P25
}}
{{#if: {{{CònjugiCivili|}}}
| {{!}} Vuci11 = Cònjugi
{{!}} Valuri11 = {{#if: {{{CònjugiCivili|}}} | {{{CònjugiCivili}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P26|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu11 = Famigghia
{{!}} Classi11 = plainlist
{{!}} Prupità11 = P26
}}
{{#if: {{{Figghi|}}}
| {{!}} Vuci12 = Figghi
{{!}} Valuri12 = {{#if: {{{Figghi|}}} | {{{Figghi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P40|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu12 = Famigghia
{{!}} Classi12 = plainlist
{{!}} Prupità12 = P40
}}
{{#if: {{{Parenti|}}}
| {{!}} Vuci13 = Parenti notèvuli
{{!}} Valuri13 = {{#if: {{{Parenti|}}} | {{{Parenti}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1038|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu13 = Famigghia
{{!}} Classi13 = plainlist
{{!}} Prupità13 = P1038
}}
<!-- Attività -->
{{#if: {{{Occupazzioni|}}}
| {{!}} Vuci14 = Occupazzioni
{{!}} Valuri14 = {{#if: {{{Occupazzioni|}}} | {{{Occupazzioni}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P106|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu14 = Attività
{{!}} Classi14 = plainlist
{{!}} Prupità14 = P106
}}
{{#if: {{{PiriuduAttività|}}}
| {{!}} Vuci15 = Piriudu attività
{{!}} Valuri15 = {{{PiriuduAttività|}}}
{{!}} Gruppu15 = Attività
}}
{{#if: {{{PartituPulìticu|}}}
| {{!}} Vuci16 = Partitu pulìticu
{{!}} Valuri16 = {{#if: {{{PartituPulìticu|}}} | {{{PartituPulìticu}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P102|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu16 = Attività
{{!}} Classi16 = plainlist
{{!}} Prupità16 = P102
}}
{{#if: {{{GraduMilitari|}}}
| {{!}} Vuci17 = Gradu militari
{{!}} Valuri17 = {{#if: {{{GraduMilitari|}}} | {{{GraduMilitari}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P410|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu17 = Attività
{{!}} Prupità17 = P410
}}
{{#if: {{{OpiriNotèvuli|}}}
| {{!}} Vuci18 = Òpiri notèvuli
{{!}} Valuri18 = {{#if: {{{OpiriNotèvuli|}}} | {{{OpiriNotèvuli}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P800|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu18 = Attività
{{!}} Classi18 = plainlist
{{!}} Prupità18 = P800
}}
{{#if: {{{PremiFamusi|}}}
| {{!}} Vuci19 = Premi
{{!}} Valuri19 = {{#if: {{{PremiFamusi|}}} | {{{PremiFamusi}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P166|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu19 = Attività
{{!}} Classi19 = plainlist
{{!}} Prupità19 = P166
}}
<!-- Formazione -->
{{#if: {{{StudiUniversitari|}}}
| {{!}} Vuci20 = Studi universitari
{{!}} Valuri20 = {{#if: {{{StudiUniversitari|}}} | {{{StudiUniversitari}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P69|qualifier=P512|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu20 = Furmazzjoni
{{!}} Classi20 = plainlist
{{!}} Prupità20 = P69
}}
{{#if: {{{StudiScundari|}}}
| {{!}} Vuci21 = Studi sicundari
{{!}} Valuri21 = {{{StudiScundari|}}}
{{!}} Gruppu21 = Furmazzjoni
}}
{{#if: {{{Maistri|}}}
| {{!}} Vuci22 = Maistri
{{!}} Valuri22 = {{#if: {{{Maistri|}}} | {{{Maistri}}} | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P1066|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu22 = Furmazzjoni
{{!}} Classi22 = plainlist
{{!}} Prupità22 = P1066
}}
<!-- Collegamenti -->
{{#if: {{{SituWeb|}}}
| {{!}} Vuci30 = Situ web
{{!}} Valuri30 = {{#if: {{{SituWeb|}}} | [{{{SituWeb}}} {{{SituWeb}}}] | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P856|from={{{Wikidata}}}}} }} }}
{{!}} Gruppu30 = Lijami
{{!}} Prupità30 = P856
}}
<!-- Firma -->
{{#if: {{{Firma|}}}
| {{!}} MmàgginiSutta = {{#if: {{{Firma|}}} | [[File:{{{Firma}}}|150px|center]] | {{#if: {{{Wikidata|}}} | {{Wikidata|1=P109|from={{{Wikidata}}}}} }} }}
{{!}} DidascalìaMmàgginiSutta = Firma
}}
<!-- Footer -->
| PediPàggina = {{{PediPàggina|}}}
| Sutta = {{{Sutta|}}}
| LijamiWikidata = {{#if: {{{Wikidata|}}}|yes}}
<!-- Parametri custom -->
| 1 = {{{1|}}}
| 2 = {{{2|}}}
| 3 = {{{3|}}}
| 4 = {{{4|}}}
| 5 = {{{5|}}}
| 6 = {{{6|}}}
| 7 = {{{7|}}}
| 8 = {{{8|}}}
| 9 = {{{9|}}}
| 10 = {{{10|}}}
}}{{#if: {{{PiriuduAttività|}}}
|{{#if: {{{Morti|}}}
|{{#if: {{#invoke:String|match|s={{{PiriuduAttività}}}|pattern=%-(%d%d%d%d)|nomatch=}}
|{{#ifexpr: {{#time:Y|{{{Morti}}}|en}} < {{#invoke:String|match|s={{{PiriuduAttività}}}|pattern=%-(%d%d%d%d)}}
|[[Categoria:Tèssiri cu erruri di data]]
}}
}}
|{{#if: {{#invoke:String|match|s={{{PiriuduAttività}}}|pattern=(%d%d%d%d)%-|nomatch=}}
|{{#ifexpr: {{CURRENTYEAR}} < {{#invoke:String|match|s={{{PiriuduAttività}}}|pattern=(%d%d%d%d)%-}}
|[[Categoria:Tèssiri cu erruri di data]]
}}
}}
}}
}}
3i44sd8dca542rg5tjr8nxweis9doqz
Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraStoria
2
66469
770489
2025-07-04T14:50:14Z
GianAntonucci
46609
GianAntonucci spustau la pàggina [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraStoria]] nni [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
770489
wikitext
text/x-wiki
#RINVIA [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
dh9mw3yr0f1rmsqxjfh8qixfz97wfvj
Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCìnamu
2
66470
770494
2025-07-04T16:00:42Z
GianAntonucci
46609
GianAntonucci spustau la pàggina [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCìnamu]] nni [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
770494
wikitext
text/x-wiki
#RINVIA [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
hoyi29mwfapsww7ewp1xktanvw9t1xl
Mòdulu:Bozza/GianAntonucci/Tèssira/doc
828
66471
770498
2025-07-04T16:09:41Z
GianAntonucci
46609
Pàggina nova: == Zoccu è == '''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati. == Carattirìstichi principali == * '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti * '''Sizzioni automatichi'''...
770498
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni automatichi''' - Raggruppa automaticamenti i campi sutta tìtuli di sizzioni basànnusi supra i prupità Wikidata
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Organizza i dati in sizzioni cu autoheader
5. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Paràmitri ==
=== Paràmitri di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Paràmitri di struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Paràmitri di mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Paràmitri di dati ===
==== Campi pridifiniti cu Wikidata ====
Chistu mòdulu supporta automaticamenti fallback Wikidata pi certi campi comuni:
{| class="wikitable"
! Paràmitru !! Prupità Wikidata !! Discrizzioni
|-
| <code>Aria</code> || P2046 || Supirfìci/aria
|-
| <code>Capu</code> || P6 || Capu dû guvernu/statu
|-
| <code>FusuUrariu</code> || P421 || Fusu urariu
|-
| <code>Genti</code> || P1082 || Pupulazzioni
|-
| <code>ISO</code> || P901 || Còdici ISO
|-
| <code>Pusizzioni</code> || P276 || Lucalizzazzioni
|-
| <code>Pruvincia</code> || P131 || Ntâ divisioni amministrativa
|-
| <code>Tipu</code> || P31 || Istanza di
|}
==== Campi numerati ====
Supporta campi numerati da 1 a l'infinitu:
{| class="wikitable"
! Schema !! Discrizzioni !! Esempiu
|-
| <code>Vuci[N]</code> || Etichetta dâ riga N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dâ riga N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dâ riga N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Autoheader ==
U mòdulu pò automaticamenti raggrupari campi in sizzioni basànnusi supra:
* Prupità Wikidata (es: P1082 → "Demographics")
* Etichetti (es: "Genti" → "Demographics")
Configurazzioni attuali:
```lua
Demographics: P1082, "Genti", "Pupulazzioni"
Government: P6, "Mayor", "Capu", "Sìnnacu"
Geography: P276, P2046, P131, P421, "Pusizzioni", "Aria", etc.
History: P31, "Founded", "Tipu", "Data"
Cilibbrazzioni: "Evènti principali", "Partecipanti", "Tradizzioni"
```
== Funziunalità avanzati ==
=== Gestioni righi vacanti ===
Si na riga cunteni sulu rifirimenti o categurìi senza testu visìbbili, veni nascosta ma i sò cuntinuti sunnu aggiunti â fini dâ tèssira.
=== Supportu listi ===
Ricanusci automaticamenti listi wiki:
* Si u valuri ncigna cu `*` o `#`, veni processatu comu lista
* Carica automaticamenti CSS pi `plainlist` e `hlist` si usati
=== Modalità debug ===
Cu `debug=yes`, mustra commenti HTML cu:
* Paràmitri nun ricunusciuti
* Erruri Wikidata
* Tempi di esecuzzioni
== Template chi usanu chistu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraEventiStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraFilm]]
== Esempiu cumpletu ==
```wikitext
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Wikidata = Q13566
| Tìtulu = Leonardo Sciascia
| Suttatìtulu = Scrittùra sicilianu
| MmàgginiSupra = Leonardo Sciascia.jpg
| DidascalìaMmàgginiSupra = Sciascia ntô 1970
<!-- Dati pirsunali - cu autoheader -->
| Vuci1 = Nascita
| Valuri1 = 8 di jinnaru 1921
| Gruppu1 = Dati pirsunali
| Prupità1 = P569
| Vuci2 = Morti
| Valuri2 = 20 di nuvèmmiru 1989
| Gruppu2 = Dati pirsunali
| Prupità2 = P570
<!-- Campi pridifiniti cu fallback Wikidata -->
| Genti = <!-- Pigghia di Wikidata si vacanti -->
| Pusizzioni = Racalmuto
<!-- Listi -->
| Vuci10 = Òpiri principali
| Valuri10 = * Il giorno della civetta
* Todo modo
* Il contesto
| Classi10 = plainlist
| PediPàggina = Fonti: Archiviu Sciascia
| NomuMudeḍḍu = Sciascia
| LijamiWikidata = yes
}}
```
== Erruri comuni ==
* '''Paràmitri nun ricunusciuti''': Usa `debug=yes` pi vidiri quali paràmitri nun sunnu ricunusciuti
* '''Wikidata nun carica''': Cuntrolla l'ID Wikidata è currettu (es: Q12345)
* '''Listi nun furmattati''': Assicùrati di mèttiri spazziu dopu l'asteriscu (* Item)
* '''CSS mancanti''': I percorsi CSS sunnu in modalità sviluppu, cancia `DEV_MODE = false` pi pruduzzioni
== Sviluppu ==
* '''Repository''': [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* '''Test''': [[Mòdulu:Bozza/GianAntonucci/Tèssira/test]]
* '''Discussioni''': [[Discussioni mòdulu:Bozza/GianAntonucci/Tèssira]]
== Vidi macari ==
* [[Aiutu:Tèssiri]] - Guida ginirali supra l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Nfurmazzioni supra l'integrazzioni Wikidata
* [[mw:Extension:TemplateStyles]] - Ducumintazzioni TemplateStyles
[[Categoria:Mòduli Lua]]
[[Categoria:Mòduli pi tèssiri]]
[[Categoria:Mòduli chi usanu Wikidata]]
hycv4098rn5bkjze3nuc21dxcklso6q
770499
770498
2025-07-04T16:11:32Z
GianAntonucci
46609
770499
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni automatichi''' - Raggruppa automaticamenti i campi sutta tìtuli di sizzioni basànnusi supra i prupità Wikidata
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Organizza i dati in sizzioni cu autoheader
5. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Paràmitri ==
=== Paràmitri di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Paràmitri di struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Paràmitri di mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Paràmitri di dati ===
==== Campi pridifiniti cu Wikidata ====
Chistu mòdulu supporta automaticamenti fallback Wikidata pi certi campi comuni:
{| class="wikitable"
! Paràmitru !! Prupità Wikidata !! Discrizzioni
|-
| <code>Aria</code> || P2046 || Supirfìci/aria
|-
| <code>Capu</code> || P6 || Capu dû guvernu/statu
|-
| <code>FusuUrariu</code> || P421 || Fusu urariu
|-
| <code>Genti</code> || P1082 || Pupulazzioni
|-
| <code>ISO</code> || P901 || Còdici ISO
|-
| <code>Pusizzioni</code> || P276 || Lucalizzazzioni
|-
| <code>Pruvincia</code> || P131 || Ntâ divisioni amministrativa
|-
| <code>Tipu</code> || P31 || Istanza di
|}
==== Campi numerati ====
Supporta campi numerati da 1 a l'infinitu:
{| class="wikitable"
! Schema !! Discrizzioni !! Esempiu
|-
| <code>Vuci[N]</code> || Etichetta dâ riga N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dâ riga N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dâ riga N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Autoheader ==
U mòdulu pò automaticamenti raggrupari campi in sizzioni basànnusi supra:
* Prupità Wikidata (es: P1082 → "Demographics")
* Etichetti (es: "Genti" → "Demographics")
Configurazzioni attuali:
```lua
Demographics: P1082, "Genti", "Pupulazzioni"
Government: P6, "Mayor", "Capu", "Sìnnacu"
Geography: P276, P2046, P131, P421, "Pusizzioni", "Aria", etc.
History: P31, "Founded", "Tipu", "Data"
Cilibbrazzioni: "Evènti principali", "Partecipanti", "Tradizzioni"
```
== Funziunalità avanzati ==
=== Gestioni righi vacanti ===
Si na riga cunteni sulu rifirimenti o categurìi senza testu visìbbili, veni nascosta ma i sò cuntinuti sunnu aggiunti â fini dâ tèssira.
=== Supportu listi ===
Ricanusci automaticamenti listi wiki:
* Si u valuri ncigna cu `*` o `#`, veni processatu comu lista
* Carica automaticamenti CSS pi `plainlist` e `hlist` si usati
=== Modalità debug ===
Cu `debug=yes`, mustra commenti HTML cu:
* Paràmitri nun ricunusciuti
* Erruri Wikidata
* Tempi di esecuzzioni
== Template chi usanu chistu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraEventiStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraFilm]]
== Esempiu cumpletu ==
```wikitext
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Wikidata = Q13566
| Tìtulu = Leonardo Sciascia
| Suttatìtulu = Scrittùra sicilianu
| MmàgginiSupra = Leonardo Sciascia.jpg
| DidascalìaMmàgginiSupra = Sciascia ntô 1970
<!-- Dati pirsunali - cu autoheader -->
| Vuci1 = Nascita
| Valuri1 = 8 di jinnaru 1921
| Gruppu1 = Dati pirsunali
| Prupità1 = P569
| Vuci2 = Morti
| Valuri2 = 20 di nuvèmmiru 1989
| Gruppu2 = Dati pirsunali
| Prupità2 = P570
<!-- Campi pridifiniti cu fallback Wikidata -->
| Genti = <!-- Pigghia di Wikidata si vacanti -->
| Pusizzioni = Racalmuto
<!-- Listi -->
| Vuci10 = Òpiri principali
| Valuri10 = * Il giorno della civetta
* Todo modo
* Il contesto
| Classi10 = plainlist
| PediPàggina = Fonti: Archiviu Sciascia
| NomuMudeḍḍu = Sciascia
| LijamiWikidata = yes
}}
```
== Erruri comuni ==
* '''Paràmitri nun ricunusciuti''': Usa `debug=yes` pi vidiri quali paràmitri nun sunnu ricunusciuti
* '''Wikidata nun carica''': Cuntrolla l'ID Wikidata è currettu (es: Q12345)
* '''Listi nun furmattati''': Assicùrati di mèttiri spazziu dopu l'asteriscu (* Item)
* '''CSS mancanti''': I percorsi CSS sunnu in modalità sviluppu, cancia `DEV_MODE = false` pi pruduzzioni
== Sviluppu ==
* '''Repository''': [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* '''Test''': [[Mòdulu:Bozza/GianAntonucci/Tèssira/test]]
* '''Discussioni''': [[Discussioni mòdulu:Bozza/GianAntonucci/Tèssira]]
== Vidi macari ==
* [[Aiutu:Tèssiri]] - Guida ginirali supra l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Nfurmazzioni supra l'integrazzioni Wikidata
* [[mw:Extension:TemplateStyles]] - Ducumintazzioni TemplateStyles
[[Categoria:Mòduli Lua]]
[[Categoria:Mòduli pi tèssiri]]
[[Categoria:Mòduli chi usanu Wikidata]]
7qxloznmoywu38z07y4rtxgkojasiu6
770501
770499
2025-07-04T16:45:17Z
GianAntonucci
46609
770501
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Paràmitri ==
=== Paràmitri di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Paràmitri di struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Paràmitri di mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Paràmitri di dati ===
==== Campi pridifiniti cu Wikidata ====
Chistu mòdulu supporta automaticamenti fallback Wikidata pi certi campi comuni:
{| class="wikitable"
! Paràmitru !! Prupità Wikidata !! Discrizzioni
|-
| <code>Aria</code> || P2046 || Supirfìci/aria
|-
| <code>Capu</code> || P6 || Capu dû guvernu/statu
|-
| <code>FusuUrariu</code> || P421 || Fusu urariu
|-
| <code>Genti</code> || P1082 || Pupulazzioni
|-
| <code>ISO</code> || P901 || Còdici ISO
|-
| <code>Pusizzioni</code> || P276 || Lucalizzazzioni
|-
| <code>Pruvincia</code> || P131 || Ntâ divisioni amministrativa
|-
| <code>Tipu</code> || P31 || Istanza di
|}
==== Campi numerati ====
Supporta campi numerati da 1 a l'infinitu:
{| class="wikitable"
! Schema !! Discrizzioni !! Esempiu
|-
| <code>Vuci[N]</code> || Etichetta dâ riga N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dâ riga N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni manuali dâ riga N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità avanzati ==
=== Gestioni righi vacanti ===
Si na riga cunteni sulu rifirimenti o categurìi senza testu visìbbili, veni nascosta ma i sò cuntinuti sunnu aggiunti â fini dâ tèssira.
=== Supportu listi ===
Ricanusci automaticamenti listi wiki:
* Si u valuri ncigna cu `*` o `#`, veni processatu comu lista
* Carica automaticamenti CSS pi `plainlist` e `hlist` si usati
=== Modalità debug ===
Cu `debug=yes`, mustra commenti HTML cu:
* Paràmitri nun ricunusciuti
* Erruri Wikidata
* Tempi di esecuzzioni
== Template chi usanu chistu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraEventiStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraFilm]]
== Esempiu cumpletu ==
```wikitext
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Wikidata = Q13566
| Tìtulu = Leonardo Sciascia
| Suttatìtulu = Scrittùra sicilianu
| MmàgginiSupra = Leonardo Sciascia.jpg
| DidascalìaMmàgginiSupra = Sciascia ntô 1970
<!-- Dati pirsunali -->
| Vuci1 = Nascita
| Valuri1 = 8 di jinnaru 1921
| Gruppu1 = Dati pirsunali
| Prupità1 = P569
| Vuci2 = Morti
| Valuri2 = 20 di nuvèmmiru 1989
| Gruppu2 = Dati pirsunali
| Prupità2 = P570
<!-- Campi pridifiniti cu fallback Wikidata -->
| Genti = <!-- Pigghia di Wikidata si vacanti -->
| Pusizzioni = Racalmuto
<!-- Listi -->
| Vuci10 = Òpiri principali
| Valuri10 = * Il giorno della civetta
* Todo modo
* Il contesto
| Classi10 = plainlist
| PediPàggina = Fonti: Archiviu Sciascia
| NomuMudeḍḍu = Sciascia
| LijamiWikidata = yes
}}
```
== Erruri comuni ==
* '''Paràmitri nun ricunusciuti''': Usa `debug=yes` pi vidiri quali paràmitri nun sunnu ricunusciuti
* '''Wikidata nun carica''': Cuntrolla l'ID Wikidata è currettu (es: Q12345)
* '''Listi nun furmattati''': Assicùrati di mèttiri spazziu dopu l'asteriscu (* Item)
* '''CSS mancanti''': I percorsi CSS sunnu in modalità sviluppu, cancia `DEV_MODE = false` pi pruduzzioni
== Sviluppu ==
* '''Repository''': [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* '''Test''': [[Mòdulu:Bozza/GianAntonucci/Tèssira/test]]
* '''Discussioni''': [[Discussioni mòdulu:Bozza/GianAntonucci/Tèssira]]
== Vidi macari ==
* [[Aiutu:Tèssiri]] - Guida ginirali supra l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Nfurmazzioni supra l'integrazzioni Wikidata
* [[mw:Extension:TemplateStyles]] - Ducumintazzioni TemplateStyles
[[Categoria:Mòduli Lua]]
[[Categoria:Mòduli pi tèssiri]]
[[Categoria:Mòduli chi usanu Wikidata]]
3o69j1tpm4kixe71s0702d1drxit3hk
770506
770501
2025-07-04T20:18:25Z
GianAntonucci
46609
/* Paràmitri di dati */
770506
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Paràmitri ==
=== Paràmitri di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Paràmitri di struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Paràmitri di mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Paràmitri di dati ===
==== Campi numerati ====
Chistu mòdulu supporta campi numerati da 1 a l'infinitu:
{| class="wikitable"
! Schema !! Discrizzioni !! Esempiu
|-
| <code>Vuci[N]</code> || Etichetta dâ riga N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dâ riga N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni manuali dâ riga N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità avanzati ==
=== Gestioni righi vacanti ===
Si na riga cunteni sulu rifirimenti o categurìi senza testu visìbbili, veni nascosta ma i sò cuntinuti sunnu aggiunti â fini dâ tèssira.
=== Supportu listi ===
Ricanusci automaticamenti listi wiki:
* Si u valuri ncigna cu `*` o `#`, veni processatu comu lista
* Carica automaticamenti CSS pi `plainlist` e `hlist` si usati
=== Modalità debug ===
Cu `debug=yes`, mustra commenti HTML cu:
* Paràmitri nun ricunusciuti
* Erruri Wikidata
* Tempi di esecuzzioni
== Template chi usanu chistu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraEventiStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraFilm]]
== Esempiu cumpletu ==
```wikitext
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Wikidata = Q13566
| Tìtulu = Leonardo Sciascia
| Suttatìtulu = Scrittùra sicilianu
| MmàgginiSupra = Leonardo Sciascia.jpg
| DidascalìaMmàgginiSupra = Sciascia ntô 1970
<!-- Dati pirsunali -->
| Vuci1 = Nascita
| Valuri1 = 8 di jinnaru 1921
| Gruppu1 = Dati pirsunali
| Prupità1 = P569
| Vuci2 = Morti
| Valuri2 = 20 di nuvèmmiru 1989
| Gruppu2 = Dati pirsunali
| Prupità2 = P570
<!-- Campi pridifiniti cu fallback Wikidata -->
| Genti = <!-- Pigghia di Wikidata si vacanti -->
| Pusizzioni = Racalmuto
<!-- Listi -->
| Vuci10 = Òpiri principali
| Valuri10 = * Il giorno della civetta
* Todo modo
* Il contesto
| Classi10 = plainlist
| PediPàggina = Fonti: Archiviu Sciascia
| NomuMudeḍḍu = Sciascia
| LijamiWikidata = yes
}}
```
== Erruri comuni ==
* '''Paràmitri nun ricunusciuti''': Usa `debug=yes` pi vidiri quali paràmitri nun sunnu ricunusciuti
* '''Wikidata nun carica''': Cuntrolla l'ID Wikidata è currettu (es: Q12345)
* '''Listi nun furmattati''': Assicùrati di mèttiri spazziu dopu l'asteriscu (* Item)
* '''CSS mancanti''': I percorsi CSS sunnu in modalità sviluppu, cancia `DEV_MODE = false` pi pruduzzioni
== Sviluppu ==
* '''Repository''': [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* '''Test''': [[Mòdulu:Bozza/GianAntonucci/Tèssira/test]]
* '''Discussioni''': [[Discussioni mòdulu:Bozza/GianAntonucci/Tèssira]]
== Vidi macari ==
* [[Aiutu:Tèssiri]] - Guida ginirali supra l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Nfurmazzioni supra l'integrazzioni Wikidata
* [[mw:Extension:TemplateStyles]] - Ducumintazzioni TemplateStyles
[[Categoria:Mòduli Lua]]
[[Categoria:Mòduli pi tèssiri]]
[[Categoria:Mòduli chi usanu Wikidata]]
rflprstlafdwqdn2tpdak419t5oyb0f
770507
770506
2025-07-04T20:39:25Z
GianAntonucci
46609
770507
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Paràmitri ==
=== Paràmitri di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Paràmitri di struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Paràmitri di mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Paràmitri di dati ===
==== Campi numerati ====
Chistu mòdulu supporta campi numerati da 1 a l'infinitu:
{| class="wikitable"
! Schema !! Discrizzioni !! Esempiu
|-
| <code>Vuci[N]</code> || Etichetta dâ riga N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dâ riga N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni manuali dâ riga N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità avanzati ==
=== Gestioni righi vacanti ===
Si na riga cunteni sulu rifirimenti o categurìi senza testu visìbbili, veni nascosta ma i sò cuntinuti sunnu aggiunti â fini dâ tèssira.
=== Supportu listi ===
Ricanusci automaticamenti listi wiki:
* Si u valuri ncigna cu `*` o `#`, veni processatu comu lista
* Carica automaticamenti CSS pi `plainlist` e `hlist` si usati
=== Modalità debug ===
Cu `debug=yes`, mustra commenti HTML cu:
* Paràmitri nun ricunusciuti
* Erruri Wikidata
* Tempi di esecuzzioni
== Template chi usanu chistu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraEventiStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraFilm]]
== Esempiu cumpletu ==
```wikitext
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Wikidata = Q13566
| Tìtulu = Leonardo Sciascia
| Suttatìtulu = Scrittùra sicilianu
| MmàgginiSupra = Leonardo Sciascia.jpg
| DidascalìaMmàgginiSupra = Sciascia ntô 1970
<!-- Dati pirsunali -->
| Vuci1 = Nascita
| Valuri1 = 8 di jinnaru 1921
| Gruppu1 = Dati pirsunali
| Prupità1 = P569
| Vuci2 = Morti
| Valuri2 = 20 di nuvèmmiru 1989
| Gruppu2 = Dati pirsunali
| Prupità2 = P570
<!-- Campi pridifiniti cu fallback Wikidata -->
| Genti = <!-- Pigghia di Wikidata si vacanti -->
| Pusizzioni = Racalmuto
<!-- Listi -->
| Vuci10 = Òpiri principali
| Valuri10 = * Il giorno della civetta
* Todo modo
* Il contesto
| Classi10 = plainlist
| PediPàggina = Fonti: Archiviu Sciascia
| NomuMudeḍḍu = Sciascia
| LijamiWikidata = yes
}}
```
== Li sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu l'astariscu: <code>* Item</code>.
== Ammienti di sbiluppu ==
* '''Còdici''': [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* '''Sàmina''': [[Mòdulu:Bozza/GianAntonucci/Tèssira/test]]
* '''Discurruta''': [[Discurruta Mòdulu:Bozza/GianAntonucci/Tèssira]]
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina di ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
4aqf7r0sxahqq6pxl2ckbeempo93vui
770508
770507
2025-07-04T20:40:33Z
GianAntonucci
46609
/* Li sbagghi cchiù cumuni */
770508
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Paràmitri ==
=== Paràmitri di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Paràmitri di struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Paràmitri di mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Paràmitri di dati ===
==== Campi numerati ====
Chistu mòdulu supporta campi numerati da 1 a l'infinitu:
{| class="wikitable"
! Schema !! Discrizzioni !! Esempiu
|-
| <code>Vuci[N]</code> || Etichetta dâ riga N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dâ riga N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni manuali dâ riga N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità avanzati ==
=== Gestioni righi vacanti ===
Si na riga cunteni sulu rifirimenti o categurìi senza testu visìbbili, veni nascosta ma i sò cuntinuti sunnu aggiunti â fini dâ tèssira.
=== Supportu listi ===
Ricanusci automaticamenti listi wiki:
* Si u valuri ncigna cu `*` o `#`, veni processatu comu lista
* Carica automaticamenti CSS pi `plainlist` e `hlist` si usati
=== Modalità debug ===
Cu `debug=yes`, mustra commenti HTML cu:
* Paràmitri nun ricunusciuti
* Erruri Wikidata
* Tempi di esecuzzioni
== Template chi usanu chistu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraEventiStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraFilm]]
== Esempiu cumpletu ==
```wikitext
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Wikidata = Q13566
| Tìtulu = Leonardo Sciascia
| Suttatìtulu = Scrittùra sicilianu
| MmàgginiSupra = Leonardo Sciascia.jpg
| DidascalìaMmàgginiSupra = Sciascia ntô 1970
<!-- Dati pirsunali -->
| Vuci1 = Nascita
| Valuri1 = 8 di jinnaru 1921
| Gruppu1 = Dati pirsunali
| Prupità1 = P569
| Vuci2 = Morti
| Valuri2 = 20 di nuvèmmiru 1989
| Gruppu2 = Dati pirsunali
| Prupità2 = P570
<!-- Campi pridifiniti cu fallback Wikidata -->
| Genti = <!-- Pigghia di Wikidata si vacanti -->
| Pusizzioni = Racalmuto
<!-- Listi -->
| Vuci10 = Òpiri principali
| Valuri10 = * Il giorno della civetta
* Todo modo
* Il contesto
| Classi10 = plainlist
| PediPàggina = Fonti: Archiviu Sciascia
| NomuMudeḍḍu = Sciascia
| LijamiWikidata = yes
}}
```
== Li sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Ammienti di sbiluppu ==
* '''Còdici''': [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* '''Sàmina''': [[Mòdulu:Bozza/GianAntonucci/Tèssira/test]]
* '''Discurruta''': [[Discurruta Mòdulu:Bozza/GianAntonucci/Tèssira]]
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina di ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
o01itm709h3y5wq9kh4z8cumgn9g2by
770509
770508
2025-07-04T20:40:48Z
GianAntonucci
46609
/* Li sbagghi cchiù cumuni */
770509
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Paràmitri ==
=== Paràmitri di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Paràmitri di struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Paràmitri di mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Paràmitri di dati ===
==== Campi numerati ====
Chistu mòdulu supporta campi numerati da 1 a l'infinitu:
{| class="wikitable"
! Schema !! Discrizzioni !! Esempiu
|-
| <code>Vuci[N]</code> || Etichetta dâ riga N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dâ riga N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni manuali dâ riga N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità avanzati ==
=== Gestioni righi vacanti ===
Si na riga cunteni sulu rifirimenti o categurìi senza testu visìbbili, veni nascosta ma i sò cuntinuti sunnu aggiunti â fini dâ tèssira.
=== Supportu listi ===
Ricanusci automaticamenti listi wiki:
* Si u valuri ncigna cu `*` o `#`, veni processatu comu lista
* Carica automaticamenti CSS pi `plainlist` e `hlist` si usati
=== Modalità debug ===
Cu `debug=yes`, mustra commenti HTML cu:
* Paràmitri nun ricunusciuti
* Erruri Wikidata
* Tempi di esecuzzioni
== Template chi usanu chistu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraEventiStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraFilm]]
== Esempiu cumpletu ==
```wikitext
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Wikidata = Q13566
| Tìtulu = Leonardo Sciascia
| Suttatìtulu = Scrittùra sicilianu
| MmàgginiSupra = Leonardo Sciascia.jpg
| DidascalìaMmàgginiSupra = Sciascia ntô 1970
<!-- Dati pirsunali -->
| Vuci1 = Nascita
| Valuri1 = 8 di jinnaru 1921
| Gruppu1 = Dati pirsunali
| Prupità1 = P569
| Vuci2 = Morti
| Valuri2 = 20 di nuvèmmiru 1989
| Gruppu2 = Dati pirsunali
| Prupità2 = P570
<!-- Campi pridifiniti cu fallback Wikidata -->
| Genti = <!-- Pigghia di Wikidata si vacanti -->
| Pusizzioni = Racalmuto
<!-- Listi -->
| Vuci10 = Òpiri principali
| Valuri10 = * Il giorno della civetta
* Todo modo
* Il contesto
| Classi10 = plainlist
| PediPàggina = Fonti: Archiviu Sciascia
| NomuMudeḍḍu = Sciascia
| LijamiWikidata = yes
}}
```
== I sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Ammienti di sbiluppu ==
* '''Còdici''': [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* '''Sàmina''': [[Mòdulu:Bozza/GianAntonucci/Tèssira/test]]
* '''Discurruta''': [[Discurruta Mòdulu:Bozza/GianAntonucci/Tèssira]]
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina di ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
cm6pkhm9ly8kru5l9rwcsidk20wk92j
770510
770509
2025-07-04T20:41:23Z
GianAntonucci
46609
/* Talìa macari */
770510
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Paràmitri ==
=== Paràmitri di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Paràmitri di struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Paràmitri di mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Paràmitri di dati ===
==== Campi numerati ====
Chistu mòdulu supporta campi numerati da 1 a l'infinitu:
{| class="wikitable"
! Schema !! Discrizzioni !! Esempiu
|-
| <code>Vuci[N]</code> || Etichetta dâ riga N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dâ riga N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni manuali dâ riga N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità avanzati ==
=== Gestioni righi vacanti ===
Si na riga cunteni sulu rifirimenti o categurìi senza testu visìbbili, veni nascosta ma i sò cuntinuti sunnu aggiunti â fini dâ tèssira.
=== Supportu listi ===
Ricanusci automaticamenti listi wiki:
* Si u valuri ncigna cu `*` o `#`, veni processatu comu lista
* Carica automaticamenti CSS pi `plainlist` e `hlist` si usati
=== Modalità debug ===
Cu `debug=yes`, mustra commenti HTML cu:
* Paràmitri nun ricunusciuti
* Erruri Wikidata
* Tempi di esecuzzioni
== Template chi usanu chistu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraEventiStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraFilm]]
== Esempiu cumpletu ==
```wikitext
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Wikidata = Q13566
| Tìtulu = Leonardo Sciascia
| Suttatìtulu = Scrittùra sicilianu
| MmàgginiSupra = Leonardo Sciascia.jpg
| DidascalìaMmàgginiSupra = Sciascia ntô 1970
<!-- Dati pirsunali -->
| Vuci1 = Nascita
| Valuri1 = 8 di jinnaru 1921
| Gruppu1 = Dati pirsunali
| Prupità1 = P569
| Vuci2 = Morti
| Valuri2 = 20 di nuvèmmiru 1989
| Gruppu2 = Dati pirsunali
| Prupità2 = P570
<!-- Campi pridifiniti cu fallback Wikidata -->
| Genti = <!-- Pigghia di Wikidata si vacanti -->
| Pusizzioni = Racalmuto
<!-- Listi -->
| Vuci10 = Òpiri principali
| Valuri10 = * Il giorno della civetta
* Todo modo
* Il contesto
| Classi10 = plainlist
| PediPàggina = Fonti: Archiviu Sciascia
| NomuMudeḍḍu = Sciascia
| LijamiWikidata = yes
}}
```
== I sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Ammienti di sbiluppu ==
* '''Còdici''': [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* '''Sàmina''': [[Mòdulu:Bozza/GianAntonucci/Tèssira/test]]
* '''Discurruta''': [[Discurruta Mòdulu:Bozza/GianAntonucci/Tèssira]]
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
iaok9ns28jhxlnova2q47ak2dunv0ob
770511
770510
2025-07-04T20:42:00Z
GianAntonucci
46609
/* Esempiu cumpletu */
770511
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Paràmitri ==
=== Paràmitri di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Paràmitri di struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Paràmitri di mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Paràmitri di dati ===
==== Campi numerati ====
Chistu mòdulu supporta campi numerati da 1 a l'infinitu:
{| class="wikitable"
! Schema !! Discrizzioni !! Esempiu
|-
| <code>Vuci[N]</code> || Etichetta dâ riga N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dâ riga N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni manuali dâ riga N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità avanzati ==
=== Gestioni righi vacanti ===
Si na riga cunteni sulu rifirimenti o categurìi senza testu visìbbili, veni nascosta ma i sò cuntinuti sunnu aggiunti â fini dâ tèssira.
=== Supportu listi ===
Ricanusci automaticamenti listi wiki:
* Si u valuri ncigna cu `*` o `#`, veni processatu comu lista
* Carica automaticamenti CSS pi `plainlist` e `hlist` si usati
=== Modalità debug ===
Cu `debug=yes`, mustra commenti HTML cu:
* Paràmitri nun ricunusciuti
* Erruri Wikidata
* Tempi di esecuzzioni
== Template chi usanu chistu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraEventiStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraFilm]]
== I sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Ammienti di sbiluppu ==
* '''Còdici''': [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* '''Sàmina''': [[Mòdulu:Bozza/GianAntonucci/Tèssira/test]]
* '''Discurruta''': [[Discurruta Mòdulu:Bozza/GianAntonucci/Tèssira]]
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
hkd9l17bqnvo7zrm22emf6jqlyzom09
770512
770511
2025-07-04T20:42:48Z
GianAntonucci
46609
/* Template chi usanu chistu mòdulu */
770512
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Paràmitri ==
=== Paràmitri di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Paràmitri di struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Paràmitri di mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Paràmitri di dati ===
==== Campi numerati ====
Chistu mòdulu supporta campi numerati da 1 a l'infinitu:
{| class="wikitable"
! Schema !! Discrizzioni !! Esempiu
|-
| <code>Vuci[N]</code> || Etichetta dâ riga N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dâ riga N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni manuali dâ riga N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità avanzati ==
=== Gestioni righi vacanti ===
Si na riga cunteni sulu rifirimenti o categurìi senza testu visìbbili, veni nascosta ma i sò cuntinuti sunnu aggiunti â fini dâ tèssira.
=== Supportu listi ===
Ricanusci automaticamenti listi wiki:
* Si u valuri ncigna cu `*` o `#`, veni processatu comu lista
* Carica automaticamenti CSS pi `plainlist` e `hlist` si usati
=== Modalità debug ===
Cu `debug=yes`, mustra commenti HTML cu:
* Paràmitri nun ricunusciuti
* Erruri Wikidata
* Tempi di esecuzzioni
== Mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍicula]]
== I sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Ammienti di sbiluppu ==
* '''Còdici''': [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* '''Sàmina''': [[Mòdulu:Bozza/GianAntonucci/Tèssira/test]]
* '''Discurruta''': [[Discurruta Mòdulu:Bozza/GianAntonucci/Tèssira]]
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
07ag7znque1bo1z9crsqktg1zetp1hq
770513
770512
2025-07-04T20:43:03Z
GianAntonucci
46609
/* Mudeḍḍi chi ùsanu stu mòdulu */
770513
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Paràmitri ==
=== Paràmitri di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Paràmitri di struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Paràmitri di mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Paràmitri di dati ===
==== Campi numerati ====
Chistu mòdulu supporta campi numerati da 1 a l'infinitu:
{| class="wikitable"
! Schema !! Discrizzioni !! Esempiu
|-
| <code>Vuci[N]</code> || Etichetta dâ riga N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dâ riga N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni manuali dâ riga N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità avanzati ==
=== Gestioni righi vacanti ===
Si na riga cunteni sulu rifirimenti o categurìi senza testu visìbbili, veni nascosta ma i sò cuntinuti sunnu aggiunti â fini dâ tèssira.
=== Supportu listi ===
Ricanusci automaticamenti listi wiki:
* Si u valuri ncigna cu `*` o `#`, veni processatu comu lista
* Carica automaticamenti CSS pi `plainlist` e `hlist` si usati
=== Modalità debug ===
Cu `debug=yes`, mustra commenti HTML cu:
* Paràmitri nun ricunusciuti
* Erruri Wikidata
* Tempi di esecuzzioni
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍicula]]
== I sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Ammienti di sbiluppu ==
* '''Còdici''': [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* '''Sàmina''': [[Mòdulu:Bozza/GianAntonucci/Tèssira/test]]
* '''Discurruta''': [[Discurruta Mòdulu:Bozza/GianAntonucci/Tèssira]]
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
to6v0gskz8izdqqnacesaoxxdfi1xx4
770514
770513
2025-07-04T20:43:14Z
GianAntonucci
46609
/* I sbagghi cchiù cumuni */
770514
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Paràmitri ==
=== Paràmitri di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Paràmitri di struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Paràmitri di mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Paràmitri di dati ===
==== Campi numerati ====
Chistu mòdulu supporta campi numerati da 1 a l'infinitu:
{| class="wikitable"
! Schema !! Discrizzioni !! Esempiu
|-
| <code>Vuci[N]</code> || Etichetta dâ riga N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dâ riga N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni manuali dâ riga N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità avanzati ==
=== Gestioni righi vacanti ===
Si na riga cunteni sulu rifirimenti o categurìi senza testu visìbbili, veni nascosta ma i sò cuntinuti sunnu aggiunti â fini dâ tèssira.
=== Supportu listi ===
Ricanusci automaticamenti listi wiki:
* Si u valuri ncigna cu `*` o `#`, veni processatu comu lista
* Carica automaticamenti CSS pi `plainlist` e `hlist` si usati
=== Modalità debug ===
Cu `debug=yes`, mustra commenti HTML cu:
* Paràmitri nun ricunusciuti
* Erruri Wikidata
* Tempi di esecuzzioni
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍicula]]
== Li sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Ammienti di sbiluppu ==
* '''Còdici''': [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* '''Sàmina''': [[Mòdulu:Bozza/GianAntonucci/Tèssira/test]]
* '''Discurruta''': [[Discurruta Mòdulu:Bozza/GianAntonucci/Tèssira]]
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
7909b1sp6zajish1rnvjn0ginddxvit
770515
770514
2025-07-04T20:43:35Z
GianAntonucci
46609
/* Li mudeḍḍi chi ùsanu stu mòdulu */
770515
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Paràmitri ==
=== Paràmitri di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Paràmitri di struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Paràmitri di mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Paràmitri di dati ===
==== Campi numerati ====
Chistu mòdulu supporta campi numerati da 1 a l'infinitu:
{| class="wikitable"
! Schema !! Discrizzioni !! Esempiu
|-
| <code>Vuci[N]</code> || Etichetta dâ riga N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dâ riga N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni manuali dâ riga N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità avanzati ==
=== Gestioni righi vacanti ===
Si na riga cunteni sulu rifirimenti o categurìi senza testu visìbbili, veni nascosta ma i sò cuntinuti sunnu aggiunti â fini dâ tèssira.
=== Supportu listi ===
Ricanusci automaticamenti listi wiki:
* Si u valuri ncigna cu `*` o `#`, veni processatu comu lista
* Carica automaticamenti CSS pi `plainlist` e `hlist` si usati
=== Modalità debug ===
Cu `debug=yes`, mustra commenti HTML cu:
* Paràmitri nun ricunusciuti
* Erruri Wikidata
* Tempi di esecuzzioni
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== Li sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Ammienti di sbiluppu ==
* '''Còdici''': [[Mòdulu:Bozza/GianAntonucci/Tèssira]]
* '''Sàmina''': [[Mòdulu:Bozza/GianAntonucci/Tèssira/test]]
* '''Discurruta''': [[Discurruta Mòdulu:Bozza/GianAntonucci/Tèssira]]
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
l5afncn5nzf2xvp5x2w9txjy9pd8mmk
770516
770515
2025-07-04T20:45:53Z
GianAntonucci
46609
/* Ammienti di sbiluppu */
770516
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Paràmitri ==
=== Paràmitri di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Paràmitri di struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Paràmitri di mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Paràmitri di dati ===
==== Campi numerati ====
Chistu mòdulu supporta campi numerati da 1 a l'infinitu:
{| class="wikitable"
! Schema !! Discrizzioni !! Esempiu
|-
| <code>Vuci[N]</code> || Etichetta dâ riga N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dâ riga N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni manuali dâ riga N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità avanzati ==
=== Gestioni righi vacanti ===
Si na riga cunteni sulu rifirimenti o categurìi senza testu visìbbili, veni nascosta ma i sò cuntinuti sunnu aggiunti â fini dâ tèssira.
=== Supportu listi ===
Ricanusci automaticamenti listi wiki:
* Si u valuri ncigna cu `*` o `#`, veni processatu comu lista
* Carica automaticamenti CSS pi `plainlist` e `hlist` si usati
=== Modalità debug ===
Cu `debug=yes`, mustra commenti HTML cu:
* Paràmitri nun ricunusciuti
* Erruri Wikidata
* Tempi di esecuzzioni
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== Li sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
t50bqk2vhwvnjxnxig4o32uc2l6qljz
770517
770516
2025-07-04T20:46:25Z
GianAntonucci
46609
/* Supportu listi */
770517
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Paràmitri ==
=== Paràmitri di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Paràmitri di struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Paràmitri di mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Paràmitri di dati ===
==== Campi numerati ====
Chistu mòdulu supporta campi numerati da 1 a l'infinitu:
{| class="wikitable"
! Schema !! Discrizzioni !! Esempiu
|-
| <code>Vuci[N]</code> || Etichetta dâ riga N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dâ riga N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni manuali dâ riga N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità avanzati ==
=== Gestioni righi vacanti ===
Si na riga cunteni sulu rifirimenti o categurìi senza testu visìbbili, veni nascosta ma i sò cuntinuti sunnu aggiunti â fini dâ tèssira.
=== Supportu listi ===
Ricanusci automaticamenti listi wiki:
* Si u valuri ncigna cu `*` o `#`, veni processatu comu lista
* Càrrica automaticamenti CSS pi `plainlist` e `hlist` si usati
=== Modalità debug ===
Cu `debug=yes`, mustra commenti HTML cu:
* Paràmitri nun ricunusciuti
* Erruri Wikidata
* Tempi di esecuzzioni
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== Li sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
muhdblhuvx4ac4f6ps7b736uwi7l6u5
770518
770517
2025-07-04T20:59:32Z
GianAntonucci
46609
/* Funziunalità avanzati */
770518
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Paràmitri ==
=== Paràmitri di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Paràmitri di struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Paràmitri di mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Paràmitri di dati ===
==== Campi numerati ====
Chistu mòdulu supporta campi numerati da 1 a l'infinitu:
{| class="wikitable"
! Schema !! Discrizzioni !! Esempiu
|-
| <code>Vuci[N]</code> || Etichetta dâ riga N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dâ riga N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni manuali dâ riga N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità autumàtichi ==
=== Manijatura dî ringhi vacanti ===
Stu mòdulu ammuccia i ringhi chi cuntèninu sulu rifirenzi o catigurìi senza testu visìbbili, ma metti i so cuntinuti â fini dâ tèssira.
=== Supportu listi ===
Stu mòdulu ricanusci i listi wiki:
* Leggi comu lista i valura c'accumìncianu pi <code>*</code> o <code>#</code>.
* Quannu l'utenti l'usa, càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]].
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== Li sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
3017ql3cs8kbwgh1qifcjx8qf0bu7cx
770519
770518
2025-07-04T21:02:48Z
GianAntonucci
46609
/* Campi numerati */
770519
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Paràmitri ==
=== Paràmitri di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Paràmitri di struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Paràmitri di mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Paràmitri di dati ===
==== Campi chî nùmmari ====
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità autumàtichi ==
=== Manijatura dî ringhi vacanti ===
Stu mòdulu ammuccia i ringhi chi cuntèninu sulu rifirenzi o catigurìi senza testu visìbbili, ma metti i so cuntinuti â fini dâ tèssira.
=== Supportu listi ===
Stu mòdulu ricanusci i listi wiki:
* Leggi comu lista i valura c'accumìncianu pi <code>*</code> o <code>#</code>.
* Quannu l'utenti l'usa, càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]].
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== Li sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
0pq9bf4y5ox1s5owcbis7ktkgmxsv3o
770520
770519
2025-07-04T21:04:14Z
GianAntonucci
46609
/* Paràmitri */
770520
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Campi ==
=== Campi di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Ìnnica si è na tèssira figghia || "yes" || —
|-
| <code>Wikidata</code> || ID entità Wikidata pi ricupirari dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Scegghi quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Attiva modalità debug pi vidiri paràmitri nun ricunusciuti || "yes" || —
|}
=== Campi pâ struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Campi pî mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Campi pî dati ===
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità autumàtichi ==
=== Manijatura dî ringhi vacanti ===
Stu mòdulu ammuccia i ringhi chi cuntèninu sulu rifirenzi o catigurìi senza testu visìbbili, ma metti i so cuntinuti â fini dâ tèssira.
=== Supportu listi ===
Stu mòdulu ricanusci i listi wiki:
* Leggi comu lista i valura c'accumìncianu pi <code>*</code> o <code>#</code>.
* Quannu l'utenti l'usa, càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]].
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== Li sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
jvk74a7bx2ltoo43ur5r289bcgxollz
770521
770520
2025-07-04T21:07:27Z
GianAntonucci
46609
/* Campi di sistema */
770521
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu esponi na funzioni principali `stampa` chi:
1. Ricivi e processa i paràmitri dû template
2. Carica l'entità Wikidata si spicificata
3. Ricùpira dati mancanti di Wikidata
4. Genera l'HTML dâ tèssira cu TemplateStyles
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Campi ==
=== Campi di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
=== Campi pâ struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Campi pî mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Campi pî dati ===
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità autumàtichi ==
=== Manijatura dî ringhi vacanti ===
Stu mòdulu ammuccia i ringhi chi cuntèninu sulu rifirenzi o catigurìi senza testu visìbbili, ma metti i so cuntinuti â fini dâ tèssira.
=== Supportu listi ===
Stu mòdulu ricanusci i listi wiki:
* Leggi comu lista i valura c'accumìncianu pi <code>*</code> o <code>#</code>.
* Quannu l'utenti l'usa, càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]].
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== Li sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
3wc7lyu1cgykbw84ridkk4say1373oe
770522
770521
2025-07-04T21:13:49Z
GianAntonucci
46609
/* Comu funziona */
770522
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu principali dû sistema di tèssiri modulari pi Wikipedia in sicilianu. Pirmetti di criari tèssiri (infobox) flessìbbili e putenti chi s'intègranu automaticamenti cu Wikidata e supportanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# Elàbbora i campi dû mudeḍḍu.
# Càrrica a ntità Wikidata, quannu ci a dùnanu.
# Ricupigghia di Wikidata i dati chi màncanu.
# Crìa l'HTML dâ tèssira cu TemplateStyles.
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Campi ==
=== Campi di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
=== Campi pâ struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Campi pî mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Campi pî dati ===
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità autumàtichi ==
=== Manijatura dî ringhi vacanti ===
Stu mòdulu ammuccia i ringhi chi cuntèninu sulu rifirenzi o catigurìi senza testu visìbbili, ma metti i so cuntinuti â fini dâ tèssira.
=== Supportu listi ===
Stu mòdulu ricanusci i listi wiki:
* Leggi comu lista i valura c'accumìncianu pi <code>*</code> o <code>#</code>.
* Quannu l'utenti l'usa, càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]].
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== Li sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
kirxxfvk4md9ofkx123uodlyt726a14
770523
770522
2025-07-04T21:16:16Z
GianAntonucci
46609
/* Zoccu è */
770523
wikitext
text/x-wiki
== Zoccu è ==
<code>Mòdulu:Bozza/GianAntonucci/Tèssira</code> è u mòdulu mastru dû sistema di tèssiri mudulari pâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (''infobox'' 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# Elàbbora i campi dû mudeḍḍu.
# Càrrica a ntità Wikidata, quannu ci a dùnanu.
# Ricupigghia di Wikidata i dati chi màncanu.
# Crìa l'HTML dâ tèssira cu TemplateStyles.
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Campi ==
=== Campi di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
=== Campi pâ struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Campi pî mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Campi pî dati ===
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità autumàtichi ==
=== Manijatura dî ringhi vacanti ===
Stu mòdulu ammuccia i ringhi chi cuntèninu sulu rifirenzi o catigurìi senza testu visìbbili, ma metti i so cuntinuti â fini dâ tèssira.
=== Supportu listi ===
Stu mòdulu ricanusci i listi wiki:
* Leggi comu lista i valura c'accumìncianu pi <code>*</code> o <code>#</code>.
* Quannu l'utenti l'usa, càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]].
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== Li sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
4xo37bbs20bfjhxud7b2c604y9944pu
770524
770523
2025-07-04T21:17:36Z
GianAntonucci
46609
/* Zoccu è */
770524
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# Elàbbora i campi dû mudeḍḍu.
# Càrrica a ntità Wikidata, quannu ci a dùnanu.
# Ricupigghia di Wikidata i dati chi màncanu.
# Crìa l'HTML dâ tèssira cu TemplateStyles.
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Campi ==
=== Campi di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
=== Campi pâ struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Campi pî mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Campi pî dati ===
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità autumàtichi ==
=== Manijatura dî ringhi vacanti ===
Stu mòdulu ammuccia i ringhi chi cuntèninu sulu rifirenzi o catigurìi senza testu visìbbili, ma metti i so cuntinuti â fini dâ tèssira.
=== Supportu listi ===
Stu mòdulu ricanusci i listi wiki:
* Leggi comu lista i valura c'accumìncianu pi <code>*</code> o <code>#</code>.
* Quannu l'utenti l'usa, càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]].
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== Li sbagghi cchiù cumuni ==
* Siḍḍu '''certi paràmitri nun l'arricanusci''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''Wikidata nun càrrica''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''i listi nun i furmatta''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
f0sljtc8g80f24fr5nsbizlzp98l701
770525
770524
2025-07-04T21:19:00Z
GianAntonucci
46609
/* Li sbagghi cchiù cumuni */
770525
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# Elàbbora i campi dû mudeḍḍu.
# Càrrica a ntità Wikidata, quannu ci a dùnanu.
# Ricupigghia di Wikidata i dati chi màncanu.
# Crìa l'HTML dâ tèssira cu TemplateStyles.
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Campi ==
=== Campi di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
=== Campi pâ struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Campi pî mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Campi pî dati ===
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità autumàtichi ==
=== Manijatura dî ringhi vacanti ===
Stu mòdulu ammuccia i ringhi chi cuntèninu sulu rifirenzi o catigurìi senza testu visìbbili, ma metti i so cuntinuti â fini dâ tèssira.
=== Supportu listi ===
Stu mòdulu ricanusci i listi wiki:
* Leggi comu lista i valura c'accumìncianu pi <code>*</code> o <code>#</code>.
* Quannu l'utenti l'usa, càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]].
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== Li sbagghi cchiù cumuni ==
* Siḍḍu u mòdulu '''nun arricanusci certi paràmitri''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''nun furmatta certi listi''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
1uwh7suh35onp46utmzvdtwx5khuagw
770526
770525
2025-07-04T21:19:23Z
GianAntonucci
46609
/* Li sbagghi cchiù cumuni */
770526
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# Elàbbora i campi dû mudeḍḍu.
# Càrrica a ntità Wikidata, quannu ci a dùnanu.
# Ricupigghia di Wikidata i dati chi màncanu.
# Crìa l'HTML dâ tèssira cu TemplateStyles.
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Campi ==
=== Campi di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
=== Campi pâ struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Campi pî mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Campi pî dati ===
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità autumàtichi ==
=== Manijatura dî ringhi vacanti ===
Stu mòdulu ammuccia i ringhi chi cuntèninu sulu rifirenzi o catigurìi senza testu visìbbili, ma metti i so cuntinuti â fini dâ tèssira.
=== Supportu listi ===
Stu mòdulu ricanusci i listi wiki:
* Leggi comu lista i valura c'accumìncianu pi <code>*</code> o <code>#</code>.
* Quannu l'utenti l'usa, càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]].
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== Li sbagghi cchiù cumuni ==
* Siḍḍu '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu u mòdulu '''nun arricanusci certi paràmitri''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''nun furmatta certi listi''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
p9nlbde6gkjn6t5xgvcqkka9xyocjuf
770527
770526
2025-07-04T21:19:36Z
GianAntonucci
46609
/* Li sbagghi cchiù cumuni */
770527
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# Elàbbora i campi dû mudeḍḍu.
# Càrrica a ntità Wikidata, quannu ci a dùnanu.
# Ricupigghia di Wikidata i dati chi màncanu.
# Crìa l'HTML dâ tèssira cu TemplateStyles.
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Campi ==
=== Campi di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
=== Campi pâ struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Campi pî mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Campi pî dati ===
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Funziunalità autumàtichi ==
=== Manijatura dî ringhi vacanti ===
Stu mòdulu ammuccia i ringhi chi cuntèninu sulu rifirenzi o catigurìi senza testu visìbbili, ma metti i so cuntinuti â fini dâ tèssira.
=== Supportu listi ===
Stu mòdulu ricanusci i listi wiki:
* Leggi comu lista i valura c'accumìncianu pi <code>*</code> o <code>#</code>.
* Quannu l'utenti l'usa, càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]].
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== Li sbagghi cchiù cumuni ==
* Siḍḍu stu mòdulu '''nun arricanusci certi paràmitri''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''nun furmatta certi listi''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
mdj1uu7qxbycafvnyzc0e9uee47q24i
770528
770527
2025-07-04T21:21:04Z
GianAntonucci
46609
770528
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
=== Manijatura dî ringhi vacanti ===
Stu mòdulu ammuccia i ringhi chi cuntèninu sulu rifirenzi o catigurìi senza testu visìbbili, ma metti i so cuntinuti â fini dâ tèssira.
=== Supportu listi ===
Stu mòdulu ricanusci i listi wiki:
* Leggi comu lista i valura c'accumìncianu pi <code>*</code> o <code>#</code>.
* Quannu l'utenti l'usa, càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]].
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Campi ==
=== Campi di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
=== Campi pâ struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Campi pî mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Campi pî dati ===
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== Li sbagghi cchiù cumuni ==
* Siḍḍu stu mòdulu '''nun arricanusci certi paràmitri''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''nun furmatta certi listi''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
4cbz5wccwq0l9ysaw5l0gsnfsx0z7kv
770529
770528
2025-07-04T21:22:02Z
GianAntonucci
46609
/* Campi */
770529
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
=== Manijatura dî ringhi vacanti ===
Stu mòdulu ammuccia i ringhi chi cuntèninu sulu rifirenzi o catigurìi senza testu visìbbili, ma metti i so cuntinuti â fini dâ tèssira.
=== Supportu listi ===
Stu mòdulu ricanusci i listi wiki:
* Leggi comu lista i valura c'accumìncianu pi <code>*</code> o <code>#</code>.
* Quannu l'utenti l'usa, càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]].
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Li campi ==
=== Li campi di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
=== Li campi pâ struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Li campi pî mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Li campi pî dati ===
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== Li sbagghi cchiù cumuni ==
* Siḍḍu stu mòdulu '''nun arricanusci certi paràmitri''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''nun furmatta certi listi''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
942u2eo39uhyt0kml4wnt00kcixbu2c
770530
770529
2025-07-04T21:22:23Z
GianAntonucci
46609
/* Li sbagghi cchiù cumuni */
770530
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
=== Manijatura dî ringhi vacanti ===
Stu mòdulu ammuccia i ringhi chi cuntèninu sulu rifirenzi o catigurìi senza testu visìbbili, ma metti i so cuntinuti â fini dâ tèssira.
=== Supportu listi ===
Stu mòdulu ricanusci i listi wiki:
* Leggi comu lista i valura c'accumìncianu pi <code>*</code> o <code>#</code>.
* Quannu l'utenti l'usa, càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]].
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Li campi ==
=== Li campi di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
=== Li campi pâ struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Li campi pî mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Li campi pî dati ===
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== Li mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
* Siḍḍu stu mòdulu '''nun arricanusci certi paràmitri''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''nun furmatta certi listi''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
6pu88cxv141gp24iwzpsypwxhv7gbeb
770531
770530
2025-07-04T21:22:31Z
GianAntonucci
46609
/* Li mudeḍḍi chi ùsanu stu mòdulu */
770531
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
=== Manijatura dî ringhi vacanti ===
Stu mòdulu ammuccia i ringhi chi cuntèninu sulu rifirenzi o catigurìi senza testu visìbbili, ma metti i so cuntinuti â fini dâ tèssira.
=== Supportu listi ===
Stu mòdulu ricanusci i listi wiki:
* Leggi comu lista i valura c'accumìncianu pi <code>*</code> o <code>#</code>.
* Quannu l'utenti l'usa, càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]].
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
== Li campi ==
=== Li campi di sistema ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
=== Li campi pâ struttura ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
=== Li campi pî mmàggini ===
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
=== Li campi pî dati ===
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
* Siḍḍu stu mòdulu '''nun arricanusci certi paràmitri''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''nun furmatta certi listi''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
91ho6h22w570uckeobz7cm37i9ghwe8
770532
770531
2025-07-04T21:23:12Z
GianAntonucci
46609
/* Li campi */
770532
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
=== Manijatura dî ringhi vacanti ===
Stu mòdulu ammuccia i ringhi chi cuntèninu sulu rifirenzi o catigurìi senza testu visìbbili, ma metti i so cuntinuti â fini dâ tèssira.
=== Supportu listi ===
Stu mòdulu ricanusci i listi wiki:
* Leggi comu lista i valura c'accumìncianu pi <code>*</code> o <code>#</code>.
* Quannu l'utenti l'usa, càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]].
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== Struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
* Siḍḍu stu mòdulu '''nun arricanusci certi paràmitri''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''nun furmatta certi listi''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
apabfzmllnwov6zhj1giaz5y47s5n4v
770533
770532
2025-07-04T21:23:29Z
GianAntonucci
46609
/* Struttura basi */
770533
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== Carattirìstichi principali ==
* '''Integrazzioni Wikidata cumpleta''' - Ricùpira automaticamenti dati mancanti di Wikidata usannu fallback intelligenti
* '''Sizzioni manuali''' - Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu
* '''Supportu CSS dinàmicu''' - Càrrica sulu i stili CSS nicissari (plainlist, hlist) quannu sunnu usati
* '''Modalità scura''' - Supportu cumpletu pî temi scuri cu classi CSS dedicati
* '''Tèssiri figghia''' - Pirmetti di ncapsulari tèssiri dintra àutri tèssiri
* '''Validazzioni dati''' - Cuntrodda automaticamenti a cuirenza dî dati e gestisci erruri Wikidata
* '''Gestioni avanzata''' - Sposta automaticamenti categurìi e template styles fora dî righi dâ tabella
=== Manijatura dî ringhi vacanti ===
Stu mòdulu ammuccia i ringhi chi cuntèninu sulu rifirenzi o catigurìi senza testu visìbbili, ma metti i so cuntinuti â fini dâ tèssira.
=== Supportu listi ===
Stu mòdulu ricanusci i listi wiki:
* Leggi comu lista i valura c'accumìncianu pi <code>*</code> o <code>#</code>.
* Quannu l'utenti l'usa, càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]].
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
* Siḍḍu stu mòdulu '''nun arricanusci certi paràmitri''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''nun furmatta certi listi''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
ti4bsxhq3hcx7jkywvwxpso4l1ye9ll
770534
770533
2025-07-04T21:40:05Z
GianAntonucci
46609
/* Carattirìstichi principali */
770534
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
* Siḍḍu stu mòdulu '''nun arricanusci certi paràmitri''', usa <code>debug = yes</code> e vidi quali.
* Siḍḍu '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345).
* Siḍḍu '''nun furmatta certi listi''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
hmyq0a322uwsxt8v6bbp6u8xkv74ew6
770535
770534
2025-07-04T21:41:12Z
GianAntonucci
46609
/* I sbagghi cchiù cumuni */
770535
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu stu mòdulu:
* '''nun arricanusci certi paràmitri''', usa <code>debug = yes</code> e vidi quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345);
* '''nun furmatta certi listi''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri
* [[Wikipedia:Wikidata]] - Guida ncapu â juncitina dî ntità Wikidata
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
mbs8os2516qfpa0cw5tjowcb6hphzgu
770536
770535
2025-07-04T21:44:36Z
GianAntonucci
46609
/* Talìa macari */
770536
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu stu mòdulu:
* '''nun arricanusci certi paràmitri''', usa <code>debug = yes</code> e vidi quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata è giustu (p'es., Q12345);
* '''nun furmatta certi listi''', cuntrolla chi mittisti u spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
i8b16iqg0cwzui7m8ms1nc1ueeve12z
770537
770536
2025-07-04T21:46:47Z
GianAntonucci
46609
/* I sbagghi cchiù cumuni */
770537
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable"
! Schema !! Discrizzioni !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta dû ringu N || <code>Vuci1 = Data nàscita</code>
|-
| <code>Valuri[N]</code> || Valuri dû ringu N || <code>Valuri1 = 8 jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni dû ringu N || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = plainlist</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu u mòdulu:
* '''nun arricanusci/fa vìdiri certi paràmitri''', junci <code>debug = yes</code> pi vìdiri quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata àvi statu scrivutu bonu (pi diri, Q12345);
* '''nun furmatta certi listi''', cuntrolla chi cc'è nu spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
bzdxo2i1030tv356sutpj7ni6d6l97m
770538
770537
2025-07-04T21:50:56Z
GianAntonucci
46609
/* I campi pî dati */
770538
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable"
! Schema !! Spiecu !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta || <code>Vuci1 = Natalizziu</code>
|-
| <code>Valuri[N]</code> || Cuntinutu || <code>Valuri1 = 8 di jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = lista sìmplici</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu u mòdulu:
* '''nun arricanusci/fa vìdiri certi paràmitri''', junci <code>debug = yes</code> pi vìdiri quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata àvi statu scrivutu bonu (pi diri, Q12345);
* '''nun furmatta certi listi''', cuntrolla chi cc'è nu spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
9fm93fa1at4cnulyu442y3ywmse7uqg
770539
770538
2025-07-04T21:55:32Z
GianAntonucci
46609
/* I campi pî dati */
770539
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable" style="text-align: center;"
! Schema !! Spiecu !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta || <code>Vuci1 = Natalizziu</code>
|-
| <code>Valuri[N]</code> || Cuntinutu || <code>Valuri1 = 8 di jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = lista sìmplici</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu u mòdulu:
* '''nun arricanusci/fa vìdiri certi paràmitri''', junci <code>debug = yes</code> pi vìdiri quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata àvi statu scrivutu bonu (pi diri, Q12345);
* '''nun furmatta certi listi''', cuntrolla chi cc'è nu spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
gd983hh8kzkwgcxpxclu955hnok675w
770540
770539
2025-07-04T21:56:33Z
GianAntonucci
46609
/* I campi */
770540
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu principali dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu sutta u tìtulu || "Scrittùra sicilianu"
|-
| <code>Supra</code> || Testu supra tuttu || "1921-1989"
|-
| <code>Sutta</code> || Testu sutta tuttu || "Vidi macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti o fonti â pedi || "Fonti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu pi navigazzioni || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Mustra lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable" style="text-align: center;"
! Schema !! Spiecu !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta || <code>Vuci1 = Natalizziu</code>
|-
| <code>Valuri[N]</code> || Cuntinutu || <code>Valuri1 = 8 di jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = lista sìmplici</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu u mòdulu:
* '''nun arricanusci/fa vìdiri certi paràmitri''', junci <code>debug = yes</code> pi vìdiri quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata àvi statu scrivutu bonu (pi diri, Q12345);
* '''nun furmatta certi listi''', cuntrolla chi cc'è nu spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
apbw2kt207y8seh59jdy3l8sfmi9aji
770541
770540
2025-07-04T21:59:52Z
GianAntonucci
46609
/* I campi pâ struttura */
770541
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Tìtulu = Tìtulu dâ tèssira
| Wikidata = Q12345
| Vuci1 = Etichetta
| Valuri1 = Valuri
| Gruppu1 = Sizzioni
| Prupità1 = P123
| Classi1 = plainlist
}}
</pre>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu || "Scritturi sicilianu"
|-
| <code>Supra</code> || Testu supr'â tèssira || "1921-1989"
|-
| <code>Sutta</code> || Testu sutt'â tèssira || "Talìa macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti ô pedi dâ pàggina || "Funti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu lijatu || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Fa' vìdiri a lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable" style="text-align: center;"
! Schema !! Spiecu !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta || <code>Vuci1 = Natalizziu</code>
|-
| <code>Valuri[N]</code> || Cuntinutu || <code>Valuri1 = 8 di jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = lista sìmplici</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu u mòdulu:
* '''nun arricanusci/fa vìdiri certi paràmitri''', junci <code>debug = yes</code> pi vìdiri quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata àvi statu scrivutu bonu (pi diri, Q12345);
* '''nun furmatta certi listi''', cuntrolla chi cc'è nu spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
bwu8lb2m5dfydkjm70nl9hd0dqzwjxq
770543
770541
2025-07-04T22:06:55Z
GianAntonucci
46609
/* A struttura basi */
770543
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = Cuntinutu 1
| Gruppu1 = Gruppu 1
| Prupità1 = P123
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
</pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| no_float = yes
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = Cuntinutu 1
| Gruppu1 = Gruppu 1
| Prupità1 = P123
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
<div style="clear:both;"></div>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu || "Scritturi sicilianu"
|-
| <code>Supra</code> || Testu supr'â tèssira || "1921-1989"
|-
| <code>Sutta</code> || Testu sutt'â tèssira || "Talìa macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti ô pedi dâ pàggina || "Funti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu lijatu || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Fa' vìdiri a lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable" style="text-align: center;"
! Schema !! Spiecu !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta || <code>Vuci1 = Natalizziu</code>
|-
| <code>Valuri[N]</code> || Cuntinutu || <code>Valuri1 = 8 di jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = lista sìmplici</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu u mòdulu:
* '''nun arricanusci/fa vìdiri certi paràmitri''', junci <code>debug = yes</code> pi vìdiri quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata àvi statu scrivutu bonu (pi diri, Q12345);
* '''nun furmatta certi listi''', cuntrolla chi cc'è nu spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
ipp3ekqy6ctnjj8ga7io34jk0ubghwx
770544
770543
2025-07-04T22:07:36Z
GianAntonucci
46609
/* A struttura basi */
770544
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = Cuntinutu 1
| Gruppu1 = Gruppu 1
| Prupità1 = P123
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = Cuntinutu 1
| Gruppu1 = Gruppu 1
| Prupità1 = P123
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
</pre>
<div style="clear:both;"></div>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu || "Scritturi sicilianu"
|-
| <code>Supra</code> || Testu supr'â tèssira || "1921-1989"
|-
| <code>Sutta</code> || Testu sutt'â tèssira || "Talìa macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti ô pedi dâ pàggina || "Funti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu lijatu || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Fa' vìdiri a lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable" style="text-align: center;"
! Schema !! Spiecu !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta || <code>Vuci1 = Natalizziu</code>
|-
| <code>Valuri[N]</code> || Cuntinutu || <code>Valuri1 = 8 di jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = lista sìmplici</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu u mòdulu:
* '''nun arricanusci/fa vìdiri certi paràmitri''', junci <code>debug = yes</code> pi vìdiri quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata àvi statu scrivutu bonu (pi diri, Q12345);
* '''nun furmatta certi listi''', cuntrolla chi cc'è nu spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
0xo2hq1asy0mbqfr7tkd0i7umh1u52t
770545
770544
2025-07-04T22:08:31Z
GianAntonucci
46609
/* A struttura basi */
770545
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = Cuntinutu 1
| Gruppu1 = Gruppu 1
| Prupità1 = P123
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = Cuntinutu 1
| Gruppu1 = Gruppu 1
| Prupità1 = P123
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
</pre>
<div style="clear:both;"></div>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu || "Scritturi sicilianu"
|-
| <code>Supra</code> || Testu supr'â tèssira || "1921-1989"
|-
| <code>Sutta</code> || Testu sutt'â tèssira || "Talìa macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti ô pedi dâ pàggina || "Funti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu lijatu || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Fa' vìdiri a lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable" style="text-align: center;"
! Schema !! Spiecu !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta || <code>Vuci1 = Natalizziu</code>
|-
| <code>Valuri[N]</code> || Cuntinutu || <code>Valuri1 = 8 di jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = lista sìmplici</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu u mòdulu:
* '''nun arricanusci/fa vìdiri certi paràmitri''', junci <code>debug = yes</code> pi vìdiri quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata àvi statu scrivutu bonu (pi diri, Q12345);
* '''nun furmatta certi listi''', cuntrolla chi cc'è nu spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
h1wlswlg0mc7rtvqhkwlkz0i2x7d65u
770555
770545
2025-07-05T00:16:07Z
GianAntonucci
46609
/* A struttura basi */
770555
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P21|from=Q12345}}
| Gruppu1 = Gruppu 1
| Prupità1 = P123
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 =
| Gruppu1 = Gruppu 1
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
</pre>
<div style="clear:both;"></div>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu || "Scritturi sicilianu"
|-
| <code>Supra</code> || Testu supr'â tèssira || "1921-1989"
|-
| <code>Sutta</code> || Testu sutt'â tèssira || "Talìa macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti ô pedi dâ pàggina || "Funti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu lijatu || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Fa' vìdiri a lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable" style="text-align: center;"
! Schema !! Spiecu !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta || <code>Vuci1 = Natalizziu</code>
|-
| <code>Valuri[N]</code> || Cuntinutu || <code>Valuri1 = 8 di jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = lista sìmplici</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu u mòdulu:
* '''nun arricanusci/fa vìdiri certi paràmitri''', junci <code>debug = yes</code> pi vìdiri quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata àvi statu scrivutu bonu (pi diri, Q12345);
* '''nun furmatta certi listi''', cuntrolla chi cc'è nu spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
qtda1ssl4dds2yg6evbaxpndldfvowk
770556
770555
2025-07-05T00:16:33Z
GianAntonucci
46609
/* A struttura basi */
770556
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P21|from=Q12345}}
| Gruppu1 = Gruppu 1
| Prupità1 = P123
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P21|from=Q12345}}
| Gruppu1 = Gruppu 1
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
</pre>
<div style="clear:both;"></div>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu || "Scritturi sicilianu"
|-
| <code>Supra</code> || Testu supr'â tèssira || "1921-1989"
|-
| <code>Sutta</code> || Testu sutt'â tèssira || "Talìa macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti ô pedi dâ pàggina || "Funti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu lijatu || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Fa' vìdiri a lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable" style="text-align: center;"
! Schema !! Spiecu !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta || <code>Vuci1 = Natalizziu</code>
|-
| <code>Valuri[N]</code> || Cuntinutu || <code>Valuri1 = 8 di jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = lista sìmplici</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu u mòdulu:
* '''nun arricanusci/fa vìdiri certi paràmitri''', junci <code>debug = yes</code> pi vìdiri quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata àvi statu scrivutu bonu (pi diri, Q12345);
* '''nun furmatta certi listi''', cuntrolla chi cc'è nu spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
9fcqcyhj39jwlcewos1m6xh7rybsvjz
770557
770556
2025-07-05T00:21:36Z
GianAntonucci
46609
/* A struttura basi */
770557
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|property=P21|from=Q12345}}
| Gruppu1 = Gruppu 1
| Prupità1 = P123
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|property=P21|from=Q12345}}
| Gruppu1 = Gruppu 1
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
</pre>
<div style="clear:both;"></div>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu || "Scritturi sicilianu"
|-
| <code>Supra</code> || Testu supr'â tèssira || "1921-1989"
|-
| <code>Sutta</code> || Testu sutt'â tèssira || "Talìa macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti ô pedi dâ pàggina || "Funti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu lijatu || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Fa' vìdiri a lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable" style="text-align: center;"
! Schema !! Spiecu !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta || <code>Vuci1 = Natalizziu</code>
|-
| <code>Valuri[N]</code> || Cuntinutu || <code>Valuri1 = 8 di jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = lista sìmplici</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu u mòdulu:
* '''nun arricanusci/fa vìdiri certi paràmitri''', junci <code>debug = yes</code> pi vìdiri quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata àvi statu scrivutu bonu (pi diri, Q12345);
* '''nun furmatta certi listi''', cuntrolla chi cc'è nu spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
40j36cm3nly4n8t1ha0vl47cxym1zb3
770561
770557
2025-07-05T08:18:43Z
GianAntonucci
46609
/* A struttura basi */
770561
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|property=P21|from={{{Wikidata|}}}}}
| Gruppu1 = Gruppu 1
| Prupità1 = P123
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|property=P21|from=Q12345}}
| Gruppu1 = Gruppu 1
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
</pre>
<div style="clear:both;"></div>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu || "Scritturi sicilianu"
|-
| <code>Supra</code> || Testu supr'â tèssira || "1921-1989"
|-
| <code>Sutta</code> || Testu sutt'â tèssira || "Talìa macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti ô pedi dâ pàggina || "Funti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu lijatu || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Fa' vìdiri a lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable" style="text-align: center;"
! Schema !! Spiecu !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta || <code>Vuci1 = Natalizziu</code>
|-
| <code>Valuri[N]</code> || Cuntinutu || <code>Valuri1 = 8 di jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = lista sìmplici</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu u mòdulu:
* '''nun arricanusci/fa vìdiri certi paràmitri''', junci <code>debug = yes</code> pi vìdiri quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata àvi statu scrivutu bonu (pi diri, Q12345);
* '''nun furmatta certi listi''', cuntrolla chi cc'è nu spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
crzdaetfshmipr7lpf3exh7ellkk17y
770562
770561
2025-07-05T08:20:10Z
GianAntonucci
46609
/* A struttura basi */
770562
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|property=P21|from={{{Wikidata|}}}}}
| Gruppu1 = Gruppu 1
| Prupità1 = P123
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|property=P21|from={{{Wikidata|}}}}}
| Gruppu1 = Gruppu 1
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
</pre>
<div style="clear:both;"></div>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu || "Scritturi sicilianu"
|-
| <code>Supra</code> || Testu supr'â tèssira || "1921-1989"
|-
| <code>Sutta</code> || Testu sutt'â tèssira || "Talìa macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti ô pedi dâ pàggina || "Funti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu lijatu || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Fa' vìdiri a lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable" style="text-align: center;"
! Schema !! Spiecu !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta || <code>Vuci1 = Natalizziu</code>
|-
| <code>Valuri[N]</code> || Cuntinutu || <code>Valuri1 = 8 di jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = lista sìmplici</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu u mòdulu:
* '''nun arricanusci/fa vìdiri certi paràmitri''', junci <code>debug = yes</code> pi vìdiri quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata àvi statu scrivutu bonu (pi diri, Q12345);
* '''nun furmatta certi listi''', cuntrolla chi cc'è nu spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
2x3n2xmw70f22u58xe0tdnmo0rhvqzj
770565
770562
2025-07-05T08:27:39Z
GianAntonucci
46609
/* A struttura basi */
770565
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|property=P21|from={{{Wikidata|}}}}} Wikidata is {{{Wikidata|}}}
| Gruppu1 = Gruppu 1
| Prupità1 = P123
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|property=P21|from={{{Wikidata|}}}}}
| Gruppu1 = Gruppu 1
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
</pre>
<div style="clear:both;"></div>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu || "Scritturi sicilianu"
|-
| <code>Supra</code> || Testu supr'â tèssira || "1921-1989"
|-
| <code>Sutta</code> || Testu sutt'â tèssira || "Talìa macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti ô pedi dâ pàggina || "Funti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu lijatu || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Fa' vìdiri a lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable" style="text-align: center;"
! Schema !! Spiecu !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta || <code>Vuci1 = Natalizziu</code>
|-
| <code>Valuri[N]</code> || Cuntinutu || <code>Valuri1 = 8 di jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = lista sìmplici</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu u mòdulu:
* '''nun arricanusci/fa vìdiri certi paràmitri''', junci <code>debug = yes</code> pi vìdiri quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata àvi statu scrivutu bonu (pi diri, Q12345);
* '''nun furmatta certi listi''', cuntrolla chi cc'è nu spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
ghrxcyjnsmvrtb9zddxntje3amt76ad
770568
770565
2025-07-05T08:34:00Z
GianAntonucci
46609
/* A struttura basi */
770568
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|property=P21|from={{{Wikidata|}}}}} The ID is: {{{Wikidata|}}}
| Gruppu1 = Gruppu 1
| Prupità1 = P123
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|property=P21|from={{{Wikidata|}}}}} The ID is: {{{Wikidata|}}}
| Gruppu1 = Gruppu 1
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
</pre>
<div style="clear:both;"></div>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu || "Scritturi sicilianu"
|-
| <code>Supra</code> || Testu supr'â tèssira || "1921-1989"
|-
| <code>Sutta</code> || Testu sutt'â tèssira || "Talìa macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti ô pedi dâ pàggina || "Funti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu lijatu || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Fa' vìdiri a lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable" style="text-align: center;"
! Schema !! Spiecu !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta || <code>Vuci1 = Natalizziu</code>
|-
| <code>Valuri[N]</code> || Cuntinutu || <code>Valuri1 = 8 di jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = lista sìmplici</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu u mòdulu:
* '''nun arricanusci/fa vìdiri certi paràmitri''', junci <code>debug = yes</code> pi vìdiri quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata àvi statu scrivutu bonu (pi diri, Q12345);
* '''nun furmatta certi listi''', cuntrolla chi cc'è nu spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
srowlmbxjt832u1bskry0iot2llh1h3
770575
770568
2025-07-05T08:45:34Z
GianAntonucci
46609
/* A struttura basi */
770575
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|property=P21|from=@@WIKIDATA@@}} @@WIKIDATA@@
| Gruppu1 = Gruppu 1
| Prupità1 = P123
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|property=P21|from=@@WIKIDATA@@}} @@WIKIDATA@@
| Gruppu1 = Gruppu 1
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
</pre>
<div style="clear:both;"></div>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu || "Scritturi sicilianu"
|-
| <code>Supra</code> || Testu supr'â tèssira || "1921-1989"
|-
| <code>Sutta</code> || Testu sutt'â tèssira || "Talìa macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti ô pedi dâ pàggina || "Funti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu lijatu || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Fa' vìdiri a lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable" style="text-align: center;"
! Schema !! Spiecu !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta || <code>Vuci1 = Natalizziu</code>
|-
| <code>Valuri[N]</code> || Cuntinutu || <code>Valuri1 = 8 di jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = lista sìmplici</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu u mòdulu:
* '''nun arricanusci/fa vìdiri certi paràmitri''', junci <code>debug = yes</code> pi vìdiri quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata àvi statu scrivutu bonu (pi diri, Q12345);
* '''nun furmatta certi listi''', cuntrolla chi cc'è nu spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
ob21j2cuqf9aekq5shh2x8bibfubk1z
770579
770575
2025-07-05T08:58:08Z
GianAntonucci
46609
/* A struttura basi */
770579
wikitext
text/x-wiki
== Zoccu è ==
'''Mòdulu:Bozza/GianAntonucci/Tèssira''' è u mòdulu mastru dû sistema di tèssiri mudulari dâ Wikipedia 'n sicilianu. Pirmetti di criari ''tèssiri'' (o ''infobox'', 'n ingrisi) chi si lìjanu suli a Wikidata e suppòrtanu diversi funziunalità avanzati.
== I so carattarìstichi ==
* '''Parra cu Wikidata''': Senza mû dici nuḍḍu, pigghia i dati di Wikidata sulu, quannu chisti ammàncanu ntâ pàggina.
* '''Sizzioni manuali''': Supporta raggruppamentu di campi in sizzioni tramiti u paràmitru Gruppu. Pirmetti di raggruppari li campi nni sizzioni pirsunalizzati tràmiti lu paràmitru Gruppu.
* '''Supportu dinàmicu dî CSS''': Càrrica i CSS [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css]], quannu l'utenti l'usa. Càrrica sulu li stili CSS nicissari (p'asempiu, pi plainlist e hlist) sulu quannu vèninu usati.
* '''Mudalità scuru''': Supporta i temi chiaru e scuru. Havi nu supportu cumpretu pî temi scuri, cu classi CSS apposta pi na visioni uttimali.
* '''Tèssiri figghia''': Pirmetti di nziriri na tèssira ntr'a n'àutra, pi custruzioni cchiù cumplessi.
* '''Validazzioni dati''': Cuntrolla la cuirenza dî dati arricivuti e manija l'errura pruvinenti di Wikidata.
* '''Manijatura autumàtica''': Sposta 'n autumàticu l'elimenti comu catigurìi e templatestyles fora dî righi dâ tabeḍḍa pi non criari prubblemi di furmattazzioni.
* '''Manijatura dî ringhi vacanti''': Ammuccia i ringhi c'ànnu sulu rifirenzi o catigurìi, ma metti i so cuntinuti â fini dâ tèssira pi nun i pèrdiri.
* '''Supportu Nativu pi l'Elenchi''': Arricanusci e formatta 'n autumàticu l'elenchi criati cu la sintassi wiki (* e #). Càrrica puru li stili CSS nicissari, comu [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaSìmplici/stili.css|plainlist]] e [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:ListaUrizzuntali/stili.css|hlist]], quannu s'ùsanu.
== Comu funziona ==
U mòdulu sponi na funzioni <code>stampa</code> chi:
# elàbbora i campi dû mudeḍḍu;
# càrrica a ntità Wikidata, quannu ci a dùnanu;
# ricupigghia di Wikidata i dati chi màncanu;
# crìa l'HTML dâ tèssira cu TemplateStyles.
=== A struttura basi ===
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = @@P21@@
| Gruppu1 = Gruppu 1
| Prupità1 = P123
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
<pre>
{{#invoke:Bozza/GianAntonucci/Tèssira|stampa
| Supra = Testu supra
| Tìtulu = Tìtulu
| Wikidata = Q12345
| Suttatìtulu = Suttatìtulu
| Abbirtenza1 = Abbirtenza 1
| Abbirtenza2 = Abbirtenza 2
| Vuci1 = Vuci 1
| Valuri1 = @@P21@@
| Gruppu1 = Gruppu 1
| Vuci2 = Vuci 2
| Valuri2 =
* Elimentu 1
* Elimentu 2
| Classi2 = plainlist
| Vuci3 = Vuci 3
| Valuri3 = Cuntinutu 3
| Gruppu3 = Gruppu 3
| Sutta = Testu sutta
}}
</pre>
<div style="clear:both;"></div>
=== I campi ===
==== I campi di sistema ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Valuri pussìbbili !! Default
|-
| <code>child</code> || Dici si è na tèssira nchijuta dintra a n'autra || "yes" || —
|-
| <code>Wikidata</code> || ID dâ ntità Wikidata unni àvi a pigghiari i dati || Es: Q12345 || Entità currenti
|-
| <code>no_float</code> || Disabbìlita u float a dritta || "yes" || —
|-
| <code>inline_style</code> || Stili CSS pirsunalizzatu inline || Stringa CSS || —
|-
| <code>style</code> || Quali stili CSS carricari || "tessira" || "tessira"
|-
| <code>debug</code> || Abbìlita a mudalità debug p'arrisòrbiri prubblemi || "yes" || —
|}
==== I campi pâ struttura ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Esempiu
|-
| <code>Tìtulu</code> || Tìtulu dâ tèssira || "Leonardo Sciascia"
|-
| <code>Suttatìtulu</code> || Suttatìtulu || "Scritturi sicilianu"
|-
| <code>Supra</code> || Testu supr'â tèssira || "1921-1989"
|-
| <code>Sutta</code> || Testu sutt'â tèssira || "Talìa macari: [[Scrittùra siciliani]]"
|-
| <code>PediPàggina</code> || Noti ô pedi dâ pàggina || "Funti: Archiviu Sciascia"
|-
| <code>NomuMudeḍḍu</code> || Nomu dû mudeḍḍu lijatu || "TèssiraCristianu/Sciascia"
|-
| <code>LijamiWikidata</code> || Fa' vìdiri a lijami a Wikidata || "yes"
|}
==== I campi pî mmàggini ====
{| class="wikitable" style="text-align: center;"
! Paràmitru !! Discrizzioni !! Pusizzioni
|-
| <code>MmàgginiSupra</code> || Mmàggini principali || Supra, centra
|-
| <code>DidascalìaMmàgginiSupra</code> || Didascalìa mmàggini supra || Sutta a mmàggini
|-
| <code>MmàgginiSutta</code> || Mmàggini nfiriuri || Sutta, centra
|-
| <code>DidascalìaMmàgginiSutta</code> || Didascalìa mmàggini sutta || Sutta a mmàggini
|-
| <code>MmàgginiManuManca</code> || Mmàggini a manca || Manu manca
|-
| <code>DidascalìaMmàgginiManuManca</code> || Didascalìa manu manca || Sutta a mmàggini
|-
| <code>MmàgginiManuDritta</code> || Mmàggini a dritta || Manu dritta
|-
| <code>DidascalìaMmàgginiManuDritta</code> || Didascalìa manu dritta || Sutta a mmàggini
|}
==== I campi pî dati ====
{| class="wikitable" style="text-align: center;"
! Schema !! Spiecu !! Scempru
|-
| <code>Vuci[N]</code> || Tichetta || <code>Vuci1 = Natalizziu</code>
|-
| <code>Valuri[N]</code> || Cuntinutu || <code>Valuri1 = 8 di jinnaru 1921</code>
|-
| <code>Gruppu[N]</code> || Sizzioni || <code>Gruppu1 = Dati pirsunali</code>
|-
| <code>Prupità[N]</code> || Prupità Wikidata || <code>Prupità1 = P569</code>
|-
| <code>Classi[N]</code> || Classi CSS || <code>Classi1 = lista sìmplici</code>
|-
| <code>Abbirtenza[N]</code> || Subheader || <code>Abbirtenza1 = Storia</code>
|}
== I mudeḍḍi chi ùsanu stu mòdulu ==
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCristianu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPulìticu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPajisi]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraCità]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraSquatraJocu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraQuatru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraAlbumMusicali]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraLibbru]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraMmàttituStòricu]]
* [[Utenti:GianAntonucci/Bozza/Mudeḍḍu:TèssiraPiḍḍìcula]]
== I sbagghi cchiù cumuni ==
Quannu u mòdulu:
* '''nun arricanusci/fa vìdiri certi paràmitri''', junci <code>debug = yes</code> pi vìdiri quali;
* '''nun càrrica Wikidata''', cuntrolla chi l'ID Wikidata àvi statu scrivutu bonu (pi diri, Q12345);
* '''nun furmatta certi listi''', cuntrolla chi cc'è nu spazziu doppu a stiḍḍuzza: <code>* Item</code>.
== Talìa macari ==
* [[Ajutu:Tèssiri]] - Guida ncapu a l'usu dî tèssiri.
* [[Wikipedia:Wikidata]] - Guida ncapu a l'usu di Wikidata.
[[Catigurìa:Mòduli Lua]]
[[Catigurìa:Mòduli pî tèssiri]]
[[Catigurìa:Mòduli chi ùsanu Wikidata]]
jl51o4m1bgpmghkd31pvrmxhirsg4fv
Mòdulu:Bozza/GianAntonucci/Wikidata
828
66472
770549
2025-07-04T23:58:24Z
GianAntonucci
46609
Pàggina nova: -- Custom Wikidata Module (Improved Version) -- Based on best practices from multiple implementations -- -- This module provides a comprehensive interface to Wikidata for MediaWiki templates. -- It supports fetching and formatting all major Wikidata data types with extensive -- customization options. -- -- Key features: -- * Efficient data access using best practices (avoids getEntity) -- * Complete datatype support including quantities, dates, coordinates, etc. -- * Flexible...
770549
Scribunto
text/plain
-- Custom Wikidata Module (Improved Version)
-- Based on best practices from multiple implementations
--
-- This module provides a comprehensive interface to Wikidata for MediaWiki templates.
-- It supports fetching and formatting all major Wikidata data types with extensive
-- customization options.
--
-- Key features:
-- * Efficient data access using best practices (avoids getEntity)
-- * Complete datatype support including quantities, dates, coordinates, etc.
-- * Flexible filtering by rank, qualifiers, and values
-- * Extensive formatting options for different use cases
-- * Proper error handling with optional categorization
--
-- Basic usage:
-- {{#invoke:WikidataModule|getProperty|P31}}
-- {{#invoke:WikidataModule|getProperty|property=P31|formatting=label}}
-- {{#invoke:WikidataModule|getQualifier|P580|P585}}
--
-- Advanced usage:
-- {{#invoke:WikidataModule|getProperty|P18|size=200px|caption=Test image}}
-- {{#invoke:WikidataModule|getProperty|P2048|round=2|unitsymbol=true}}
-- {{#invoke:WikidataModule|count|P50|hasqualifier=P1545}}
require('strict')
local p = {}
-- Configuration
local config = {
-- Error messages
errors = {
['property-not-provided'] = 'Property parameter not provided',
['qualifier-not-provided'] = 'Qualifier parameter not provided',
['entity-not-found'] = 'Entity not found',
['unknown-datatype'] = 'Unknown data type',
['unknown-entity-type'] = 'Unknown entity type',
['no-claims'] = 'No claims found'
},
-- Special value labels
specialValues = {
somevalue = "''unknown value''",
novalue = "''no value''"
},
-- Supported calendar models
calendars = {
['http://www.wikidata.org/entity/Q1985727'] = 'gregorian',
['http://www.wikidata.org/entity/Q11184'] = 'julian'
}
}
-- Helper function for error handling
local function handleError(code)
local message = config.errors[code] or code
local namespace = mw.title.getCurrentTitle().namespace
local category = namespace == 0 and '[[Category:Pages with Wikidata errors]]' or ''
return string.format('<span class="error">%s</span>%s', message, category)
end
-- Get entity prefix based on entity type
local function getEntityPrefix(entityType)
if entityType == 'item' then
return 'Q'
elseif entityType == 'property' then
return 'P'
else
return nil
end
end
-- Format entity ID (item or property)
local function formatEntityId(entityId, args)
if args.formatting == 'raw' or args.formatting == 'id' then
return entityId
end
local label = mw.wikibase.getLabel(entityId)
local sitelink = entityId:sub(1,1) == 'Q' and mw.wikibase.getSitelink(entityId) or nil
if args.formatting == 'label' then
return label or entityId
elseif args.formatting == 'sitelink' then
return sitelink or ''
end
-- Default formatting with link
if sitelink then
return label and string.format('[[%s|%s]]', sitelink, label) or string.format('[[%s]]', sitelink)
elseif label then
return label
else
return entityId
end
end
-- Format time values with proper precision handling
local function formatTime(timeValue, precision, args)
local time = timeValue.time
local calendar = config.calendars[timeValue.calendarmodel] or 'gregorian'
-- Extract year from ISO format
local year = tonumber(string.match(time, '([+-]?%d+)'))
if not year then return '' end
-- Handle different precision levels
if precision <= 5 then -- 10000+ years precision
local factor = 10 ^ ((5 - precision) + 4)
local value = math.ceil(math.abs(year) / factor)
local suffix = year < 0 and ' BCE' or ''
if precision == 0 then
return string.format('%d billion years%s', value, suffix)
elseif precision == 1 then
return string.format('%d00 million years%s', value, suffix)
elseif precision == 2 then
return string.format('%d0 million years%s', value, suffix)
elseif precision == 3 then
return string.format('%d million years%s', value, suffix)
elseif precision == 4 then
return string.format('%d00,000 years%s', value, suffix)
elseif precision == 5 then
return string.format('%d0,000 years%s', value, suffix)
end
elseif precision == 6 then -- Millennium
local millennium = math.floor((math.abs(year) - 1) / 1000) + 1
local ordinal = millennium .. (millennium == 1 and 'st' or millennium == 2 and 'nd' or millennium == 3 and 'rd' or 'th')
return ordinal .. ' millennium' .. (year < 0 and ' BCE' or '')
elseif precision == 7 then -- Century
local century = math.floor((math.abs(year) - 1) / 100) + 1
local ordinal = century .. (century % 10 == 1 and century % 100 ~= 11 and 'st' or
century % 10 == 2 and century % 100 ~= 12 and 'nd' or
century % 10 == 3 and century % 100 ~= 13 and 'rd' or 'th')
return ordinal .. ' century' .. (year < 0 and ' BCE' or '')
elseif precision == 8 then -- Decade
local decade = math.floor(math.abs(year) / 10) * 10
return decade .. 's' .. (year < 0 and ' BCE' or '')
elseif precision == 9 then -- Year
return math.abs(year) .. (year < 0 and ' BCE' or '')
else -- Month or more precise
-- Adjust for year 0 issue in timestamps
time = time:gsub('%-00%-00T', '-01-01T')
local lang = mw.language.getContentLanguage()
local formatStr
if precision == 10 then -- Month
formatStr = 'F Y'
elseif precision == 11 then -- Day
formatStr = 'j F Y'
elseif precision >= 12 then -- Hour or more precise
formatStr = 'j F Y, H:i' .. (precision >= 14 and ':s' or '')
end
-- Handle negative years for MediaWiki date formatting
if year < 0 then
time = '+' .. time:sub(2) -- Remove negative sign
local formatted = lang:formatDate(formatStr, time)
return formatted .. ' BCE'
else
return lang:formatDate(formatStr, time)
end
end
end
-- Get unit symbol from Wikidata entity
local function getUnitSymbol(unitId)
local statements = mw.wikibase.getBestStatements(unitId, 'P5061')
if statements and statements[1] and statements[1].mainsnak.snaktype == 'value' then
-- P5061 returns monolingual text, preferably get 'en' or 'mul' (multilingual)
for _, statement in ipairs(statements) do
local lang = statement.mainsnak.datavalue.value.language
if lang == 'mul' or lang == 'en' then
return statement.mainsnak.datavalue.value.text
end
end
-- If no English or multilingual, return first available
return statements[1].mainsnak.datavalue.value.text
end
return nil
end
-- Format quantity values
local function formatQuantity(value, args)
local amount = tonumber(value.amount)
if args.round then
local mult = 10^(args.round or 0)
amount = math.floor(amount * mult + 0.5) / mult
end
if args.formatnum ~= false then
amount = mw.language.getContentLanguage():formatNum(amount)
end
-- Handle units if present
if value.unit and value.unit ~= '1' then
local unitId = string.match(value.unit, 'Q%d+')
if unitId and args.showunit ~= false then
local unitText = ''
-- Try to get unit symbol first, fall back to label
if args.unitsymbol ~= false then
unitText = getUnitSymbol(unitId)
end
if not unitText or unitText == '' then
unitText = mw.wikibase.getLabel(unitId) or ''
end
if unitText ~= '' then
amount = amount .. ' ' .. unitText
end
end
end
return tostring(amount)
end
-- Format URL values
local function formatUrl(url, args)
if args.formatting == 'raw' then
return url
end
-- Basic URL formatting with line break opportunity
return string.format('<span class="url">[%s %s]</span>', url, url:gsub('^https?://', ''))
end
-- Format Commons media filenames
local function formatCommonsMedia(filename, args)
if args.formatting == 'raw' then
return filename
end
-- Build image options
local parts = { 'File:' .. filename }
-- Size/format options
if args.thumb then
table.insert(parts, 'thumb')
elseif args.size then
table.insert(parts, args.size)
else
table.insert(parts, 'frameless')
end
-- Alignment
if args.align then
table.insert(parts, args.align)
end
-- Alt text
if args.alt then
table.insert(parts, 'alt=' .. args.alt)
end
-- Caption (must be last)
if args.caption then
table.insert(parts, args.caption)
end
return string.format('[[%s]]', table.concat(parts, '|'))
end
-- Main function to format data values
local function formatDatavalue(datavalue, datatype, args)
if datavalue.type == 'wikibase-entityid' then
local value = datavalue.value
local prefix = getEntityPrefix(value['entity-type'])
if not prefix then
return handleError('unknown-entity-type')
end
local entityId = prefix .. value['numeric-id']
return formatEntityId(entityId, args)
elseif datavalue.type == 'string' then
if datatype == 'url' then
return formatUrl(datavalue.value, args)
elseif datatype == 'commonsMedia' then
return formatCommonsMedia(datavalue.value, args)
else
-- Regular string, external-id, or math
return datavalue.value
end
elseif datavalue.type == 'time' then
return formatTime(datavalue.value, datavalue.value.precision, args)
elseif datavalue.type == 'quantity' then
return formatQuantity(datavalue.value, args)
elseif datavalue.type == 'monolingualtext' then
local text = datavalue.value.text
local lang = datavalue.value.language
if args.showlang then
return string.format('<span lang="%s">%s</span> (%s)', lang, text, lang)
else
return text
end
elseif datavalue.type == 'globecoordinate' then
local lat = datavalue.value.latitude
local lon = datavalue.value.longitude
local precision = datavalue.value.precision
if args.coord == 'latitude' then
return tostring(lat)
elseif args.coord == 'longitude' then
return tostring(lon)
else
return string.format('%s, %s', lat, lon)
end
else
return handleError('unknown-datatype')
end
end
-- Format a single snak
local function formatSnak(snak, args)
if snak.snaktype == 'somevalue' then
return config.specialValues.somevalue
elseif snak.snaktype == 'novalue' then
return config.specialValues.novalue
elseif snak.snaktype == 'value' then
return formatDatavalue(snak.datavalue, snak.datatype, args)
end
return ''
end
-- Get and filter claims
local function getClaims(propertyId, args)
local entityId = args.from or mw.wikibase.getEntityIdForCurrentPage()
if not entityId then
return nil
end
-- Get claims based on rank preference
local claims
if args.rank == 'best' or not args.rank then
claims = mw.wikibase.getBestStatements(entityId, propertyId)
elseif args.rank == 'all' then
claims = mw.wikibase.getAllStatements(entityId, propertyId)
else
-- Get all and filter by specific rank
claims = mw.wikibase.getAllStatements(entityId, propertyId)
-- Note: We create a new filtered table here for clarity.
-- For extremely large datasets, in-place modification would be
-- more memory-efficient, but this approach is clearer and adequate
-- for typical Wikidata use cases where claim counts are reasonable.
local filtered = {}
for _, claim in ipairs(claims) do
if claim.rank == args.rank then
table.insert(filtered, claim)
end
end
claims = filtered
end
-- Filter by qualifier presence if specified
if args.hasqualifier and #claims > 0 then
local filtered = {}
for _, claim in ipairs(claims) do
if claim.qualifiers and claim.qualifiers[args.hasqualifier] then
table.insert(filtered, claim)
end
end
claims = filtered
end
-- Filter by qualifier value if specified
-- Note: This compares raw string values, which works well for entity IDs
-- but may need enhancement for complex datatypes like quantities with units
-- or formatted dates. For advanced use cases, consider implementing
-- datatype-specific comparisons.
if args.qualifiervalue and args.hasqualifier and #claims > 0 then
local filtered = {}
for _, claim in ipairs(claims) do
if claim.qualifiers and claim.qualifiers[args.hasqualifier] then
for _, qualifier in ipairs(claim.qualifiers[args.hasqualifier]) do
local value = formatSnak(qualifier, {formatting = 'raw'})
if value == args.qualifiervalue then
table.insert(filtered, claim)
break
end
end
end
end
claims = filtered
end
-- Limit number of results if specified
if args.limit and #claims > args.limit then
local limited = {}
for i = 1, args.limit do
limited[i] = claims[i]
end
claims = limited
end
-- Select specific index if specified
if args.index and #claims > 0 then
local idx = tonumber(args.index)
if idx and idx > 0 and idx <= #claims then
claims = { claims[idx] }
else
claims = {}
end
end
return claims
end
-- Format statements
local function formatStatements(claims, args)
local results = {}
for _, claim in ipairs(claims) do
local value = formatSnak(claim.mainsnak, args)
if value ~= '' then
table.insert(results, value)
end
end
if #results == 0 then
return nil
end
-- Join results
local separator = args.separator or ', '
return table.concat(results, separator)
end
-------------------------------------------------------------------------------
-- Public functions
-------------------------------------------------------------------------------
---
-- Get property value(s) from Wikidata
-- @param args Table with parameters:
-- [1] or property: Property ID (required)
-- from: Entity ID to get data from (optional, defaults to current page)
-- rank: 'best' (default), 'all', 'preferred', 'normal', 'deprecated'
-- formatting: 'raw', 'label', 'sitelink' for entities; affects other types too
-- separator: String to join multiple values (default: ', ')
-- limit: Maximum number of values to return
-- index: Return only the nth value
-- hasqualifier: Only return statements with this qualifier
-- qualifiervalue: Required value for the qualifier (used with hasqualifier)
-- default: Value to return if no data found
-- @return Formatted string or default value
function p._getProperty(args)
local propertyId = args[1] or args.property
if not propertyId then
return handleError('property-not-provided')
end
-- Normalize property ID
propertyId = string.upper(propertyId)
-- Get claims
local claims = getClaims(propertyId, args)
if not claims or #claims == 0 then
return args.default or ''
end
-- Format and return
return formatStatements(claims, args) or args.default or ''
end
-- Template interface
function p.getProperty(frame)
local args = frame.args.property and frame.args or frame:getParent().args
return p._getProperty(args)
end
---
-- Get qualifier value(s) from statements
-- @param args Table with parameters:
-- [1] or property: Property ID (required)
-- [2] or qualifier: Qualifier ID (required)
-- from: Entity ID to get data from (optional, defaults to current page)
-- rank: Which ranks to include (default: 'best')
-- formatting: How to format the output
-- separator: String to join multiple values (default: ', ')
-- default: Value to return if no data found
-- @return Formatted string or default value
function p._getQualifier(args)
local propertyId = args[1] or args.property
local qualifierId = args[2] or args.qualifier
if not propertyId then
return handleError('property-not-provided')
end
if not qualifierId then
return handleError('qualifier-not-provided')
end
propertyId = string.upper(propertyId)
qualifierId = string.upper(qualifierId)
-- Get claims (optionally filtered by qualifier presence)
local getClaims_args = {
from = args.from,
rank = args.rank or 'best',
hasqualifier = qualifierId -- Pre-filter claims that have this qualifier
}
local claims = getClaims(propertyId, getClaims_args)
if not claims or #claims == 0 then
return args.default or ''
end
-- Extract qualifier values
local results = {}
for _, claim in ipairs(claims) do
if claim.qualifiers and claim.qualifiers[qualifierId] then
for _, qualifier in ipairs(claim.qualifiers[qualifierId]) do
local value = formatSnak(qualifier, args)
if value ~= '' then
table.insert(results, value)
end
end
end
end
if #results == 0 then
return args.default or ''
end
local separator = args.separator or ', '
return table.concat(results, separator)
end
-- Template interface for qualifier
function p.getQualifier(frame)
local args = frame.args.property and frame.args or frame:getParent().args
return p._getQualifier(args)
end
---
-- Get Wikidata entity ID for current page or specified title
-- @param args Table with parameters:
-- [1] or page: Page title (optional, defaults to current page)
-- @return Entity ID string or empty string if not found
function p._getId(args)
local title = args[1] or args.page
if title then
local titleObj = mw.title.new(title)
if titleObj then
return mw.wikibase.getEntityIdForTitle(titleObj.prefixedText) or ''
end
end
return mw.wikibase.getEntityIdForCurrentPage() or ''
end
-- Template interface for ID
function p.getId(frame)
local args = frame.args[1] and frame.args or frame:getParent().args
return p._getId(args)
end
---
-- Get label of a Wikidata entity
-- @param args Table with parameters:
-- [1] or entity: Entity ID (optional, defaults to current page)
-- [2] or lang: Language code (optional, defaults to wiki language)
-- @return Label string or empty string if not found
function p._getLabel(args)
local entityId = args[1] or args.entity
local lang = args[2] or args.lang
if not entityId then
entityId = mw.wikibase.getEntityIdForCurrentPage()
end
if not entityId then
return ''
end
entityId = string.upper(entityId)
if lang then
-- Could use getTermByLang if we need both label and description
-- but for just label, getLabelByLang is more direct
return mw.wikibase.getLabelByLang(entityId, lang) or ''
else
return mw.wikibase.getLabel(entityId) or ''
end
end
-- Template interface for label
function p.getLabel(frame)
local args = frame.args[1] and frame.args or frame:getParent().args
return p._getLabel(args)
end
---
-- Get description of a Wikidata entity
-- @param args Table with parameters:
-- [1] or entity: Entity ID (optional, defaults to current page)
-- [2] or lang: Language code (optional, defaults to wiki language)
-- @return Description string or empty string if not found
function p._getDescription(args)
local entityId = args[1] or args.entity
local lang = args[2] or args.lang
if not entityId then
entityId = mw.wikibase.getEntityIdForCurrentPage()
end
if not entityId then
return ''
end
entityId = string.upper(entityId)
if lang then
-- Use getTermByLang for efficiency when fetching in specific language
local term = mw.wikibase.getTermByLang(entityId, lang)
return term and term.description or ''
else
return mw.wikibase.getDescription(entityId) or ''
end
end
-- Template interface for description
function p.getDescription(frame)
local args = frame.args[1] and frame.args or frame:getParent().args
return p._getDescription(args)
end
---
-- Get both label and description efficiently
-- @param args Table with parameters:
-- [1] or entity: Entity ID (optional, defaults to current page)
-- [2] or lang: Language code (optional, defaults to wiki language)
-- separator: String to join label and description (default: ' - ')
-- @return Combined label and description string
function p._getTerm(args)
local entityId = args[1] or args.entity
local lang = args[2] or args.lang
local separator = args.separator or ' - '
if not entityId then
entityId = mw.wikibase.getEntityIdForCurrentPage()
end
if not entityId then
return ''
end
entityId = string.upper(entityId)
local label, description
if lang then
-- More efficient to get both at once
local term = mw.wikibase.getTermByLang(entityId, lang)
if term then
label = term.label
description = term.description
end
else
label = mw.wikibase.getLabel(entityId)
description = mw.wikibase.getDescription(entityId)
end
if label and description then
return label .. separator .. description
elseif label then
return label
elseif description then
return description
else
return ''
end
end
-- Template interface for term
function p.getTerm(frame)
local args = frame.args[1] and frame.args or frame:getParent().args
return p._getTerm(args)
end
---
-- Count number of statements for a property
-- @param args Table with parameters:
-- [1] or property: Property ID (required)
-- from: Entity ID to get data from (optional, defaults to current page)
-- rank: Which ranks to include
-- hasqualifier: Only count statements with this qualifier
-- qualifiervalue: Required value for the qualifier
-- @return String representation of count
function p._count(args)
local propertyId = args[1] or args.property
if not propertyId then
return '0'
end
propertyId = string.upper(propertyId)
local claims = getClaims(propertyId, args)
return tostring(claims and #claims or 0)
end
-- Template interface for count
function p.count(frame)
local args = frame.args.property and frame.args or frame:getParent().args
return p._count(args)
end
return p
as2tulqfrnbi8nly4q1r4t5b4tqsrlc
Mòdulu:Bozza/GianAntonucci/Wikidata/doc
828
66473
770551
2025-07-05T00:09:56Z
GianAntonucci
46609
Pàggina nova: {{Documentation subpage}} {{Module rating|protected}} This module provides a comprehensive interface for accessing and formatting Wikidata content in MediaWiki templates. It supports all major Wikidata data types and offers extensive customization options while following performance best practices. == Usage == {{Notice|Note: Unless the <code>from</code> parameter is used, the following examples assume they are being run on a page linked to a Wikidata item. For demonstratio...
770551
wikitext
text/x-wiki
{{Documentation subpage}}
{{Module rating|protected}}
This module provides a comprehensive interface for accessing and formatting Wikidata content in MediaWiki templates. It supports all major Wikidata data types and offers extensive customization options while following performance best practices.
== Usage ==
{{Notice|Note: Unless the <code>from</code> parameter is used, the following examples assume they are being run on a page linked to a Wikidata item. For demonstration purposes, many examples use Douglas Adams (Q42) as a reference.}}
=== Basic syntax ===
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|function|parameters}}
</syntaxhighlight>
=== Quick examples ===
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31}} → Human
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569}} → 14 April 1972
{{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P39|P580}} → 20 January 2009
</syntaxhighlight>
== Functions ==
=== getProperty ===
Retrieves and formats property values from Wikidata.
'''Parameters:'''
* <code>1</code> or <code>property</code> – Property ID (required)
* <code>from</code> – Entity ID to get data from (optional, defaults to current page)
* <code>rank</code> – Which ranks to include (see [[#Rank parameter|rank parameter]] below)
* <code>formatting</code> – Output format (see [[#Data type formatting|data type formatting]] below)
* <code>separator</code> – String to join multiple values (default: <code>, </code>)
* <code>limit</code> – Maximum number of values to return
* <code>index</code> – Return only the nth value
* <code>hasqualifier</code> – Only return statements with this qualifier (see [[#Filtering parameters|filtering parameters]])
* <code>qualifiervalue</code> – Required value for the qualifier (used with <code>hasqualifier</code>)
* <code>default</code> – Value to return if no data found
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|formatting=label}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P39|hasqualifier=P580}}
</syntaxhighlight>
=== getQualifier ===
Retrieves qualifier values from property statements.
'''Parameters:'''
* <code>1</code> or <code>property</code> – Property ID (required)
* <code>2</code> or <code>qualifier</code> – Qualifier ID (required)
* <code>from</code> – Entity ID (optional, defaults to current page)
* <code>rank</code> – Which ranks to include (see [[#Rank parameter|rank parameter]])
* <code>formatting</code> – How to format the output
* <code>separator</code> – String to join multiple values (default: <code>, </code>)
* <code>default</code> – Value to return if no data found
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P39|P580}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P39|P580|separator=<br/>}}
</syntaxhighlight>
=== getLabel ===
Gets the label of a Wikidata entity.
'''Parameters:'''
* <code>1</code> or <code>entity</code> – Entity ID (optional, defaults to current page)
* <code>2</code> or <code>lang</code> – Language code (optional, defaults to wiki language)
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getLabel}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getLabel|Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getLabel|Q42|de}}
</syntaxhighlight>
=== getDescription ===
Gets the description of a Wikidata entity.
'''Parameters:'''
* <code>1</code> or <code>entity</code> – Entity ID (optional, defaults to current page)
* <code>2</code> or <code>lang</code> – Language code (optional, defaults to wiki language)
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getDescription|Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getDescription|Q42|fr}}
</syntaxhighlight>
=== getTerm ===
Gets both label and description efficiently.
'''Parameters:'''
* <code>1</code> or <code>entity</code> – Entity ID (optional, defaults to current page)
* <code>2</code> or <code>lang</code> – Language code (optional)
* <code>separator</code> – String between label and description (default: <code> - </code>)
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getTerm|Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getTerm|Q42|separator=: }}
</syntaxhighlight>
=== getId ===
Gets the Wikidata entity ID for a page.
'''Parameters:'''
* <code>1</code> or <code>page</code> – Page title (optional, defaults to current page)
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getId}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getId|Douglas Adams}}
</syntaxhighlight>
=== count ===
Counts the number of statements for a property.
'''Parameters:'''
* <code>1</code> or <code>property</code> – Property ID (required)
* All filtering parameters from <code>getProperty</code> are supported
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|count|P50}}
{{#invoke:Bozza/GianAntonucci/Wikidata|count|P50|hasqualifier=P1545}}
</syntaxhighlight>
== Common parameters ==
=== Formatting parameter ===
The <code>formatting</code> parameter controls how values are displayed:
'''For entities:'''
* <code>raw</code> or <code>id</code> – Returns the entity ID (e.g., <code>Q42</code>)
* <code>label</code> – Returns only the label
* <code>sitelink</code> – Returns only the sitelink
* ''(default)'' – Returns a linked label if possible
'''For other types:'''
* <code>raw</code> – Returns unformatted value
* ''(default)'' – Returns formatted value
=== Rank parameter ===
Controls which statement ranks to include:
* <code>best</code> – Preferred if available, otherwise normal (default)
* <code>preferred</code> – Only preferred rank
* <code>normal</code> – Only normal rank
* <code>deprecated</code> – Only deprecated rank
* <code>all</code> – All ranks
=== Filtering parameters ===
* <code>hasqualifier</code> – Only include statements with this qualifier
* <code>qualifiervalue</code> – Required value for the qualifier
* <code>limit</code> – Maximum number of results
* <code>index</code> – Select only the nth result
== Data type formatting ==
=== Entities (items and properties) ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42|formatting=raw}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42|formatting=raw}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42|formatting=label}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42|formatting=label}}
|}
=== Quantities ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42|unitsymbol=true}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42|unitsymbol=true}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42|round=0}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42|round=0}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1082|from=Q90|formatnum=false}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1082|from=Q90|formatnum=false}}
|}
=== Dates and times ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P571|from=Q90}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P571|from=Q90}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P571|from=Q193196}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P571|from=Q193196}}
|}
Different precisions are automatically formatted:
{| class="wikitable"
! Precision !! Example output
|-
| Day || 14 April 1972
|-
| Month || April 1972
|-
| Year || 1972
|-
| Decade || 1970s
|-
| Century || 20th century
|-
| Millennium || 2nd millennium
|}
=== Commons media ===
{| class="wikitable"
! Code
! Description
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18}}</nowiki></code>
| Default (frameless)
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18|size=200px}}</nowiki></code>
| With size
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18|thumb=yes|caption=Example image}}</nowiki></code>
| Thumbnail with caption
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18|alt=Description of image}}</nowiki></code>
| With alt text
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18|formatting=raw}}</nowiki></code>
| Raw filename (Example.jpg)
|}
=== URLs ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P856|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P856|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P856|from=Q42|formatting=raw}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P856|from=Q42|formatting=raw}}
|}
=== Coordinates ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q90}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q90}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q90|coord=latitude}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q90|coord=latitude}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q90|coord=longitude}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q90|coord=longitude}}
|}
=== Monolingual text ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1476|from=Q47598}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1476|from=Q47598}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1476|from=Q47598|showlang=true}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1476|from=Q47598|showlang=true}}
|}
== Advanced features ==
=== Multiple values ===
Control how multiple values are displayed:
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50|separator= / }}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50|limit=3}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50|index=2}}
</syntaxhighlight>
=== Qualifier filtering ===
Filter statements by qualifiers:
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P39|hasqualifier=P580}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P39|hasqualifier=P580|qualifiervalue=2020}}
</syntaxhighlight>
=== Using specific entities ===
Access data from entities other than the current page:
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getLabel|Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getDescription|Q42}}
</syntaxhighlight>
== Examples ==
=== Infobox integration ===
<syntaxhighlight lang="wikitext">
{{Infobox person
| name = {{#invoke:Bozza/GianAntonucci/Wikidata|getLabel}}
| image = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18|size=250px}}
| birth_date = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569}}
| birth_place = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P19|formatting=label}}
| occupation = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P106|separator=<br/>}}
}}
</syntaxhighlight>
=== Conditional display ===
<syntaxhighlight lang="wikitext">
{{#if: {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50}} |
'''Authors:''' {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50|separator=, }}
}}
</syntaxhighlight>
=== Complex queries ===
<syntaxhighlight lang="wikitext">
Mayor: {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P6|hasqualifier=P580}}
Term start: {{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P6|P580}}
Term end: {{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P6|P582}}
</syntaxhighlight>
== Performance considerations ==
# '''Efficient API usage''': The module uses <code>getBestStatements</code> and <code>getAllStatements</code> instead of <code>getEntity</code>, which is much more memory-efficient.
# '''Lazy loading''': Data is only fetched when needed, not preloaded.
# '''Caching''': MediaWiki caches Wikidata access, so repeated calls to the same property are efficient.
# '''Filtering''': The module filters data as early as possible to minimize processing.
== Error handling ==
The module provides clear error messages:
* '''Property not provided''' – Shown when the property parameter is missing
* '''Qualifier not provided''' – Shown when the qualifier parameter is missing
* '''Entity not found''' – Shown when the specified entity doesn't exist
* '''Unknown data type''' – Shown for unsupported Wikidata types
* '''Unknown entity type''' – Shown for unrecognised entity types
Errors are wrapped in <code><nowiki><span class="error"></nowiki></code> tags and can trigger categorization in mainspace.
=== Suppressing errors ===
Use the <code>default</code> parameter to provide fallback text:
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P999|default=No data available}}
</syntaxhighlight>
== See also ==
* [[mw:Extension:Wikibase Client/Lua|Wikibase Client/Lua documentation]]
* [[d:Wikidata:List of properties|List of Wikidata properties]]
* [[Module:Wikidata]] – Alternative Wikidata module
[[Category:Modules using data from Wikidata]]
3c91u7gbp46d2til6t3idkm1meggxni
770552
770551
2025-07-05T00:10:30Z
GianAntonucci
46609
/* Data type formatting */
770552
wikitext
text/x-wiki
{{Documentation subpage}}
{{Module rating|protected}}
This module provides a comprehensive interface for accessing and formatting Wikidata content in MediaWiki templates. It supports all major Wikidata data types and offers extensive customization options while following performance best practices.
== Usage ==
{{Notice|Note: Unless the <code>from</code> parameter is used, the following examples assume they are being run on a page linked to a Wikidata item. For demonstration purposes, many examples use Douglas Adams (Q42) as a reference.}}
=== Basic syntax ===
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|function|parameters}}
</syntaxhighlight>
=== Quick examples ===
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31}} → Human
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569}} → 14 April 1972
{{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P39|P580}} → 20 January 2009
</syntaxhighlight>
== Functions ==
=== getProperty ===
Retrieves and formats property values from Wikidata.
'''Parameters:'''
* <code>1</code> or <code>property</code> – Property ID (required)
* <code>from</code> – Entity ID to get data from (optional, defaults to current page)
* <code>rank</code> – Which ranks to include (see [[#Rank parameter|rank parameter]] below)
* <code>formatting</code> – Output format (see [[#Data type formatting|data type formatting]] below)
* <code>separator</code> – String to join multiple values (default: <code>, </code>)
* <code>limit</code> – Maximum number of values to return
* <code>index</code> – Return only the nth value
* <code>hasqualifier</code> – Only return statements with this qualifier (see [[#Filtering parameters|filtering parameters]])
* <code>qualifiervalue</code> – Required value for the qualifier (used with <code>hasqualifier</code>)
* <code>default</code> – Value to return if no data found
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|formatting=label}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P39|hasqualifier=P580}}
</syntaxhighlight>
=== getQualifier ===
Retrieves qualifier values from property statements.
'''Parameters:'''
* <code>1</code> or <code>property</code> – Property ID (required)
* <code>2</code> or <code>qualifier</code> – Qualifier ID (required)
* <code>from</code> – Entity ID (optional, defaults to current page)
* <code>rank</code> – Which ranks to include (see [[#Rank parameter|rank parameter]])
* <code>formatting</code> – How to format the output
* <code>separator</code> – String to join multiple values (default: <code>, </code>)
* <code>default</code> – Value to return if no data found
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P39|P580}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P39|P580|separator=<br/>}}
</syntaxhighlight>
=== getLabel ===
Gets the label of a Wikidata entity.
'''Parameters:'''
* <code>1</code> or <code>entity</code> – Entity ID (optional, defaults to current page)
* <code>2</code> or <code>lang</code> – Language code (optional, defaults to wiki language)
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getLabel}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getLabel|Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getLabel|Q42|de}}
</syntaxhighlight>
=== getDescription ===
Gets the description of a Wikidata entity.
'''Parameters:'''
* <code>1</code> or <code>entity</code> – Entity ID (optional, defaults to current page)
* <code>2</code> or <code>lang</code> – Language code (optional, defaults to wiki language)
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getDescription|Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getDescription|Q42|fr}}
</syntaxhighlight>
=== getTerm ===
Gets both label and description efficiently.
'''Parameters:'''
* <code>1</code> or <code>entity</code> – Entity ID (optional, defaults to current page)
* <code>2</code> or <code>lang</code> – Language code (optional)
* <code>separator</code> – String between label and description (default: <code> - </code>)
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getTerm|Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getTerm|Q42|separator=: }}
</syntaxhighlight>
=== getId ===
Gets the Wikidata entity ID for a page.
'''Parameters:'''
* <code>1</code> or <code>page</code> – Page title (optional, defaults to current page)
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getId}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getId|Douglas Adams}}
</syntaxhighlight>
=== count ===
Counts the number of statements for a property.
'''Parameters:'''
* <code>1</code> or <code>property</code> – Property ID (required)
* All filtering parameters from <code>getProperty</code> are supported
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|count|P50}}
{{#invoke:Bozza/GianAntonucci/Wikidata|count|P50|hasqualifier=P1545}}
</syntaxhighlight>
== Common parameters ==
=== Formatting parameter ===
The <code>formatting</code> parameter controls how values are displayed:
'''For entities:'''
* <code>raw</code> or <code>id</code> – Returns the entity ID (e.g., <code>Q42</code>)
* <code>label</code> – Returns only the label
* <code>sitelink</code> – Returns only the sitelink
* ''(default)'' – Returns a linked label if possible
'''For other types:'''
* <code>raw</code> – Returns unformatted value
* ''(default)'' – Returns formatted value
=== Rank parameter ===
Controls which statement ranks to include:
* <code>best</code> – Preferred if available, otherwise normal (default)
* <code>preferred</code> – Only preferred rank
* <code>normal</code> – Only normal rank
* <code>deprecated</code> – Only deprecated rank
* <code>all</code> – All ranks
=== Filtering parameters ===
* <code>hasqualifier</code> – Only include statements with this qualifier
* <code>qualifiervalue</code> – Required value for the qualifier
* <code>limit</code> – Maximum number of results
* <code>index</code> – Select only the nth result
== Data type formatting ==
=== Entities (items and properties) ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42|formatting=label}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42|formatting=label}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42|formatting=id}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42|formatting=id}}
|}
=== Quantities ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42|unitsymbol=true}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42|unitsymbol=true}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42|showunit=false}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42|showunit=false}}
|}
=== Dates and times ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P570|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P570|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569|from=Q1}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569|from=Q1}}
|}
Different precisions are automatically formatted:
{| class="wikitable"
! Precision !! Example output
|-
| Day || 11 May 2001
|-
| Month || May 2001
|-
| Year || 2001
|-
| Decade || 2000s
|-
| Century || 21st century
|-
| Millennium || 3rd millennium
|}
=== Commons media ===
{| class="wikitable"
! Code
! Description
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18|from=Q42}}</nowiki></code>
| [[File:Douglas adams portrait.jpg|frameless]]
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18|from=Q42|size=150px}}</nowiki></code>
| [[File:Douglas adams portrait.jpg|150px]]
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18|from=Q42|thumb|caption=Douglas Adams}}</nowiki></code>
| [[File:Douglas adams portrait.jpg|thumb|Douglas Adams]]
|}
=== URLs ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P856|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P856|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P856|from=Q42|formatting=raw}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P856|from=Q42|formatting=raw}}
|}
=== Coordinates ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1|coord=latitude}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1|coord=latitude}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1|coord=longitude}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1|coord=longitude}}
|}
=== Monolingual text ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1477|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1477|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1477|from=Q42|showlang=true}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1477|from=Q42|showlang=true}}
|}
== Advanced features ==
=== Multiple values ===
Control how multiple values are displayed:
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50|separator= / }}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50|limit=3}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50|index=2}}
</syntaxhighlight>
=== Qualifier filtering ===
Filter statements by qualifiers:
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P39|hasqualifier=P580}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P39|hasqualifier=P580|qualifiervalue=2020}}
</syntaxhighlight>
=== Using specific entities ===
Access data from entities other than the current page:
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getLabel|Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getDescription|Q42}}
</syntaxhighlight>
== Examples ==
=== Infobox integration ===
<syntaxhighlight lang="wikitext">
{{Infobox person
| name = {{#invoke:Bozza/GianAntonucci/Wikidata|getLabel}}
| image = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18|size=250px}}
| birth_date = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569}}
| birth_place = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P19|formatting=label}}
| occupation = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P106|separator=<br/>}}
}}
</syntaxhighlight>
=== Conditional display ===
<syntaxhighlight lang="wikitext">
{{#if: {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50}} |
'''Authors:''' {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50|separator=, }}
}}
</syntaxhighlight>
=== Complex queries ===
<syntaxhighlight lang="wikitext">
Mayor: {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P6|hasqualifier=P580}}
Term start: {{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P6|P580}}
Term end: {{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P6|P582}}
</syntaxhighlight>
== Performance considerations ==
# '''Efficient API usage''': The module uses <code>getBestStatements</code> and <code>getAllStatements</code> instead of <code>getEntity</code>, which is much more memory-efficient.
# '''Lazy loading''': Data is only fetched when needed, not preloaded.
# '''Caching''': MediaWiki caches Wikidata access, so repeated calls to the same property are efficient.
# '''Filtering''': The module filters data as early as possible to minimize processing.
== Error handling ==
The module provides clear error messages:
* '''Property not provided''' – Shown when the property parameter is missing
* '''Qualifier not provided''' – Shown when the qualifier parameter is missing
* '''Entity not found''' – Shown when the specified entity doesn't exist
* '''Unknown data type''' – Shown for unsupported Wikidata types
* '''Unknown entity type''' – Shown for unrecognised entity types
Errors are wrapped in <code><nowiki><span class="error"></nowiki></code> tags and can trigger categorization in mainspace.
=== Suppressing errors ===
Use the <code>default</code> parameter to provide fallback text:
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P999|default=No data available}}
</syntaxhighlight>
== See also ==
* [[mw:Extension:Wikibase Client/Lua|Wikibase Client/Lua documentation]]
* [[d:Wikidata:List of properties|List of Wikidata properties]]
* [[Module:Wikidata]] – Alternative Wikidata module
[[Category:Modules using data from Wikidata]]
ncgbnuqbjkoewxg3flsyu99eqwnnwnw
770553
770552
2025-07-05T00:11:21Z
GianAntonucci
46609
770553
wikitext
text/x-wiki
This module provides a comprehensive interface for accessing and formatting Wikidata content in MediaWiki templates. It supports all major Wikidata data types and offers extensive customization options while following performance best practices.
== Usage ==
{{Notice|Note: Unless the <code>from</code> parameter is used, the following examples assume they are being run on a page linked to a Wikidata item. For demonstration purposes, many examples use Douglas Adams (Q42) as a reference.}}
=== Basic syntax ===
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|function|parameters}}
</syntaxhighlight>
=== Quick examples ===
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31}} → Human
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569}} → 14 April 1972
{{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P39|P580}} → 20 January 2009
</syntaxhighlight>
== Functions ==
=== getProperty ===
Retrieves and formats property values from Wikidata.
'''Parameters:'''
* <code>1</code> or <code>property</code> – Property ID (required)
* <code>from</code> – Entity ID to get data from (optional, defaults to current page)
* <code>rank</code> – Which ranks to include (see [[#Rank parameter|rank parameter]] below)
* <code>formatting</code> – Output format (see [[#Data type formatting|data type formatting]] below)
* <code>separator</code> – String to join multiple values (default: <code>, </code>)
* <code>limit</code> – Maximum number of values to return
* <code>index</code> – Return only the nth value
* <code>hasqualifier</code> – Only return statements with this qualifier (see [[#Filtering parameters|filtering parameters]])
* <code>qualifiervalue</code> – Required value for the qualifier (used with <code>hasqualifier</code>)
* <code>default</code> – Value to return if no data found
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|formatting=label}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P39|hasqualifier=P580}}
</syntaxhighlight>
=== getQualifier ===
Retrieves qualifier values from property statements.
'''Parameters:'''
* <code>1</code> or <code>property</code> – Property ID (required)
* <code>2</code> or <code>qualifier</code> – Qualifier ID (required)
* <code>from</code> – Entity ID (optional, defaults to current page)
* <code>rank</code> – Which ranks to include (see [[#Rank parameter|rank parameter]])
* <code>formatting</code> – How to format the output
* <code>separator</code> – String to join multiple values (default: <code>, </code>)
* <code>default</code> – Value to return if no data found
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P39|P580}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P39|P580|separator=<br/>}}
</syntaxhighlight>
=== getLabel ===
Gets the label of a Wikidata entity.
'''Parameters:'''
* <code>1</code> or <code>entity</code> – Entity ID (optional, defaults to current page)
* <code>2</code> or <code>lang</code> – Language code (optional, defaults to wiki language)
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getLabel}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getLabel|Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getLabel|Q42|de}}
</syntaxhighlight>
=== getDescription ===
Gets the description of a Wikidata entity.
'''Parameters:'''
* <code>1</code> or <code>entity</code> – Entity ID (optional, defaults to current page)
* <code>2</code> or <code>lang</code> – Language code (optional, defaults to wiki language)
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getDescription|Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getDescription|Q42|fr}}
</syntaxhighlight>
=== getTerm ===
Gets both label and description efficiently.
'''Parameters:'''
* <code>1</code> or <code>entity</code> – Entity ID (optional, defaults to current page)
* <code>2</code> or <code>lang</code> – Language code (optional)
* <code>separator</code> – String between label and description (default: <code> - </code>)
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getTerm|Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getTerm|Q42|separator=: }}
</syntaxhighlight>
=== getId ===
Gets the Wikidata entity ID for a page.
'''Parameters:'''
* <code>1</code> or <code>page</code> – Page title (optional, defaults to current page)
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getId}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getId|Douglas Adams}}
</syntaxhighlight>
=== count ===
Counts the number of statements for a property.
'''Parameters:'''
* <code>1</code> or <code>property</code> – Property ID (required)
* All filtering parameters from <code>getProperty</code> are supported
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|count|P50}}
{{#invoke:Bozza/GianAntonucci/Wikidata|count|P50|hasqualifier=P1545}}
</syntaxhighlight>
== Common parameters ==
=== Formatting parameter ===
The <code>formatting</code> parameter controls how values are displayed:
'''For entities:'''
* <code>raw</code> or <code>id</code> – Returns the entity ID (e.g., <code>Q42</code>)
* <code>label</code> – Returns only the label
* <code>sitelink</code> – Returns only the sitelink
* ''(default)'' – Returns a linked label if possible
'''For other types:'''
* <code>raw</code> – Returns unformatted value
* ''(default)'' – Returns formatted value
=== Rank parameter ===
Controls which statement ranks to include:
* <code>best</code> – Preferred if available, otherwise normal (default)
* <code>preferred</code> – Only preferred rank
* <code>normal</code> – Only normal rank
* <code>deprecated</code> – Only deprecated rank
* <code>all</code> – All ranks
=== Filtering parameters ===
* <code>hasqualifier</code> – Only include statements with this qualifier
* <code>qualifiervalue</code> – Required value for the qualifier
* <code>limit</code> – Maximum number of results
* <code>index</code> – Select only the nth result
== Data type formatting ==
=== Entities (items and properties) ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42|formatting=label}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42|formatting=label}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42|formatting=id}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42|formatting=id}}
|}
=== Quantities ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42|unitsymbol=true}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42|unitsymbol=true}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42|showunit=false}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42|showunit=false}}
|}
=== Dates and times ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P570|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P570|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569|from=Q1}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569|from=Q1}}
|}
Different precisions are automatically formatted:
{| class="wikitable"
! Precision !! Example output
|-
| Day || 11 May 2001
|-
| Month || May 2001
|-
| Year || 2001
|-
| Decade || 2000s
|-
| Century || 21st century
|-
| Millennium || 3rd millennium
|}
=== Commons media ===
{| class="wikitable"
! Code
! Description
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18|from=Q42}}</nowiki></code>
| [[File:Douglas adams portrait.jpg|frameless]]
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18|from=Q42|size=150px}}</nowiki></code>
| [[File:Douglas adams portrait.jpg|150px]]
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18|from=Q42|thumb|caption=Douglas Adams}}</nowiki></code>
| [[File:Douglas adams portrait.jpg|thumb|Douglas Adams]]
|}
=== URLs ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P856|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P856|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P856|from=Q42|formatting=raw}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P856|from=Q42|formatting=raw}}
|}
=== Coordinates ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1|coord=latitude}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1|coord=latitude}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1|coord=longitude}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1|coord=longitude}}
|}
=== Monolingual text ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1477|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1477|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1477|from=Q42|showlang=true}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1477|from=Q42|showlang=true}}
|}
== Advanced features ==
=== Multiple values ===
Control how multiple values are displayed:
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50|separator= / }}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50|limit=3}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50|index=2}}
</syntaxhighlight>
=== Qualifier filtering ===
Filter statements by qualifiers:
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P39|hasqualifier=P580}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P39|hasqualifier=P580|qualifiervalue=2020}}
</syntaxhighlight>
=== Using specific entities ===
Access data from entities other than the current page:
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getLabel|Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getDescription|Q42}}
</syntaxhighlight>
== Examples ==
=== Infobox integration ===
<syntaxhighlight lang="wikitext">
{{Infobox person
| name = {{#invoke:Bozza/GianAntonucci/Wikidata|getLabel}}
| image = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18|size=250px}}
| birth_date = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569}}
| birth_place = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P19|formatting=label}}
| occupation = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P106|separator=<br/>}}
}}
</syntaxhighlight>
=== Conditional display ===
<syntaxhighlight lang="wikitext">
{{#if: {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50}} |
'''Authors:''' {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50|separator=, }}
}}
</syntaxhighlight>
=== Complex queries ===
<syntaxhighlight lang="wikitext">
Mayor: {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P6|hasqualifier=P580}}
Term start: {{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P6|P580}}
Term end: {{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P6|P582}}
</syntaxhighlight>
== Performance considerations ==
# '''Efficient API usage''': The module uses <code>getBestStatements</code> and <code>getAllStatements</code> instead of <code>getEntity</code>, which is much more memory-efficient.
# '''Lazy loading''': Data is only fetched when needed, not preloaded.
# '''Caching''': MediaWiki caches Wikidata access, so repeated calls to the same property are efficient.
# '''Filtering''': The module filters data as early as possible to minimize processing.
== Error handling ==
The module provides clear error messages:
* '''Property not provided''' – Shown when the property parameter is missing
* '''Qualifier not provided''' – Shown when the qualifier parameter is missing
* '''Entity not found''' – Shown when the specified entity doesn't exist
* '''Unknown data type''' – Shown for unsupported Wikidata types
* '''Unknown entity type''' – Shown for unrecognised entity types
Errors are wrapped in <code><nowiki><span class="error"></nowiki></code> tags and can trigger categorization in mainspace.
=== Suppressing errors ===
Use the <code>default</code> parameter to provide fallback text:
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P999|default=No data available}}
</syntaxhighlight>
== See also ==
* [[mw:Extension:Wikibase Client/Lua|Wikibase Client/Lua documentation]]
* [[d:Wikidata:List of properties|List of Wikidata properties]]
* [[Module:Wikidata]] – Alternative Wikidata module
[[Category:Modules using data from Wikidata]]
swz8js2stvb2i6npit1zqd2l48sq450
770554
770553
2025-07-05T00:11:50Z
GianAntonucci
46609
/* Usage */
770554
wikitext
text/x-wiki
This module provides a comprehensive interface for accessing and formatting Wikidata content in MediaWiki templates. It supports all major Wikidata data types and offers extensive customization options while following performance best practices.
== Usage ==
Note: Unless the <code>from</code> parameter is used, the following examples assume they are being run on a page linked to a Wikidata item. For demonstration purposes, many examples use Douglas Adams (Q42) as a reference.
=== Basic syntax ===
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|function|parameters}}
</syntaxhighlight>
=== Quick examples ===
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31}} → Human
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569}} → 14 April 1972
{{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P39|P580}} → 20 January 2009
</syntaxhighlight>
== Functions ==
=== getProperty ===
Retrieves and formats property values from Wikidata.
'''Parameters:'''
* <code>1</code> or <code>property</code> – Property ID (required)
* <code>from</code> – Entity ID to get data from (optional, defaults to current page)
* <code>rank</code> – Which ranks to include (see [[#Rank parameter|rank parameter]] below)
* <code>formatting</code> – Output format (see [[#Data type formatting|data type formatting]] below)
* <code>separator</code> – String to join multiple values (default: <code>, </code>)
* <code>limit</code> – Maximum number of values to return
* <code>index</code> – Return only the nth value
* <code>hasqualifier</code> – Only return statements with this qualifier (see [[#Filtering parameters|filtering parameters]])
* <code>qualifiervalue</code> – Required value for the qualifier (used with <code>hasqualifier</code>)
* <code>default</code> – Value to return if no data found
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|formatting=label}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P39|hasqualifier=P580}}
</syntaxhighlight>
=== getQualifier ===
Retrieves qualifier values from property statements.
'''Parameters:'''
* <code>1</code> or <code>property</code> – Property ID (required)
* <code>2</code> or <code>qualifier</code> – Qualifier ID (required)
* <code>from</code> – Entity ID (optional, defaults to current page)
* <code>rank</code> – Which ranks to include (see [[#Rank parameter|rank parameter]])
* <code>formatting</code> – How to format the output
* <code>separator</code> – String to join multiple values (default: <code>, </code>)
* <code>default</code> – Value to return if no data found
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P39|P580}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P39|P580|separator=<br/>}}
</syntaxhighlight>
=== getLabel ===
Gets the label of a Wikidata entity.
'''Parameters:'''
* <code>1</code> or <code>entity</code> – Entity ID (optional, defaults to current page)
* <code>2</code> or <code>lang</code> – Language code (optional, defaults to wiki language)
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getLabel}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getLabel|Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getLabel|Q42|de}}
</syntaxhighlight>
=== getDescription ===
Gets the description of a Wikidata entity.
'''Parameters:'''
* <code>1</code> or <code>entity</code> – Entity ID (optional, defaults to current page)
* <code>2</code> or <code>lang</code> – Language code (optional, defaults to wiki language)
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getDescription|Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getDescription|Q42|fr}}
</syntaxhighlight>
=== getTerm ===
Gets both label and description efficiently.
'''Parameters:'''
* <code>1</code> or <code>entity</code> – Entity ID (optional, defaults to current page)
* <code>2</code> or <code>lang</code> – Language code (optional)
* <code>separator</code> – String between label and description (default: <code> - </code>)
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getTerm|Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getTerm|Q42|separator=: }}
</syntaxhighlight>
=== getId ===
Gets the Wikidata entity ID for a page.
'''Parameters:'''
* <code>1</code> or <code>page</code> – Page title (optional, defaults to current page)
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getId}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getId|Douglas Adams}}
</syntaxhighlight>
=== count ===
Counts the number of statements for a property.
'''Parameters:'''
* <code>1</code> or <code>property</code> – Property ID (required)
* All filtering parameters from <code>getProperty</code> are supported
'''Examples:'''
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|count|P50}}
{{#invoke:Bozza/GianAntonucci/Wikidata|count|P50|hasqualifier=P1545}}
</syntaxhighlight>
== Common parameters ==
=== Formatting parameter ===
The <code>formatting</code> parameter controls how values are displayed:
'''For entities:'''
* <code>raw</code> or <code>id</code> – Returns the entity ID (e.g., <code>Q42</code>)
* <code>label</code> – Returns only the label
* <code>sitelink</code> – Returns only the sitelink
* ''(default)'' – Returns a linked label if possible
'''For other types:'''
* <code>raw</code> – Returns unformatted value
* ''(default)'' – Returns formatted value
=== Rank parameter ===
Controls which statement ranks to include:
* <code>best</code> – Preferred if available, otherwise normal (default)
* <code>preferred</code> – Only preferred rank
* <code>normal</code> – Only normal rank
* <code>deprecated</code> – Only deprecated rank
* <code>all</code> – All ranks
=== Filtering parameters ===
* <code>hasqualifier</code> – Only include statements with this qualifier
* <code>qualifiervalue</code> – Required value for the qualifier
* <code>limit</code> – Maximum number of results
* <code>index</code> – Select only the nth result
== Data type formatting ==
=== Entities (items and properties) ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42|formatting=label}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42|formatting=label}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42|formatting=id}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42|formatting=id}}
|}
=== Quantities ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42|unitsymbol=true}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42|unitsymbol=true}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42|showunit=false}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P2048|from=Q42|showunit=false}}
|}
=== Dates and times ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P570|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P570|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569|from=Q1}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569|from=Q1}}
|}
Different precisions are automatically formatted:
{| class="wikitable"
! Precision !! Example output
|-
| Day || 11 May 2001
|-
| Month || May 2001
|-
| Year || 2001
|-
| Decade || 2000s
|-
| Century || 21st century
|-
| Millennium || 3rd millennium
|}
=== Commons media ===
{| class="wikitable"
! Code
! Description
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18|from=Q42}}</nowiki></code>
| [[File:Douglas adams portrait.jpg|frameless]]
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18|from=Q42|size=150px}}</nowiki></code>
| [[File:Douglas adams portrait.jpg|150px]]
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18|from=Q42|thumb|caption=Douglas Adams}}</nowiki></code>
| [[File:Douglas adams portrait.jpg|thumb|Douglas Adams]]
|}
=== URLs ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P856|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P856|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P856|from=Q42|formatting=raw}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P856|from=Q42|formatting=raw}}
|}
=== Coordinates ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1|coord=latitude}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1|coord=latitude}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1|coord=longitude}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P625|from=Q174373|limit=1|coord=longitude}}
|}
=== Monolingual text ===
{| class="wikitable"
! Code
! Result
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1477|from=Q42}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1477|from=Q42}}
|-
| <code><nowiki>{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1477|from=Q42|showlang=true}}</nowiki></code>
| {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P1477|from=Q42|showlang=true}}
|}
== Advanced features ==
=== Multiple values ===
Control how multiple values are displayed:
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50|separator= / }}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50|limit=3}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50|index=2}}
</syntaxhighlight>
=== Qualifier filtering ===
Filter statements by qualifiers:
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P39|hasqualifier=P580}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P39|hasqualifier=P580|qualifiervalue=2020}}
</syntaxhighlight>
=== Using specific entities ===
Access data from entities other than the current page:
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P31|from=Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getLabel|Q42}}
{{#invoke:Bozza/GianAntonucci/Wikidata|getDescription|Q42}}
</syntaxhighlight>
== Examples ==
=== Infobox integration ===
<syntaxhighlight lang="wikitext">
{{Infobox person
| name = {{#invoke:Bozza/GianAntonucci/Wikidata|getLabel}}
| image = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P18|size=250px}}
| birth_date = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P569}}
| birth_place = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P19|formatting=label}}
| occupation = {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P106|separator=<br/>}}
}}
</syntaxhighlight>
=== Conditional display ===
<syntaxhighlight lang="wikitext">
{{#if: {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50}} |
'''Authors:''' {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P50|separator=, }}
}}
</syntaxhighlight>
=== Complex queries ===
<syntaxhighlight lang="wikitext">
Mayor: {{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P6|hasqualifier=P580}}
Term start: {{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P6|P580}}
Term end: {{#invoke:Bozza/GianAntonucci/Wikidata|getQualifier|P6|P582}}
</syntaxhighlight>
== Performance considerations ==
# '''Efficient API usage''': The module uses <code>getBestStatements</code> and <code>getAllStatements</code> instead of <code>getEntity</code>, which is much more memory-efficient.
# '''Lazy loading''': Data is only fetched when needed, not preloaded.
# '''Caching''': MediaWiki caches Wikidata access, so repeated calls to the same property are efficient.
# '''Filtering''': The module filters data as early as possible to minimize processing.
== Error handling ==
The module provides clear error messages:
* '''Property not provided''' – Shown when the property parameter is missing
* '''Qualifier not provided''' – Shown when the qualifier parameter is missing
* '''Entity not found''' – Shown when the specified entity doesn't exist
* '''Unknown data type''' – Shown for unsupported Wikidata types
* '''Unknown entity type''' – Shown for unrecognised entity types
Errors are wrapped in <code><nowiki><span class="error"></nowiki></code> tags and can trigger categorization in mainspace.
=== Suppressing errors ===
Use the <code>default</code> parameter to provide fallback text:
<syntaxhighlight lang="wikitext">
{{#invoke:Bozza/GianAntonucci/Wikidata|getProperty|P999|default=No data available}}
</syntaxhighlight>
== See also ==
* [[mw:Extension:Wikibase Client/Lua|Wikibase Client/Lua documentation]]
* [[d:Wikidata:List of properties|List of Wikidata properties]]
* [[Module:Wikidata]] – Alternative Wikidata module
[[Category:Modules using data from Wikidata]]
ns62vd392japvzoq1mtwq7jn7zf8xdv