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