Vicipedia lfnwiki https://lfn.wikipedia.org/wiki/Paje_xef MediaWiki 1.47.0-wmf.9 first-letter Media Spesial Discute Usor Usor Discute Vicipedia Vicipedia Discute Fix Fix Discute MediaWiki MediaWiki talk Model Model Discute Aida Aida Discute Categoria Categoria Discute TimedText TimedText talk Modulo Modulo Discute Event Event talk Jesus Cristo 0 1280 43227 43224 2026-07-06T21:40:43Z Elefentistenova 13358 43227 wikitext text/x-wiki {{Biografia | imaje = Spas vsederzhitel sinay (cropped1).jpg | descrive = La [[Cristo Pantocrator (Sinai)|Cristo Pantocrator]] de la [[Monceria de San Catalina de Monte Sinai]] a [[Monte Sinai]], sentenio 6 ec | nase = 6 a 4 aec, [[rena de Herod]], Impero Roman | mori = 30 o 33 ec, [[Ieruxalim]], [[Iudea]], Impero Roman | profesa = carpentor, predicor iudi }} '''Jesus''' (s 6 a 4 aec - 30 o 33 ec),{{efn|{{lang|grc|Ἰησοῦς}}, {{peti|romanida:}} {{transleteri|grc|Iēsoús}}, probable de {{langx|he|יֵשׁוּעַ|label=[[ivri (lingua)|ivri]] o [[arami (lingua)|arami]]}}, {{peti|romanida:}} {{transleteri|und|[[Yeshua|Yēšūaʿ]]}} }} ci on nomi ance '''Jesus Cristo''',{{efn|[[copta (lingua)|copta]]: {{lang|cop|Ⲓⲏⲥⲟⲩⲥ Ⲡⲓⲭ́ρⲓⲥτⲟⲥ}}; [[itiopica]]: {{lang|gez|መሲህ ኢየሱስ}}; [[coine|elinica]]: {{lang|grc|Ἰησοῦς Χριστός}}; [[ivri (lingua)|ivri]]: {{lang|hbo|ישוע המשיח}}; [[latina (lingua)|latina]]: {{lang|la|Iesus Christus}}; [[slavonica vea eglesal|slavonica]]: {{lang|cu|І҆исоу́съ Хрїсто́съ}}; [[siriaca clasica|siriaca]]: {{lang|syc|ܝܫܘܥ ܡܫܺܝܚܳܐ}}}}, '''Jesus de Nazaret''' e otra nomes e titulos variosa, ia es un predicor [[iudisme|iudi]] e [[Jesus en cristianisme|xef relijiosa]] de la sentenio prima en la provinse roman [[Iudea]].{{sfn|Vermes|1981|pp=20, 26, 27, 29}} El es la figur sentral de [[cristianisme]], la relijio la plu grande de la mundo. La plu de ramos de cristianisme regarda Jesus como la [[incarne (cristianism)|incarne]] de [[Dio la Fio]] e la [[Maxia]] o [[Cristo]] espetada. La [[Evanjelio]]s, spesial la cuatro Evanjelios canonal de la [[Atesta Nova]], conteni la naras de la vive de Jesus. De la [[Lumina]], rexerca academial ia produi vistas diversa sur la fidablia istorial de la Evanjelios e la grado a cual los refleta la Jesus istorial,{{sfn|Powell|1998|pp=168–173}}{{efn|Ehrman scrive: "La mundo academial comparti jeneral la idea ce la naras de la evanjelios no es intera esata ma remane importante per la verias relijiosa cual los atenta comunica, an si persones estra de lo no conose o crede lo tan vasta."<ref>Bart D. Ehrman. [http://www.thegreatcourses.com/courses/historical-jesus.html Historical Jesus. 'Prophet of the New Millennium']. {{Webarchive|url=https://web.archive.org/web/20190123155853/https://www.thegreatcourses.com/courses/historical-jesus.html |date=23 January 2019 |arcivo=1}} Course handbook, p. 10 (Lecture Three. V. B.), The Teaching Company, 2000, Lecture 24</ref><br />Sanders scrive: "La cristianes la plu temprana no ia scrive un nara de la vive de Jesus, ma plu esata los ia usa, e donce ia conserva, unias individua - pasajes corta sur sua parolas e atas. Plu tarda, autores e editores ia move e ordina esta unias. [...] Cristianes temprana ia revisa alga materias e ia crea otras."{{sfn|Sanders|1993|p=57}}}}{{Sfn|Bowman Jr.|Komoszewski|2019|p=22–23}}<ref>{{Cite journal|author-first1=Craig A. |author-last1=Evans|url=https://theologicalstudies.net/wp-content/uploads/2022/08/54.1.1.pdf|title=Life-of-Jesus Research and the Eclipse of Mythology|journal=Theological Studies |volume=54 |year=1993|pages= 13–14|quote=First, the New Testament Gospels are now viewed as useful, if not essentially reliable, historical sources. Gone is the extreme skepticism that for so many years dominated gospel research. Representative of many is the position of E. P. Sanders and Marcus Borg, who have concluded that it is possible to recover a fairly reliable picture of the historical Jesus.}}</ref> ma cuasi tota eruditas moderna de [[anticia clasica|anticia]] acorda ce Jesus ia esiste istorial.{{efn |name=exist|En un resenia de 2011 sur la state de eruditia moderna, [[Bart D. Ehrman]] ia scrive: "Sin duta el ia esiste, como cuasi cada erudita capas de la antica clasica, cristian o noncristian, acorda."{{sfn|Ehrman|2011|p=[https://archive.org/details/forged_ehrm_2011_000_10544376/page/n298 285]}} [[Richard A. Burridge]] declara: "Algas argumenta ce Jesus es mera un produida de la imajina de la Eglesa, e ce Jesus is esiste nunca. Me debe dise ce me conose no erudita criticante e respetable ci dise acel ancora."<ref>{{cite book |title=Jesus Now and Then |first1=Richard A. |last1=Burridge |first2=Graham |last2=Gould |year=2004 |isbn=978-0-8028-0977-3 |page=[https://archive.org/details/jesusnowthen0000burr/page/34 34] |publisher=Wm. B. Eerdmans |url=https://archive.org/details/jesusnowthen0000burr/page/34}}</ref> [[Robert M. Price]] no crede ce Jesus ia esiste, ma el acorda ce esta perspetiva oposa la opinas de la majoria de eruditas. <ref>{{cite encyclopedia |first=Robert M. |last=Price |title=Jesus at the Vanishing Point |encyclopedia=The Historical Jesus: Five Views |editor-last1=Beilby |editor-last2=Eddy |year=2009 |publisher=InterVarsity |isbn=978-0-8308-7853-6 |editor-first=James K. |pages=55, 61 |url=https://books.google.com/books?id=O33P7xrFnLQC&pg=PA55 |editor2-first=Paul R. |access-date=14 August 2015 |archive-date=7 September 2015 |archive-url=https://web.archive.org/web/20150907112540/https://books.google.com/books?id=O33P7xrFnLQC&pg=PA55 |url-status=live}}</ref> [[James D. G. Dunn]] nomi la teorias sur la nonesiste de Jesus "un tese intera mor".<ref>{{cite encyclopedia |title=Paul's understanding of the death of Jesus |encyclopedia=Sacrifice and Redemption |first=Stephen W. |last=Sykes |year=2007 |publisher=Cambridge University Press |isbn=978-0-521-04460-8 |pages=35–36}}</ref> Longo [[Michael Grant]] (un clasiciste): "En anios resente [de 2004], 'no erudita seria ia osa proposa la nonesiste istorial de Jesus', o a la min vera poca ia fa lo, e los no ia susede refuta la indicas multe plu forte e vera abundante per la oposada."<ref>{{cite book |first=Michael |last=Grant |title=Jesus|publisher=Phoenix |year=2004 |isbn=978-0-684-14889-2 |page=200}}</ref> [[Robert E. Van Voorst]] declara ce eruditas biblial e istoristes clasica opina ce on ia refuta eficas la teorias sur la nonesiste de Jesus.{{sfn|Van Voorst|2000|p=16}} Scrivente en ''[[The Daily Beast]]'', [[Candida Moss]] e [[Joel Baden]] declara ce "on ave un consensa cuasi universal entre eruditas biblial – a la min la eruditas autentica – ce Jesus ia es, en fato, un om real."<ref>{{Cite news |url=https://www.thedailybeast.com/so-called-biblical-scholar-says-jesus-a-made-up-myth |title=So-Called 'Biblical Scholar' Says Jesus a Made-Up Myth |newspaper=The Daily Beast |date=5 October 2014 |author-first2=Joel |author-last2=Baden |author-link1=Candida Moss|author-first1=Candida |author-last1=Moss |access-date=14 July 2021 |archive-date=5 December 2021 |archive-url=https://web.archive.org/web/20211205210029/https://www.thedailybeast.com/so-called-biblical-scholar-says-jesus-a-made-up-myth |url-status=live}}</ref>}} Longo la tradision cristian, como la Evanjelios e la [[Atas de la Apostoles]] representa lo, sua jenitores ia [[sircoside de Jesus|sircoside Jesus]] a eda de oto dias e ia [[presenta de Jesus|presenta]] el a la [[Templo de Ieruxalim]] a 40 dias. [[Joan la Batizor]] ia [[batiza de Jesus|batiza]] el cuando el ia es un adulte joven, e, pos [[tenta de Jesus|40 dias e notes]] de juna en la tera savaje, el ia comensa sua servi publica. El ia es un ensenior vagante ci, longo la credes de sua seguores, ia posese autoria divin per interprete la lege iudi. Frecuente Jesus ia debate con otra iudis, la plu comun la [[fariseos]] e [[saduseos]], sur la modo la plu bon per segue Dio. El ia remedia maladas, ia ensenia par parabolas, e ia colie seguores, de ci el ia asinia 12 per es sua apostoles. Longo la naras de la Atesta Nova, la autoriosas ia aresta el en Ieruxalim e la [[Sanhedrin]] ia litiga el.{{sfn|Sanders|1993|p=11}} Los ia dona el a la autoriosas roman, e [[Pontio Pilato]], la prefeto roman de Iudea, ia comanda ce on [[crusi de Jesus|crusi]] el. En la [[teolojia cristian]], Cristo ia [[revive de Jesus|revive de la mores]] a la dia tre pos sua mori, e esta funda de crede ia developa a la [[cristianisme primitiva|Eglesa cristian temprana]], cual ia estende a un [[sperde de cristianisme|promove mundal]].{{sfn|Sanders|1993|pp=11, 14}} La teolojia cristian inclui la credes ce la [[Spirito Santa]] ia consepi Jesus, ce un virjin nomida [[Maria (madre de Jesus)|Maria]] ia [[nase virjinal de Jesus|pari]] el, ce el ia fa [[miracles de Jesus|miracles]], ia fundi la [[Eglesa]] cristian, ia mori par crusi como un sacrifia per espia pecas, ia revive de la mores a la dia tre, e ia [[asende de Jesus|asende]] a [[Sielo en cristianisme|Sielo]], de do el va reveni. Cristianes crede comun ce Jesus capasi ce la popla reconsilia con [[Dio en cristianisme|Dio]]. La [[Crede de Nisea]] afirma ce Jesus va [[judi final|judi la viventes e la mores]], o ante o pos lor [[revive universal|revive corpal]], un aveni cual [[escatolojia cristian]] asosia con la [[Ariva Du]] de Jesus. Multe ramos de cristianisme regarda Jesus como la incarne de Dio la Fio, la person du de la tre persones de la [[Trinia]]. A cada anio, tipal a 25 desembre, on selebra la nase de Jesus en Betlehem como [[natal]].{{efn|La plu de cristianes e [[alauistes]] selebra natal. Un parte de la eglesas de [[cristianes este|cristian este]] selebra natal a 25 desembre de [[calendario julian]]. Selebras natal comensa la [[vijila de natal]], tipal a 24 desembre.}} On onora sua [[crusi]] a [[venerdi santa]] e sua revive a soldi de [[pascua]]. La eda de calendario cual la mundo usa la plu vasta, en cual la anio presente es {{CURRENTYEAR}} [[eda comun|ec]], es fundida tradisional sur la data aprosima de la nase de Jesus. [[Iudisme]] tradisional rejeta la crede ce Jesus ia es la maxia espetada, afirmante ce el no ia reali la predises maxial, ce nun ia [[unje|unje legal]] el, e ce el ia es no divin no reviveda. Par contrasta, [[Jesus en islam|islam regarda Jesus]]{{efn|Frecuente nomida par sua nom curanal, {{transleteri|ar|ISO|[[Isa (nom)|ʿĪsā]]}}}} como la maxia e un [[profetas de islam|profeta]] de [[Dio en Islam|Dio]], ci Dio ia envia a la ivris e ci va reveni a Tera ante la [[Dia de Judi en Islam|Dia de Judi]]. [[Muslim]]es crede ce la virjin [[Maria en Islam|Maria]] ia pari Jesus, ma ce el ia es no Dio no la fio de Dio. La plu de muslimes no crede ce on ia mata o ia crusi el, ma ce Dio ia leva el a Sielo en cuando el ia es ancora vivente. {{efn|Alga muslimes medieval ia crede ce on ia crusi Jesus, como ance la membros de la promove moderna Ahmadiyya}} La credores de [[bahaisme]], [[durzi]] e [[rastafarisme]] venera ance Jesus. == Nom == Un person iudi en la tempo de Jesus ia ave tipal sola un nom, pos cual on ia ajunta a veses un espresa padral en la forma "fio de [nom de padre]", o la vila de orijina de la person.<!--<ref name="Britannica" />--> Donce, en la Atesta Nova, on nomi comun Jesus como "Jesus de [[Nazaret]]". La visinas de Jesus en Nazaret ia nomi el "la carpentor, la fio de [[Maria (madre de Jesus)|Maria]] e frate de [[Jacobo (frate de Jesus)|Jacobo]] e [[Josef (frate de Jesus)|Joses]] e [[Judas (frate de Jesus)|Judas]] e [[Simon (frate de Jesus)|Simon]]", "la fio de la carpentor", o "la fio de [[San Josef|Josef]]"; en la [[Evanjelio de Joan]], la disiplo [[Filipo la Apostol|Filipo]] refere a el como "Jesus, fio de Josef, de Nazaret". La nom Jesus es la transleteri (tra la latina ''Iesus'') de la [[elinica antica]] {{lang|grc|Ἰησοῦς}}, cual es la varia elinica de la nom [[ivri]] Joxua (יְהוֹשֻׁעַ‎ ''Yehoxua'').<ref>{{Cite web |title=Strong's Greek: 2424. Ἰησοῦς (Iésous) -- Jesus |url=https://biblehub.com/greek/2424.htm |access-date=2026-01-15 |website=biblehub.com |quote=''The Greek name corresponds to the Hebrew "Joshua."''}}</ref><ref>{{Cite web |title=Matthew 1 Benson Commentary |url=https://biblehub.com/commentaries/benson/matthew/1.htm |access-date=2026-01-15 |website=biblehub.com |quote=''The name Jesus, in Greek, answers to Joshua, or rather, Jehoshuah, in Hebrew, which signifies Jehovah shall save;''}}</ref> La nom ivri/[[arami (lingua)|arami]] ia es comun entre iudis judean a la tempo de la nase de Jesus,<ref>{{Cite web |title=Matthew 1 Barnes' Notes |url=https://biblehub.com/commentaries/barnes/matthew/1.htm |access-date=2026-01-15 |website=biblehub.com |quote=''It was a very common name among the Jews.''}}</ref> an si a acel periodo popla ia corti ja lo de יְהוֹשֻׁעַ‎ (''Yehoxua'') a יֵשׁוּעַ (''Yexua''); la corti ia aveni ja en libros biblial plu tarda como [[Nehemia]],<ref>{{Cite web |title=H3442 - yēšûaʿ - Strong's Hebrew Lexicon (KJV) |url=https://www.blueletterbible.org/kjv/gen/1/1/s_1001 |access-date=2026-01-15 |website=Blue Letter Bible |language=en |quote=''Gesenius' Hebrew-Chaldee Lexicon: יֵשׁוּעַ [Jeshua] a contracted form of the proper name יְהוֹשֻׁעַ‎ used in the later Hebrew ... proper name of other men, mentioned in the books of Chronicles, Ezra and Nehemiah''}}</ref> en cual on nomi [[Joxua]] como Yexua.<ref>{{Cite web |title=Nehemiah 8:17 Hebrew Interlinear: ... for the sons of Israel had not done, from the days of '''Jeshua [יֵשׁוּעַ, Yeshua] son of Nun''' ... |url=https://biblehub.com/interlinear/nehemiah/8-17.htm |access-date=2026-01-15 |website=biblehub.com}}</ref> La nom sinifia "Dio salva" en ivri, leteral "[[Iaue]] salva",<ref>{{Cite web |title=Strong's Hebrew: 3091. יְהוֹשׁ֫וּעַ (Yehoshua) -- Joshua |url=https://biblehub.com/hebrew/3091.htm |access-date=2026-01-15 |website=biblehub.com |quote=''Both Joshua son of Nun and Jesus of Nazareth bear the name "Yahweh saves"''}}</ref> de la radis ישׁע (''y-š-ʿ,'' 'salva') e la nom יְשׁוּעָה (''yexuah'', 'salva'). La [[Evanjelio de Mateo]] afirma direta la sinifia etimolojial de la nom de Jesus en la predise de la anjel a Josef sur sua nase: "tu va nomi el Jesus (Ἰησοῦς), car el va salva sua popla de lor pecas". Comentores ia dona un sinifia teolojial a la fato ce [[Joxua]], la susedor de [[Moxe]], porta la mesma nom como Jesus en la elinica, ivri, e arami orijinal, car on trasa frecuente un paralel entre la du xefes e la etimolojia de lor nom compartida ('salva'): Joxua gida la iudis a en la Tera Prometeda, en cuando la teolojia cristian dise ce Jesus salva e iudis e noniudis de lor pecas.<ref>{{Cite web |title=Matthew 1 Matthew Poole's Commentary |url=https://biblehub.com/commentaries/poole/matthew/1.htm |access-date=2026-01-15 |website=biblehub.com |quote=''Joshua had his name from the same word, because he was to be a temporal saviour to save the Jews, the whole body of the Jews, from the Canaanites their enemies. This Jesus was to save his people, all that should believe in his name, whether Jews or Gentiles, from their sins.''}}</ref><ref>{{Cite web |title=Matthew 1 Vincent's Word Studies |url=https://biblehub.com/commentaries/vws/matthew/1.htm |access-date=2026-01-15 |website=biblehub.com |quote=''Under Joshua the enemies of Israel were conquered, and the people established in the Promised Land. So Jesus leads his people in the fight with sin and temptation.''}}</ref><ref>{{Cite web |title=Matthew 1 Benson Commentary |url=https://biblehub.com/commentaries/benson/matthew/1.htm |access-date=2026-01-15 |website=biblehub.com |quote=''It was not without reason that the successor of Moses was called by this name; for, by subduing the Canaanites, and putting the tribes of Israel in possession of the promised land, he showed himself to be, under God, the Saviour of his people. But this name agrees much better to our Jesus, who both delivers his followers from much more dangerous enemies, and divides unto them a much more glorious inheritance.''}}</ref><ref>{{Cite web |title=Matthew 1 Cambridge Bible for Schools and Colleges |url=https://biblehub.com/commentaries/cambridge/matthew/1.htm |access-date=2026-01-15 |website=biblehub.com |quote=''Joshua who led the Israelites into the Promised Land, and Joshua or Jeshua, who was high priest at the time of the return from the Babylonish Captivity, are types of Jesus Christ in respect both of work and name.''}}</ref> === Jesus Cristo === De la sentenio prima, cristianes nomi comun Jesus como "Jesus Cristo".{{sfn|Doninger|1999|p=212}} La parola Cristo no es un nom individual ma ia es orijinal un titulo o posto ("la Cristo"), sinifiante "la [[Maxia]]".{{sfn|Pannenberg|1968|pp=30–31}}<ref>{{cite book |title=Theology of the New Testament |first=Rudolf K. |last=Bultmann |year=2007 |isbn=978-1-932792-93-5 |page=80 |publisher=Baylor University Press}}</ref> La terma deriva de la elinica {{lang|grc|[[wikt:Χριστός|Χριστός]]}} ({{transleteri|grc|Christos}}),<ref>{{CathEncy |wstitle= Origin of the Name of Jesus Christ |first=Anthony J. |last= Maas}}</ref><ref>{{cite book |last=Heil |first=John P. |url=https://books.google.com/books?id=i4u42_PsPNsC&pg=PA66 |title=Philippians: Let Us Rejoice in Being Conformed to Christ |publisher=Society of Biblical Literature |year=2010 |isbn=978-1-58983-482-8 |page=66 |access-date=14 August 2015 |archive-url=https://web.archive.org/web/20150907173832/https://books.google.com/books?id=i4u42_PsPNsC&pg=PA66 |archive-date=7 September 2015 |url-status=live}}</ref> un tradui prestada de la parola ivri {{lang|he|[[wikt:מָשִׁיחַ|משיח]]}} ({{transleteri|he|maxiakh}}), transleteri a elefen como ''maxia''.{{sfn|Vine|1940|pp=274–275}} La terma ivri sinifia "[[unjeda]]", de la verbo מָשַׁח (''maxaḥ''), "frota con olio, unje". En la [[Septuajinta]], la traduores ia usa la parola elinica χριστός (''christos''), sinifiante "unjeda",<ref>{{Cite web |title=χριστός Greek Word Study Tool|url=https://www.perseus.tufts.edu/hopper/morph?l=χριστός&la=greek#lexicon|access-date=2026-01-21|website=www.perseus.tufts.edu|quote=of persons, anointed}}</ref> de la verbo χρίω (''chrio''), "frota con olio, unje".<ref>{{Cite web |title=χρίω Greek Word Study Tool|url=https://www.perseus.tufts.edu/hopper/morph?l=χρίω&la=greek#lexicon|access-date=2026-01-21|website=www.perseus.tufts.edu|quote=Autenrieth: smear with oil, anoint, LSJ: rub, anoint with scented unguents or oil}}</ref> En iudisme biblial, pretes ia usa olio santa per unje persones e ojetos spesial santa como parte de lor indui relijiosa. Cristianes temprana ia nomi Jesus como "la Cristo" car los ia crede ce el es la Maxia de ci la ariva es prediseda en la [[Biblia ivri]] (Atesta Vea). En usa posbiblial, la popla ia comensa regarda ''Cristo'' como un nom — un parte de "Jesus Cristo". La parola ''[[cristian]]'', sinifiante un seguor de Cristo, es en usa de la sentenio prima.{{sfn|Mills|Bullard|1998|p=[https://books.google.com/books?id=goq0VWw9rGIC&pg=PA142 142]}} == Vive e instruis en la Atesta Nova == === Evanjelios canonal === [[File:Dublin, Chester Beatty Ms Papyrus 45 BP I ff.13-14 Luke 11.50-12.12; 12.18-37; 12.42-13.1; 13.jpg|alt=Un manoscrito de papiro de cuatro pajes cual es laserada en multe locas.|thumb|Un [[papiro]] elinica de sentenio 3 de [[Evanjelio de Lucas]]]] La cuatro [[evanjelios canonal]] ([[Evanjelio de Mateo|Mateo]], [[Evanjelio de Marco|Marco]], [[Evanjelio de Lucas|Lucas]], e [[Evanjelio de Joan|Joan]]) es la fontes xef per la vive e mesaje de Jesus.<!-- <ref name="Britannica" /> --> Otra partes de la Atesta Nova inclui ance referes a episodios clavin en sua vive, como la [[Come Ultima]] en 1 Corintianes 11:23-26. [[Atas de la Apostoles]] refere a la servi temprana de Jesus e la previde de lo par [[Joan la Batizor]].<ref>{{cite book |title=The Book of the Acts|series=New International Commentary on the New Testament|first=Frederick F. |last=Bruce |year=1988 |isbn=978-0-8028-2505-6 |page=362 |publisher=Wm. B. Eerdmans}}</ref>{{sfn|Rausch|2003|p=77}}{{sfn|Vermes|1981|pp=20, 26, 27, 29}} Atas 1:1-11 furni plu detalias sur la [[Asende de Jesus]] ca la evanjelios canonal.{{sfn|Evans|2003|pp=521–530}} En la leteras nondisputada de Paulo, cual el ia scrive plu temprana ca la evanjelios, el sita a alga veses la parolas o instruis de Jesus. Alga grupos cristian temprana ia ave descrives separada de la vive e instruis de Jesus cual la Atesta Nova no inclui. Estas inclui la [[Evanjelio de Tomas]], la [[Evanjelio de Petro]], la [[Evanjelio de Judas]], la [[Apocrifa de Jacobo]], e multe otra scrivedas apocrifa. La plu de eruditas conclui ce autores ia scrive esta testos plu tarda, e ce los es min fidable istorial ca la evanjelios canonal.{{sfn|Brown|1997|pp=835–840}}<ref>{{cite book |last1=Evans |first1=C. A. |title=Exploring the Origins of the Bible |date=2008 |publisher=Baker |page=154}}</ref>{{sfn|Keener|2009|p=56}} ==== Autoria, data, e fidablia ==== La evanjelios canonal es cuatro naras, e la tradision atribui cada a un autor diferente. La eruditas regarda jeneral la autores de la evanjelios como usante nomes falsa. La tradision atribui los a la [[cuatro evanjelistes]], cada asosiada con Jesus o sua seguores prosima:{{sfn|Funk|Hoover|The Jesus Seminar|1993|p=3}} Marco a [[Joan Marco]], un acompanior de [[San Petro|Petro]];<!-- <ref name="May Metzger Mark" /> --> [[Mateo (apostol)|Mateo]] a un de la disiplos de Jesus;{{sfn|Funk|Hoover|The Jesus Seminar|1993|p=3}} [[Lucas (evanjeliste)|Lucas]] a un acompanior de [[Paulo (apostol)|Paulo]] notada en alga leteras;{{sfn|Funk|Hoover|The Jesus Seminar|1993|p=3}} e Joan a un otra de la disiplos de Jesus,{{sfn|Funk|Hoover|The Jesus Seminar|1993|p=3}} la "[[disiplo amada]]".{{sfn|Cross|Livingstone|2005|loc=John, St.}} Seguente la [[primia de Marco]], la evanjelio prima cual on ia scrive ia es la [[Evanjelio de Marco]] (60-75 ec), segueda par la Evanjelio de Mateo (65-85 ec), la Evanjelio de Lucas (65-95 ec), e la Evanjelio de Joan (75-100 ec).<ref>{{cite book |url=https://books.google.com/books?id=l2sloGWzzV8C&pg=PA58 |title=Can We Trust the Gospels?: Investigating the Reliability of Matthew, Mark, Luke, and John |publisher=Crossway |year=2007 |page=58 |isbn=978-1-4335-1978-9 |first=Mark D. |last=Roberts |access-date=14 August 2015 |archive-date=7 September 2015 |archive-url=https://web.archive.org/web/20150907174109/https://books.google.com/books?id=l2sloGWzzV8C&pg=PA58 |url-status=live}}</ref> La plu de eruditas acorda ce la autores de Mateo e Lucas ia usa Marco como un fonte per lor evanjelios. Car Mateo e Lucas comparti ance alga contenida no trovada en Marco, multe eruditas dedui ce los ia usa un [[fonte Q|fonte ipotesal Q]] en ajunta a Marco, en cuando un cuantia cresente suporta la [[ipotese de Farrer]] o la Posterioria Matean, en cual Mateo e Lucas ia usa direta lunlotra.<ref name=":022">{{Cite book |last=Runesson|first=Anders|title=Jesus, New Testament, Christian Origins|date=2021|publisher=Eerdmans|isbn=9780802868923}}</ref><ref name="TSP20222">{{Cite book |title=The Synoptic Problem 2022: Proceedings of the Loyola University Conference|publisher=Peeters Pub and Booksellers|year=2023|isbn=9789042950344|pages=5|editor-first1=Olegs|editor-last1=Andrejevs|editor-first2=Simon J. |editor-last2=Joseph|editor-first3=‎Edmondo|editor-last3=Lupieri|editor-first4=Joseph|editor-last4=Verhayden}}</ref>{{sfn|Licona|2010|pp=210–221}} Lucas e Mateo trata lor fontes plu conservante ca otra istoristes antica como [[Diodoro de Sisilia]], an si la paraleles e varias de la evanjelios sinotica es tipal de biografias istorial antica.<ref name="Kloppenborg 49–79">{{Cite journal |last=Kloppenborg|first=John|title=Variation in the Reproduction of the Double Tradition and an Oral Q?|journal=Ephemerides Theologicae Lovaniensis|volume=83|issue=1|pages=49–79}}</ref><ref name="Licona 2016 XIII-XIV">{{Cite book |last=Licona |first=Mike |title=Why are there Differences in the Gospels? What we can Learn from Ancient Biography |publisher=Oxford University Press |year=2016 |isbn=978-0190264260 |pages=XIII-XIV}}</ref> Un aspeta importante de la studia de la evanjelios es la [[jenero leteratural]] a cual los parteni. La jenero "es un costum clavin cual gida e la composa e la interprete de scrivedas".<ref>{{Cite book|last1=Burridge|first1=R. A. |year=2006|chapter=Gospels|editor-first1=J. W. |editor-last1=Rogerson|editor-first2=Judith M. |editor-last2=Lieu|title=The Oxford Handbook of Biblical Studies|publisher=Oxford University Press|page=433}}</ref> Esce la autores de la evanjelios ia intende scrive novelas, mitos, istorias, o biografias ave un efeto sinifiante sur como on debe interprete lor obras. Alga studias ia sujesta ce on debe regarda la evanjelios como un forma de biografia antica.<ref>Talbert, C. H. (1977). ''What is a Gospel? The Genre of the Canonical Gospels''. Philadelphia, Pennsylvania: Fortress Press.</ref><ref>Wills, L. M. (1997). ''The Quest of the Historical Gospel: Mark, John and the Origins of the Gospel Genre''. London: Routledge. p. 10.</ref><ref>Burridge, R. A. (2004). ''What are the Gospels? A Comparison with Graeco-Roman Biography''. revised updated edn. Grand Rapids, Michigan: Eerdmans.</ref> An si criticistes esiste,<ref>e.g. Vines, M. E. (2002). ''The Problem of the Markan Genre: The Gospel of Mark and the Jewish Novel''. Atlanta, Georgia: Society of Biblical Literature. pp. 161–162.</ref> la vista ce la evanjelios es un tipo de biografia antica representa la acorda jeneral entre la eruditas oji.<ref>{{cite book |last=Stanton |first=Graham N. |url=https://books.google.com/books?id=A7wNGMrAiD0C |title=Jesus and Gospel |publisher=Cambridge University Press |year=2004 |isbn=978-0-521-00802-0 |page=192 |access-date=22 August 2017 |archive-url=https://web.archive.org/web/20200226005236/https://books.google.com/books?id=A7wNGMrAiD0C |archive-date=26 February 2020 |url-status=live}}</ref><ref>{{cite book |last1=Rogerson |first1=J. W. |url=https://books.google.com/books?id=eKZYMifS1fAC |title=The Oxford Handbook of Biblical Studies |last2=Lieu |first2=Judith M. |publisher=Oxford University Press |year=2006 |isbn=978-0-19-925425-5 |page=437 |access-date=22 August 2017 |archive-url=https://web.archive.org/web/20191225204746/https://books.google.com/books?id=eKZYMifS1fAC |archive-date=25 December 2019 |url-status=live}}</ref> Consernante la esatia de la naras, la puntos de vista varia entre regarda los como descrives nonerante de la vive de Jesus,{{sfn|Grudem|1994|pp=90–91}} asta duta lor fidablia istorial a puntos diversa,{{sfn|Sanders|1993|p=3}} e asta regarda ce los furni multe poca informa istorial sur sua vive ultra la fatos fundal.{{sfn|Köstenberger|Kellum|Quarles|2009|pp=117–125}}{{sfn|Ehrman|1999|pp=22–23}} ==== Strutur e contenida comparativa ==== On nomi Mateo, Marco e Lucas la Evanjelios Sinotica, de la elinica {{lang|grc|σύν}} ({{transleteri|grc|syn}}, 'en junta') e {{lang|grc|ὄψις}} ({{transleteri|grc|opsis}}, 'vista'),<ref name="Haffner-2008" /><ref name="Scroggie-1995" /><ref>{{OED|synoptic}}</ref> car los es simil en contenida, ordina de nara, lingua e strutur de paragrafes, e on pote pone fasil los a lado de lunlotra per un compara sinotica.<ref name="Haffner-2008">{{cite book |title=New Testament Theology |first=Paul |last=Haffner |year=2008 |isbn=978-88-902268-0-9 |page=135 |publisher=Gracewing}}</ref><ref name="Scroggie-1995">{{cite book |title=A Guide to the Gospels |first=W. Graham |last=Scroggie |year=1995 |isbn=978-0-8254-9571-7 |page=128 |publisher=[[Kregel Publications]]}}</ref><ref>{{Britannica URL |title=Synoptic Gospels |url=topic/Synoptic-Gospels}}</ref> Eruditas acorda tipal ce lo es nonposible trova cualce relata leteratural direta entre la Evanjelios Sinotica e la Evanjelio de Joan.<ref>{{cite book |title=The Gospel of John |first1=Francis J. |last1=Moloney |first2=Daniel J. |last2=Harrington |year=1998 |isbn=978-0-8146-5806-2 |page=[https://archive.org/details/gospelofjohn0004molo/page/3 3] |publisher=Liturgical Press |url=https://archive.org/details/gospelofjohn0004molo/page/3}}</ref> Multe avenis — como la batiza de Jesus, sua crusi, e la interatas con sua apostoles — apare en la Evanjelios Sinotica, ma avenis como la [[muta de Jesus|muta]] e la [[esorsi]] de demones{{sfn|Witherington|1997|p=113}} par Jesus no apare en Joan, cual difere ance sur otra temas, como la [[purga de la Templo]].<ref>{{cite book |last=Ladd |first=George E. |title=A Theology of the New Testament |year=1993 |publisher=Wm. B. Eerdmans |isbn=978-0-8028-0680-2 |page=251 |url=https://books.google.com/books?id=eIdkM00EdlAC&pg=PA251 |access-date=14 August 2015 |archive-date=7 September 2015 |archive-url=https://web.archive.org/web/20150907103156/https://books.google.com/books?id=eIdkM00EdlAC&pg=PA251 |url-status=live}}</ref> La Sinoticas asentua aspetas diferente de Jesus. En Marco, Jesus es la [[Fio de Dio (cristianisme)|Fio de Dio]], de ci sua obras potiosa demostra la presentia de la [[Rena de Dio]].<ref name="May Metzger Mark" /> La autor portrae el como un faor nonfatigable de miracles e la servor de e Dio e umanas.<ref name="ThompsonPortraits">{{Cite book|editor-last1=Thompson|editor-first1=Frank Charles|title=The Thompson Chain-Reference Bible|publisher=Kirk Bride Bible Company & Zondervan Bible Publishers|year=1983|pages= 1563–1564}}</ref> Esta evanjelio corta rejistra un cuantia relativa peti de la parolas o instruis estendeda de Jesus.<ref name="May Metzger Mark" /> La Evanjelio de Mateo asentua ce Jesus es la reali de la vole de Dio como revelada en la Atesta Vea e la Senior de la Eglesa.<ref>{{Cite book|editor-last1=May|editor-first1=Herbert G. |editor-first2=Bruce M. |editor-last2=Metzger|title=The New Oxford Annotated Bible with the Apocrypha|year=1977|chapter=Matthew|pages=1171–1212}}</ref> Lo presenta el como la "Fio de David", un "re", e la Maxia.<ref name="ThompsonPortraits" />{{sfn|McGrath|2006|pp=4–6}} Lucas presenta Jesus como la salvor divin-umana ci mostra compatia a la povres.<ref name="May Metzger Luke">{{Cite book|editor-last1=May|editor-first1=Herbert G. |editor-first2=Bruce M. |editor-last2=Metzger|title=The New Oxford Annotated Bible with the Apocrypha|year=1977|chapter=Luke|pages=1240–1285}}</ref> La testo depinta el como la ami de pecores e escluidas, ci ia veni per xerca e salva la perdedas.<ref name="ThompsonPortraits" /> Esta evanjelio inclui parabolas bon conoseda, como la [[Bon Samaritan]] e la [[Fio Perosa]].<ref name="May Metzger Luke" /> La [[prologa de la Evanjelio de Joan]] identifia Jesus como un incarne de la Parola divin ([[Logos (cristianism)|Logos]]).<ref name="MayMetzgerJohn">{{Cite book|editor-last1=May|editor-first1=Herbert G. |editor-first2=Bruce M. |editor-last2=Metzger|title=The New Oxford Annotated Bible with the Apocrypha|year=1977|chapter=John|pages=1286–1318}}</ref> Como la Parola, la testo descrive Jesus como eterna presente con Dio, ativa en tota la crea, e la fonte de la natur moral e spirital de umanas.<ref name="MayMetzgerJohn" /> En esta evanjelio, Joan portrae Jesus como no sola plu grande ca cualce profeta umana pasada, ma plu grande ca cualce profeta ta pote es: el no sola parla la Parola de Dio; el es la Parola de Dio.{{sfn|Harris|1985|pp=302–310}} En la Evanjelio de Joan, Jesus revela publica sua rol divin e on depinta el como la [[Pan de Vive]], la [[Lus de la Mundo]], la [[Vite Vera]], e plu. La autores de la Atesta Nova ia mostra jeneral poca interesa a fundi un cronolojia asoluta de la vive de Jesus o a sincroni la episodios de sua vive con la istoria secular de la eda.{{sfn|Rahner|2004|pp=730–731}} Como Joan 21:25 declara, la evanjelios no alega furni un lista completa de la avenis de la vive de Jesus.<ref>{{cite book |last=O'Collins |first=Gerald |title=Christology: A Biblical, Historical, and Systematic Study of Jesus |publisher=Oxford University Press |year=2009 |isbn=978-0-19-955787-5 |pages=1–3}}</ref> La autores ia scrive la naras xef como documentos teolojial en la contesto de [[cristianisme temprana]], considerante la linias de tempo como minor.<ref name="Wiarda75">{{cite book |title=Interpreting Gospel Narratives: Scenes, People, and Theology |first=Timothy |last=Wiarda |year=2010 |isbn=978-0-8054-4843-6 |pages=75–78 |publisher=B&H}}</ref> La evanjelios dedica sirca un tri de lor testo a la semana final de la vive de Jesus en [[Ieruxalim]], cual on nomi la [[Pasion (cristianisme)|Pasion]].<ref name="Turner613">{{cite book |title=Matthew |first=David L. |last=Turner |year=2008 |isbn=978-0-8010-2684-3 |page=613 |publisher=Baker}}</ref> Los no furni sufisinte detalias per sasia la esijes de istoristes moderna consernante datas esata, ma on pote estrae de los un imaje jeneral de la istoria de la vive de Jesus.{{sfn|Sanders|1993|p=3}} === Jenealojia e nase === {{Xef|Nase de Jesus}} Jesus ia es iudi,{{sfn|Vermes|1981|pp=20, 26, 27, 29}} e [[Maria (madre de Jesus)|Maria]], la sposa de [[San Josef|Josef]], ia pari el. La Evanjelios de Mateo e Lucas ofre du naras diferente de sua [[jenealojia]]. Mateo trasa la asendentes de Jesus a [[Abraham]] tra [[David]],{{sfn|Sanders|1993|pp=80–91}} en cuando Lucas trasa la asendentes de Jesus tra [[Adam]] a Dio.{{sfn|Brown|1978|p=[https://books.google.com/books?id=ML1mnUBwmhcC&pg=PA163 163]}} La listas es identica entre Abraham e David ma difere forte pos acel punto; Mateo ave 27 jeneras de David a Josef, en cuando Lucas ave 42, cuasi sin coaveni entre la nomes en la du listas. Eruditas ia proposa teorias variosa per esplica perce la du jenealojias es tan diferente. [[File:Gerard van Honthorst - Adoration of the Shepherds (1622).jpg|thumb|left|''Adora par la Pastores'' par [[Gerard van Honthorst]], 1622|alt=Un sena natal; omes e animales ensirca Maria e la Jesus nova naseda, ci es covreda en lus]] E Mateo e Lucas descrive la nase de Jesus, spesial ce un virjin nomida Maria ia pari el en [[Betlehem]] per reali la [[profeti|profetida]]. La nara de Lucas asentua la avenis ante la [[nase de Jesus Cristo|nase de Jesus]] e foca a Maria, en cuando lo de Mateo covre xef avenis pos la nase e foca a Josef.{{sfn|Mills|Bullard|1998|p=556}}<ref name="marsh37">{{cite book |title=Jesus and the Gospels |last=Marsh |first=Clive |author-last2=Moyise|author-first2= Steve |year=2006 |isbn=978-0-567-04073-2 |page=37 |publisher=Clark International |url=https://books.google.com/books?id=ecHpPzDLkhcC&pg=PA37 |access-date=14 August 2015 |archive-date=7 September 2015 |archive-url=https://web.archive.org/web/20150907095218/https://books.google.com/books?id=ecHpPzDLkhcC&pg=PA37 |url-status=live}}</ref>{{sfn|Morris|1992|page=26}} Ambos naras declara ce Maria ia es prometeda a un om nomida Josef, ci ia es un desendente de la Re David e no ia es la padre biolojial de Jesus. Ambos suporta la dotrina de la [[nase virjin de Jesus]], longo cual la [[Spirito Santa]] ia consepi miraclosa Jesus en la utero de Maria cuando el ia es ancora un virjin.<ref name="Jeffrey">{{cite book |last=Jeffrey |first=David L. |url=https://books.google.com/books?id=7R0IGTSvIVIC |title=A Dictionary of biblical tradition in English literature |publisher=Wm. B. Eerdmans |year=1992 |isbn=978-0-85244-224-1 |pages=538–540 |access-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008221946/https://books.google.com/books?id=7R0IGTSvIVIC |archive-date=8 October 2020 |url-status=live}}</ref>{{sfn|Cox|Easley|2007|pp=30–37}}<ref>{{cite book |title=Who's Who in the New Testament |last=Brownrigg |first=Ronald |year=2002 |isbn=978-0-415-26036-7 |pages=96–100 |publisher=Taylor & Francis}}</ref> A la mesma tempo, on ave atestas, a la min en la ''Atas de la Apostoles'' par Lucas, ce persones ia pensa ce Jesus ia ave, como multe figures en anticia, un padria dual, car on declara ala ce el ia desende de la seme de David.<ref>{{Cite journal |last=Lincoln |first=Andrew T. |date=2013 |title=Luke and Jesus' Conception: A Case of Double Paternity? |journal=Journal of Biblical Literature |volume=132 |issue=3 |pages=639–658 |jstor=23487891 |issn=0021-9231}}</ref> Par aseta Jesus como sua propre fio, on comprende ce Josef dona a el la desende nesesada de David.<ref>{{Cite web |url=http://www.thesevernforum.org.uk/palette/lecture_lincoln_2015.pdf |last1=Lincoln|first1=Andrew T. |title=Conceiving Jesus: re-examining Jesus' conception in canon, Christology, and creed|publisher=The Severn Forum|date=5 March 2015|page= 4 |access-date=2 July 2019 |archive-date=10 May 2020 |archive-url=https://web.archive.org/web/20200510100248/http://www.thesevernforum.org.uk/palette/lecture_lincoln_2015.pdf |url-status=live}}</ref> Alga eruditas sujesta ce Jesus ia ave un erita levita de Maria, fundida sur sua relata de sangue con [[Elizabeth (madre de Joan la Batizor)|Elizabeth]].<ref>For example, {{citation |title=Carmen 18}}</ref> [[File:Bellini-circumcision-NG1455-fm.jpg|thumb|alt=74.9 × 102.2&nbsp;cm|''La sircoside'' par [[Giovanni Bellini]], sirca 1500. La obra depinta la [[sircoside de Jesus]].]] En Mateo, Josef es turbada car Maria, sua prometeda, es ensinta,<ref>[[Mateo 1:19]]–[[Mateo 1:20|20]].</ref> ma en la prima de la [[sonias de San Josef|cuatro sonias de Josef]], un anjel serti a el ce el no debe teme sposi Maria, car la Spirito Santa ia consepi sua enfante.<ref name="Talbert">{{cite book |title=Matthew |first=Charles H. |last=Talbert |year=2010 |isbn=978-0-8010-3192-2 |publisher=Baker |url=https://books.google.com/books?id=tbmoR2j0-sgC |pages=29–30 |access-date=8 October 2020 |archive-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008221946/https://books.google.com/books?id=tbmoR2j0-sgC |url-status=live}}</ref> En Mateo 2:1-12, sajas o majos de la Este trae donadas a la Jesus joven como la Re de la Iudis. Los trova el en un casa en Betlehem. [[Herode la Grande]] oia sur la nase de Jesus e, volente mata el, [[masacra de la inosentes|comanda la mata de tota bebes mas]] en Betlehem e sua visineria. An tal, un anjel averti Josef en sua sonia du, e la familia [[fuji a Ejipte]], plu tarda reveninte e abitante en Nazaret.<ref name="Talbert" />{{sfn|Harris|1985|pp=272–285}}<ref>{{cite book |last=Schnackenburg |first=Rudolf |title=The Gospel of Matthew |year=2002 |isbn=978-0-8028-4438-5 |publisher=Wm. B. Eerdmans |url=https://books.google.com/books?id=pvR39Z9O01kC&pg=PA9 |pages=9–11 |access-date=14 August 2015 |archive-date=7 September 2015 |archive-url=https://web.archive.org/web/20150907052207/https://books.google.com/books?id=pvR39Z9O01kC&pg=PA9 |url-status=live}}</ref> En Lucas 1:31-38, Maria aprende de la anjel [[Gabriel]] ce el va consepi e pari un enfante nomida Jesus tra la ata de la Spirito Santa.<ref name="marsh37" /><ref name="Jeffrey" /> Cuando Maria es a punto de pari, el e Josef viaja de Nazaret a la casa asendente de Josef en Betlehem per enscrive en la conta de abitores comandada par [[Cesar Augusto]]. Ala, Maria pari Jesus, e car los ia trova no sala en la otel, el pone la bebeta en un [[portafeno de natal|portafeno]]. Un [[anusia a la pastores|anjel anunsia la nase a un grupo de pastores]], ci vade a Betlehem per vide Jesus e a pos sperde la novas sirca la rejion. Lucas 2:21 raconta como Josef e Maria fa ce on [[sircoside de Jesus|sircoside lor bebe a la dia oto pos la nase]] e nomi el Jesus, como Gabriel ia comanda a Maria. Pos la [[presenta de Jesus a la Templo]], Josef, Maria, e Jesus reveni a Nazaret.<ref name="marsh37" /><ref name="Jeffrey" /> === Vive temprana, familia e profesa === [[File:William Holman Hunt - The Finding of the Saviour in the Temple - Google Art Project.jpg|thumb|upright=1.2|''[[Trova de la Salvor en la Templo]]'' par [[William Holman Hunt]], 1860|alt=Maria e Josef trova Jesus en la Templo]] La Evanjelios de Lucas e Mateo identifia la site de la enfantia de Jesus como Nazaret, un vila en [[Galilea]] en la [[Israel]] moderna, do el ia abita con sua familia. An si Josef apare en descrives de la enfantia de Jesus, la testos no nota el a pos.<ref>{{cite book |last=Perrotta |first=Louise B. |title=Saint Joseph: His Life and His Role in the Church Today |publisher=Our Sunday Visitor Publishing |year=2000 |isbn=978-0-87973-573-9 |pages=21, 110–112}}</ref><ref>{{cite book |author=Reverend Archdeacon Kinane |chapter-url=https://books.google.com/books?id=EmUhCgAAQBAJ&pg=PT138 |title=Saint Joseph: His Life, His Virtues, His Privileges, His Power |page=138 |chapter=Section VI – The perpetual virginity of St. Joseph |publisher=Aeterna Press|access-date=7 June 2021 |archive-date=9 March 2024 |archive-url=https://web.archive.org/web/20240309230526/https://books.google.com/books?id=EmUhCgAAQBAJ&pg=PT138#v=onepage&q&f=false |url-status=live}}</ref> La Evanjelios e otra fontes nota sua otra membros de familia, incluinte sua madre Maria; sua cuatro [[frates de Jesus|frates]], [[Jacobo (frate de Jesus)|Jacobo]], [[Josef (frate de Jesus)|Joses]] (o Josef), [[Judas (frate de Jesus)|Judas]], e [[Simon (frate de Jesus)|Simon]]; e sua sores nonomida.<ref>{{cite book |title=Zealot: The Life and Times of Jesus of Nazareth |last=Aslan |first=Reza |author-link=Reza Aslan |year=2013 |publisher=Random House |page=[https://archive.org/details/zealotlifetimeso00reza/page/756 36] |isbn=978-1-4000-6922-4 |url=https://archive.org/details/zealotlifetimeso00reza/page/756}}</ref> La [[Evanjelio de Jacobo]] nomi la avis madral de Jesus como Joachim e Ana.<ref>{{cite book |last=Brownrigg |first=Ronald |title=Who's Who in the New Testament |url=https://books.google.com/books?id=JXqBAgAAQBAJ&q=joachim |page=194 |year=2003 |publisher=Routledge |location=New York |isbn=978-1-134-50949-2 |access-date=31 March 2023 |archive-date=9 March 2024 |archive-url=https://web.archive.org/web/20240309230540/https://books.google.com/books?id=JXqBAgAAQBAJ&q=joachim#v=snippet&q=joachim&f=false |url-status=live}}</ref> La Evanjelio de Lucas rejistra ce Maria ia es un relatada de Elizabeth, la madre de Joan la Batistor. Alga fontes contempora e estrabiblial regarda Jesus e Joan la Batistor como cusinos de grado du, fundida sur la crede ce Elizabeth ia es la fia de [[Sobe (sore de San Ana)|Sobe]], la sore de Ana.<ref>[[Patrologia Graeca|PG]] 97.1325.</ref><ref>[[Patrologia Graeca|PG]] 120.189.</ref><ref>[[Patrologia Graeca|PG]] 145.760 ([[Nicephorus Callistus]], ''Historia ecclesiastica'', 2.3).</ref> La Evanjelio de Marco reporta ce, a la comensa de sua servi, Jesus ave un conflita con sua visinas e familia.{{sfn|Harris|1985|pp=270–272}} La madre e frates de Jesus veni per prende el car la popla dise ce el es [[Sania mental de Jesus|loco]]. Jesus responde ce sua seguores es sua familia vera. En la Evanjelio de Joan, Jesus e sua madre atende un [[rituo de sposi en Cana]], do el fa sua miracle prima pos la solisita de sua madre. Plu tarda, el es presente a sua crusi, e Jesus espresa conserna per sua bonstate. En Marco 6:3 on nomi Jesus un {{lang|grc|τέκτων}} ({{transleteri|grc|tektōn}}), un terma cual on comprende tradisional como "carpentor" ma cual pote ance refere a fabricores de ojetos en materias diversa, incluinte construores.<ref>{{cite book |last1=Liddell |first1=Henry G. |last2=Scott |first2=Robert |title=An Intermediate Greek–English Lexicon: The Seventh Edition of Liddell and Scott's Greek–English Lexicon |publisher=Clarendon Press |year=1889 |page=797}}</ref>{{sfn|Dickson|2008|pp=68–69}} Considerante la estende semantical larga de la terma e "la realia sosioistorial de un τέκτων comun nazaretan", Matthew K. Robinson, un prete e erudita, prefere tradui τέκτων como 'construor-artisan'.<ref>{{cite journal |last1=Robinson |first1=Matthew K. |title="Is This Not the Τέκτων?": Revisiting Jesus's Vocation in Mark 6:3 |journal=Neotestamentica |date=2021 |volume=55 |issue=2 |pages=431–445 |doi=10.1353/neo.2021.0038}}</ref><ref>{{cite web |title=Matthew Robinson |url=https://www.theology.ox.ac.uk/people/matthew-robinson |publisher=[[University of Oxford]] |access-date=1 April 2025 |language=en}}</ref> La Evanjelios indica ce Jesus ia pote leje, parafrase e debate testos santa, ma esta no sinifia nesesada ce el ia reseta instrui formal de scrivistes.<ref>{{cite encyclopedia |year=2001 |title=Context, family and formation |encyclopedia=Cambridge companion to Jesus |publisher=Cambridge University Press |url=https://books.google.com/books?id=vSehrtQpcYcC&pg=PA14 |access-date=14 August 2015 |last=Evans |first=Craig A. |editor-last=Bockmuehl |editor-first=Markus N. A. |pages=14, 21 |isbn=978-0-521-79678-1 |archive-url=https://web.archive.org/web/20150907175830/https://books.google.com/books?id=vSehrtQpcYcC&pg=PA14 |archive-date=7 September 2015 |url-status=live|doi=10.1017/CCOL0521792614.002}}</ref> La Evanjelio de Lucas reporta du viajas de Jesus e sua jenitores en Ieruxalim en sua enfantia. Los veni a la [[Templo en Ieruxalim]] per la [[presenta de Jesus]] como un bebe, acordante con la Lege iudi, do un om nomida Simeon profeti sur Jesus e Maria. Cuando Jesus, a la eda de des-du anios, perde se a un peregrina a Ieruxalim per pesah, sua jenitores [[trova en la Templo|trova el en la Templo]], sentante entre la instruores, escutante los e fante demandas, e la popla es stonada par sua comprende e respondes. Maria reproxa Jesus per perde se, a cual Jesus responde ce el debe "es en la casa de sua Padre". === Batiza e tenta === [[File:El bautismo de Jesús, por José Ferraz de Almeida Júnior.jpg|thumb|upright=0.8|''[[Batiza de Jesus|La Batiza de Cristo]] par [[Joan la Batizor]]'', par [[Almeida Júnior]], 1895|alt=Jesus ia es batizada par Joan. La Spirito Santa en la forma de un pijon es a supra.]] La [[evanjelios sinotica]] descrive la [[batiza de Jesus]] en la [[Rio Urdun]] e la [[tenta de Jesus|tentas]] cual el ia fasa tra 40 dias en la [[Deserto Iudean]] como un prepara per sua servi publica.<ref>{{cite book |last=Sheen |first=Fulton J. |title=Life of Christ |year=2008 |publisher=Random House |isbn=978-0-385-52699-9 |page=65 |url=https://books.google.com/books?id=KyqQKohpVR4C&pg=PA65 |access-date=14 August 2015 |archive-date=10 September 2015 |archive-url=https://web.archive.org/web/20150910165309/https://books.google.com/books?id=KyqQKohpVR4C&pg=PA65 |url-status=live}}</ref> En cada de esta naras, informa sur Joan la Batizor presede la naras de la batiza de Jesus.{{sfn|Blomberg|2009|pp=224–229}}{{sfn|Köstenberger|Kellum|Quarles|2009|pp=141–143}}{{sfn|McGrath|2006|pp=16–22}} Los portrae Joan predicante la repenti per la pardona de pecas, corajinte carita a la povres, batizante persones en la rejion de la Rio Urdun sirca [[Perea]], e predisente la ariva de algun "plu potiosa" ca el.<ref>{{cite book |title=Eerdmans commentary on the Bible |first1=James D. G. |last1=Dunn |first2=John W. |last2=Rogerson |year=2003 |isbn=978-0-8028-3711-0 |page=1010 |publisher=Wm. B. Eerdmans}}</ref> [[File:Ary Scheffer - The Temptation of Christ (1854).jpg|thumb|left|upright=0.8|Jesus e la Diablo depintida en ''[[Tenta de Jesus|La tenta de Jesus]]'', par [[Ary Scheffer]], 1854]] En la Evanjelio de Marco, Joan la Batizor batiza Jesus, e cuando Jesus sorti de la acua el vide la Spirito Santa desendente a el como un pijon, e un vose veni de la sielo e declara el como la Fio de Dio. Esta es un de la du avenis descriveda en la Evanjelios en cual un vose de Sielo refere a Jesus como "Fio", e la otra es la Muta. A pos, la Spirito forsa el a en la tera savaje, do Satan tenta el. Pos la aresta de Joan, Jesus comensa sua servi en Galilea. En la Evanjelio de Mateo, cuando Jesus veni a Joan per reseta la batiza, Joan protesta, disente, "Me nesesa ce tu batiza me." Jesus instrui el a continua con la batiza "per reali tota la virtua". A pos, Mateo nara tre tentas spesifiada cual Satan ofre a Jesus en la tera savaje. En la Evanjelio de Lucas, la Spirito Santa desende en forma fisical como un pijon pos cuando Joan ia batiza ja tota la persones e en cuando Jesus prea. Plu tarda, Joan reconose nonesplicada Jesus par envia sua seguores per fa demandas sur el. Lucas descrive ance tre tentas cual Jesus ia esperia en la tera savaje ante el comensa sua servi en Galilea. La Evanjelio de Joan no nara la batiza e tenta de Jesus. En loca, Joan la Batizor atesta ce el ia vide la Spirito desende e resta sur Jesus. Joan proclama publica Jesus como la Ovea de Dio, e alga seguores de Joan deveni disiplos de Jesus. Ante cuando la autoriosas prisoni Joan, Jesus gida sua seguores per batiza, e los batiza plu persones ca Joan. === Servi publica === [[File:Bloch-SermonOnTheMount.jpg|thumb|''Sermon sur la Monte'', par [[Carl Bloch]], 1877, depinta [[Sermon sur la Monte|la parla importante de Jesus]].|alt=Jesus senta sur un monte, predicante a un fola]] La Sinoticas depinta du locas jeografial xef en la servi de Jesus. La prima aveni en Galilea, a norde de [[Iudea]], do Jesus gida un servi multe susedosa; la du aveni en Ieruxalim, do la autoriosas rejeta e mata el.<ref name="ISBEO">{{cite web |year=1939 |editor-last=Orr |editor-first=James |title=International Standard Bible Encyclopedia Online |url=http://www.internationalstandardbible.com/R/rabbi.html |url-status=dead |archive-url=https://web.archive.org/web/20160817024703/http://www.internationalstandardbible.com/R/rabbi.html |archive-date=17 August 2016 |access-date=30 July 2016 |publisher=Wm. B. Eerdmans}}</ref> Frecuente nomida "rabi",<ref name="ISBEO" /> Jesus presenta sua mesaje par parla.<ref name="Dunn2013">{{cite book |last=Dunn |first=James D. G. |title=The Oral Gospel Tradition |publisher=Wm. B. Eerdmans |year=2013 |pages=290–291}}</ref> En esta naras, el proibi ce los ci reconose el como la maxia — incluinte persones ci el remedia e demones cual, como on dise, el esorsi — parla sur lo (vide Secreta Maxial).{{sfn|Harris|1985|pp=285–296}} Par contrasta, la Evanjelio de Joan portrae la servi de Jesus como aveninte xef en e sirca Ieruxalim en loca de en Galilea, e on proclama e reconose plu abrida sua natur divin.{{sfn|Harris|1985|pp=302–310}} Eruditas divide comun la servi de Jesus a grados variosa. La servi galilean comensa cuando Jesus reveni a Galilea de la [[Deserto Iudean]] pos resiste la tentas de [[Satan]]. A pos el predica tra Galilea, e en Mateo 4:18-20, sua disiplos prima — ci va formi plu tarda la nucleo de la Eglesa temprana — encontra el e comensa segue el.{{sfn|McGrath|2006|pp=16–22}}{{sfn|Redford|2007|pp=117–130}} Esta periodo inclui la Sermon sur la Monte, un de la parlas major de Jesus,{{sfn|Redford|2007|pp=117–130}}<ref>{{cite book |title=The Sermon on the mount: a theological investigation |first=Carl G. |last=Vaught |year=2001 |publisher=Baylor University Press |isbn=978-0-918954-76-3 |pages=xi–xiv}}</ref> como ance la [[calmi de la tempesta]], la [[nuri de la 5000]], [[Jesus pasea sur acua|pasea sur acua]], e otra miracles e parabolas diversa.{{sfn|Redford|2007|pp=143–160}} Lo conclui con la [[Confesa de Petro]] e la [[Muta]].<ref>{{cite encyclopedia |title=Transfiguration, The |encyclopedia=The New Schaff-Herzog Encyclopedia of Religious Thought: Son of Man-Tremellius V11 |isbn=978-1-4286-3189-2 |publisher=Funk & Wagnalls |year=1909 |url=https://books.google.com/books?id=js5-eDk13TcC&pg=PA493 |page=493 |last=Nash |first=Henry S. |editor-first=Samuel M. |editor-last=Jackson |access-date=14 August 2015 |archive-date=7 September 2015 |archive-url=https://web.archive.org/web/20150907052036/https://books.google.com/books?id=js5-eDk13TcC&pg=PA493 |url-status=live}}</ref><ref name="Barton132">{{cite book |last=Barton |first=Stephen C. |url=https://archive.org/details/cambridgecompani00bart_994 |title=The Cambridge Companion to the Gospels |date=23 November 2006 |publisher=Cambridge University Press |isbn=978-0-521-80766-1 |pages=[https://archive.org/details/cambridgecompani00bart_994/page/n138 132]–133 |url-access=limited}}</ref> En cuando Jesus viaja en dirije a Ieruxalim, en lo cual on nomi frecuente la servi perean, el reveni a la rejion do el ia es batizada, a sirca un tri de la distantia a su de la [[Mar de Galilea]] longo la Rio Urdun.{{sfn|Cox|Easley|2007|p=137}}{{sfn|Redford|2007|pp=211–229}} La fase final de sua servi, en Ieruxalim, comensa con sua entra vinsal a en la site a [[soldi de palmas]].{{sfn|Cox|Easley|2007|pp=155–170}} En la Evanjelios Sinotica, en acel semana Jesus [[Puri de la Templo|espulsa la intercambiores]] de la [[Templo Du]], e [[Tradi de Judas|Judas negosia per tradi]] el. Esta periodo culmina en la [[Come Ultima]] e, en la nara par Joan, la [[Parla de Adio]].{{sfn|Blomberg|2009|pp=224–229}}{{sfn|Cox|Easley|2007|pp=155–170}}{{sfn|Redford|2007|pp=257–274}} ==== Disiplos e seguores ==== [[File:Brooklyn Museum - The Exhortation to the Apostles (Recommandation aux apôtres) - James Tissot.jpg|thumb|''La recomenda a la apostoles'', par [[James Tissot]], portrae Jesus parlante a sua des-du disiplos.]] Prosima a la comensa de sua servi, Jesus asinia des-du apostoles. En Mateo e Marco, Jesus clama sua cuatro apostoles prima, ci es pexores, e la testo descrive ce los abandona direta lor redes per segue el. En Joan, la du apostoles prima de Jesus es a prima disiplos de Joan la Batizor; la Batizor vide Jesus e nomi el la Ovea de Dio, e la du, oiante esta, comensa segue Jesus.{{sfn|Brown|1988|pp=25–27}}{{sfn|Boring|Craddock|2004|pp=292–293}} En ajunta a la Des-du Apostoles, la introdui a la Sermon sur la Plano en Lucas identifia un grupo multe plu grande de persones como disiplos. En Lucas 10:1-16, Jesus envia [[setedes disiplos|70 o 72 de sua seguores]] en duples per prepara vilas per sua visitas futur; el instrui los a aseta ospitia, remedia maladas, e proclama la [[Rena de Dio]].<ref>{{cite encyclopedia |title=The Gospel According to Luke |encyclopedia=New Collegeville Bible Commentary: New Testament |publisher=Liturgical Press |year=2009 |url=https://books.google.com/books?id=sdooTRyPMCwC&pg=PA255 |page=255 |first=Michael F. |last=Patella |editor-first=Daniel |editor-last=Durken |isbn=978-0-8146-3260-4 |access-date=14 August 2015 |archive-date=10 September 2015 |archive-url=https://web.archive.org/web/20150910044704/https://books.google.com/books?id=sdooTRyPMCwC&pg=PA255 |url-status=live}}</ref> ==== Instruis e miracles ==== [[File:Hoffman-ChristAndTheRichYoungRuler.jpg|thumb|''[[Jesus e la joven rica]]'' par [[Heinrich Hofmann (pintor)|Heinrich Hofmann]], 1889]] En la Sinoticas, Jesus ensenia multe — comun en parabolas{{sfn|Theissen|Merz|1998|pp=316–346}} — sur la Rena de Dio. Jesus parla ance sur la "Fio de Umana", un figur [[Apocalise|apocalisal]] ci va veni per colie la elejedas.<ref name="Britannica" /> Jesus clama la popla a repenti de lor pecas e dedica se intera a Dio.<ref name="Britannica">{{Britannica |id=303091 |title=Jesus Christ |first1=E.&nbsp;P. |last1=Sanders |first2=Jaroslav J. |last2=Pelikan}}</ref> El instrui sua seguores a obedi la [[lege iudi]], an si alga contemporas persepi ce el mesma ia rompe la lege, per esemplo en relata a la obedi a la sabat.<ref name="Britannica" /> Cuando on demanda de el cual es la comanda la plu grande, Jesus responde: "Tu va ama la Senior tua Dio con tota tua cor, e con tota tua spirito, e con tota tua mente... E la du es simil: 'Tu va ama tua visina como tu mesma.'" Otra instruis etical cual on atribui a Jesus inclui ama enemis, asteni de odia e desira sesal, ofre la otra jena, e pardona los ci ia peca contra on.<ref>{{cite book |last1=Stassen |first1=Glen H. |url=https://books.google.com/books?id=LlMVrmA-b-4C |title=Kingdom Ethics: Following Jesus in Contemporary Context |last2=Gushee |first2=David P. |publisher=InterVarsity |year=2003 |isbn=978-0-8308-2668-1 |pages=102–103, 138–140, 197–198, 295–298 |access-date=14 August 2015 |archive-url=https://web.archive.org/web/20200226062140/https://books.google.com/books?id=LlMVrmA-b-4C |archive-date=26 February 2020 |url-status=live}}</ref> La Evanjelio de Joan presenta la instruis de Jesus no mera como sua propre predica ma como revela divin. Joan la Batizor, per esemplo, declara en Joan 3:34: "El ci Dio ia envia parla la parolas de Dio, car el dona la Spirito sin mesura." En Joan 7:16, Jesus dise, "Mea instrui no es de me ma de el ci ia envia me." El repete esta en Joan 14:10: "Tu no crede ce me es en la Padre e la Padre es en me? La parolas cual me dise a tu, me no dise de me mesma; ma la Padre ci abita en me fa sua obras."<ref name="Osborn-1993" /><ref>{{cite book |last=Köstenberger |first=Andreas J. |title=The missions of Jesus and the disciples according to the Fourth Gospel |publisher=Wm. B. Eerdmans |year=1998 |isbn=978-0-8028-4255-8 |pages=108–109}}</ref> [[File:Pompeo Batoni 003.jpg|thumb|left|upright=0.8|''[[Parabola de la Fio Perosa|La reveni de la fio perosa]]'' par [[Pompeo Batoni]], 1773]] Sirca 30 parabolas composa sirca un tri de la instruis rejistrada de Jesus.<ref name="Osborn-1993">{{cite book |first=Eric F. |last=Osborn |year=1993 |title=The emergence of Christian theology |url=https://archive.org/details/emergencechristi00osbo |url-access=limited |isbn=978-0-521-43078-4 |page=[https://archive.org/details/emergencechristi00osbo/page/n115 98] |publisher=Cambridge University Press}}</ref><ref>{{cite book |first=J. Dwight |last=Pentecost |year=1998 |title=The parables of Jesus: lessons in life from the Master Teacher |isbn=978-0-8254-9715-5 |page=10 |publisher=Kregel}}</ref> La parabolas apare e en sermones plu longa e a locas diversa en la nara.<ref>{{cite book |title=The Sermons of Jesus the Messiah |first=E. Keith |last=Howick |year=2003 |publisher=WindRiver |isbn=978-1-886249-02-8 |pages=7–9}}</ref> Los conteni comun simbolisme e relata tipal aspetas de la mundo fisical a realias spirital.<ref>{{cite book |first=Friedrich G. |last=Lisco |year=1850 |title=The Parables of Jesus |publisher=Daniels and Smith Publishers |pages=[https://archive.org/details/bub_gb_OoIuAAAAYAAJ/page/n12 9]–11 |url=https://archive.org/details/bub_gb_OoIuAAAAYAAJ}}</ref><ref>{{cite book |first=Ashton |last=Oxenden |year=1864 |title=The parables of our Lord? |publisher=William Macintosh Publishers |page=[https://archive.org/details/bub_gb_5bUCAAAAQAAJ/page/n15 6] |url=https://archive.org/details/bub_gb_5bUCAAAAQAAJ}}</ref> Temas comun inclui la compatia e jenerosia de Dio, como ance la periles e resultas de peca.<ref>{{cite book |url=https://books.google.com/books?id=dPdANFaNgagC&pg=448 |title=Interpreting the Parables |publisher=InterVarsity |year=2012 |page=448 |isbn=978-0-8308-3967-4 |first=Craig L. |last=Blomberg |access-date=14 August 2015 |archive-date=10 September 2015 |archive-url=https://web.archive.org/web/20150910175429/https://books.google.com/books?id=dPdANFaNgagC&pg=448 |url-status=live}}</ref> Alga parabolas, como lo de la Fio Perosa, es relativa simple, en cuando otras, como la [[Parabola de la Seme Cresente|Seme Cresente]], es plu complicada, profonda, e difisil per interprete.<ref>{{cite web |first=Madeleine I. |last=Boucher |url=https://www.pbs.org/wgbh/pages/frontline/shows/religion/jesus/parables.html |title=The Parables |website=Frontline|publisher=PBS |access-date=3 June 2013 |archive-date=10 August 2013 |archive-url=https://web.archive.org/web/20130810144100/http://www.pbs.org/wgbh/pages/frontline/shows/religion/jesus/parables.html |url-status=live}}</ref> Cuando sua disiplos demanda perce el parla a la popla en parabolas, Jesus responde ce Dio ia permete ce la disiplos elejeda "sabe la secretas de la rena de sielo", no como la resta, ajuntante: "Car a el ci ave, on va dona plu e el va ave en abunda. Ma a el ci no ave, on va priva el an plu", e el continua par dise ce la plu de lor jenera ia developa "cores lente" e no es donce capas de comprende. [[File:Christ cleans leper man.jpg|thumb|upright=0.8|''[[Jesus remediante la leprosa]]'', [[mosaica]] medieval de la [[Catedral de Monreale]], de sentenios 12 a 13|alt=Jesus, sua testas areolada, pone sua manos sur un leprosa, remediante el]] En la naras de evanjelio, Jesus dedica un parte major de sua servi a fa [[miracle]]s, spesial remedias.{{sfn|Green|McKnight |Marshall|1992|p=299}} On clasi comun esta miracles a du categorias xef: miracles de remedia e miracles natural.{{sfn|Twelftree|1999|p=350}}{{sfn|Levine|2006|p=4}}<ref>{{cite book |last1=Charlesworth |first1=James H. |url=https://books.google.com/books?id=YTIGy5t45WgC&pg=PT113 |title=The Historical Jesus: An Essential Guide |date=2008 |publisher=Abingdon Press |isbn=978-1-4267-2475-6 |page=113 |access-date=29 March 2017 |archive-url=https://web.archive.org/web/20201008221947/https://books.google.com/books?id=YTIGy5t45WgC&pg=PT113 |archive-date=8 October 2020 |url-status=live}}</ref> La miracles de remedia inclui la remedia de maladias fisical, [[esorsi]]s,{{sfn|Witherington|1997|p=113}}{{sfn|Theissen|Merz|1998|p=298}} e la revive de mores.{{sfn|Green|McKnight|Marshall|1992|p=300}}<ref name="Oxford Companion" /><ref>{{cite web |last=Tabor |first=James |date=22 March 2013 |title=What the Bible Says About Death, Afterlife, and the Future |url=https://clas-pages.uncc.edu/james-tabor/ancient-judaism/death-afterlife-future/ |url-status=dead |archive-url=https://web.archive.org/web/20160823115040/https://clas-pages.uncc.edu/james-tabor/ancient-judaism/death-afterlife-future/ |archive-date=23 August 2016 |access-date=13 June 2015 |publisher=UNCC}}</ref><ref>{{cite book |last=Hoekema |first=Anthony A. |url=https://books.google.com/books?id=c2yT_7xw35sC |title=The Bible and the Future |publisher=Wm. B. Eerdmans |year=1994 |isbn=978-0-85364-624-2 |pages=88–89 |access-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008221946/https://books.google.com/books?id=c2yT_7xw35sC |archive-date=8 October 2020 |url-status=live}}</ref> La miracles natural demostra autoria supra la mundo natural e inclui [[muta acua a vino]], pasea sur acua, e calmi un tempesta, entre otras. Jesus atribui sua miracles a un fonte divin. Cuando oposores acusa el de espulsa demones par la potia de Belzebub, la prinse de demones, el responde ce el fa esta par la "Spirito de Dio" (Mateo 12:28) o la "dito de Dio", argumentante ce lo ta es nonlojical ce Satan dana sua propre rena; el ance demanda, si el esorsi par [[Belzebub]], "par ci vosa fios espulsa los?"<ref name="Britannica" /><ref>{{cite book |url=https://books.google.com/books?id=Js9nFESO0VAC&pg=PA100 |title=Zondervan King James Version Commentary: New Testament |last2=Mitchell |first2=Daniel R. |publisher=Zondervan |year=2010 |isbn=978-0-310-25150-7 |page=100 |first1=Edward E. |last1=Hindson |access-date=14 August 2015 |archive-date=10 September 2015 |archive-url=https://web.archive.org/web/20150910171333/https://books.google.com/books?id=Js9nFESO0VAC&pg=PA100 |url-status=live}}</ref> En Mateo 12:31-32, el declara ance ce, an si Dio pote pardona tota spesies de peca, incluinte "insultas contra Dio" o "insultas contra la Fio de Umana", Dio va pardona nunca blasfema contra "La [[Spirito Santa]]", e los ci es culpable de lo porta permanente lor peca.<ref>{{Cite web|title=Bible Gateway passage: Matthew 12:31-32 - New International Version|url=https://www.biblegateway.com/passage/?search=Matthew%2012%3A31-32&version=NIV|website=Bible Gateway|access-date=2026-01-30|language=en}}</ref> En Joan, la testo descrive la miracles de Jesus como "sinias", fada per evidenti sua mision e identia.<ref name="Sign" />{{sfn|Ehrman|2009|page=[https://archive.org/details/jesusinterrupted00ehrm_0/page/84 84]}} En la Evanjelios Sinotica, cuando alga instruores de la lege e fariseos demanda de el un sinia miraclosa per validi sua autoria, Jesus refusa,<ref name="Sign">{{cite book |title=Introducing the New Testament: Its Literature and Theology |year=2001 |publisher=Wm. B. Eerdmans |isbn=978-0-8028-3717-2 |page=[https://archive.org/details/introducingnewte00paul/page/198 198] |url=https://archive.org/details/introducingnewte00paul/page/198 |first1=Paul J. |last1=Achtemeier |first2=Joel B. |last2=Green |first3=Marianne M. |last3=Thompson}}</ref> disente ce Dio va dona no sinia a un jenera mal e dejenerada, con eseta de la sinia de la profeta [[Jona]]. En la Sinoticas, la folas responde tipal a sua miracles con stona e presa el per remedia lor maladas, ma en Joan, on depinta Jesus como min restrinjeda par la folas, ci responde frecuente a sua sinias con crede e fida.{{sfn|Twelftree|1999|p=236}} Un cualia comun a tota naras de miracles es ce Jesus fa los libre e no solisita o aseta paia.<ref>{{cite book |last=van der Loos |first=Hendrik |title=The Miracles Of Jesus |year=1965 |publisher=Brill |page=197 |url=https://books.google.com/books?id=n4geAAAAIAAJ&pg=PA197 |access-date=14 August 2015 |archive-date=10 September 2015 |archive-url=https://web.archive.org/web/20150910165838/https://books.google.com/books?id=n4geAAAAIAAJ&pg=PA197 |url-status=live}}</ref> Frecuente la naras de miracles es entretexeda con instruis, e la miracles mesma porta comun un dimension instruinte.<ref>{{cite book |title=The words and works of Jesus Christ |first=J. Dwight |last=Pentecost |year=1981 |isbn=978-0-310-30940-6 |page=212 |url=https://books.google.com/books?id=bh3M_AfgXZAC&pg=PA212 |publisher=Zondervan |access-date=14 August 2015 |archive-date=10 September 2015 |archive-url=https://web.archive.org/web/20150910063513/https://books.google.com/books?id=bh3M_AfgXZAC&pg=PA212 |url-status=live}}</ref>{{sfn|Twelftree|1999 |p=95}} Multe asentua la importa de fida: en la [[remedia de des leprosas]] e la revive de la fia de Iairo, per esemplo, Jesus dise a la beneficadas ce lor fida es la causa de lor remedia.{{sfn|Donahue|Harrington |2002|p=182}}<ref>{{cite book |last=Lockyer |first=Herbert |year=1988 |title=All the Miracles of the Bible |isbn=978-0-310-28101-6 |page=235 |publisher=Zondervan}}</ref> En ''A Marginal Jew'', erudita [[John P. Meier]] argumenta ce "la tradisiones de miracles sur la servi publica de Jesus es ja atestada tan vasta en fontes diversa" ce cualce "fabrica intera par la eglesa temprana es, en modo pratical, nonposible". El fundi esta alega sur fontes leteratural como la Evanjelios de Mateo, Lucas, e Joan, como ance sur la scrivedas de la istoriste Josefo. Meier argumenta ce la "criterio de atestas multiple de fontes e formas" suporta la conclui ce Jesus ia fa "obras estracomun" cual sua contemporas ia regarda como miracles.<ref>{{Cite book |last=John Meier |url=http://archive.org/details/Marginal-Jew_vol-2_Meier_1994 |title=A Marginal Jew/Маргинальный еврей |date=November 1994}}</ref> Erudita [[Paul J. Achtemeier]] argumenta ce tal miracles no ia es unica a Jesus en la mundo antica e ce an atestores ia persepi los como ambigua. El nota ce probable Jesus ia fa atas cual on ia comprende como esorsis, cual "ia es asetada como realia par sua contemporas", ma ce on no debe vide estas como avente "valua demostrante consernante Jesus," car atestores ia pote alega ce el ia labora o con Satan o con Dio.<ref>{{Cite journal |last=Achtemeier |first=Paul J. |date=1975 |title=Miracles and the Historical Jesus: A Study of Mark 9:14-29 |url=https://www.jstor.org/stable/43714056 |journal=The Catholic Biblical Quarterly |volume=37 |issue=4 |pages=471–491 |issn=0008-7912}}</ref> Erudita [[Gregory Sterling]] oserva ce, en la caso de la esorsis alegada fada par Jesus, "Per galileanes de la sentenio prima ci ia crede a la presentia personal de malia en forma de demones, la ata de Jesus ia es un validi de sua servi."<ref>{{Cite journal |last=Sterling |first=Gregory E. |date=1993 |title=Jesus as Exorcist: An Analysis of Matthew 17:14-20; Mark 9:14-29; Luke 9:37-43a |url=https://www.jstor.org/stable/43721315 |journal=The Catholic Biblical Quarterly |volume=55 |issue=3 |pages=467–493 |issn=0008-7912}}</ref> ==== Proclama, Muta, e Semana de Pasion ==== [[File:Transfigurationbloch.jpg|thumb|upright=0.8|La [[Muta de Jesus]], depintida par [[Carl Bloch]], sentenio 19]] Aprosima a la media de cada de la tre Evanjelios Sinotica, la autores nara du avenis sinifiante: la Confesa de [[San Petro|Petro]] e la Muta de Jesus — cual la Evanjelio de Joan no nota.<ref name="Barton132" /><ref>{{cite book |title=The Christology of Mark's Gospel |url=https://archive.org/details/christologyofmar0000king |url-access=limited |first=Jack D. |last=Kingsbury |year=1983 |isbn=978-1-4514-1007-5 |publisher=Fortress Press |pages=[https://archive.org/details/christologyofmar0000king/page/91 91]–95}}</ref>{{sfn|Lee|2004|pp=21–30}}<ref name="Nobbs" />{{sfn|Cross|Livingstone|2005|loc=John, Gospel of}} En la Confesa de Petro, Petro declara a Jesus, "Tu es la Maxia, la Fio de la Dio vivente";<ref>{{cite book |last=Karris|first=Robert J.|title=The Collegeville Bible Commentary: New Testament|publisher=Liturgical Press|year=1992|isbn=978-0-8146-2211-7|pages=885–886}}</ref><ref>{{cite book |title=Who do you say that I am? Essays on Christology|first1=Jack D.|last1=Kingsbury|first2=Mark A.|last2=Powell|first3=David R.|last3=Bauer|year=1999|isbn=978-0-664-25752-1|publisher=Westminster John Knox Press|page=xvi}}</ref>{{sfn|Donahue|Harrington|2002|p=336}} Jesus afirma ce esta es un veria divin revelada.<ref>{{cite book |last=Yieh|first=John Y. H.|url=https://books.google.com/books?id=g0-NaraCrAoC|title=One teacher: Jesus' teaching role in Matthew's gospel|publisher=Walter de Gruyter|year=2004|isbn=978-3-11-018151-7|pages=240–241|access-date=8 October 2020|archive-url=https://web.archive.org/web/20201008221947/https://books.google.com/books?id=g0-NaraCrAoC|archive-date=8 October 2020|url-status=live}}</ref>{{sfn|Pannenberg|1968|pp=53–54}} Pos esta confesa, Jesus comensa parla a sua disiplos sur sua sufri, mori, e revive prosiminte. En la Muta,{{sfn|Lee|2004|pp=21–30}}<ref name="Nobbs" /><ref name="Barton132" /> Jesus trae Petro e du otra apostoles a la culmina de un monte nonomida, do "el ia es mutada ante los, e sua fas ia brilia como la sol, e sua vestes ia deveni briliante blanca".{{sfn|Lee|2004|pp=72–76}} Un nube briliante covre los, e un vose de la nube proclama, "Esta es mea Fio, la Amada; con el me es multe plaseda; escuta a el."{{sfn|Lee|2004|pp=21–30}} La descrive de la semana final de la vive de Jesus — comun nomida la [[Semana de Pasion]] — ocupa aprosima un tri de la nara en la evanjelios canonal. Esta parte comensa con la entra vinsal de Jesus a Ieruxalim e conclui con sua crusi.{{sfn|Blomberg|2009|pp=224–229}}{{sfn|Cox|Easley|2007|pp=155–170}} ==== Fadas en Ieruxalim ==== [[File:Gérôme - L'entrée du Christ à Jérusalem - cadre.jpg|thumb|upright=1.2|Un depinta de la [[entra vinsal de Jesus a Ieruxalim|la entra ultima de Jesus a Ieruxalim]], par [[Jean-Léon Gérôme]], 1897|alt=Jesus, montante un asineta, viaja a Ieruxalim. Un fola grande bonveni el estra la murones.]] En la Evanjelios Sinotica, la semana final en Ieruxalim conclui la viaja tra Perea e Iudea cual Jesus ia comensa en Galilea.{{sfn|Cox|Easley|2007|pp=155–170}} Jesus entra a Ieruxalim montante un asino joven, evocante la motif de la asino de la Maxia de la [[Zecaria|Libro de Zecaria]], en cual la re umil de la Iudis ariva a la site en esta modo.<ref name="May Metzger Mark">{{Cite book|editor-last1=May|editor-first1=Herbert G. |editor-first2=Bruce M. |editor-last2=Metzger|title=The New Oxford Annotated Bible with the Apocrypha|year= 1977|chapter=Mark|pages= 1213–1239}}</ref> En cuando el avansa, popla sperde capas e ramos peti de arbores (plumas de palma) sur la strada ante el e canta linias de Salmo 118:25-26.{{sfn|Boring|Craddock|2004|pp=256–258}}{{sfn|Majerník|Ponessa|Manhardt|2005|pp=133–134}}{{sfn|Evans|2003|pp=381–395}} Pos esta, Jesus espulsa la intercambiores de la Templo, acusante los de cambia lo a un asconderia de furores par lor comersia. La plu de eruditas acorda ce lo es multe probable ce Jesus ia fa alga cosa en la templo e ia nota sua destrui.<ref>{{cite book |last= Sanders |first= E.P. |author-link= E.P. Sanders |year= 1985 |title= Jesus and Judaism |publisher= Fortress Press |page= 61 |isbn= 978-0800620615|title-link=Jesus and Judaism}}</ref>{{sfn|Harris|1985|pp=285–296}} En Joan, la Purga de la Templo aveni a la comensa de la servi de Jesus en loca de a la fini.{{sfn|Harris|1985|pp=302–310}} Praticas antica de composa ia inclui tal deslocas e compresas cronolojial, e an biografistes fidable como [[Plutarco]] ia usa los.<ref>{{Cite journal |last=Vytlačilová |first=Magdalena |date=2023 |title=Jesus, the Gospels, and the Galilean Crisis by Tucker S. Ferda (review) |journal=Neotestamentica |volume=57 |issue=1 |pages=197–202 |doi=10.1353/neo.2023.a938405}}</ref> Jesus ave conflitas con la veas iudi, per esemplo cuando los demanda sur sua autoria e cuando el critica los e nomi los ipocritas.{{sfn|Boring|Craddock|2004|pp=256–258}}{{sfn|Evans|2003|pp=381–395}} [[Judas Iscariot]], un de la des-du apostoles, fini un negosia secreta con la veas iudi, prometente tradi Jesus a los per 30 monetas de arjento.<ref>{{cite book |last=Lockyer |first=Herbert |url=https://books.google.com/books?id=-Q7l-_UFHmYC |title=All the Apostles of the Bible |publisher=Zondervan |year=1988 |isbn=978-0-310-28011-8 |pages=106–111 |access-date=11 July 2017 |archive-url=https://web.archive.org/web/20200229044027/https://books.google.com/books?id=-Q7l-_UFHmYC |archive-date=29 February 2020 |url-status=live}}</ref><ref>{{cite book |title=The Synoptic Gospels and the Book of Acts |first=Doremus A. |last=Hayes |year=2009 |isbn=978-1-313-53490-1 |page=88 |publisher=HardPress}}</ref> La Evanjelio de Joan raconta du otra festas en cual Jesus ia ensenia en Ieruxalim ante la Semana de Pasion.{{sfn|Harris|1985|pp=270–272}} En Betania, un vileta prosima a Ieruxalim, Jesus [[revive de Lazaro|revive Lazaro de la mores]]. Esta sinia potiosa{{sfn|Harris|1985|pp=302–310}} grandi la tensa con la autoriosas,{{sfn|Cox|Easley|2007|pp=155–170}} ci conspira per mata el.{{sfn|Harris|1985|pp=270–272}} [[Maria de Betania]] unje la pedes de Jesus, predisente sua entera.{{sfn|Funk|Hoover|The Jesus Seminar|1993|pp=401–470}} A pos, Jesus fa sua entra maxial a Ieruxalim.{{sfn|Harris|1985|pp=270–272}} La folas aclamante ci saluta Jesus cuando el entra a Ieruxalim grandi la enemia entre el e la xefes ofisial.{{sfn|Cox|Easley|2007|pp=155–170}} En Joan, Jesus ia purga ja la Templo Du en un visita a Ieruxalim en un pesah plu temprana. A pos, Joan raconta la Come Ultima de Jesus con sua disiplos.{{sfn|Harris|1985|pp=270–272}} == Notas == {{notelist}} {{notelist|30em}} == Referes == {{reflist|colwidth=20em}} === Fontes === {{refbegin|30em}} * {{cite book |first=Douglas |last=Hare |title=Matthew |publisher=Westminster John Knox Press |language=en|year=1993 |isbn=978-0-664-23433-1}} * {{cite book |first=Craig L. |last=Blomberg |author-link=Craig Blomberg |title=Jesus and the Gospels: An Introduction and Survey |year=2009 |language=en|isbn=978-0-8054-4482-7 |url=https://books.google.com/books?id=U5rIPC1UgsgC |publisher=B&H |access-date=8 October 2020 |archive-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008222031/https://books.google.com/books?id=U5rIPC1UgsgC |url-status=live}} * {{cite book |title=The People's New Testament Commentary |first1=M. Eugene |last1=Boring |first2=Fred B. |last2=Craddock |author-link2=Fred Craddock |language=en|year=2004 |isbn=978-0-664-22754-8 |publisher=Westminster John Knox Press |url=https://books.google.com/books?id=N0tLXRIiIe0C |access-date=14 August 2015 |archive-date=4 January 2014 |archive-url=https://web.archive.org/web/20140104165219/http://books.google.com/books?id=N0tLXRIiIe0C |url-status=live}} * {{cite book |first=Raymond E. |last=Brown |title=The Birth of the Messiah: A Commentary on the Infancy Narratives in Matthew and Luke |year=1977 |language=en|isbn=978-0-385-05907-7 |publisher=Doubleday}} * {{cite book |title=Mary in the New Testament |first=Raymond E. |last=Brown |year=1978 |isbn=978-0-8091-2168-7 |url=https://books.google.com/books?id=ML1mnUBwmhcC |publisher=Paulist Press |access-date=14 August 2015 |archive-date=17 September 2014 |archive-url=https://web.archive.org/web/20140917011141/http://books.google.com/books?id=ML1mnUBwmhcC |url-status=live}} * {{cite book |title=The Gospel and Epistles of John: A Concise Commentary |first=Raymond E. |last=Brown |language=en|author-link=Raymond E. Brown |year=1988 |isbn=978-0-8146-1283-5 |publisher=Liturgical Press |url=https://archive.org/details/gospelepistleso00brow}} * {{cite book |last=Brown |first=Raymond E. |title=An Introduction to the New Testament |publisher=Doubleday |language=en|year=1997 |isbn=978-0-385-24767-2 |url=https://archive.org/details/introductiontone00brow_0}} * {{cite book |last=Carter |first=Warren |author-link=Warren Carter |title=Pontius Pilate: Portraits of a Roman Governor |year=2003 |isbn=978-0-8146-5113-1 |language=en|url=https://books.google.com/books?id=mvhHcXKK0UEC |publisher=Liturgical Press |access-date=8 October 2020 |archive-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008222031/https://books.google.com/books?id=mvhHcXKK0UEC |url-status=live}} * {{cite book |title=Studying the Historical Jesus: Evaluations of the State of Current Research |first1=Bruce |last1=Chilton |author-link1=Bruce Chilton |first2=Craig A. |last2=Evans |author-link2=Craig A. Evans |year=1998 |isbn=978-90-04-11142-4 |publisher=Brill |language=en|url=https://books.google.com/books?id=AJM9grxOjjMC |access-date=8 October 2020 |archive-date=4 October 2020 |archive-url=https://web.archive.org/web/20201004084608/https://books.google.com/books?id=AJM9grxOjjMC |url-status=live}} * {{cite book |last=Bowman Jr. |first=Robert M. |title=Jesus, Skepticism & The Problem of History: Criteria and Context in the Study of Christian Origins |last2=Komoszewski |first2=J. Ed |date=2019 |language=en|publisher=Zondervan |isbn=978-0-310-53476-1 |editor1-last=Komoszewski |editor1-first=J. Ed |pages= |quote= |editor2-last=Bock |editor2-first=Darrell L.}} * {{cite book |first1=Steven L. |last1=Cox |first2=Kendell H. |last2=Easley |year=2007 |title=Harmony of the Gospels |isbn=978-0-8054-9444-0 |language=en|url=https://books.google.com/books?id=QjmwuFUksOQC |publisher=B&H |access-date=8 October 2020 |archive-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008222032/https://books.google.com/books?id=QjmwuFUksOQC |url-status=live}} * {{cite book |editor-first1=Frank L. |editor-last1=Cross |language=en |editor-first2=E. A. |editor-last2=Livingstone |title=The Oxford Dictionary of the Christian Church |publisher=Oxford University Press |year=2005 |url=https://books.google.com/books?id=fUqcAQAAQBAJ |isbn=978-0-19-280290-3 |access-date=8 October 2020 |archive-date=15 May 2019 |archive-url=https://web.archive.org/web/20190515065637/https://books.google.com/books?id=fUqcAQAAQBAJ |url-status=live}} * {{cite book |first1=John D. |last1=Crossan |author-link1=John Dominic Crossan |first2=Richard G. |language=en |last2=Watts |title=Who Is Jesus?: Answers to Your Questions About the Historical Jesus |publisher=Westminster John Knox Press |year=1999 |isbn=978-0-664-25842-9 |url=https://archive.org/details/whoisjesusanswer00cros}} * {{cite book |last=De Smet |first=Daniel |year=2016 |chapter=Les racines docétistes de l'imamologie shi'ite |language=fr |editor1-last=Amir-Moezzi |editor1-first=Mohammad Ali |editor2-last=De Cillis |editor2-first=Maria |editor3-last=De Smet |editor3-first=Daniel |editor4-last=Mir-Kasimov |editor4-first=Orkhan |title=L'Ésotérisme shi'ite, ses racines et ses prolongements – Shi'i Esotericism: Its Roots and Developments |series=Bibliothèque de l'Ecole des Hautes Etudes, Sciences Religieuses |volume=177 |location=Turnhout |publisher=Brepols |pages=87–112 |doi=10.1484/M.BEHE-EB.4.01163 |isbn=978-2-503-56874-4}} * {{cite book |last=Dickson |first=John |author-link=John Dickson (author) |title=Jesus: A Short Life |publisher=Kregel Publications |year=2008 |language=en|isbn=978-0-8254-7802-4}} * {{cite book |last=Dillenberger |first=John |author-link=John Dillenberger |title=Images and Relics: Theological Perceptions and Visual Images in Sixteenth-Century Europe |language=en|publisher=Oxford University Press |year=1999 |isbn=978-0-19-976146-3}} * {{cite book |first1=John R. |last1=Donahue |first2=Daniel J. |last2=Harrington |author-link2=Daniel J. Harrington |title=The Gospel of Mark |publisher=Liturgical Press |language=en|year=2002 |url=https://books.google.com/books?id=xZAIsUZOwSQC |isbn=978-0-8146-5804-8 |access-date=8 October 2020 |archive-date=3 January 2014 |archive-url=https://web.archive.org/web/20140103010742/http://books.google.com/books?id=xZAIsUZOwSQC |url-status=live}} * {{cite book |last=Doninger |first=Wendy |year=1999 |title=Merriam-Webster's Encyclopedia of World Religions |publisher=Merriam-Webster |language=en|url=https://archive.org/details/isbn_9780877790440 |isbn=978-0-87779-044-0}} * {{cite book |first=James D. G. |last=Dunn |author-link=James Dunn (theologian) |title=Jesus Remembered |language=en|year=2003 |isbn=978-0-8028-3931-2 |publisher=Wm. B. Eerdmans |url=https://books.google.com/books?id=G4qpnvoautgC}} * {{cite book |last1=Eddy |first1=Paul R. |last2=Boyd |first2=Gregory A. |author-link2=Greg Boyd (theologian) |year=2007 |title=The Jesus Legend: A Case for the Historical Reliability of the Synoptic Jesus tradition |language=en|publisher=Baker |isbn=978-0-8010-3114-4 |url=https://books.google.com/books?id=U26_85NmwPUC |access-date=8 October 2020 |archive-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008222033/https://books.google.com/books?id=U26_85NmwPUC |url-status=live}} * {{cite book |title=Jesus: Apocalyptic Prophet of the New Millennium |first=Bart |last=Ehrman |author-link=Bart D. Ehrman |year=1999 |isbn=978-0-19-983943-8 |publisher=Oxford University Press |language=en|url=https://archive.org/details/jesusapocalyptic00ehrm |url-access=registration}} * {{cite book |title=Jesus, Interrupted: Revealing the Hidden Contradictions in the Bible (and Why We Don't Know About Them) |last=Ehrman |first=Bart D. |year=2009 |language=en|url=https://archive.org/details/jesusinterrupted00ehrm_0/ |publisher=HarperOne |isbn=978-0-06-117393-6}} * {{cite book |last=Ehrman |first=Bart D. |title=How Jesus Became God |publisher=HarperCollins |year=2014 |language=en|url=https://books.google.com/books?id=dmspAgAAQBAJ |isbn=978-0-06-225219-7}} * {{cite book |first=Bart |last=Ehrman |year=2011 |title=Forged: Writing in the Name of God – Why the Bible's Authors Are Not Who We Think They Are |isbn=978-0-06-207863-6 |language=en|url=https://archive.org/details/forged_ehrm_2011_000_10544376 |url-access=registration |publisher=HarperCollins}} * {{cite book |last=Ehrman |first=Bart D. |title=Did Jesus Exist?: The Historical Argument for Jesus of Nazareth |year=2012 |publisher=HarperOne |isbn=978-0-06-208994-6 |language=en|url=https://books.google.com/books?id=hf5Rj8EtsPkC |access-date=8 October 2020 |archive-date=3 August 2020 |archive-url=https://web.archive.org/web/20200803200020/https://books.google.com/books?id=hf5Rj8EtsPkC |url-status=live}} * {{cite book |last=Evans |first=Craig A. |author-link=Craig A. Evans |year=2003 |title=The Bible Knowledge Background Commentary: Matthew–Luke |isbn=978-0-7814-3868-1 |language=en|publisher=Victor (Cook Communications Ministries)|url=https://archive.org/details/bibleknowledgeba00crai}} * {{cite book |first=Craig A. |last=Evans |url=https://books.google.com/books?id=87x8TqW6MJQC |title=Jesus and His World: The Archaeological Evidence |year=2012a |language=en|publisher=Westminster John Knox Press |isbn=978-0-664-23413-3 |access-date=8 October 2020 |archive-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008222033/https://books.google.com/books?id=87x8TqW6MJQC |url-status=live}} * {{cite book |last=Evans |first=Craig A. |title=Matthew (New Cambridge Bible Commentary) |date=2012b |language=en|publisher=Cambridge University Press |isbn=978-0-521-01106-8}} * {{cite book |last=Finegan |first=Jack |title=Handbook of Biblical Chronology |year=1998 |publisher=Hendrickson Publishers |isbn=978-1-56563-143-4 |language=en|url=https://archive.org/details/handbookbiblical00fine |url-access=limited}} * {{cite book |first=David N. |last=Freedman |author-link=David Noel Freedman |title=Eerdmans Dictionary of the Bible |year=2000 |publisher=Amsterdam University Press |language=en|isbn=978-0-8028-2400-4 |url=https://books.google.com/books?id=P9sYIRXZZ2MC |access-date=8 October 2020 |archive-date=3 August 2020 |archive-url=https://web.archive.org/web/20200803133406/https://books.google.com/books?id=P9sYIRXZZ2MC |url-status=live}} * {{cite book |last=Friedmann |first=Yohanan |year=1989 |title=Prophecy Continuous: Aspects of Ahmadi Religious Thought and Its Medieval Background |location=Berkeley |language=en|publisher=University of California Press |isbn=978-0-520-05772-2}} * {{cite book |first1=Robert W. |last1=Funk |first2=Roy W. |last2=Hoover |author3=The Jesus Seminar |author-link3=Jesus Seminar |title=The Five Gospels |language=en|publisher=Scribner |year=1993 |isbn=978-0-02-541949-0}} * {{cite book |first1=Joel B. |last1=Green |first2=Scot |last2=McKnight |first3=I. Howard |last3=Marshall |author-link1=Joel B. Green |author-link2=Scot McKnight |author-link3=I. Howard Marshall |title=Dictionary of Jesus and the Gospels |url=https://books.google.com/books?id=9ntwNm-tOogC |language=en|publisher=InterVarsity |year=1992 |page=442 |isbn=978-0-8308-1777-1 |access-date=8 October 2020 |archive-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008222034/https://books.google.com/books?id=9ntwNm-tOogC |url-status=live}} * {{cite book |title=Systematic Theology: An Introduction to Biblical Doctrine |last=Grudem |first=Wayne |author-link=Wayne Grudem |year=1994 |publisher=Zondervan |language=en|location=Grand Rapids, Michigan |isbn=978-0-310-28670-7 |url=https://archive.org/details/systematictheolo00grud_0}} * {{cite book |first=Stephen L. |last=Harris |language=en|title=Understanding the Bible |publisher=Mayfield |year=1985}} * {{cite book |last=Houlden |first=J. Leslie |title=Jesus: The Complete Guide |year=2006 |isbn=978-0-8264-8011-8 |publisher=Continuum |language=en|url=https://books.google.com/books?id=Ey8mZKV_jfkC |access-date=8 October 2020 |archive-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008222034/https://books.google.com/books?id=Ey8mZKV_jfkC |url-status=live}} * {{cite journal |last1=Humphreys |first1=Colin J. |last2=Waddington |first2=W. G. |date=1992 |language=en|url=https://legacy.tyndalehouse.com/tynbul/Library/TynBull_1992_43_2_06_Humphreys_DateChristsCrucifixion.pdf |title=The Jewish Calendar, a Lunar Eclipse and the Date of Christ's Crucifixion |journal=Tyndale Bulletin |volume=43 |issue=2 |pages=331–151 |doi=10.53751/001c.30487 |s2cid=189519018 |access-date=21 April 2019 |archive-date=21 April 2019 |archive-url=https://web.archive.org/web/20190421091510/https://legacy.tyndalehouse.com/tynbul/Library/TynBull_1992_43_2_06_Humphreys_DateChristsCrucifixion.pdf |url-status=live}} * {{cite book |last=Keener |first=Craig S. |title=The Gospel of Matthew: A Socio-Rhetorical Commentary |language=en|date=2009b |publisher=Wm. B. Eerdmans |isbn=978-0-8028-6498-7}} * {{cite book |last=Keener |first=Craig S. |title=The Historical Jesus of the Gospels |date=2009 |language=en|publisher=Wm. B. Eerdmans}} * {{cite book |last=Keener |first=Craig S. |title=The Historical Jesus of the Gospels |year=2012 |language=en|publisher=Wm. B. Eerdmans |isbn=978-0-8028-6292-1}} * {{cite book |first1=Andreas J. |last1=Köstenberger |first2=L. Scott |last2=Kellum |first3=Charles L. |last3=Quarles |title=The Cradle, the Cross, and the Crown: An Introduction to the New Testament |language=en|year=2009 |isbn=978-0-8054-4365-3 |url=https://books.google.com/books?id=g-MG9sFLAz0C |publisher=B&H |access-date=8 October 2020 |archive-date=27 July 2020 |archive-url=https://web.archive.org/web/20200727131059/https://books.google.com/books?id=g-MG9sFLAz0C |url-status=live}} * {{cite book |last=Lawson |first=Todd |year=2009 |title=The Crucifixion and the Qur'an: A Study in the History of Muslim Thought |language=en|location=Oxford |publisher=Oneworld |isbn=978-1-85168-635-3}} * {{cite book |title=Transfiguration |first=Dorothy A. |last=Lee |author-link=Dorothy Lee (theologian) |year=2004 |isbn=978-0-8264-7595-4 |url=https://books.google.com/books?id=cYWwEefwCegC |publisher=Continuum |language=en|access-date=8 October 2020 |archive-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008222034/https://books.google.com/books?id=cYWwEefwCegC |url-status=live}} * {{cite encyclopedia |title=Introduction |first=Amy-Jill |last=Levine |author-link=Amy-Jill Levine |encyclopedia=The Historical Jesus in Context |editor-last1=Levine |editor-last2=Allison |editor-first3=John D. |editor-last3=Crossan |language=en|publisher=Princeton University Press |isbn=978-0-691-00992-6 |year=2006 |editor1-first=Amy-Jill |editor2-first=Dale C. |editor2-link=Dale Allison |url=https://books.google.com/books?id=HIp_0N3uPPcC |access-date=8 October 2020 |archive-date=10 April 2014 |archive-url=https://web.archive.org/web/20140410102712/http://books.google.com/books?id=HIp_0N3uPPcC |url-status=live}} * {{cite book |title=The Misunderstood Jew: The Church and the Scandal of the Jewish Jesus |first=Amy-Jill |last=Levine |author-link=Amy-Jill Levine |year=2007 |language=en|isbn=978-0-06-174811-0 |url=https://archive.org/details/TheMisunderstoodJewTheChurchAndTheScandalOfTheJewishJesus |publisher=HarperCollins}} * {{cite book |url=https://books.google.com/books?id=rv8xNoRBtxMC |title=The Resurrection of Jesus: A New Historiographical Approach |publisher=InterVarsity |year=2010 |isbn=978-0-8308-2719-0 |first=Michael R. |last=Licona |language=en|access-date=29 July 2015 |archive-date=18 February 2020 |archive-url=https://web.archive.org/web/20200218101307/https://books.google.com/books?id=rv8xNoRBtxMC |url-status=live}} * {{cite encyclopedia |first=Paul L. |last=Maier |author-link=Paul L. Maier |title=The Date of the Nativity and Chronology of Jesus |encyclopedia=''Chronos'', ''Kairos'', ''Christos'': Nativity and Chronological Studies |editor-last1=Finegan |editor-first2=Jerry |editor-last2=Vardaman |editor-first3=Edwin M. |editor-last3=Yamauchi |year=1989 |isbn=978-0-931464-50-8 |url=https://books.google.com/books?id=UCBBY_O88uYC&pg=PA113 |publisher=Eisenbrauns |editor-first=Jack |editor1-link=Jack Finegan |editor3-link=Edwin M. Yamauchi |language=en|access-date=14 August 2015 |archive-date=7 September 2015 |archive-url=https://web.archive.org/web/20150907110057/https://books.google.com/books?id=UCBBY_O88uYC&pg=PA113 |url-status=live}} * {{cite book |title=The Synoptics: Matthew, Mark, Luke |first1=Ján |last1=Majerník |first2=Joseph |last2=Ponessa |first3=Laurie W. |last3=Manhardt |year=2005 |isbn=978-1-931018-31-9 |language=en|url=https://books.google.com/books?id=cqP5xHXGYPQC |publisher=Emmaus Road |access-date=8 October 2020 |archive-date=19 August 2020 |archive-url=https://web.archive.org/web/20200819025434/https://books.google.com/books?id=cqP5xHXGYPQC |url-status=live}} * {{cite book |url=https://books.google.com/books?id=v26doW8jIyYC&pg=PA4 |title=Christianity: An Introduction |publisher=John Wiley & Sons |last=McGrath |first=Alister E. |author-link=Alister McGrath |year=2006 |language=en|pages=4–6 |isbn=978-1-4051-0899-7 |access-date=14 August 2015 |archive-date=10 September 2015 |archive-url=https://web.archive.org/web/20150910073956/https://books.google.com/books?id=v26doW8jIyYC&pg=PA4 |url-status=live}} * {{cite book |last=Meier |first=John P. |author-link=John P. Meier |title=A Marginal Jew: The Roots of the Problem and the Person |year=1991 |publisher=Yale University Press |language=en|isbn=978-0-300-14018-7}} * {{cite encyclopedia |last=Meier |first=John P. |title=How do we decide what comes from Jesus |encyclopedia=The Historical Jesus in Recent Research |editor-last1=Dunn |editor-last2=McKnight |year=2006 |isbn=978-1-57506-100-9 |url=https://books.google.com/books?id=37uJRUF6btAC |editor1-first=James D. G. |publisher=Eisenbrauns |editor2-first=Scot |access-date=14 August 2015 |archive-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008222035/https://books.google.com/books?id=37uJRUF6btAC |url-status=live}} * {{cite book |last1=Melton |first1=J. Gordon |year=2010 |chapter=Ahmad, Mirza Ghulam Hazrat |editor1-last=Melton |editor1-first=J. Gordon |editor2-last=Baumann |editor2-first=Martin |title=Religions of the World: A Comprehensive Encyclopedia of Beliefs and Practices |language=en|volume=1 |pages=54–56 |edition=2nd |isbn=978-1-59884-203-6 |location=Santa Barbara |publisher=ABC-CLIO |chapter-url=https://books.google.com/books?id=v2yiyLLOj88C&pg=PA55 |access-date=14 August 2015 |archive-date=21 October 2016 |archive-url=https://web.archive.org/web/20161021175959/https://books.google.com/books?id=v2yiyLLOj88C&pg=PA55 |url-status=live}} * {{cite book |last1=Mills |first1=Watson E. |last2=Bullard |first2=Roger A. |year=1998 |title=Mercer Dictionary of the Bible |publisher=Mercer University Press |isbn=978-0-86554-373-7 |language=en|url=https://books.google.com/books?id=goq0VWw9rGIC |access-date=14 August 2015 |archive-date=18 October 2017 |archive-url=https://web.archive.org/web/20171018095243/https://books.google.com/books?id=goq0VWw9rGIC |url-status=live}} * {{cite book |last=Morris |first=Leon |author-link=Leon Morris |year=1992 |title=The Gospel According to Matthew |publisher=Wm. B. Eerdmans |isbn=978-0-85111-338-8 |language=en|url=https://books.google.com/books?id=-pwaSKcHyEEC |access-date=8 October 2020 |archive-date=2 August 2020 |archive-url=https://web.archive.org/web/20200802002134/https://books.google.com/books?id=-pwaSKcHyEEC |url-status=live}} * {{cite book |last=Niswonger |first=Richard L. |title=New Testament History |year=1992 |isbn=978-0-310-31201-7 |language=en|publisher=Zondervan |url=https://books.google.com/books?id=uyAXaNnz9sUC}} * {{cite book |last=Pannenberg |first=Wolfhart |author-link=Wolfhart Pannenberg |url=https://books.google.com/books?id=zWfvlpURwiIC |title=Jesus: God and Man |year=1968 |isbn=978-0-334-00783-8 |language=en|publisher=S. C. M. Press |access-date=8 October 2020 |archive-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008222035/https://books.google.com/books?id=zWfvlpURwiIC |url-status=live}} * {{cite book |last=Powell |first=Mark A. |author-link=Mark Allan Powell |title=Jesus as a Figure in History: How Modern Historians View the Man from Galilee |year=1998 |language=en|isbn=978-0-664-25703-3 |url=https://archive.org/details/jesusasfigureinh0000powe |url-access=registration |publisher=Westminster John Knox Press}} * {{cite book |last=Rahner |first=Karl |author-link=Karl Rahner |title=Encyclopedia of Theology: A Concise ''Sacramentum Mundi'' |year=2004 |isbn=978-0-86012-006-3 |publisher=Continuum |url=https://books.google.com/books?id=WtnR-6_PlJAC |language=en|access-date=8 October 2020 |archive-date=27 July 2020 |archive-url=https://web.archive.org/web/20200727115653/https://books.google.com/books?id=WtnR-6_PlJAC |url-status=live}} * {{cite book |title=Who Is Jesus? An Introduction to Christology |first=Thomas P. |last=Rausch |author-link=Thomas Rausch |language=en|year=2003 |publisher=Liturgical Press |isbn=978-0-8146-5078-3 |url=https://books.google.com/books?id=8OJCa6euw5gC |access-date=8 October 2020 |archive-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008222036/https://books.google.com/books?id=8OJCa6euw5gC |url-status=live}} * {{cite book |last=Redford |first=Douglas |title=The Life and Ministry of Jesus: The Gospels |year=2007 |language=en|isbn=978-0-7847-1900-8 |url=https://books.google.com/books?id=dDMQz5BVFbEC |publisher=Standard Publishing |access-date=8 October 2020 |archive-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008222036/https://books.google.com/books?id=dDMQz5BVFbEC |url-status=live}} * {{cite book |title=Archaeology and the Galilean Jesus: A Re-examination of the Evidence |first=Jonathan L. |last=Reed |year=2002 |isbn=978-1-56338-394-6 |url=https://books.google.com/books?id=Xrav1ge-A_sC |language=en|publisher=Continuum |access-date=8 October 2020 |archive-date=4 May 2016 |archive-url=https://web.archive.org/web/20160504050031/https://books.google.com/books?id=Xrav1ge-A_sC |url-status=live}} * {{cite book |last=Robinson |first=Neal |year=1991 |title=Christ in Islam and Christianity |location=Albany |language=en|publisher=State University of New York Press |isbn=978-0-7914-0559-8}} * {{cite encyclopedia |last=Robinson |first=Neal |year=2005 |title=Jesus |editor1-last=McAuliffe |editor1-first=Jane Dammen |language=en|encyclopedia=Encyclopaedia of the Qurʾān |publisher=Brill |doi=10.1163/1875-3922_q3_EQCOM_00099}} * {{cite book |last=Sanders |first=E.&nbsp;P. |author-link=E. P. Sanders |title=The Historical Figure of Jesus |language=en|publisher=Allen Lane Penguin Press |year=1993 |url=https://books.google.com/books?id=lkbTL36ZgPIC |isbn=978-0-14-192822-7 |access-date=8 October 2020 |archive-date=18 April 2017 |archive-url=https://web.archive.org/web/20170418040039/https://books.google.com/books?id=lkbTL36ZgPIC |url-status=live}} * {{cite book |last1=Theissen |first1=Gerd |author-link1=Gerd Theissen |last2=Merz |first2=Annette |author-link2=Annette Merz |year=1998 |title=The Historical Jesus: A Comprehensive Guide |isbn=978-1-4514-0863-8 |language=en|publisher=Fortress Press |url=https://books.google.com/books?id=3ZU97DQMH6UC |access-date=8 October 2020 |archive-date=5 August 2020 |archive-url=https://web.archive.org/web/20200805091805/https://books.google.com/books?id=3ZU97DQMH6UC |url-status=live}} * {{cite book |title=The Quest for the Plausible Jesus: The Question of Criteria |first1=Gerd |last1=Theissen |first2=Dagmar |last2=Winter |year=2002 |isbn=978-0-664-22537-7 |publisher=Westminster John Knox Press |language=en|url=https://books.google.com/books?id=qB5ulgKx4OUC |access-date=8 October 2020 |archive-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008222036/https://books.google.com/books?id=qB5ulgKx4OUC |url-status=live}} * {{cite book |first=Graham H. |last=Twelftree |author-link=Graham Twelftree |title=Jesus the Miracle Worker: A Historical & Theological Study |isbn=978-0-8308-1596-8 |language=en|url=https://archive.org/details/jesusmiraclework00grah/page/95 |year=1999 |publisher=InterVarsity |page=[https://archive.org/details/jesusmiraclework00grah/page/95 95]}} * {{cite book |last=Van Voorst |first=Robert E. |year=2000 |title=Jesus Outside the New Testament: An Introduction to the Ancient Evidence |publisher=Wm. B. Eerdmans |isbn=978-0-8028-4368-5 |language=en|url=https://books.google.com/books?id=lwzliMSRGGkC |access-date=8 October 2020 |archive-date=19 August 2020 |archive-url=https://web.archive.org/web/20200819143206/https://books.google.com/books?id=lwzliMSRGGkC |url-status=live}} * {{cite book |title=Expository Dictionary of New Testament Words |last=Vine |first=William E. |author-link=William Edwy Vine |orig-year=1940 |language=en|year=1985|publisher=Fleming H. Revell |isbn=978-0-916441-31-9|ref={{SfnRef|Vine|1940}} }} * {{cite book |title=Jesus the Jew: A Historian's Reading of the Gospels |last=Vermes |first=Geza |author-link1=Geza Vermes |year=1981 |publisher=First Fortress |location=Philadelphia |isbn=978-0-8006-1443-0 |url=https://books.google.com/books?id=RvSEK2HALnwC |access-date=8 October 2020 |archive-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008222037/https://books.google.com/books?id=RvSEK2HALnwC |url-status=live}} * {{cite book |title=The Bible Knowledge Commentary: New Testament |first1=John F. |last1=Walvoord |author-link1=John Walvoord |first2=Roy B. |last2=Zuck |year=1983 |language=en|isbn=978-0-88207-812-0 |publisher=David C. Cook |url=https://books.google.com/books?id=DP4UiA4gQNMC |access-date=8 October 2020 |archive-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008222037/https://books.google.com/books?id=DP4UiA4gQNMC |url-status=live}} * {{cite book |title=The Jesus Quest: The Third Search for the Jew of Nazareth |first=Ben |last=Witherington |author-link=Ben Witherington III |year=1997 |isbn=978-0-8308-1544-9 |publisher=InterVarsity |language=en|url=https://books.google.com/books?id=IE_T3Xh2fyUC |access-date=8 October 2020 |archive-date=8 October 2020 |archive-url=https://web.archive.org/web/20201008222039/https://books.google.com/books?id=IE_T3Xh2fyUC |url-status=live}} {{refend}} [[Categoria:Jesus Cristo]] [[Categoria:Cristianisme]] 9ipg6gnh7ohpglkkw9jr93o9eg5kbjt Modulo:Documentation 828 4737 43235 23909 2026-07-06T23:23:06Z Ne 1118 redirije 43235 Scribunto text/plain return require('Modulo:Documenti') o3my6f9ceqx71i9u69pyaqdno1rmfkz Model:Documentation 10 4738 43238 23910 2026-07-06T23:26:34Z Ne 1118 redirije 43238 wikitext text/x-wiki #REDIRECT [[Model:Documenti]] pd3agya66glpi5co6vkycx4704962td Modulo:Message box 828 4740 43249 42281 2026-07-07T00:04:21Z Ne 1118 varia corente de enwiki 43249 Scribunto text/plain require('strict') local getArgs local yesno = require('Module:Yesno') local lang = mw.language.getContentLanguage() local CONFIG_MODULE = 'Module:Message box/configuration' local DEMOSPACES = {talk = 'tmbox', image = 'imbox', file = 'imbox', category = 'cmbox', article = 'ambox', main = 'ambox'} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function getTitleObject(...) -- Get the title object, passing the function through pcall -- in case we are over the expensive function count limit. local success, title = pcall(mw.title.new, ...) if success then return title end end local function union(t1, t2) -- Returns the union of two arrays. local vals = {} for i, v in ipairs(t1) do vals[v] = true end for i, v in ipairs(t2) do vals[v] = true end local ret = {} for k in pairs(vals) do table.insert(ret, k) end table.sort(ret) return ret end local function getArgNums(args, prefix) local nums = {} for k, v in pairs(args) do local num = mw.ustring.match(tostring(k), '^' .. prefix .. '([1-9]%d*)$') if num then table.insert(nums, tonumber(num)) end end table.sort(nums) return nums end -------------------------------------------------------------------------------- -- Box class definition -------------------------------------------------------------------------------- local MessageBox = {} MessageBox.__index = MessageBox function MessageBox.new(boxType, args, cfg) args = args or {} local obj = {} -- Set the title object and the namespace. obj.title = getTitleObject(args.page) or mw.title.getCurrentTitle() -- Set the config for our box type. obj.cfg = cfg[boxType] if not obj.cfg then local ns = obj.title.namespace -- boxType is "mbox" or invalid input if args.demospace and args.demospace ~= '' then -- implement demospace parameter of mbox local demospace = string.lower(args.demospace) if DEMOSPACES[demospace] then -- use template from DEMOSPACES obj.cfg = cfg[DEMOSPACES[demospace]] elseif string.find( demospace, 'talk' ) then -- demo as a talk page obj.cfg = cfg.tmbox else -- default to ombox obj.cfg = cfg.ombox end elseif ns == 0 then obj.cfg = cfg.ambox -- main namespace elseif ns == 6 then obj.cfg = cfg.imbox -- file namespace elseif ns == 14 then obj.cfg = cfg.cmbox -- category namespace else local nsTable = mw.site.namespaces[ns] if nsTable and nsTable.isTalk then obj.cfg = cfg.tmbox -- any talk namespace else obj.cfg = cfg.ombox -- other namespaces or invalid input end end end -- Set the arguments, and remove all blank arguments except for the ones -- listed in cfg.allowBlankParams. do local newArgs = {} for k, v in pairs(args) do if v ~= '' then newArgs[k] = v end end for i, param in ipairs(obj.cfg.allowBlankParams or {}) do newArgs[param] = args[param] end obj.args = newArgs end -- Define internal data structure. obj.categories = {} obj.classes = {} -- For lazy loading of [[Module:Category handler]]. obj.hasCategories = false return setmetatable(obj, MessageBox) end function MessageBox:addCat(ns, cat, sort) if not cat then return nil end if sort then cat = string.format('[[Category:%s|%s]]', cat, sort) else cat = string.format('[[Category:%s]]', cat) end self.hasCategories = true self.categories[ns] = self.categories[ns] or {} table.insert(self.categories[ns], cat) end function MessageBox:addClass(class) if not class then return nil end table.insert(self.classes, class) end function MessageBox:setParameters() local args = self.args local cfg = self.cfg -- Get type data. self.type = args.type local typeData = cfg.types[self.type] self.invalidTypeError = cfg.showInvalidTypeError and self.type and not typeData typeData = typeData or cfg.types[cfg.default] self.typeClass = typeData.class self.typeImage = typeData.image self.typeImageNeedsLink = typeData.imageNeedsLink -- Find if the box has been wrongly substituted. self.isSubstituted = cfg.substCheck and args.subst == 'SUBST' -- Find whether we are using a small message box. self.isSmall = cfg.allowSmall and ( cfg.smallParam and args.small == cfg.smallParam or not cfg.smallParam and yesno(args.small) ) -- Set the below row. self.below = cfg.below and args.below -- Add attributes, classes and styles. self.id = args.id self.name = args.name if self.name then self:addClass('box-' .. string.gsub(self.name,' ','_')) end if yesno(args.plainlinks) ~= false then self:addClass('plainlinks') end if self.below then self:addClass('mbox-with-below') end for _, class in ipairs(cfg.classes or {}) do self:addClass(class) end if self.isSmall then self:addClass(cfg.smallClass or 'mbox-small') end self:addClass(self.typeClass) self:addClass(args.class) self.style = args.style self.attrs = args.attrs -- Set text style. self.textstyle = args.textstyle -- Set image classes. self.imageRightClass = args.imagerightclass or args.imageclass self.imageLeftClass = args.imageleftclass or args.imageclass -- Find if we are on the template page or not. This functionality is only -- used if useCollapsibleTextFields is set, or if both cfg.templateCategory -- and cfg.templateCategoryRequireName are set. self.useCollapsibleTextFields = cfg.useCollapsibleTextFields if self.useCollapsibleTextFields or cfg.templateCategory and cfg.templateCategoryRequireName then if self.name then local templateName = mw.ustring.match( self.name, '^[tT][eE][mM][pP][lL][aA][tT][eE][%s_]*:[%s_]*(.*)$' ) or self.name templateName = 'Template:' .. templateName self.templateTitle = getTitleObject(templateName) end self.isTemplatePage = self.templateTitle and mw.title.equals(self.title, self.templateTitle) end -- Process data for collapsible text fields. At the moment these are only -- used in {{ambox}}. if self.useCollapsibleTextFields then -- Get the self.issue value. if self.isSmall and args.smalltext then self.issue = args.smalltext else local sect if args.sect == '' then sect = 'This ' .. (cfg.sectionDefault or 'page') elseif type(args.sect) == 'string' then sect = 'This ' .. args.sect end local issue = args.issue issue = type(issue) == 'string' and issue ~= '' and issue or nil local text = args.text text = type(text) == 'string' and text or nil local issues = {} table.insert(issues, sect) table.insert(issues, issue) table.insert(issues, text) self.issue = table.concat(issues, ' ') end -- Get the self.talk value. local talk = args.talk -- Show talk links on the template page or template subpages if the talk -- parameter is blank. if talk == '' and self.templateTitle and ( mw.title.equals(self.templateTitle, self.title) or self.title:isSubpageOf(self.templateTitle) ) then talk = '#' elseif talk == '' then talk = nil end if talk then -- If the talk value is a talk page, make a link to that page. Else -- assume that it's a section heading, and make a link to the talk -- page of the current page with that section heading. local talkTitle = getTitleObject(talk) local talkArgIsTalkPage = true if not talkTitle or not talkTitle.isTalkPage then talkArgIsTalkPage = false talkTitle = getTitleObject( self.title.text, mw.site.namespaces[self.title.namespace].talk.id ) end if talkTitle and talkTitle.exists then local talkText if self.isSmall then local talkLink = talkArgIsTalkPage and talk or (talkTitle.prefixedText .. (talk == '#' and '' or '#') .. talk) talkText = string.format('([[%s|talk]])', talkLink) else talkText = 'Relevant discussion may be found on' if talkArgIsTalkPage then talkText = string.format( '%s [[%s|%s]].', talkText, talk, talkTitle.prefixedText ) else talkText = string.format( '%s the [[%s' .. (talk == '#' and '' or '#') .. '%s|talk page]].', talkText, talkTitle.prefixedText, talk ) end end self.talk = talkText end end -- Get other values. self.fix = args.fix ~= '' and args.fix or nil local date if args.date and args.date ~= '' then date = args.date elseif args.date == '' and self.isTemplatePage then date = lang:formatDate('F Y') end if date then self.date = string.format(" <span class='date-container'><i>(<span class='date'>%s</span>)</i></span>", date) end self.info = args.info if yesno(args.removalnotice) then self.removalNotice = cfg.removalNotice end end -- Set the non-collapsible text field. At the moment this is used by all box -- types other than ambox, and also by ambox when small=yes. if self.isSmall then self.text = args.smalltext or args.text else self.text = args.text end -- General image settings. self.imageCellDiv = not self.isSmall and cfg.imageCellDiv self.imageEmptyCell = cfg.imageEmptyCell -- Left image settings. local imageLeft = self.isSmall and args.smallimage or args.image if cfg.imageCheckBlank and imageLeft ~= 'blank' and imageLeft ~= 'none' or not cfg.imageCheckBlank and imageLeft ~= 'none' then self.imageLeft = imageLeft if not imageLeft then local imageSize = self.isSmall and (cfg.imageSmallSize or '30x30px') or '40x40px' self.imageLeft = string.format('[[File:%s|%s%s|alt=]]', self.typeImage or 'Information icon4.svg', imageSize, self.typeImageNeedsLink and "" or "|link=" ) end end -- Right image settings. local imageRight = self.isSmall and args.smallimageright or args.imageright if not (cfg.imageRightNone and imageRight == 'none') then self.imageRight = imageRight end -- set templatestyles self.base_templatestyles = cfg.templatestyles self.templatestyles = args.templatestyles end function MessageBox:setMainspaceCategories() local args = self.args local cfg = self.cfg if not cfg.allowMainspaceCategories then return nil end local nums = {} for _, prefix in ipairs{'cat', 'category', 'all'} do args[prefix .. '1'] = args[prefix] nums = union(nums, getArgNums(args, prefix)) end -- The following is roughly equivalent to the old {{Ambox/category}}. local date = args.date date = type(date) == 'string' and date local preposition = 'from' for _, num in ipairs(nums) do local mainCat = args['cat' .. tostring(num)] or args['category' .. tostring(num)] local allCat = args['all' .. tostring(num)] mainCat = type(mainCat) == 'string' and mainCat allCat = type(allCat) == 'string' and allCat if mainCat and date and date ~= '' then local catTitle = string.format('%s %s %s', mainCat, preposition, date) self:addCat(0, catTitle) catTitle = getTitleObject('Category:' .. catTitle) if not catTitle or not catTitle.exists then self:addCat(0, 'Articles with invalid date parameter in template') end elseif mainCat and (not date or date == '') then self:addCat(0, mainCat) end if allCat then self:addCat(0, allCat) end end end function MessageBox:setTemplateCategories() local args = self.args local cfg = self.cfg -- Add template categories. if cfg.templateCategory then if cfg.templateCategoryRequireName then if self.isTemplatePage then self:addCat(10, cfg.templateCategory) end elseif not self.title.isSubpage then self:addCat(10, cfg.templateCategory) end end -- Add template error categories. if cfg.templateErrorCategory then local templateErrorCategory = cfg.templateErrorCategory local templateCat, templateSort if not self.name and not self.title.isSubpage then templateCat = templateErrorCategory elseif self.isTemplatePage then local paramsToCheck = cfg.templateErrorParamsToCheck or {} local count = 0 for i, param in ipairs(paramsToCheck) do if not args[param] then count = count + 1 end end if count > 0 then templateCat = templateErrorCategory templateSort = tostring(count) end if self.categoryNums and #self.categoryNums > 0 then templateCat = templateErrorCategory templateSort = 'C' end end self:addCat(10, templateCat, templateSort) end end function MessageBox:setAllNamespaceCategories() -- Set categories for all namespaces. if self.invalidTypeError then local allSort = (self.title.namespace == 0 and 'Main:' or '') .. self.title.prefixedText self:addCat('all', 'Wikipedia message box parameter needs fixing', allSort) end if self.isSubstituted then self:addCat('all', 'Pages with incorrectly substituted templates') end end function MessageBox:setCategories() if self.title.namespace == 0 then self:setMainspaceCategories() elseif self.title.namespace == 10 then self:setTemplateCategories() end self:setAllNamespaceCategories() end function MessageBox:renderCategories() if not self.hasCategories then -- No categories added, no need to pass them to Category handler so, -- if it was invoked, it would return the empty string. -- So we shortcut and return the empty string. return "" end -- Convert category tables to strings and pass them through -- [[Module:Category handler]]. return require('Module:Category handler')._main{ main = table.concat(self.categories[0] or {}), template = table.concat(self.categories[10] or {}), all = table.concat(self.categories.all or {}), nocat = self.args.nocat, page = self.args.page } end function MessageBox:exportDiv() local root = mw.html.create() -- Add the subst check error. if self.isSubstituted and self.name then root:tag('b') :addClass('error') :wikitext(string.format( 'Template <code>%s[[Template:%s|%s]]%s</code> has been incorrectly substituted.', mw.text.nowiki('{{'), self.name, self.name, mw.text.nowiki('}}') )) end local frame = mw.getCurrentFrame() root:wikitext(frame:extensionTag{ name = 'templatestyles', args = { src = self.base_templatestyles }, }) -- Add support for a single custom templatestyles sheet. Undocumented as -- need should be limited and many templates using mbox are substed; we -- don't want to spread templatestyles sheets around to arbitrary places if self.templatestyles then root:wikitext(frame:extensionTag{ name = 'templatestyles', args = { src = self.templatestyles }, }) end -- Create the box. local mbox = root:tag('div') mbox:attr('id', self.id or nil) for i, class in ipairs(self.classes or {}) do mbox:addClass(class or nil) end mbox :cssText(self.style or nil) if self.attrs then mbox:attr(self.attrs) end local flex_container if self.below then -- we need to wrap the flex components (`image(right)` and `text`) in their -- own container div to support the `below` parameter flex_container = mw.html.create('div') flex_container:addClass('mbox-flex') else -- the mbox itself is the parent, so we need no HTML flex_container flex_container = mw.html.create() end -- Add the left-hand image. if self.imageLeft then local imageLeftCell = flex_container:tag('div'):addClass('mbox-image') imageLeftCell :addClass(self.imageLeftClass) :wikitext(self.imageLeft or nil) end -- Add the text. local textCell = flex_container:tag('div'):addClass('mbox-text') if self.useCollapsibleTextFields then -- The message box uses advanced text parameters that allow things to be -- collapsible. At the moment, only ambox uses this. textCell:cssText(self.textstyle or nil) local textCellDiv = textCell:tag('div') textCellDiv :addClass('mbox-text-span') :wikitext(self.issue or nil) if (self.talk or self.fix) then textCellDiv:tag('span') :addClass('hide-when-compact') :wikitext(self.talk and (' ' .. self.talk) or nil) :wikitext(self.fix and (' ' .. self.fix) or nil) end textCellDiv:wikitext(self.date and (' ' .. self.date) or nil) if self.info and not self.isSmall then textCellDiv :tag('span') :addClass('hide-when-compact') :wikitext(self.info and (' ' .. self.info) or nil) end if self.removalNotice then textCellDiv:tag('span') :addClass('hide-when-compact') :tag('i') :wikitext(string.format(" (%s)", self.removalNotice)) end else -- Default text formatting - anything goes. textCell :cssText(self.textstyle or nil) :wikitext(self.text or nil) end -- Add the right-hand image. if self.imageRight then local imageRightCell = flex_container:tag('div'):addClass('mbox-imageright') imageRightCell :addClass(self.imageRightClass) :wikitext(self.imageRight or nil) end mbox:node(flex_container) -- Add the below row. if self.below then mbox:tag('div') :addClass('mbox-text mbox-below') :cssText(self.textstyle or nil) :wikitext(self.below or nil) end -- Add error message for invalid type parameters. if self.invalidTypeError then root:tag('div') :addClass('mbox-invalid-type') :wikitext(string.format( 'This message box is using an invalid "type=%s" parameter and needs fixing.', self.type or '' )) end -- Add categories. root:wikitext(self:renderCategories() or nil) return tostring(root) end function MessageBox:export() local root = mw.html.create() -- Add the subst check error. if self.isSubstituted and self.name then root:tag('b') :addClass('error') :wikitext(string.format( 'Template <code>%s[[Template:%s|%s]]%s</code> has been incorrectly substituted.', mw.text.nowiki('{{'), self.name, self.name, mw.text.nowiki('}}') )) end local frame = mw.getCurrentFrame() root:wikitext(frame:extensionTag{ name = 'templatestyles', args = { src = self.base_templatestyles }, }) -- Add support for a single custom templatestyles sheet. Undocumented as -- need should be limited and many templates using mbox are substed; we -- don't want to spread templatestyles sheets around to arbitrary places if self.templatestyles then root:wikitext(frame:extensionTag{ name = 'templatestyles', args = { src = self.templatestyles }, }) end -- Create the box table. local boxTable = root:tag('table') boxTable:attr('id', self.id or nil) for i, class in ipairs(self.classes or {}) do boxTable:addClass(class or nil) end boxTable :cssText(self.style or nil) :attr('role', 'presentation') if self.attrs then boxTable:attr(self.attrs) end -- Add the left-hand image. local row = boxTable:tag('tr') if self.imageLeft then local imageLeftCell = row:tag('td'):addClass('mbox-image') if self.imageCellDiv then -- If we are using a div, redefine imageLeftCell so that the image -- is inside it. Divs use style="width: 52px;", which limits the -- image width to 52px. If any images in a div are wider than that, -- they may overlap with the text or cause other display problems. imageLeftCell = imageLeftCell:tag('div'):addClass('mbox-image-div') end imageLeftCell :addClass(self.imageLeftClass) :wikitext(self.imageLeft or nil) elseif self.imageEmptyCell then -- Some message boxes define an empty cell if no image is specified, and -- some don't. The old template code in templates where empty cells are -- specified gives the following hint: "No image. Cell with some width -- or padding necessary for text cell to have 100% width." row:tag('td') :addClass('mbox-empty-cell') end -- Add the text. local textCell = row:tag('td'):addClass('mbox-text') if self.useCollapsibleTextFields then -- The message box uses advanced text parameters that allow things to be -- collapsible. At the moment, only ambox uses this. textCell:cssText(self.textstyle or nil) local textCellDiv = textCell:tag('div') textCellDiv :addClass('mbox-text-span') :wikitext(self.issue or nil) if (self.talk or self.fix) then textCellDiv:tag('span') :addClass('hide-when-compact') :wikitext(self.talk and (' ' .. self.talk) or nil) :wikitext(self.fix and (' ' .. self.fix) or nil) end textCellDiv:wikitext(self.date and (' ' .. self.date) or nil) if self.info and not self.isSmall then textCellDiv :tag('span') :addClass('hide-when-compact') :wikitext(self.info and (' ' .. self.info) or nil) end if self.removalNotice then textCellDiv:tag('span') :addClass('hide-when-compact') :tag('i') :wikitext(string.format(" (%s)", self.removalNotice)) end else -- Default text formatting - anything goes. textCell :cssText(self.textstyle or nil) :wikitext(self.text or nil) end -- Add the right-hand image. if self.imageRight then local imageRightCell = row:tag('td'):addClass('mbox-imageright') if self.imageCellDiv then -- If we are using a div, redefine imageRightCell so that the image -- is inside it. imageRightCell = imageRightCell:tag('div'):addClass('mbox-image-div') end imageRightCell :addClass(self.imageRightClass) :wikitext(self.imageRight or nil) end -- Add the below row. if self.below then boxTable:tag('tr') :tag('td') :attr('colspan', self.imageRight and '3' or '2') :addClass('mbox-text') :cssText(self.textstyle or nil) :wikitext(self.below or nil) end -- Add error message for invalid type parameters. if self.invalidTypeError then root:tag('div') :addClass('mbox-invalid-type') :wikitext(string.format( 'This message box is using an invalid "type=%s" parameter and needs fixing.', self.type or '' )) end -- Add categories. root:wikitext(self:renderCategories() or nil) return tostring(root) end -------------------------------------------------------------------------------- -- Exports -------------------------------------------------------------------------------- local p, mt = {}, {} function p._exportClasses() -- For testing. return { MessageBox = MessageBox } end function p.main(boxType, args, cfgTables) local box = MessageBox.new(boxType, args, cfgTables or mw.loadData(CONFIG_MODULE)) box:setParameters() box:setCategories() -- DIV MIGRATION CONDITIONAL if box.cfg.div_structure then return box:exportDiv() end -- END DIV MIGRATION CONDITIONAL return box:export() end function mt.__index(t, k) return function (frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return t.main(k, getArgs(frame, {trim = false, removeBlanks = false})) end end return setmetatable(p, mt) ocboyo877qnpqum2b9fyiquh72vukqa 43253 43249 2026-07-07T00:32:34Z Ne 1118 43253 Scribunto text/plain require('strict') local getArgs local yesno = require('Module:Yesno') local lang = mw.language.getContentLanguage() local CONFIG_MODULE = 'Module:Message box/configuration' local DEMOSPACES = {talk = 'tmbox', image = 'imbox', file = 'imbox', category = 'cmbox', article = 'ambox', main = 'ambox'} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function getTitleObject(...) -- Get the title object, passing the function through pcall -- in case we are over the expensive function count limit. local success, title = pcall(mw.title.new, ...) if success then return title end end local function union(t1, t2) -- Returns the union of two arrays. local vals = {} for i, v in ipairs(t1) do vals[v] = true end for i, v in ipairs(t2) do vals[v] = true end local ret = {} for k in pairs(vals) do table.insert(ret, k) end table.sort(ret) return ret end local function getArgNums(args, prefix) local nums = {} for k, v in pairs(args) do local num = mw.ustring.match(tostring(k), '^' .. prefix .. '([1-9]%d*)$') if num then table.insert(nums, tonumber(num)) end end table.sort(nums) return nums end -------------------------------------------------------------------------------- -- Box class definition -------------------------------------------------------------------------------- local MessageBox = {} MessageBox.__index = MessageBox function MessageBox.new(boxType, args, cfg) args = args or {} local obj = {} -- Set the title object and the namespace. obj.title = getTitleObject(args.page) or mw.title.getCurrentTitle() -- Set the config for our box type. obj.cfg = cfg[boxType] if not obj.cfg then local ns = obj.title.namespace -- boxType is "mbox" or invalid input if args.demospace and args.demospace ~= '' then -- implement demospace parameter of mbox local demospace = string.lower(args.demospace) if DEMOSPACES[demospace] then -- use template from DEMOSPACES obj.cfg = cfg[DEMOSPACES[demospace]] elseif string.find( demospace, 'talk' ) then -- demo as a talk page obj.cfg = cfg.tmbox else -- default to ombox obj.cfg = cfg.ombox end elseif ns == 0 then obj.cfg = cfg.ambox -- main namespace elseif ns == 6 then obj.cfg = cfg.imbox -- file namespace elseif ns == 14 then obj.cfg = cfg.cmbox -- category namespace else local nsTable = mw.site.namespaces[ns] if nsTable and nsTable.isTalk then obj.cfg = cfg.tmbox -- any talk namespace else obj.cfg = cfg.ombox -- other namespaces or invalid input end end end -- Set the arguments, and remove all blank arguments except for the ones -- listed in cfg.allowBlankParams. do local newArgs = {} for k, v in pairs(args) do if v ~= '' then newArgs[k] = v end end for i, param in ipairs(obj.cfg.allowBlankParams or {}) do newArgs[param] = args[param] end obj.args = newArgs end -- Define internal data structure. obj.categories = {} obj.classes = {} -- For lazy loading of [[Module:Category handler]]. obj.hasCategories = false return setmetatable(obj, MessageBox) end function MessageBox:addCat(ns, cat, sort) if not cat then return nil end if sort then cat = string.format('[[Category:%s|%s]]', cat, sort) else cat = string.format('[[Category:%s]]', cat) end self.hasCategories = true self.categories[ns] = self.categories[ns] or {} table.insert(self.categories[ns], cat) end function MessageBox:addClass(class) if not class then return nil end table.insert(self.classes, class) end function MessageBox:setParameters() local args = self.args local cfg = self.cfg -- Get type data. self.type = args.type local typeData = cfg.types[self.type] self.invalidTypeError = cfg.showInvalidTypeError and self.type and not typeData typeData = typeData or cfg.types[cfg.default] self.typeClass = typeData.class self.typeImage = typeData.image self.typeImageNeedsLink = typeData.imageNeedsLink -- Find if the box has been wrongly substituted. self.isSubstituted = cfg.substCheck and args.subst == 'SUBST' -- Find whether we are using a small message box. self.isSmall = cfg.allowSmall and ( cfg.smallParam and args.small == cfg.smallParam or not cfg.smallParam and yesno(args.small) ) -- Set the below row. self.below = cfg.below and args.below -- Add attributes, classes and styles. self.id = args.id self.name = args.name if self.name then self:addClass('box-' .. string.gsub(self.name,' ','_')) end if yesno(args.plainlinks) ~= false then self:addClass('plainlinks') end if self.below then self:addClass('mbox-with-below') end for _, class in ipairs(cfg.classes or {}) do self:addClass(class) end if self.isSmall then self:addClass(cfg.smallClass or 'mbox-small') end self:addClass(self.typeClass) self:addClass(args.class) self.style = args.style self.attrs = args.attrs -- Set text style. self.textstyle = args.textstyle -- Set image classes. self.imageRightClass = args.imagerightclass or args.imageclass self.imageLeftClass = args.imageleftclass or args.imageclass -- Find if we are on the template page or not. This functionality is only -- used if useCollapsibleTextFields is set, or if both cfg.templateCategory -- and cfg.templateCategoryRequireName are set. self.useCollapsibleTextFields = cfg.useCollapsibleTextFields if self.useCollapsibleTextFields or cfg.templateCategory and cfg.templateCategoryRequireName then if self.name then local templateName = mw.ustring.match( self.name, '^[tT][eE][mM][pP][lL][aA][tT][eE][%s_]*:[%s_]*(.*)$' ) or self.name templateName = 'Template:' .. templateName self.templateTitle = getTitleObject(templateName) end self.isTemplatePage = self.templateTitle and mw.title.equals(self.title, self.templateTitle) end -- Process data for collapsible text fields. At the moment these are only -- used in {{ambox}}. if self.useCollapsibleTextFields then -- Get the self.issue value. if self.isSmall and args.smalltext then self.issue = args.smalltext else local sect if args.sect == '' then sect = 'Esta ' .. (cfg.sectionDefault or 'paje') elseif type(args.sect) == 'string' then sect = 'Esta ' .. args.sect end local issue = args.issue issue = type(issue) == 'string' and issue ~= '' and issue or nil local text = args.text text = type(text) == 'string' and text or nil local issues = {} table.insert(issues, sect) table.insert(issues, issue) table.insert(issues, text) self.issue = table.concat(issues, ' ') end -- Get the self.talk value. local talk = args.talk -- Show talk links on the template page or template subpages if the talk -- parameter is blank. if talk == '' and self.templateTitle and ( mw.title.equals(self.templateTitle, self.title) or self.title:isSubpageOf(self.templateTitle) ) then talk = '#' elseif talk == '' then talk = nil end if talk then -- If the talk value is a talk page, make a link to that page. Else -- assume that it's a section heading, and make a link to the talk -- page of the current page with that section heading. local talkTitle = getTitleObject(talk) local talkArgIsTalkPage = true if not talkTitle or not talkTitle.isTalkPage then talkArgIsTalkPage = false talkTitle = getTitleObject( self.title.text, mw.site.namespaces[self.title.namespace].talk.id ) end if talkTitle and talkTitle.exists then local talkText if self.isSmall then local talkLink = talkArgIsTalkPage and talk or (talkTitle.prefixedText .. (talk == '#' and '' or '#') .. talk) talkText = string.format('([[%s|talk]])', talkLink) else talkText = 'Relevant discussion may be found on' if talkArgIsTalkPage then talkText = string.format( '%s [[%s|%s]].', talkText, talk, talkTitle.prefixedText ) else talkText = string.format( '%s the [[%s' .. (talk == '#' and '' or '#') .. '%s|talk page]].', talkText, talkTitle.prefixedText, talk ) end end self.talk = talkText end end -- Get other values. self.fix = args.fix ~= '' and args.fix or nil local date if args.date and args.date ~= '' then date = args.date elseif args.date == '' and self.isTemplatePage then date = lang:formatDate('F Y') end if date then self.date = string.format(" <span class='date-container'><i>(<span class='date'>%s</span>)</i></span>", date) end self.info = args.info if yesno(args.removalnotice) then self.removalNotice = cfg.removalNotice end end -- Set the non-collapsible text field. At the moment this is used by all box -- types other than ambox, and also by ambox when small=yes. if self.isSmall then self.text = args.smalltext or args.text else self.text = args.text end -- General image settings. self.imageCellDiv = not self.isSmall and cfg.imageCellDiv self.imageEmptyCell = cfg.imageEmptyCell -- Left image settings. local imageLeft = self.isSmall and args.smallimage or args.image if cfg.imageCheckBlank and imageLeft ~= 'blank' and imageLeft ~= 'none' or not cfg.imageCheckBlank and imageLeft ~= 'none' then self.imageLeft = imageLeft if not imageLeft then local imageSize = self.isSmall and (cfg.imageSmallSize or '30x30px') or '40x40px' self.imageLeft = string.format('[[File:%s|%s%s|alt=]]', self.typeImage or 'Information icon4.svg', imageSize, self.typeImageNeedsLink and "" or "|link=" ) end end -- Right image settings. local imageRight = self.isSmall and args.smallimageright or args.imageright if not (cfg.imageRightNone and imageRight == 'none') then self.imageRight = imageRight end -- set templatestyles self.base_templatestyles = cfg.templatestyles self.templatestyles = args.templatestyles end function MessageBox:setMainspaceCategories() local args = self.args local cfg = self.cfg if not cfg.allowMainspaceCategories then return nil end local nums = {} for _, prefix in ipairs{'cat', 'category', 'all'} do args[prefix .. '1'] = args[prefix] nums = union(nums, getArgNums(args, prefix)) end -- The following is roughly equivalent to the old {{Ambox/category}}. local date = args.date date = type(date) == 'string' and date local preposition = 'from' for _, num in ipairs(nums) do local mainCat = args['cat' .. tostring(num)] or args['category' .. tostring(num)] local allCat = args['all' .. tostring(num)] mainCat = type(mainCat) == 'string' and mainCat allCat = type(allCat) == 'string' and allCat if mainCat and date and date ~= '' then local catTitle = string.format('%s %s %s', mainCat, preposition, date) self:addCat(0, catTitle) catTitle = getTitleObject('Category:' .. catTitle) if not catTitle or not catTitle.exists then self:addCat(0, 'Articles with invalid date parameter in template') end elseif mainCat and (not date or date == '') then self:addCat(0, mainCat) end if allCat then self:addCat(0, allCat) end end end function MessageBox:setTemplateCategories() local args = self.args local cfg = self.cfg -- Add template categories. if cfg.templateCategory then if cfg.templateCategoryRequireName then if self.isTemplatePage then self:addCat(10, cfg.templateCategory) end elseif not self.title.isSubpage then self:addCat(10, cfg.templateCategory) end end -- Add template error categories. if cfg.templateErrorCategory then local templateErrorCategory = cfg.templateErrorCategory local templateCat, templateSort if not self.name and not self.title.isSubpage then templateCat = templateErrorCategory elseif self.isTemplatePage then local paramsToCheck = cfg.templateErrorParamsToCheck or {} local count = 0 for i, param in ipairs(paramsToCheck) do if not args[param] then count = count + 1 end end if count > 0 then templateCat = templateErrorCategory templateSort = tostring(count) end if self.categoryNums and #self.categoryNums > 0 then templateCat = templateErrorCategory templateSort = 'C' end end self:addCat(10, templateCat, templateSort) end end function MessageBox:setAllNamespaceCategories() -- Set categories for all namespaces. if self.invalidTypeError then local allSort = (self.title.namespace == 0 and 'Main:' or '') .. self.title.prefixedText self:addCat('all', 'Wikipedia message box parameter needs fixing', allSort) end if self.isSubstituted then self:addCat('all', 'Pages with incorrectly substituted templates') end end function MessageBox:setCategories() if self.title.namespace == 0 then self:setMainspaceCategories() elseif self.title.namespace == 10 then self:setTemplateCategories() end self:setAllNamespaceCategories() end function MessageBox:renderCategories() if not self.hasCategories then -- No categories added, no need to pass them to Category handler so, -- if it was invoked, it would return the empty string. -- So we shortcut and return the empty string. return "" end -- Convert category tables to strings and pass them through -- [[Module:Category handler]]. return require('Module:Category handler')._main{ main = table.concat(self.categories[0] or {}), template = table.concat(self.categories[10] or {}), all = table.concat(self.categories.all or {}), nocat = self.args.nocat, page = self.args.page } end function MessageBox:exportDiv() local root = mw.html.create() -- Add the subst check error. if self.isSubstituted and self.name then root:tag('b') :addClass('error') :wikitext(string.format( 'Template <code>%s[[Template:%s|%s]]%s</code> has been incorrectly substituted.', mw.text.nowiki('{{'), self.name, self.name, mw.text.nowiki('}}') )) end local frame = mw.getCurrentFrame() root:wikitext(frame:extensionTag{ name = 'templatestyles', args = { src = self.base_templatestyles }, }) -- Add support for a single custom templatestyles sheet. Undocumented as -- need should be limited and many templates using mbox are substed; we -- don't want to spread templatestyles sheets around to arbitrary places if self.templatestyles then root:wikitext(frame:extensionTag{ name = 'templatestyles', args = { src = self.templatestyles }, }) end -- Create the box. local mbox = root:tag('div') mbox:attr('id', self.id or nil) for i, class in ipairs(self.classes or {}) do mbox:addClass(class or nil) end mbox :cssText(self.style or nil) if self.attrs then mbox:attr(self.attrs) end local flex_container if self.below then -- we need to wrap the flex components (`image(right)` and `text`) in their -- own container div to support the `below` parameter flex_container = mw.html.create('div') flex_container:addClass('mbox-flex') else -- the mbox itself is the parent, so we need no HTML flex_container flex_container = mw.html.create() end -- Add the left-hand image. if self.imageLeft then local imageLeftCell = flex_container:tag('div'):addClass('mbox-image') imageLeftCell :addClass(self.imageLeftClass) :wikitext(self.imageLeft or nil) end -- Add the text. local textCell = flex_container:tag('div'):addClass('mbox-text') if self.useCollapsibleTextFields then -- The message box uses advanced text parameters that allow things to be -- collapsible. At the moment, only ambox uses this. textCell:cssText(self.textstyle or nil) local textCellDiv = textCell:tag('div') textCellDiv :addClass('mbox-text-span') :wikitext(self.issue or nil) if (self.talk or self.fix) then textCellDiv:tag('span') :addClass('hide-when-compact') :wikitext(self.talk and (' ' .. self.talk) or nil) :wikitext(self.fix and (' ' .. self.fix) or nil) end textCellDiv:wikitext(self.date and (' ' .. self.date) or nil) if self.info and not self.isSmall then textCellDiv :tag('span') :addClass('hide-when-compact') :wikitext(self.info and (' ' .. self.info) or nil) end if self.removalNotice then textCellDiv:tag('span') :addClass('hide-when-compact') :tag('i') :wikitext(string.format(" (%s)", self.removalNotice)) end else -- Default text formatting - anything goes. textCell :cssText(self.textstyle or nil) :wikitext(self.text or nil) end -- Add the right-hand image. if self.imageRight then local imageRightCell = flex_container:tag('div'):addClass('mbox-imageright') imageRightCell :addClass(self.imageRightClass) :wikitext(self.imageRight or nil) end mbox:node(flex_container) -- Add the below row. if self.below then mbox:tag('div') :addClass('mbox-text mbox-below') :cssText(self.textstyle or nil) :wikitext(self.below or nil) end -- Add error message for invalid type parameters. if self.invalidTypeError then root:tag('div') :addClass('mbox-invalid-type') :wikitext(string.format( 'This message box is using an invalid "type=%s" parameter and needs fixing.', self.type or '' )) end -- Add categories. root:wikitext(self:renderCategories() or nil) return tostring(root) end function MessageBox:export() local root = mw.html.create() -- Add the subst check error. if self.isSubstituted and self.name then root:tag('b') :addClass('error') :wikitext(string.format( 'Template <code>%s[[Template:%s|%s]]%s</code> has been incorrectly substituted.', mw.text.nowiki('{{'), self.name, self.name, mw.text.nowiki('}}') )) end local frame = mw.getCurrentFrame() root:wikitext(frame:extensionTag{ name = 'templatestyles', args = { src = self.base_templatestyles }, }) -- Add support for a single custom templatestyles sheet. Undocumented as -- need should be limited and many templates using mbox are substed; we -- don't want to spread templatestyles sheets around to arbitrary places if self.templatestyles then root:wikitext(frame:extensionTag{ name = 'templatestyles', args = { src = self.templatestyles }, }) end -- Create the box table. local boxTable = root:tag('table') boxTable:attr('id', self.id or nil) for i, class in ipairs(self.classes or {}) do boxTable:addClass(class or nil) end boxTable :cssText(self.style or nil) :attr('role', 'presentation') if self.attrs then boxTable:attr(self.attrs) end -- Add the left-hand image. local row = boxTable:tag('tr') if self.imageLeft then local imageLeftCell = row:tag('td'):addClass('mbox-image') if self.imageCellDiv then -- If we are using a div, redefine imageLeftCell so that the image -- is inside it. Divs use style="width: 52px;", which limits the -- image width to 52px. If any images in a div are wider than that, -- they may overlap with the text or cause other display problems. imageLeftCell = imageLeftCell:tag('div'):addClass('mbox-image-div') end imageLeftCell :addClass(self.imageLeftClass) :wikitext(self.imageLeft or nil) elseif self.imageEmptyCell then -- Some message boxes define an empty cell if no image is specified, and -- some don't. The old template code in templates where empty cells are -- specified gives the following hint: "No image. Cell with some width -- or padding necessary for text cell to have 100% width." row:tag('td') :addClass('mbox-empty-cell') end -- Add the text. local textCell = row:tag('td'):addClass('mbox-text') if self.useCollapsibleTextFields then -- The message box uses advanced text parameters that allow things to be -- collapsible. At the moment, only ambox uses this. textCell:cssText(self.textstyle or nil) local textCellDiv = textCell:tag('div') textCellDiv :addClass('mbox-text-span') :wikitext(self.issue or nil) if (self.talk or self.fix) then textCellDiv:tag('span') :addClass('hide-when-compact') :wikitext(self.talk and (' ' .. self.talk) or nil) :wikitext(self.fix and (' ' .. self.fix) or nil) end textCellDiv:wikitext(self.date and (' ' .. self.date) or nil) if self.info and not self.isSmall then textCellDiv :tag('span') :addClass('hide-when-compact') :wikitext(self.info and (' ' .. self.info) or nil) end if self.removalNotice then textCellDiv:tag('span') :addClass('hide-when-compact') :tag('i') :wikitext(string.format(" (%s)", self.removalNotice)) end else -- Default text formatting - anything goes. textCell :cssText(self.textstyle or nil) :wikitext(self.text or nil) end -- Add the right-hand image. if self.imageRight then local imageRightCell = row:tag('td'):addClass('mbox-imageright') if self.imageCellDiv then -- If we are using a div, redefine imageRightCell so that the image -- is inside it. imageRightCell = imageRightCell:tag('div'):addClass('mbox-image-div') end imageRightCell :addClass(self.imageRightClass) :wikitext(self.imageRight or nil) end -- Add the below row. if self.below then boxTable:tag('tr') :tag('td') :attr('colspan', self.imageRight and '3' or '2') :addClass('mbox-text') :cssText(self.textstyle or nil) :wikitext(self.below or nil) end -- Add error message for invalid type parameters. if self.invalidTypeError then root:tag('div') :addClass('mbox-invalid-type') :wikitext(string.format( 'This message box is using an invalid "type=%s" parameter and needs fixing.', self.type or '' )) end -- Add categories. root:wikitext(self:renderCategories() or nil) return tostring(root) end -------------------------------------------------------------------------------- -- Exports -------------------------------------------------------------------------------- local p, mt = {}, {} function p._exportClasses() -- For testing. return { MessageBox = MessageBox } end function p.main(boxType, args, cfgTables) local box = MessageBox.new(boxType, args, cfgTables or mw.loadData(CONFIG_MODULE)) box:setParameters() box:setCategories() -- DIV MIGRATION CONDITIONAL if box.cfg.div_structure then return box:exportDiv() end -- END DIV MIGRATION CONDITIONAL return box:export() end function mt.__index(t, k) return function (frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end return t.main(k, getArgs(frame, {trim = false, removeBlanks = false})) end end return setmetatable(p, mt) fr63nel7jox4brac8mry6mkl4j9hzqz Modulo:Documentation/config 828 4743 43236 23915 2026-07-06T23:23:18Z Ne 1118 redirije 43236 Scribunto text/plain return require('Modulo:Documenti/ajusta') mtchbl2bg4egoht97q9z960zf50kl7z Modulo:Message box/configuration 828 4744 43250 23916 2026-07-07T00:10:52Z Ne 1118 varia corente de enwiki 43250 Scribunto text/plain -------------------------------------------------------------------------------- -- Message box configuration -- -- -- -- This module contains configuration data for [[Module:Message box]]. -- -------------------------------------------------------------------------------- return { ambox = { types = { speedy = { class = 'ambox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'ambox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'ambox-content', image = 'Ambox important.svg' }, style = { class = 'ambox-style', image = 'Edit-clear.svg' }, move = { class = 'ambox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'ambox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, notice = { class = 'ambox-notice', image = 'Information icon4.svg' } }, default = 'notice', allowBlankParams = {'talk', 'sect', 'date', 'issue', 'fix', 'subst', 'hidden'}, allowSmall = true, smallParam = 'left', smallClass = 'mbox-small-left', substCheck = true, classes = {'metadata', 'ambox'}, imageEmptyCell = true, imageCheckBlank = true, imageSmallSize = '20x20px', imageCellDiv = true, useCollapsibleTextFields = true, imageRightNone = true, sectionDefault = 'article', allowMainspaceCategories = true, templateCategory = 'Article message templates', templateCategoryRequireName = true, templateErrorCategory = 'Article message templates with missing parameters', templateErrorParamsToCheck = {'issue', 'fix', 'subst'}, removalNotice = '<small>[[Help:Maintenance template removal|Learn how and when to remove this message]]</small>', templatestyles = 'Module:Message box/ambox.css' }, cmbox = { types = { speedy = { class = 'cmbox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'cmbox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'cmbox-content', image = 'Ambox important.svg' }, style = { class = 'cmbox-style', image = 'Edit-clear.svg' }, move = { class = 'cmbox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'cmbox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, notice = { class = 'cmbox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'cmbox'}, imageEmptyCell = true, templatestyles = 'Module:Message box/cmbox.css', div_structure = true, }, fmbox = { types = { warning = { class = 'fmbox-warning', image = 'Ambox warning pn.svg' }, editnotice = { class = 'fmbox-editnotice', image = 'Information icon4.svg' }, system = { class = 'fmbox-system', image = 'Information icon4.svg' } }, default = 'system', showInvalidTypeError = true, classes = {'fmbox'}, imageEmptyCell = false, imageRightNone = false, templatestyles = 'Module:Message box/fmbox.css', div_structure = true, }, imbox = { types = { speedy = { class = 'imbox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'imbox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'imbox-content', image = 'Ambox important.svg' }, style = { class = 'imbox-style', image = 'Edit-clear.svg' }, move = { class = 'imbox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'imbox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, license = { class = 'imbox-license licensetpl', image = 'Imbox-license.svg' }, ["license-related"] = { class = 'imbox-license', image = 'Imbox-license.svg' }, featured = { class = 'imbox-featured', image = 'Cscr-featured.svg', imageNeedsLink = true }, notice = { class = 'imbox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'imbox'}, imageEmptyCell = true, below = true, templateCategory = 'File message boxes', templatestyles = 'Module:Message box/imbox.css', div_structure = true, }, ombox = { types = { speedy = { class = 'ombox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'ombox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'ombox-content', image = 'Ambox important.svg' }, style = { class = 'ombox-style', image = 'Edit-clear.svg' }, move = { class = 'ombox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'ombox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, notice = { class = 'ombox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'ombox'}, allowSmall = true, imageEmptyCell = true, imageRightNone = true, templatestyles = 'Module:Message box/ombox.css' }, tmbox = { types = { speedy = { class = 'tmbox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'tmbox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'tmbox-content', image = 'Ambox important.svg' }, style = { class = 'tmbox-style', image = 'Edit-clear.svg' }, move = { class = 'tmbox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'tmbox-protection', image = 'Semi-protection-shackle-keyhole.svg' }, notice = { class = 'tmbox-notice', image = 'Information icon4.svg' } }, default = 'notice', showInvalidTypeError = true, classes = {'tmbox'}, allowSmall = true, imageRightNone = true, imageEmptyCell = true, templateCategory = 'Talk message boxes', templatestyles = 'Module:Message box/tmbox.css' } } p36hrbxjy99m7clj64lhlint2en3bo0 Manuscrito 0 7671 43255 41597 2026-07-07T01:10:10Z Ne 1118 43255 wikitext text/x-wiki {{Fusa|manoscrito}} La arte de scrive se nomina '''[[caligrafia]]''' e es intima relata con la manoscritos; lo es multe posible ce la inventa de la primi ta fa ce alga de esta grafias ta es desapare merita a desusa sua. efy7nfxs4yy3wg4tcqcaydgp6t0s3vg Modulo:Documentation/proba 828 8002 43228 2026-07-06T22:55:20Z Ne 1118 tradui de proba de Modulo:Documentation 43228 Scribunto text/plain ---------------------------------------------------------------------------------------------------- -- -- Configuration for Module:Documentation -- -- Here you can set the values of the parameters and messages used in Module:Documentation to -- localise it to your wiki and your language. Unless specified otherwise, values given here -- should be string values. ---------------------------------------------------------------------------------------------------- local cfg = {} -- Do not edit this line. ---------------------------------------------------------------------------------------------------- -- Protection template configuration ---------------------------------------------------------------------------------------------------- -- cfg['protection-reason-edit'] -- The protection reason for edit-protected templates to pass to -- [[Module:Protection banner]]. cfg['protection-reason-edit'] = 'template' --[[ ---------------------------------------------------------------------------------------------------- -- Sandbox notice configuration -- -- On sandbox pages the module can display a template notifying users that the current page is a -- sandbox, and the location of test cases pages, etc. The module decides whether the page is a -- sandbox or not based on the value of cfg['sandbox-subpage']. The following settings configure the -- messages that the notices contains. ---------------------------------------------------------------------------------------------------- --]] -- cfg['sandbox-notice-image'] -- The image displayed in the sandbox notice. cfg['sandbox-notice-image'] = '[[Image:Sandbox.svg|50px|alt=|link=]]' --[[ -- cfg['sandbox-notice-pagetype-template'] -- cfg['sandbox-notice-pagetype-module'] -- cfg['sandbox-notice-pagetype-other'] -- The page type of the sandbox page. The message that is displayed depends on the current subject -- namespace. This message is used in either cfg['sandbox-notice-blurb'] or -- cfg['sandbox-notice-diff-blurb']. --]] cfg['sandbox-notice-pagetype-template'] = 'paje de [[Wikipedia:Template test cases|proba per modeles]]' cfg['sandbox-notice-pagetype-module'] = 'paje de [[Wikipedia:Template test cases|proba per modulos]]' cfg['sandbox-notice-pagetype-other'] = 'paje de proba' --[[ -- cfg['sandbox-notice-blurb'] -- cfg['sandbox-notice-diff-blurb'] -- cfg['sandbox-notice-diff-display'] -- Either cfg['sandbox-notice-blurb'] or cfg['sandbox-notice-diff-blurb'] is the opening sentence -- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page -- type, which is either cfg['sandbox-notice-pagetype-template'], -- cfg['sandbox-notice-pagetype-module'] or cfg['sandbox-notice-pagetype-other'] depending what -- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between -- the sandbox and the main template. The display value of the diff link is set by -- cfg['sandbox-notice-compare-link-display']. --]] cfg['sandbox-notice-blurb'] = 'Esta es la $1 per $2.' cfg['sandbox-notice-diff-blurb'] = 'Esta es la $1 per $2 ($3).' cfg['sandbox-notice-compare-link-display'] = 'dif' --[[ -- cfg['sandbox-notice-testcases-blurb'] -- cfg['sandbox-notice-testcases-link-display'] -- cfg['sandbox-notice-testcases-run-blurb'] -- cfg['sandbox-notice-testcases-run-link-display'] -- cfg['sandbox-notice-testcases-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit. $1 is a link to the test cases page. -- cfg['sandbox-notice-testcases-link-display'] is the display value for that link. -- cfg['sandbox-notice-testcases-run-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test -- cases page, and $2 is a link to the page to run it. -- cfg['sandbox-notice-testcases-run-link-display'] is the display value for the link to run the test -- cases. --]] cfg['sandbox-notice-testcases-blurb'] = 'Vide ance la supaje acompaniante per $1.' cfg['sandbox-notice-testcases-link-display'] = 'casos de proba' cfg['sandbox-notice-testcases-run-blurb'] = 'Vide ance la supaje acompaniante per $1 ($2).' cfg['sandbox-notice-testcases-run-link-display'] = 'esecuta' -- cfg['sandbox-category'] -- A category to add to all template sandboxes. cfg['sandbox-category'] = 'Pajes de proba de modeles' ---------------------------------------------------------------------------------------------------- -- Start box configuration ---------------------------------------------------------------------------------------------------- -- cfg['documentation-icon-wikitext'] -- The wikitext for the icon shown at the top of the template. cfg['documentation-icon-wikitext'] = '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- cfg['template-namespace-heading'] -- The heading shown in the template namespace. cfg['template-namespace-heading'] = 'Documenti de model' -- cfg['module-namespace-heading'] -- The heading shown in the module namespace. cfg['module-namespace-heading'] = 'Documenti de modulo' -- cfg['file-namespace-heading'] -- The heading shown in the file namespace. cfg['file-namespace-heading'] = 'Resoma' -- cfg['other-namespaces-heading'] -- The heading shown in other namespaces. cfg['other-namespaces-heading'] = 'Documenti' -- cfg['view-link-display'] -- The text to display for "view" links. cfg['view-link-display'] = 'vide' -- cfg['edit-link-display'] -- The text to display for "edit" links. cfg['edit-link-display'] = 'edita' -- cfg['history-link-display'] -- The text to display for "history" links. cfg['history-link-display'] = 'istoria' -- cfg['purge-link-display'] -- The text to display for "purge" links. cfg['purge-link-display'] = 'purga' -- cfg['create-link-display'] -- The text to display for "create" links. cfg['create-link-display'] = 'crea' ---------------------------------------------------------------------------------------------------- -- Link box (end box) configuration ---------------------------------------------------------------------------------------------------- -- cfg['transcluded-from-blurb'] -- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page. cfg['transcluded-from-blurb'] = 'La [[Wikipedia:Template documentation|paje de documenti]] de supra es [[Wikipedia:Transclusion|emportada]] de $1.' --[[ -- cfg['create-module-doc-blurb'] -- Notice displayed in the module namespace when the documentation subpage does not exist. -- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the -- display cfg['create-link-display']. --]] cfg['create-module-doc-blurb'] = 'Tu ta vole $1 un paje de documenti per esta [[Wikipedia:Lua|modulo Scribunto]].' ---------------------------------------------------------------------------------------------------- -- Experiment blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['experiment-blurb-template'] -- cfg['experiment-blurb-module'] -- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages. -- It is only shown in the template and module namespaces. With the default English settings, it -- might look like this: -- -- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages. -- -- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links. -- -- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending -- on what namespace we are in. -- -- Parameters: -- -- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display']) -- -- If the sandbox doesn't exist, it is in the format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display']) -- -- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload'] -- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display'] -- loads a default edit summary of cfg['mirror-edit-summary']. -- -- $2 is a link to the test cases page. If the test cases page exists, it is in the following format: -- -- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display']) -- -- If the test cases page doesn't exist, it is in the format: -- -- cfg['testcases-link-display'] (cfg['testcases-create-link-display']) -- -- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the -- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current -- namespace. --]] cfg['experiment-blurb-template'] = "Editores pote experimenta en la pajes $1 e $2 de esta model." cfg['experiment-blurb-module'] = "Editores pote experimenta en la pajes $1 e $2 de esta modulo." ---------------------------------------------------------------------------------------------------- -- Sandbox link configuration ---------------------------------------------------------------------------------------------------- -- cfg['sandbox-subpage'] -- The name of the template subpage typically used for sandboxes. cfg['sandbox-subpage'] = 'proba' -- cfg['template-sandbox-preload'] -- Preload file for template sandbox pages. cfg['template-sandbox-preload'] = 'Template:Documentation/preload-sandbox' -- cfg['module-sandbox-preload'] -- Preload file for Lua module sandbox pages. cfg['module-sandbox-preload'] = 'Template:Documentation/preload-module-sandbox' -- cfg['sandbox-link-display'] -- The text to display for "sandbox" links. cfg['sandbox-link-display'] = 'de proba' -- cfg['sandbox-edit-link-display'] -- The text to display for sandbox "edit" links. cfg['sandbox-edit-link-display'] = 'edita' -- cfg['sandbox-create-link-display'] -- The text to display for sandbox "create" links. cfg['sandbox-create-link-display'] = 'crea' -- cfg['compare-link-display'] -- The text to display for "compare" links. cfg['compare-link-display'] = 'dif' -- cfg['mirror-edit-summary'] -- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the -- template page. cfg['mirror-edit-summary'] = 'Crea varia de proba de $1' -- cfg['mirror-link-display'] -- The text to display for "mirror" links. cfg['mirror-link-display'] = 'mirori' -- cfg['mirror-link-preload'] -- The page to preload when a user clicks the "mirror" link. cfg['mirror-link-preload'] = 'Template:Documentation/miror' ---------------------------------------------------------------------------------------------------- -- Test cases link configuration ---------------------------------------------------------------------------------------------------- -- cfg['testcases-subpage'] -- The name of the template subpage typically used for test cases. cfg['testcases-subpage'] = 'casos de proba' -- cfg['template-testcases-preload'] -- Preload file for template test cases pages. cfg['template-testcases-preload'] = 'Template:Documentation/preload-testcases' -- cfg['module-testcases-preload'] -- Preload file for Lua module test cases pages. cfg['module-testcases-preload'] = 'Template:Documentation/preload-module-testcases' -- cfg['testcases-link-display'] -- The text to display for "testcases" links. cfg['testcases-link-display'] = 'de casos de proba' -- cfg['testcases-edit-link-display'] -- The text to display for test cases "edit" links. cfg['testcases-edit-link-display'] = 'edita' -- cfg['testcases-run-link-display'] -- The text to display for test cases "run" links. cfg['testcases-run-link-display'] = 'esecuta' -- cfg['testcases-create-link-display'] -- The text to display for test cases "create" links. cfg['testcases-create-link-display'] = 'crea' ---------------------------------------------------------------------------------------------------- -- Add categories blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['add-categories-blurb'] -- Text to direct users to add categories to the /doc subpage. Not used if the "content" or -- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a -- link to the /doc subpage with a display value of cfg['doc-link-display']. --]] cfg['add-categories-blurb'] = 'Ajunta categorias a la supaje $1.' -- cfg['doc-link-display'] -- The text to display when linking to the /doc subpage. cfg['doc-link-display'] = '/doc' ---------------------------------------------------------------------------------------------------- -- Subpages link configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['subpages-blurb'] -- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a -- display value of cfg['subpages-link-display']. In the English version this blurb is simply -- the link followed by a period, and the link display provides the actual text. --]] cfg['subpages-blurb'] = '$1.' --[[ -- cfg['subpages-link-display'] -- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'], -- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in -- the template namespace, the module namespace, or another namespace. --]] cfg['subpages-link-display'] = 'Supajes de esta $1' -- cfg['template-pagetype'] -- The pagetype to display for template pages. cfg['template-pagetype'] = 'model' -- cfg['module-pagetype'] -- The pagetype to display for Lua module pages. cfg['module-pagetype'] = 'modulo' -- cfg['default-pagetype'] -- The pagetype to display for pages other than templates or Lua modules. cfg['default-pagetype'] = 'paje' ---------------------------------------------------------------------------------------------------- -- Doc link configuration ---------------------------------------------------------------------------------------------------- -- cfg['doc-subpage'] -- The name of the subpage typically used for documentation pages. cfg['doc-subpage'] = 'doc' -- cfg['file-docpage-preload'] -- Preload file for documentation page in the file namespace. cfg['file-docpage-preload'] = 'Template:Documentation/preload-filespace' -- cfg['docpage-preload'] -- Preload file for template documentation pages in all namespaces. cfg['docpage-preload'] = 'Template:Documentation/preload' -- cfg['module-preload'] -- Preload file for Lua module documentation pages. cfg['module-preload'] = 'Template:Documentation/preload-module-doc' ---------------------------------------------------------------------------------------------------- -- Print version configuration ---------------------------------------------------------------------------------------------------- -- cfg['print-subpage'] -- The name of the template subpage used for print versions. cfg['print-subpage'] = 'Primi' -- cfg['print-link-display'] -- The text to display when linking to the /Print subpage. cfg['print-link-display'] = '/Primi' -- cfg['print-blurb'] -- Text to display if a /Print subpage exists. $1 is a link to the subpage with a display value of cfg['print-link-display']. cfg['print-blurb'] = 'Un [[Help:Books/for experts#Improving the book layout|varia de primi]] de esta model esiste en $1.' .. ' Si tu fa un cambia a esta model, por favore ance corenti la varia de primi.' -- cfg['display-print-category'] -- Set to true to enable output of cfg['print-category'] if a /Print subpage exists. -- This should be a boolean value (either true or false). cfg['display-print-category'] = true -- cfg['print-category'] -- Category to output if cfg['display-print-category'] is set to true, and a /Print subpage exists. cfg['print-category'] = 'Modeles con varias de primi' ---------------------------------------------------------------------------------------------------- -- HTML and CSS configuration ---------------------------------------------------------------------------------------------------- -- cfg['main-div-id'] -- The "id" attribute of the main HTML "div" tag. cfg['main-div-id'] = 'template-documentation' -- cfg['main-div-classes'] -- The CSS classes added to the main HTML "div" tag. cfg['main-div-classes'] = 'template-documentation iezoomfix' -- cfg['start-box-linkclasses'] -- The CSS classes used for the [view][edit][history] or [create] links in the start box. cfg['start-box-linkclasses'] = 'mw-editsection-like plainlinks' -- cfg['start-box-link-id'] -- The HTML "id" attribute for the links in the start box. cfg['start-box-link-id'] = 'doc_editlinks' ---------------------------------------------------------------------------------------------------- -- {{fmbox}} template configuration ---------------------------------------------------------------------------------------------------- -- cfg['fmbox-id'] -- The id sent to the "id" parameter of the {{fmbox}} template. cfg['fmbox-id'] = 'documentation-meta-data' -- cfg['fmbox-style'] -- The value sent to the style parameter of {{fmbox}}. cfg['fmbox-style'] = 'background-color: #ecfcf4' -- cfg['fmbox-textstyle'] -- The value sent to the "textstyle parameter of {{fmbox}}. cfg['fmbox-textstyle'] = 'font-style: italic' ---------------------------------------------------------------------------------------------------- -- Tracking category configuration ---------------------------------------------------------------------------------------------------- -- cfg['display-strange-usage-category'] -- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage -- or a /testcases subpage. This should be a boolean value (either true or false). cfg['display-strange-usage-category'] = true -- cfg['strange-usage-category'] -- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a -- /doc subpage or a /testcases subpage. cfg['strange-usage-category'] = 'Pajes de' .. mw.site.siteName .. 'con usa strana de ((documentation))' --[[ ---------------------------------------------------------------------------------------------------- -- End configuration -- -- Don't edit anything below this line. ---------------------------------------------------------------------------------------------------- --]] return cfg e00t00jvxq84p0c2mg65oshy0cmtb96 43230 43228 2026-07-06T23:00:02Z Ne 1118 paje de proba per la modulo 43230 Scribunto text/plain -- This module implements {{documentation}}. -- Get required modules. local getArgs = require('Module:Arguments').getArgs local messageBox = require('Module:Message box') -- Get the config table. local cfg = mw.loadData('Module:Documentation/config/proba') local p = {} -- Often-used functions. local ugsub = mw.ustring.gsub ---------------------------------------------------------------------------- -- Helper functions -- -- These are defined as local functions, but are made available in the p -- table for testing purposes. ---------------------------------------------------------------------------- local function message(cfgKey, valArray, expectType) --[[ -- Gets a message from the cfg table and formats it if appropriate. -- The function raises an error if the value from the cfg table is not -- of the type expectType. The default type for expectType is 'string'. -- If the table valArray is present, strings such as $1, $2 etc. in the -- message are substituted with values from the table keys [1], [2] etc. -- For example, if the message "foo-message" had the value 'Foo $2 bar $1.', -- message('foo-message', {'baz', 'qux'}) would return "Foo qux bar baz." --]] local msg = cfg[cfgKey] expectType = expectType or 'string' if type(msg) ~= expectType then error('message: type error in message cfg.' .. cfgKey .. ' (' .. expectType .. ' expected, got ' .. type(msg) .. ')', 2) end if not valArray then return msg end local function getMessageVal(match) match = tonumber(match) return valArray[match] or error('message: no value found for key $' .. match .. ' in message cfg.' .. cfgKey, 4) end local ret = ugsub(msg, '$([1-9][0-9]*)', getMessageVal) return ret end p.message = message local function makeWikilink(page, display) if display then return mw.ustring.format('[[%s|%s]]', page, display) else return mw.ustring.format('[[%s]]', page) end end p.makeWikilink = makeWikilink local function makeCategoryLink(cat, sort) local catns = mw.site.namespaces[14].name return makeWikilink(catns .. ':' .. cat, sort) end p.makeCategoryLink = makeCategoryLink local function makeUrlLink(url, display) return mw.ustring.format('[%s %s]', url, display) end p.makeUrlLink = makeUrlLink local function makeToolbar(...) local ret = {} local lim = select('#', ...) if lim < 1 then return nil end for i = 1, lim do ret[#ret + 1] = select(i, ...) end return '<small style="font-style: normal;">(' .. table.concat(ret, ' &#124; ') .. ')</small>' end p.makeToolbar = makeToolbar ---------------------------------------------------------------------------- -- Argument processing ---------------------------------------------------------------------------- local function makeInvokeFunc(funcName) return function (frame) local args = getArgs(frame, { valueFunc = function (key, value) if type(value) == 'string' then value = value:match('^%s*(.-)%s*$') -- Remove whitespace. if key == 'heading' or value ~= '' then return value else return nil end else return value end end }) return p[funcName](args) end end ---------------------------------------------------------------------------- -- Main function ---------------------------------------------------------------------------- p.main = makeInvokeFunc('_main') function p._main(args) --[[ -- This function defines logic flow for the module. -- @args - table of arguments passed by the user -- -- Messages: -- 'main-div-id' --> 'template-documentation' -- 'main-div-classes' --> 'template-documentation iezoomfix' --]] local env = p.getEnvironment(args) local root = mw.html.create() root :wikitext(p.protectionTemplate(env)) :wikitext(p.sandboxNotice(args, env)) -- This div tag is from {{documentation/start box}}, but moving it here -- so that we don't have to worry about unclosed tags. :tag('div') :attr('id', message('main-div-id')) :addClass(message('main-div-classes')) :newline() :wikitext(p._startBox(args, env)) :wikitext(p._content(args, env)) :tag('div') :css('clear', 'both') -- So right or left floating items don't stick out of the doc box. :newline() :done() :done() :wikitext(p._endBox(args, env)) :wikitext(p.addTrackingCategories(env)) return tostring(root) end ---------------------------------------------------------------------------- -- Environment settings ---------------------------------------------------------------------------- function p.getEnvironment(args) --[[ -- Returns a table with information about the environment, including title objects and other namespace- or -- path-related data. -- @args - table of arguments passed by the user -- -- Title objects include: -- env.title - the page we are making documentation for (usually the current title) -- env.templateTitle - the template (or module, file, etc.) -- env.docTitle - the /doc subpage. -- env.sandboxTitle - the /sandbox subpage. -- env.testcasesTitle - the /testcases subpage. -- env.printTitle - the print version of the template, located at the /Print subpage. -- -- Data includes: -- env.protectionLevels - the protection levels table of the title object. -- env.subjectSpace - the number of the title's subject namespace. -- env.docSpace - the number of the namespace the title puts its documentation in. -- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace. -- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template. -- -- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value -- returned will be nil. --]] local env, envFuncs = {}, {} -- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value -- returned by that function is memoized in the env table so that we don't call any of the functions -- more than once. (Nils won't be memoized.) setmetatable(env, { __index = function (t, key) local envFunc = envFuncs[key] if envFunc then local success, val = pcall(envFunc) if success then env[key] = val -- Memoise the value. return val end end return nil end }) function envFuncs.title() -- The title object for the current page, or a test page passed with args.page. local title local titleArg = args.page if titleArg then title = mw.title.new(titleArg) else title = mw.title.getCurrentTitle() end return title end function envFuncs.templateTitle() --[[ -- The template (or module, etc.) title object. -- Messages: -- 'sandbox-subpage' --> 'sandbox' -- 'testcases-subpage' --> 'testcases' --]] local subjectSpace = env.subjectSpace local title = env.title local subpage = title.subpageText if subpage == message('sandbox-subpage') or subpage == message('testcases-subpage') then return mw.title.makeTitle(subjectSpace, title.baseText) else return mw.title.makeTitle(subjectSpace, title.text) end end function envFuncs.docTitle() --[[ -- Title object of the /doc subpage. -- Messages: -- 'doc-subpage' --> 'doc' --]] local title = env.title local docname = args[1] -- User-specified doc page. local docpage if docname then docpage = docname else docpage = env.docpageBase .. '/' .. message('doc-subpage') end return mw.title.new(docpage) end function envFuncs.sandboxTitle() --[[ -- Title object for the /sandbox subpage. -- Messages: -- 'sandbox-subpage' --> 'sandbox' --]] return mw.title.new(env.docpageBase .. '/' .. message('sandbox-subpage')) end function envFuncs.testcasesTitle() --[[ -- Title object for the /testcases subpage. -- Messages: -- 'testcases-subpage' --> 'testcases' --]] return mw.title.new(env.docpageBase .. '/' .. message('testcases-subpage')) end function envFuncs.printTitle() --[[ -- Title object for the /Print subpage. -- Messages: -- 'print-subpage' --> 'Print' --]] return env.templateTitle:subPageTitle(message('print-subpage')) end function envFuncs.protectionLevels() -- The protection levels table of the title object. return env.title.protectionLevels end function envFuncs.subjectSpace() -- The subject namespace number. return mw.site.namespaces[env.title.namespace].subject.id end function envFuncs.docSpace() -- The documentation namespace number. For most namespaces this is the same as the -- subject namespace. However, pages in the Article, File, MediaWiki or Category -- namespaces must have their /doc, /sandbox and /testcases pages in talk space. local subjectSpace = env.subjectSpace if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then return subjectSpace + 1 else return subjectSpace end end function envFuncs.docpageBase() -- The base page of the /doc, /sandbox, and /testcases subpages. -- For some namespaces this is the talk page, rather than the template page. local templateTitle = env.templateTitle local docSpace = env.docSpace local docSpaceText = mw.site.namespaces[docSpace].name -- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon. return docSpaceText .. ':' .. templateTitle.text end function envFuncs.compareUrl() -- Diff link between the sandbox and the main template using [[Special:ComparePages]]. local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle if templateTitle.exists and sandboxTitle.exists then local compareUrl = mw.uri.fullUrl( 'Special:ComparePages', {page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText} ) return tostring(compareUrl) else return nil end end return env end ---------------------------------------------------------------------------- -- Auxiliary templates ---------------------------------------------------------------------------- function p.sandboxNotice(args, env) --[=[ -- Generates a sandbox notice for display above sandbox pages. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'sandbox-notice-image' --> '[[Image:Sandbox.svg|50px|alt=|link=]]' -- 'sandbox-notice-blurb' --> 'This is the $1 for $2.' -- 'sandbox-notice-diff-blurb' --> 'This is the $1 for $2 ($3).' -- 'sandbox-notice-pagetype-template' --> '[[Wikipedia:Template test cases|template sandbox]] page' -- 'sandbox-notice-pagetype-module' --> '[[Wikipedia:Template test cases|module sandbox]] page' -- 'sandbox-notice-pagetype-other' --> 'sandbox page' -- 'sandbox-notice-compare-link-display' --> 'diff' -- 'sandbox-notice-testcases-blurb' --> 'See also the companion subpage for $1.' -- 'sandbox-notice-testcases-link-display' --> 'test cases' -- 'sandbox-category' --> 'Template sandboxes' --]=] local title = env.title local sandboxTitle = env.sandboxTitle local templateTitle = env.templateTitle local subjectSpace = env.subjectSpace if not (subjectSpace and title and sandboxTitle and templateTitle and mw.title.equals(title, sandboxTitle)) then return nil end -- Build the table of arguments to pass to {{ombox}}. We need just two fields, "image" and "text". local omargs = {} omargs.image = message('sandbox-notice-image') -- Get the text. We start with the opening blurb, which is something like -- "This is the template sandbox for [[Template:Foo]] (diff)." local text = '' local pagetype if subjectSpace == 10 then pagetype = message('sandbox-notice-pagetype-template') elseif subjectSpace == 828 then pagetype = message('sandbox-notice-pagetype-module') else pagetype = message('sandbox-notice-pagetype-other') end local templateLink = makeWikilink(templateTitle.prefixedText) local compareUrl = env.compareUrl if compareUrl then local compareDisplay = message('sandbox-notice-compare-link-display') local compareLink = makeUrlLink(compareUrl, compareDisplay) text = text .. message('sandbox-notice-diff-blurb', {pagetype, templateLink, compareLink}) else text = text .. message('sandbox-notice-blurb', {pagetype, templateLink}) end -- Get the test cases page blurb if the page exists. This is something like -- "See also the companion subpage for [[Template:Foo/testcases|test cases]]." local testcasesTitle = env.testcasesTitle if testcasesTitle and testcasesTitle.exists then if testcasesTitle.namespace == mw.site.namespaces.Module.id then local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display') local testcasesRunLinkDisplay = message('sandbox-notice-testcases-run-link-display') local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay) local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay) text = text .. '<br />' .. message('sandbox-notice-testcases-run-blurb', {testcasesLink, testcasesRunLink}) else local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display') local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay) text = text .. '<br />' .. message('sandbox-notice-testcases-blurb', {testcasesLink}) end end -- Add the sandbox to the sandbox category. text = text .. makeCategoryLink(message('sandbox-category')) omargs.text = text local ret = '<div style="clear: both;"></div>' ret = ret .. messageBox.main('ombox', omargs) return ret end function p.protectionTemplate(env) -- Generates the padlock icon in the top right. -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'protection-template' --> 'pp-template' -- 'protection-template-args' --> {docusage = 'yes'} local protectionLevels, mProtectionBanner local title = env.title protectionLevels = env.protectionLevels if not protectionLevels then return nil end local editProt = protectionLevels.edit and protectionLevels.edit[1] local moveProt = protectionLevels.move and protectionLevels.move[1] if editProt then -- The page is edit-protected. mProtectionBanner = require('Module:Protection banner') local reason = message('protection-reason-edit') return mProtectionBanner._main{reason, small = true} elseif moveProt and moveProt ~= 'autoconfirmed' then -- The page is move-protected but not edit-protected. Exclude move -- protection with the level "autoconfirmed", as this is equivalent to -- no move protection at all. mProtectionBanner = require('Module:Protection banner') return mProtectionBanner._main{action = 'move', small = true} else return nil end end ---------------------------------------------------------------------------- -- Start box ---------------------------------------------------------------------------- p.startBox = makeInvokeFunc('_startBox') function p._startBox(args, env) --[[ -- This function generates the start box. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make -- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox -- which generate the box HTML. --]] env = env or p.getEnvironment(args) local links local content = args.content if not content then -- No need to include the links if the documentation is on the template page itself. local linksData = p.makeStartBoxLinksData(args, env) if linksData then links = p.renderStartBoxLinks(linksData) end end -- Generate the start box html. local data = p.makeStartBoxData(args, env, links) if data then return p.renderStartBox(data) else -- User specified no heading. return nil end end function p.makeStartBoxLinksData(args, env) --[[ -- Does initial processing of data to make the [view] [edit] [history] [purge] links. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'view-link-display' --> 'view' -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'purge-link-display' --> 'purge' -- 'file-docpage-preload' --> 'Template:Documentation/preload-filespace' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'docpage-preload' --> 'Template:Documentation/preload' -- 'create-link-display' --> 'create' --]] local subjectSpace = env.subjectSpace local title = env.title local docTitle = env.docTitle if not title or not docTitle then return nil end local data = {} data.title = title data.docTitle = docTitle -- View, display, edit, and purge links if /doc exists. data.viewLinkDisplay = message('view-link-display') data.editLinkDisplay = message('edit-link-display') data.historyLinkDisplay = message('history-link-display') data.purgeLinkDisplay = message('purge-link-display') -- Create link if /doc doesn't exist. local preload = args.preload if not preload then if subjectSpace == 6 then -- File namespace preload = message('file-docpage-preload') elseif subjectSpace == 828 then -- Module namespace preload = message('module-preload') else preload = message('docpage-preload') end end data.preload = preload data.createLinkDisplay = message('create-link-display') return data end function p.renderStartBoxLinks(data) --[[ -- Generates the [view][edit][history][purge] or [create] links from the data table. -- @data - a table of data generated by p.makeStartBoxLinksData --]] local function escapeBrackets(s) -- Escapes square brackets with HTML entities. s = s:gsub('%[', '&#91;') -- Replace square brackets with HTML entities. s = s:gsub('%]', '&#93;') return s end local ret local docTitle = data.docTitle local title = data.title if docTitle.exists then local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay) local editLink = makeUrlLink(docTitle:fullUrl{action = 'edit'}, data.editLinkDisplay) local historyLink = makeUrlLink(docTitle:fullUrl{action = 'history'}, data.historyLinkDisplay) local purgeLink = makeUrlLink(title:fullUrl{action = 'purge'}, data.purgeLinkDisplay) ret = '[%s] [%s] [%s] [%s]' ret = escapeBrackets(ret) ret = mw.ustring.format(ret, viewLink, editLink, historyLink, purgeLink) else local createLink = makeUrlLink(docTitle:fullUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay) ret = '[%s]' ret = escapeBrackets(ret) ret = mw.ustring.format(ret, createLink) end return ret end function p.makeStartBoxData(args, env, links) --[=[ -- Does initial processing of data to pass to the start-box render function, p.renderStartBox. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- @links - a string containing the [view][edit][history][purge] links - could be nil if there's an error. -- -- Messages: -- 'documentation-icon-wikitext' --> '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- 'template-namespace-heading' --> 'Template documentation' -- 'module-namespace-heading' --> 'Module documentation' -- 'file-namespace-heading' --> 'Summary' -- 'other-namespaces-heading' --> 'Documentation' -- 'start-box-linkclasses' --> 'mw-editsection-like plainlinks' -- 'start-box-link-id' --> 'doc_editlinks' -- 'testcases-create-link-display' --> 'create' --]=] local subjectSpace = env.subjectSpace if not subjectSpace then -- Default to an "other namespaces" namespace, so that we get at least some output -- if an error occurs. subjectSpace = 2 end local data = {} -- Heading local heading = args.heading -- Blank values are not removed. if heading == '' then -- Don't display the start box if the heading arg is defined but blank. return nil end if heading then data.heading = heading elseif subjectSpace == 10 then -- Template namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('template-namespace-heading') elseif subjectSpace == 828 then -- Module namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('module-namespace-heading') elseif subjectSpace == 6 then -- File namespace data.heading = message('file-namespace-heading') else data.heading = message('other-namespaces-heading') end -- Heading CSS local headingStyle = args['heading-style'] if headingStyle then data.headingStyleText = headingStyle elseif subjectSpace == 10 then -- We are in the template or template talk namespaces. data.headingFontWeight = 'bold' data.headingFontSize = '125%' else data.headingFontSize = '150%' end -- Data for the [view][edit][history][purge] or [create] links. if links then data.linksClass = message('start-box-linkclasses') data.linksId = message('start-box-link-id') data.links = links end return data end function p.renderStartBox(data) -- Renders the start box html. -- @data - a table of data generated by p.makeStartBoxData. local sbox = mw.html.create('div') sbox :css('padding-bottom', '3px') :css('border-bottom', '1px solid #aaa') :css('margin-bottom', '1ex') :newline() :tag('span') :cssText(data.headingStyleText) :css('font-weight', data.headingFontWeight) :css('font-size', data.headingFontSize) :wikitext(data.heading) local links = data.links if links then sbox:tag('span') :addClass(data.linksClass) :attr('id', data.linksId) :wikitext(links) end return tostring(sbox) end ---------------------------------------------------------------------------- -- Documentation content ---------------------------------------------------------------------------- p.content = makeInvokeFunc('_content') function p._content(args, env) -- Displays the documentation contents -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment env = env or p.getEnvironment(args) local docTitle = env.docTitle local content = args.content if not content and docTitle and docTitle.exists then content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText} end -- The line breaks below are necessary so that "=== Headings ===" at the start and end -- of docs are interpreted correctly. return '\n' .. (content or '') .. '\n' end p.contentTitle = makeInvokeFunc('_contentTitle') function p._contentTitle(args, env) env = env or p.getEnvironment(args) local docTitle = env.docTitle if not args.content and docTitle and docTitle.exists then return docTitle.prefixedText else return '' end end ---------------------------------------------------------------------------- -- End box ---------------------------------------------------------------------------- p.endBox = makeInvokeFunc('_endBox') function p._endBox(args, env) --[=[ -- This function generates the end box (also known as the link box). -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'fmbox-id' --> 'documentation-meta-data' -- 'fmbox-style' --> 'background-color: #ecfcf4' -- 'fmbox-textstyle' --> 'font-style: italic' -- -- The HTML is generated by the {{fmbox}} template, courtesy of [[Module:Message box]]. --]=] -- Get environment data. env = env or p.getEnvironment(args) local subjectSpace = env.subjectSpace local docTitle = env.docTitle if not subjectSpace or not docTitle then return nil end -- Check whether we should output the end box at all. Add the end -- box by default if the documentation exists or if we are in the -- user, module or template namespaces. local linkBox = args['link box'] if linkBox == 'off' or not ( docTitle.exists or subjectSpace == 2 or subjectSpace == 828 or subjectSpace == 10 ) then return nil end -- Assemble the arguments for {{fmbox}}. local fmargs = {} fmargs.id = message('fmbox-id') -- Sets 'documentation-meta-data' fmargs.image = 'none' fmargs.style = message('fmbox-style') -- Sets 'background-color: #ecfcf4' fmargs.textstyle = message('fmbox-textstyle') -- 'font-style: italic;' -- Assemble the fmbox text field. local text = '' if linkBox then text = text .. linkBox else text = text .. (p.makeDocPageBlurb(args, env) or '') -- "This documentation is transcluded from [[Foo]]." if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then -- We are in the user, template or module namespaces. -- Add sandbox and testcases links. -- "Editors can experiment in this template's sandbox and testcases pages." text = text .. (p.makeExperimentBlurb(args, env) or '') text = text .. '<br />' if not args.content and not args[1] then -- "Please add categories to the /doc subpage." -- Don't show this message with inline docs or with an explicitly specified doc page, -- as then it is unclear where to add the categories. text = text .. (p.makeCategoriesBlurb(args, env) or '') end text = text .. ' ' .. (p.makeSubpagesBlurb(args, env) or '') --"Subpages of this template" local printBlurb = p.makePrintBlurb(args, env) -- Two-line blurb about print versions of templates. if printBlurb then text = text .. '<br />' .. printBlurb end end end fmargs.text = text return messageBox.main('fmbox', fmargs) end function p.makeDocPageBlurb(args, env) --[=[ -- Makes the blurb "This documentation is transcluded from [[Template:Foo]] (edit, history)". -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'transcluded-from-blurb' --> -- 'The above [[Wikipedia:Template documentation|documentation]] -- is [[Wikipedia:Transclusion|transcluded]] from $1.' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'create-link-display' --> 'create' -- 'create-module-doc-blurb' --> -- 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].' --]=] local docTitle = env.docTitle if not docTitle then return nil end local ret if docTitle.exists then -- /doc exists; link to it. local docLink = makeWikilink(docTitle.prefixedText) local editUrl = docTitle:fullUrl{action = 'edit'} local editDisplay = message('edit-link-display') local editLink = makeUrlLink(editUrl, editDisplay) local historyUrl = docTitle:fullUrl{action = 'history'} local historyDisplay = message('history-link-display') local historyLink = makeUrlLink(historyUrl, historyDisplay) ret = message('transcluded-from-blurb', {docLink}) .. ' ' .. makeToolbar(editLink, historyLink) .. '<br />' elseif env.subjectSpace == 828 then -- /doc does not exist; ask to create it. local createUrl = docTitle:fullUrl{action = 'edit', preload = message('module-preload')} local createDisplay = message('create-link-display') local createLink = makeUrlLink(createUrl, createDisplay) ret = message('create-module-doc-blurb', {createLink}) .. '<br />' end return ret end function p.makeExperimentBlurb(args, env) --[[ -- Renders the text "Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'sandbox-link-display' --> 'sandbox' -- 'sandbox-edit-link-display' --> 'edit' -- 'compare-link-display' --> 'diff' -- 'module-sandbox-preload' --> 'Template:Documentation/preload-module-sandbox' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'sandbox-create-link-display' --> 'create' -- 'mirror-edit-summary' --> 'Create sandbox version of $1' -- 'mirror-link-display' --> 'mirror' -- 'mirror-link-preload' --> 'Template:Documentation/mirror' -- 'sandbox-link-display' --> 'sandbox' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display'--> 'edit' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'testcases-create-link-display' --> 'create' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display' --> 'edit' -- 'module-testcases-preload' --> 'Template:Documentation/preload-module-testcases' -- 'template-testcases-preload' --> 'Template:Documentation/preload-testcases' -- 'experiment-blurb-module' --> 'Editors can experiment in this module's $1 and $2 pages.' -- 'experiment-blurb-template' --> 'Editors can experiment in this template's $1 and $2 pages.' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle local testcasesTitle = env.testcasesTitle local templatePage = templateTitle.prefixedText if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then return nil end -- Make links. local sandboxLinks, testcasesLinks if sandboxTitle.exists then local sandboxPage = sandboxTitle.prefixedText local sandboxDisplay = message('sandbox-link-display') local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay) local sandboxEditUrl = sandboxTitle:fullUrl{action = 'edit'} local sandboxEditDisplay = message('sandbox-edit-link-display') local sandboxEditLink = makeUrlLink(sandboxEditUrl, sandboxEditDisplay) local compareUrl = env.compareUrl local compareLink if compareUrl then local compareDisplay = message('compare-link-display') compareLink = makeUrlLink(compareUrl, compareDisplay) end sandboxLinks = sandboxLink .. ' ' .. makeToolbar(sandboxEditLink, compareLink) else local sandboxPreload if subjectSpace == 828 then sandboxPreload = message('module-sandbox-preload') else sandboxPreload = message('template-sandbox-preload') end local sandboxCreateUrl = sandboxTitle:fullUrl{action = 'edit', preload = sandboxPreload} local sandboxCreateDisplay = message('sandbox-create-link-display') local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay) local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)}) local mirrorPreload = message('mirror-link-preload') local mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary} if subjectSpace == 828 then mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = templateTitle.prefixedText, summary = mirrorSummary} end local mirrorDisplay = message('mirror-link-display') local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay) sandboxLinks = message('sandbox-link-display') .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink) end if testcasesTitle.exists then local testcasesPage = testcasesTitle.prefixedText local testcasesDisplay = message('testcases-link-display') local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay) local testcasesEditUrl = testcasesTitle:fullUrl{action = 'edit'} local testcasesEditDisplay = message('testcases-edit-link-display') local testcasesEditLink = makeUrlLink(testcasesEditUrl, testcasesEditDisplay) -- for Modules, add testcases run link if exists if subjectSpace == 828 and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then local testcasesRunLinkDisplay = message('testcases-run-link-display') local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay) testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink, testcasesRunLink) else testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink) end else local testcasesPreload if subjectSpace == 828 then testcasesPreload = message('module-testcases-preload') else testcasesPreload = message('template-testcases-preload') end local testcasesCreateUrl = testcasesTitle:fullUrl{action = 'edit', preload = testcasesPreload} local testcasesCreateDisplay = message('testcases-create-link-display') local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay) testcasesLinks = message('testcases-link-display') .. ' ' .. makeToolbar(testcasesCreateLink) end local messageName if subjectSpace == 828 then messageName = 'experiment-blurb-module' else messageName = 'experiment-blurb-template' end return message(messageName, {sandboxLinks, testcasesLinks}) end function p.makeCategoriesBlurb(args, env) --[[ -- Generates the text "Please add categories to the /doc subpage." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'doc-link-display' --> '/doc' -- 'add-categories-blurb' --> 'Please add categories to the $1 subpage.' --]] local docTitle = env.docTitle if not docTitle then return nil end local docPathLink = makeWikilink(docTitle.prefixedText, message('doc-link-display')) return message('add-categories-blurb', {docPathLink}) end function p.makeSubpagesBlurb(args, env) --[[ -- Generates the "Subpages of this template" link. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'template-pagetype' --> 'template' -- 'module-pagetype' --> 'module' -- 'default-pagetype' --> 'page' -- 'subpages-link-display' --> 'Subpages of this $1' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle if not subjectSpace or not templateTitle then return nil end local pagetype if subjectSpace == 10 then pagetype = message('template-pagetype') elseif subjectSpace == 828 then pagetype = message('module-pagetype') else pagetype = message('default-pagetype') end local subpagesLink = makeWikilink( 'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/', message('subpages-link-display', {pagetype}) ) return message('subpages-blurb', {subpagesLink}) end function p.makePrintBlurb(args, env) --[=[ -- Generates the blurb displayed when there is a print version of the template available. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'print-link-display' --> '/Print' -- 'print-blurb' --> 'A [[Help:Books/for experts#Improving the book layout|print version]]' -- .. ' of this template exists at $1.' -- .. ' If you make a change to this template, please update the print version as well.' -- 'display-print-category' --> true -- 'print-category' --> 'Templates with print versions' --]=] local printTitle = env.printTitle if not printTitle then return nil end local ret if printTitle.exists then local printLink = makeWikilink(printTitle.prefixedText, message('print-link-display')) ret = message('print-blurb', {printLink}) local displayPrintCategory = message('display-print-category', nil, 'boolean') if displayPrintCategory then ret = ret .. makeCategoryLink(message('print-category')) end end return ret end ---------------------------------------------------------------------------- -- Tracking categories ---------------------------------------------------------------------------- function p.addTrackingCategories(env) --[[ -- Check if {{documentation}} is transcluded on a /doc or /testcases page. -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'display-strange-usage-category' --> true -- 'doc-subpage' --> 'doc' -- 'testcases-subpage' --> 'testcases' -- 'strange-usage-category' --> 'Wikipedia pages with strange ((documentation)) usage' -- -- /testcases pages in the module namespace are not categorised, as they may have -- {{documentation}} transcluded automatically. --]] local title = env.title local subjectSpace = env.subjectSpace if not title or not subjectSpace then return nil end local subpage = title.subpageText local ret = '' if message('display-strange-usage-category', nil, 'boolean') and ( subpage == message('doc-subpage') or subjectSpace ~= 828 and subpage == message('testcases-subpage') ) then ret = ret .. makeCategoryLink(message('strange-usage-category')) end return ret end return p ihlihx74iqjdcjdeemh627y90ayphrj 43233 43230 2026-07-06T23:17:21Z Ne 1118 proba de la redirije 43233 Scribunto text/plain return require('Modulo:Documenti') o3my6f9ceqx71i9u69pyaqdno1rmfkz Modulo:Documentation/config/proba 828 8003 43229 2026-07-06T22:57:51Z Ne 1118 tradui de proba de Modulo:Documentation/config 43229 Scribunto text/plain ---------------------------------------------------------------------------------------------------- -- -- Configuration for Module:Documentation -- -- Here you can set the values of the parameters and messages used in Module:Documentation to -- localise it to your wiki and your language. Unless specified otherwise, values given here -- should be string values. ---------------------------------------------------------------------------------------------------- local cfg = {} -- Do not edit this line. ---------------------------------------------------------------------------------------------------- -- Protection template configuration ---------------------------------------------------------------------------------------------------- -- cfg['protection-reason-edit'] -- The protection reason for edit-protected templates to pass to -- [[Module:Protection banner]]. cfg['protection-reason-edit'] = 'template' --[[ ---------------------------------------------------------------------------------------------------- -- Sandbox notice configuration -- -- On sandbox pages the module can display a template notifying users that the current page is a -- sandbox, and the location of test cases pages, etc. The module decides whether the page is a -- sandbox or not based on the value of cfg['sandbox-subpage']. The following settings configure the -- messages that the notices contains. ---------------------------------------------------------------------------------------------------- --]] -- cfg['sandbox-notice-image'] -- The image displayed in the sandbox notice. cfg['sandbox-notice-image'] = '[[Image:Sandbox.svg|50px|alt=|link=]]' --[[ -- cfg['sandbox-notice-pagetype-template'] -- cfg['sandbox-notice-pagetype-module'] -- cfg['sandbox-notice-pagetype-other'] -- The page type of the sandbox page. The message that is displayed depends on the current subject -- namespace. This message is used in either cfg['sandbox-notice-blurb'] or -- cfg['sandbox-notice-diff-blurb']. --]] cfg['sandbox-notice-pagetype-template'] = 'paje de [[Wikipedia:Template test cases|proba per modeles]]' cfg['sandbox-notice-pagetype-module'] = 'paje de [[Wikipedia:Template test cases|proba per modulos]]' cfg['sandbox-notice-pagetype-other'] = 'paje de proba' --[[ -- cfg['sandbox-notice-blurb'] -- cfg['sandbox-notice-diff-blurb'] -- cfg['sandbox-notice-diff-display'] -- Either cfg['sandbox-notice-blurb'] or cfg['sandbox-notice-diff-blurb'] is the opening sentence -- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page -- type, which is either cfg['sandbox-notice-pagetype-template'], -- cfg['sandbox-notice-pagetype-module'] or cfg['sandbox-notice-pagetype-other'] depending what -- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between -- the sandbox and the main template. The display value of the diff link is set by -- cfg['sandbox-notice-compare-link-display']. --]] cfg['sandbox-notice-blurb'] = 'Esta es la $1 per $2.' cfg['sandbox-notice-diff-blurb'] = 'Esta es la $1 per $2 ($3).' cfg['sandbox-notice-compare-link-display'] = 'dif' --[[ -- cfg['sandbox-notice-testcases-blurb'] -- cfg['sandbox-notice-testcases-link-display'] -- cfg['sandbox-notice-testcases-run-blurb'] -- cfg['sandbox-notice-testcases-run-link-display'] -- cfg['sandbox-notice-testcases-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit. $1 is a link to the test cases page. -- cfg['sandbox-notice-testcases-link-display'] is the display value for that link. -- cfg['sandbox-notice-testcases-run-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test -- cases page, and $2 is a link to the page to run it. -- cfg['sandbox-notice-testcases-run-link-display'] is the display value for the link to run the test -- cases. --]] cfg['sandbox-notice-testcases-blurb'] = 'Vide ance la supaje acompaniante per $1.' cfg['sandbox-notice-testcases-link-display'] = 'casos de proba' cfg['sandbox-notice-testcases-run-blurb'] = 'Vide ance la supaje acompaniante per $1 ($2).' cfg['sandbox-notice-testcases-run-link-display'] = 'esecuta' -- cfg['sandbox-category'] -- A category to add to all template sandboxes. cfg['sandbox-category'] = 'Pajes de proba de modeles' ---------------------------------------------------------------------------------------------------- -- Start box configuration ---------------------------------------------------------------------------------------------------- -- cfg['documentation-icon-wikitext'] -- The wikitext for the icon shown at the top of the template. cfg['documentation-icon-wikitext'] = '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- cfg['template-namespace-heading'] -- The heading shown in the template namespace. cfg['template-namespace-heading'] = 'Documenti de model' -- cfg['module-namespace-heading'] -- The heading shown in the module namespace. cfg['module-namespace-heading'] = 'Documenti de modulo' -- cfg['file-namespace-heading'] -- The heading shown in the file namespace. cfg['file-namespace-heading'] = 'Resoma' -- cfg['other-namespaces-heading'] -- The heading shown in other namespaces. cfg['other-namespaces-heading'] = 'Documenti' -- cfg['view-link-display'] -- The text to display for "view" links. cfg['view-link-display'] = 'vide' -- cfg['edit-link-display'] -- The text to display for "edit" links. cfg['edit-link-display'] = 'edita' -- cfg['history-link-display'] -- The text to display for "history" links. cfg['history-link-display'] = 'istoria' -- cfg['purge-link-display'] -- The text to display for "purge" links. cfg['purge-link-display'] = 'purga' -- cfg['create-link-display'] -- The text to display for "create" links. cfg['create-link-display'] = 'crea' ---------------------------------------------------------------------------------------------------- -- Link box (end box) configuration ---------------------------------------------------------------------------------------------------- -- cfg['transcluded-from-blurb'] -- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page. cfg['transcluded-from-blurb'] = 'La [[Wikipedia:Template documentation|paje de documenti]] de supra es [[Wikipedia:Transclusion|emportada]] de $1.' --[[ -- cfg['create-module-doc-blurb'] -- Notice displayed in the module namespace when the documentation subpage does not exist. -- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the -- display cfg['create-link-display']. --]] cfg['create-module-doc-blurb'] = 'Tu ta vole $1 un paje de documenti per esta [[Wikipedia:Lua|modulo Scribunto]].' ---------------------------------------------------------------------------------------------------- -- Experiment blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['experiment-blurb-template'] -- cfg['experiment-blurb-module'] -- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages. -- It is only shown in the template and module namespaces. With the default English settings, it -- might look like this: -- -- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages. -- -- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links. -- -- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending -- on what namespace we are in. -- -- Parameters: -- -- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display']) -- -- If the sandbox doesn't exist, it is in the format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display']) -- -- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload'] -- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display'] -- loads a default edit summary of cfg['mirror-edit-summary']. -- -- $2 is a link to the test cases page. If the test cases page exists, it is in the following format: -- -- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display']) -- -- If the test cases page doesn't exist, it is in the format: -- -- cfg['testcases-link-display'] (cfg['testcases-create-link-display']) -- -- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the -- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current -- namespace. --]] cfg['experiment-blurb-template'] = "Editores pote experimenta en la pajes $1 e $2 de esta model." cfg['experiment-blurb-module'] = "Editores pote experimenta en la pajes $1 e $2 de esta modulo." ---------------------------------------------------------------------------------------------------- -- Sandbox link configuration ---------------------------------------------------------------------------------------------------- -- cfg['sandbox-subpage'] -- The name of the template subpage typically used for sandboxes. cfg['sandbox-subpage'] = 'proba' -- cfg['template-sandbox-preload'] -- Preload file for template sandbox pages. cfg['template-sandbox-preload'] = 'Template:Documentation/preload-sandbox' -- cfg['module-sandbox-preload'] -- Preload file for Lua module sandbox pages. cfg['module-sandbox-preload'] = 'Template:Documentation/preload-module-sandbox' -- cfg['sandbox-link-display'] -- The text to display for "sandbox" links. cfg['sandbox-link-display'] = 'de proba' -- cfg['sandbox-edit-link-display'] -- The text to display for sandbox "edit" links. cfg['sandbox-edit-link-display'] = 'edita' -- cfg['sandbox-create-link-display'] -- The text to display for sandbox "create" links. cfg['sandbox-create-link-display'] = 'crea' -- cfg['compare-link-display'] -- The text to display for "compare" links. cfg['compare-link-display'] = 'dif' -- cfg['mirror-edit-summary'] -- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the -- template page. cfg['mirror-edit-summary'] = 'Crea varia de proba de $1' -- cfg['mirror-link-display'] -- The text to display for "mirror" links. cfg['mirror-link-display'] = 'mirori' -- cfg['mirror-link-preload'] -- The page to preload when a user clicks the "mirror" link. cfg['mirror-link-preload'] = 'Template:Documentation/miror' ---------------------------------------------------------------------------------------------------- -- Test cases link configuration ---------------------------------------------------------------------------------------------------- -- cfg['testcases-subpage'] -- The name of the template subpage typically used for test cases. cfg['testcases-subpage'] = 'casos de proba' -- cfg['template-testcases-preload'] -- Preload file for template test cases pages. cfg['template-testcases-preload'] = 'Template:Documentation/preload-testcases' -- cfg['module-testcases-preload'] -- Preload file for Lua module test cases pages. cfg['module-testcases-preload'] = 'Template:Documentation/preload-module-testcases' -- cfg['testcases-link-display'] -- The text to display for "testcases" links. cfg['testcases-link-display'] = 'de casos de proba' -- cfg['testcases-edit-link-display'] -- The text to display for test cases "edit" links. cfg['testcases-edit-link-display'] = 'edita' -- cfg['testcases-run-link-display'] -- The text to display for test cases "run" links. cfg['testcases-run-link-display'] = 'esecuta' -- cfg['testcases-create-link-display'] -- The text to display for test cases "create" links. cfg['testcases-create-link-display'] = 'crea' ---------------------------------------------------------------------------------------------------- -- Add categories blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['add-categories-blurb'] -- Text to direct users to add categories to the /doc subpage. Not used if the "content" or -- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a -- link to the /doc subpage with a display value of cfg['doc-link-display']. --]] cfg['add-categories-blurb'] = 'Ajunta categorias a la supaje $1.' -- cfg['doc-link-display'] -- The text to display when linking to the /doc subpage. cfg['doc-link-display'] = '/doc' ---------------------------------------------------------------------------------------------------- -- Subpages link configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['subpages-blurb'] -- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a -- display value of cfg['subpages-link-display']. In the English version this blurb is simply -- the link followed by a period, and the link display provides the actual text. --]] cfg['subpages-blurb'] = '$1.' --[[ -- cfg['subpages-link-display'] -- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'], -- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in -- the template namespace, the module namespace, or another namespace. --]] cfg['subpages-link-display'] = 'Supajes de esta $1' -- cfg['template-pagetype'] -- The pagetype to display for template pages. cfg['template-pagetype'] = 'model' -- cfg['module-pagetype'] -- The pagetype to display for Lua module pages. cfg['module-pagetype'] = 'modulo' -- cfg['default-pagetype'] -- The pagetype to display for pages other than templates or Lua modules. cfg['default-pagetype'] = 'paje' ---------------------------------------------------------------------------------------------------- -- Doc link configuration ---------------------------------------------------------------------------------------------------- -- cfg['doc-subpage'] -- The name of the subpage typically used for documentation pages. cfg['doc-subpage'] = 'doc' -- cfg['file-docpage-preload'] -- Preload file for documentation page in the file namespace. cfg['file-docpage-preload'] = 'Template:Documentation/preload-filespace' -- cfg['docpage-preload'] -- Preload file for template documentation pages in all namespaces. cfg['docpage-preload'] = 'Template:Documentation/preload' -- cfg['module-preload'] -- Preload file for Lua module documentation pages. cfg['module-preload'] = 'Template:Documentation/preload-module-doc' ---------------------------------------------------------------------------------------------------- -- Print version configuration ---------------------------------------------------------------------------------------------------- -- cfg['print-subpage'] -- The name of the template subpage used for print versions. cfg['print-subpage'] = 'Primi' -- cfg['print-link-display'] -- The text to display when linking to the /Print subpage. cfg['print-link-display'] = '/Primi' -- cfg['print-blurb'] -- Text to display if a /Print subpage exists. $1 is a link to the subpage with a display value of cfg['print-link-display']. cfg['print-blurb'] = 'Un [[Help:Books/for experts#Improving the book layout|varia de primi]] de esta model esiste en $1.' .. ' Si tu fa un cambia a esta model, por favore ance corenti la varia de primi.' -- cfg['display-print-category'] -- Set to true to enable output of cfg['print-category'] if a /Print subpage exists. -- This should be a boolean value (either true or false). cfg['display-print-category'] = true -- cfg['print-category'] -- Category to output if cfg['display-print-category'] is set to true, and a /Print subpage exists. cfg['print-category'] = 'Modeles con varias de primi' ---------------------------------------------------------------------------------------------------- -- HTML and CSS configuration ---------------------------------------------------------------------------------------------------- -- cfg['main-div-id'] -- The "id" attribute of the main HTML "div" tag. cfg['main-div-id'] = 'template-documentation' -- cfg['main-div-classes'] -- The CSS classes added to the main HTML "div" tag. cfg['main-div-classes'] = 'template-documentation iezoomfix' -- cfg['start-box-linkclasses'] -- The CSS classes used for the [view][edit][history] or [create] links in the start box. cfg['start-box-linkclasses'] = 'mw-editsection-like plainlinks' -- cfg['start-box-link-id'] -- The HTML "id" attribute for the links in the start box. cfg['start-box-link-id'] = 'doc_editlinks' ---------------------------------------------------------------------------------------------------- -- {{fmbox}} template configuration ---------------------------------------------------------------------------------------------------- -- cfg['fmbox-id'] -- The id sent to the "id" parameter of the {{fmbox}} template. cfg['fmbox-id'] = 'documentation-meta-data' -- cfg['fmbox-style'] -- The value sent to the style parameter of {{fmbox}}. cfg['fmbox-style'] = 'background-color: #ecfcf4' -- cfg['fmbox-textstyle'] -- The value sent to the "textstyle parameter of {{fmbox}}. cfg['fmbox-textstyle'] = 'font-style: italic' ---------------------------------------------------------------------------------------------------- -- Tracking category configuration ---------------------------------------------------------------------------------------------------- -- cfg['display-strange-usage-category'] -- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage -- or a /testcases subpage. This should be a boolean value (either true or false). cfg['display-strange-usage-category'] = true -- cfg['strange-usage-category'] -- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a -- /doc subpage or a /testcases subpage. cfg['strange-usage-category'] = 'Pajes de' .. mw.site.siteName .. 'con usa strana de ((documentation))' --[[ ---------------------------------------------------------------------------------------------------- -- End configuration -- -- Don't edit anything below this line. ---------------------------------------------------------------------------------------------------- --]] return cfg e00t00jvxq84p0c2mg65oshy0cmtb96 43234 43229 2026-07-06T23:18:04Z Ne 1118 proba de la redirije 43234 Scribunto text/plain return require('Modulo:Documenti/ajusta') mtchbl2bg4egoht97q9z960zf50kl7z Modulo:Documenti 828 8004 43231 2026-07-06T23:14:11Z Ne 1118 Paje creada con "-- This module implements {{documenti}}. -- Get required modules. local getArgs = require('Module:Arguments').getArgs local messageBox = require('Module:Message box') -- Get the config table. local cfg = mw.loadData('Modulo:Documenti/ajusta') local p = {} -- Often-used functions. local ugsub = mw.ustring.gsub ---------------------------------------------------------------------------- -- Helper functions -- -- These are defined as local functions, but are made availab..." 43231 Scribunto text/plain -- This module implements {{documenti}}. -- Get required modules. local getArgs = require('Module:Arguments').getArgs local messageBox = require('Module:Message box') -- Get the config table. local cfg = mw.loadData('Modulo:Documenti/ajusta') local p = {} -- Often-used functions. local ugsub = mw.ustring.gsub ---------------------------------------------------------------------------- -- Helper functions -- -- These are defined as local functions, but are made available in the p -- table for testing purposes. ---------------------------------------------------------------------------- local function message(cfgKey, valArray, expectType) --[[ -- Gets a message from the cfg table and formats it if appropriate. -- The function raises an error if the value from the cfg table is not -- of the type expectType. The default type for expectType is 'string'. -- If the table valArray is present, strings such as $1, $2 etc. in the -- message are substituted with values from the table keys [1], [2] etc. -- For example, if the message "foo-message" had the value 'Foo $2 bar $1.', -- message('foo-message', {'baz', 'qux'}) would return "Foo qux bar baz." --]] local msg = cfg[cfgKey] expectType = expectType or 'string' if type(msg) ~= expectType then error('message: type error in message cfg.' .. cfgKey .. ' (' .. expectType .. ' expected, got ' .. type(msg) .. ')', 2) end if not valArray then return msg end local function getMessageVal(match) match = tonumber(match) return valArray[match] or error('message: no value found for key $' .. match .. ' in message cfg.' .. cfgKey, 4) end local ret = ugsub(msg, '$([1-9][0-9]*)', getMessageVal) return ret end p.message = message local function makeWikilink(page, display) if display then return mw.ustring.format('[[%s|%s]]', page, display) else return mw.ustring.format('[[%s]]', page) end end p.makeWikilink = makeWikilink local function makeCategoryLink(cat, sort) local catns = mw.site.namespaces[14].name return makeWikilink(catns .. ':' .. cat, sort) end p.makeCategoryLink = makeCategoryLink local function makeUrlLink(url, display) return mw.ustring.format('[%s %s]', url, display) end p.makeUrlLink = makeUrlLink local function makeToolbar(...) local ret = {} local lim = select('#', ...) if lim < 1 then return nil end for i = 1, lim do ret[#ret + 1] = select(i, ...) end return '<small style="font-style: normal;">(' .. table.concat(ret, ' &#124; ') .. ')</small>' end p.makeToolbar = makeToolbar ---------------------------------------------------------------------------- -- Argument processing ---------------------------------------------------------------------------- local function makeInvokeFunc(funcName) return function (frame) local args = getArgs(frame, { valueFunc = function (key, value) if type(value) == 'string' then value = value:match('^%s*(.-)%s*$') -- Remove whitespace. if key == 'heading' or value ~= '' then return value else return nil end else return value end end }) return p[funcName](args) end end ---------------------------------------------------------------------------- -- Main function ---------------------------------------------------------------------------- p.main = makeInvokeFunc('_main') function p._main(args) --[[ -- This function defines logic flow for the module. -- @args - table of arguments passed by the user -- -- Messages: -- 'main-div-id' --> 'template-documentation' -- 'main-div-classes' --> 'template-documentation iezoomfix' --]] local env = p.getEnvironment(args) local root = mw.html.create() root :wikitext(p.protectionTemplate(env)) :wikitext(p.sandboxNotice(args, env)) -- This div tag is from {{documentation/start box}}, but moving it here -- so that we don't have to worry about unclosed tags. :tag('div') :attr('id', message('main-div-id')) :addClass(message('main-div-classes')) :newline() :wikitext(p._startBox(args, env)) :wikitext(p._content(args, env)) :tag('div') :css('clear', 'both') -- So right or left floating items don't stick out of the doc box. :newline() :done() :done() :wikitext(p._endBox(args, env)) :wikitext(p.addTrackingCategories(env)) return tostring(root) end ---------------------------------------------------------------------------- -- Environment settings ---------------------------------------------------------------------------- function p.getEnvironment(args) --[[ -- Returns a table with information about the environment, including title objects and other namespace- or -- path-related data. -- @args - table of arguments passed by the user -- -- Title objects include: -- env.title - the page we are making documentation for (usually the current title) -- env.templateTitle - the template (or module, file, etc.) -- env.docTitle - the /doc subpage. -- env.sandboxTitle - the /sandbox subpage. -- env.testcasesTitle - the /testcases subpage. -- env.printTitle - the print version of the template, located at the /Print subpage. -- -- Data includes: -- env.protectionLevels - the protection levels table of the title object. -- env.subjectSpace - the number of the title's subject namespace. -- env.docSpace - the number of the namespace the title puts its documentation in. -- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace. -- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template. -- -- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value -- returned will be nil. --]] local env, envFuncs = {}, {} -- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value -- returned by that function is memoized in the env table so that we don't call any of the functions -- more than once. (Nils won't be memoized.) setmetatable(env, { __index = function (t, key) local envFunc = envFuncs[key] if envFunc then local success, val = pcall(envFunc) if success then env[key] = val -- Memoise the value. return val end end return nil end }) function envFuncs.title() -- The title object for the current page, or a test page passed with args.page. local title local titleArg = args.page if titleArg then title = mw.title.new(titleArg) else title = mw.title.getCurrentTitle() end return title end function envFuncs.templateTitle() --[[ -- The template (or module, etc.) title object. -- Messages: -- 'sandbox-subpage' --> 'sandbox' -- 'testcases-subpage' --> 'testcases' --]] local subjectSpace = env.subjectSpace local title = env.title local subpage = title.subpageText if subpage == message('sandbox-subpage') or subpage == message('testcases-subpage') then return mw.title.makeTitle(subjectSpace, title.baseText) else return mw.title.makeTitle(subjectSpace, title.text) end end function envFuncs.docTitle() --[[ -- Title object of the /doc subpage. -- Messages: -- 'doc-subpage' --> 'doc' --]] local title = env.title local docname = args[1] -- User-specified doc page. local docpage if docname then docpage = docname else docpage = env.docpageBase .. '/' .. message('doc-subpage') end return mw.title.new(docpage) end function envFuncs.sandboxTitle() --[[ -- Title object for the /sandbox subpage. -- Messages: -- 'sandbox-subpage' --> 'sandbox' --]] return mw.title.new(env.docpageBase .. '/' .. message('sandbox-subpage')) end function envFuncs.testcasesTitle() --[[ -- Title object for the /testcases subpage. -- Messages: -- 'testcases-subpage' --> 'testcases' --]] return mw.title.new(env.docpageBase .. '/' .. message('testcases-subpage')) end function envFuncs.printTitle() --[[ -- Title object for the /Print subpage. -- Messages: -- 'print-subpage' --> 'Print' --]] return env.templateTitle:subPageTitle(message('print-subpage')) end function envFuncs.protectionLevels() -- The protection levels table of the title object. return env.title.protectionLevels end function envFuncs.subjectSpace() -- The subject namespace number. return mw.site.namespaces[env.title.namespace].subject.id end function envFuncs.docSpace() -- The documentation namespace number. For most namespaces this is the same as the -- subject namespace. However, pages in the Article, File, MediaWiki or Category -- namespaces must have their /doc, /sandbox and /testcases pages in talk space. local subjectSpace = env.subjectSpace if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then return subjectSpace + 1 else return subjectSpace end end function envFuncs.docpageBase() -- The base page of the /doc, /sandbox, and /testcases subpages. -- For some namespaces this is the talk page, rather than the template page. local templateTitle = env.templateTitle local docSpace = env.docSpace local docSpaceText = mw.site.namespaces[docSpace].name -- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon. return docSpaceText .. ':' .. templateTitle.text end function envFuncs.compareUrl() -- Diff link between the sandbox and the main template using [[Special:ComparePages]]. local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle if templateTitle.exists and sandboxTitle.exists then local compareUrl = mw.uri.fullUrl( 'Special:ComparePages', {page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText} ) return tostring(compareUrl) else return nil end end return env end ---------------------------------------------------------------------------- -- Auxiliary templates ---------------------------------------------------------------------------- function p.sandboxNotice(args, env) --[=[ -- Generates a sandbox notice for display above sandbox pages. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'sandbox-notice-image' --> '[[Image:Sandbox.svg|50px|alt=|link=]]' -- 'sandbox-notice-blurb' --> 'This is the $1 for $2.' -- 'sandbox-notice-diff-blurb' --> 'This is the $1 for $2 ($3).' -- 'sandbox-notice-pagetype-template' --> '[[Wikipedia:Template test cases|template sandbox]] page' -- 'sandbox-notice-pagetype-module' --> '[[Wikipedia:Template test cases|module sandbox]] page' -- 'sandbox-notice-pagetype-other' --> 'sandbox page' -- 'sandbox-notice-compare-link-display' --> 'diff' -- 'sandbox-notice-testcases-blurb' --> 'See also the companion subpage for $1.' -- 'sandbox-notice-testcases-link-display' --> 'test cases' -- 'sandbox-category' --> 'Template sandboxes' --]=] local title = env.title local sandboxTitle = env.sandboxTitle local templateTitle = env.templateTitle local subjectSpace = env.subjectSpace if not (subjectSpace and title and sandboxTitle and templateTitle and mw.title.equals(title, sandboxTitle)) then return nil end -- Build the table of arguments to pass to {{ombox}}. We need just two fields, "image" and "text". local omargs = {} omargs.image = message('sandbox-notice-image') -- Get the text. We start with the opening blurb, which is something like -- "This is the template sandbox for [[Template:Foo]] (diff)." local text = '' local pagetype if subjectSpace == 10 then pagetype = message('sandbox-notice-pagetype-template') elseif subjectSpace == 828 then pagetype = message('sandbox-notice-pagetype-module') else pagetype = message('sandbox-notice-pagetype-other') end local templateLink = makeWikilink(templateTitle.prefixedText) local compareUrl = env.compareUrl if compareUrl then local compareDisplay = message('sandbox-notice-compare-link-display') local compareLink = makeUrlLink(compareUrl, compareDisplay) text = text .. message('sandbox-notice-diff-blurb', {pagetype, templateLink, compareLink}) else text = text .. message('sandbox-notice-blurb', {pagetype, templateLink}) end -- Get the test cases page blurb if the page exists. This is something like -- "See also the companion subpage for [[Template:Foo/testcases|test cases]]." local testcasesTitle = env.testcasesTitle if testcasesTitle and testcasesTitle.exists then if testcasesTitle.namespace == mw.site.namespaces.Module.id then local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display') local testcasesRunLinkDisplay = message('sandbox-notice-testcases-run-link-display') local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay) local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay) text = text .. '<br />' .. message('sandbox-notice-testcases-run-blurb', {testcasesLink, testcasesRunLink}) else local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display') local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay) text = text .. '<br />' .. message('sandbox-notice-testcases-blurb', {testcasesLink}) end end -- Add the sandbox to the sandbox category. text = text .. makeCategoryLink(message('sandbox-category')) omargs.text = text local ret = '<div style="clear: both;"></div>' ret = ret .. messageBox.main('ombox', omargs) return ret end function p.protectionTemplate(env) -- Generates the padlock icon in the top right. -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'protection-template' --> 'pp-template' -- 'protection-template-args' --> {docusage = 'yes'} local protectionLevels, mProtectionBanner local title = env.title protectionLevels = env.protectionLevels if not protectionLevels then return nil end local editProt = protectionLevels.edit and protectionLevels.edit[1] local moveProt = protectionLevels.move and protectionLevels.move[1] if editProt then -- The page is edit-protected. mProtectionBanner = require('Module:Protection banner') local reason = message('protection-reason-edit') return mProtectionBanner._main{reason, small = true} elseif moveProt and moveProt ~= 'autoconfirmed' then -- The page is move-protected but not edit-protected. Exclude move -- protection with the level "autoconfirmed", as this is equivalent to -- no move protection at all. mProtectionBanner = require('Module:Protection banner') return mProtectionBanner._main{action = 'move', small = true} else return nil end end ---------------------------------------------------------------------------- -- Start box ---------------------------------------------------------------------------- p.startBox = makeInvokeFunc('_startBox') function p._startBox(args, env) --[[ -- This function generates the start box. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make -- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox -- which generate the box HTML. --]] env = env or p.getEnvironment(args) local links local content = args.content if not content then -- No need to include the links if the documentation is on the template page itself. local linksData = p.makeStartBoxLinksData(args, env) if linksData then links = p.renderStartBoxLinks(linksData) end end -- Generate the start box html. local data = p.makeStartBoxData(args, env, links) if data then return p.renderStartBox(data) else -- User specified no heading. return nil end end function p.makeStartBoxLinksData(args, env) --[[ -- Does initial processing of data to make the [view] [edit] [history] [purge] links. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'view-link-display' --> 'view' -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'purge-link-display' --> 'purge' -- 'file-docpage-preload' --> 'Template:Documentation/preload-filespace' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'docpage-preload' --> 'Template:Documentation/preload' -- 'create-link-display' --> 'create' --]] local subjectSpace = env.subjectSpace local title = env.title local docTitle = env.docTitle if not title or not docTitle then return nil end local data = {} data.title = title data.docTitle = docTitle -- View, display, edit, and purge links if /doc exists. data.viewLinkDisplay = message('view-link-display') data.editLinkDisplay = message('edit-link-display') data.historyLinkDisplay = message('history-link-display') data.purgeLinkDisplay = message('purge-link-display') -- Create link if /doc doesn't exist. local preload = args.preload if not preload then if subjectSpace == 6 then -- File namespace preload = message('file-docpage-preload') elseif subjectSpace == 828 then -- Module namespace preload = message('module-preload') else preload = message('docpage-preload') end end data.preload = preload data.createLinkDisplay = message('create-link-display') return data end function p.renderStartBoxLinks(data) --[[ -- Generates the [view][edit][history][purge] or [create] links from the data table. -- @data - a table of data generated by p.makeStartBoxLinksData --]] local function escapeBrackets(s) -- Escapes square brackets with HTML entities. s = s:gsub('%[', '&#91;') -- Replace square brackets with HTML entities. s = s:gsub('%]', '&#93;') return s end local ret local docTitle = data.docTitle local title = data.title if docTitle.exists then local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay) local editLink = makeUrlLink(docTitle:fullUrl{action = 'edit'}, data.editLinkDisplay) local historyLink = makeUrlLink(docTitle:fullUrl{action = 'history'}, data.historyLinkDisplay) local purgeLink = makeUrlLink(title:fullUrl{action = 'purge'}, data.purgeLinkDisplay) ret = '[%s] [%s] [%s] [%s]' ret = escapeBrackets(ret) ret = mw.ustring.format(ret, viewLink, editLink, historyLink, purgeLink) else local createLink = makeUrlLink(docTitle:fullUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay) ret = '[%s]' ret = escapeBrackets(ret) ret = mw.ustring.format(ret, createLink) end return ret end function p.makeStartBoxData(args, env, links) --[=[ -- Does initial processing of data to pass to the start-box render function, p.renderStartBox. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- @links - a string containing the [view][edit][history][purge] links - could be nil if there's an error. -- -- Messages: -- 'documentation-icon-wikitext' --> '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- 'template-namespace-heading' --> 'Template documentation' -- 'module-namespace-heading' --> 'Module documentation' -- 'file-namespace-heading' --> 'Summary' -- 'other-namespaces-heading' --> 'Documentation' -- 'start-box-linkclasses' --> 'mw-editsection-like plainlinks' -- 'start-box-link-id' --> 'doc_editlinks' -- 'testcases-create-link-display' --> 'create' --]=] local subjectSpace = env.subjectSpace if not subjectSpace then -- Default to an "other namespaces" namespace, so that we get at least some output -- if an error occurs. subjectSpace = 2 end local data = {} -- Heading local heading = args.heading -- Blank values are not removed. if heading == '' then -- Don't display the start box if the heading arg is defined but blank. return nil end if heading then data.heading = heading elseif subjectSpace == 10 then -- Template namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('template-namespace-heading') elseif subjectSpace == 828 then -- Module namespace data.heading = message('documentation-icon-wikitext') .. ' ' .. message('module-namespace-heading') elseif subjectSpace == 6 then -- File namespace data.heading = message('file-namespace-heading') else data.heading = message('other-namespaces-heading') end -- Heading CSS local headingStyle = args['heading-style'] if headingStyle then data.headingStyleText = headingStyle elseif subjectSpace == 10 then -- We are in the template or template talk namespaces. data.headingFontWeight = 'bold' data.headingFontSize = '125%' else data.headingFontSize = '150%' end -- Data for the [view][edit][history][purge] or [create] links. if links then data.linksClass = message('start-box-linkclasses') data.linksId = message('start-box-link-id') data.links = links end return data end function p.renderStartBox(data) -- Renders the start box html. -- @data - a table of data generated by p.makeStartBoxData. local sbox = mw.html.create('div') sbox :css('padding-bottom', '3px') :css('border-bottom', '1px solid #aaa') :css('margin-bottom', '1ex') :newline() :tag('span') :cssText(data.headingStyleText) :css('font-weight', data.headingFontWeight) :css('font-size', data.headingFontSize) :wikitext(data.heading) local links = data.links if links then sbox:tag('span') :addClass(data.linksClass) :attr('id', data.linksId) :wikitext(links) end return tostring(sbox) end ---------------------------------------------------------------------------- -- Documentation content ---------------------------------------------------------------------------- p.content = makeInvokeFunc('_content') function p._content(args, env) -- Displays the documentation contents -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment env = env or p.getEnvironment(args) local docTitle = env.docTitle local content = args.content if not content and docTitle and docTitle.exists then content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText} end -- The line breaks below are necessary so that "=== Headings ===" at the start and end -- of docs are interpreted correctly. return '\n' .. (content or '') .. '\n' end p.contentTitle = makeInvokeFunc('_contentTitle') function p._contentTitle(args, env) env = env or p.getEnvironment(args) local docTitle = env.docTitle if not args.content and docTitle and docTitle.exists then return docTitle.prefixedText else return '' end end ---------------------------------------------------------------------------- -- End box ---------------------------------------------------------------------------- p.endBox = makeInvokeFunc('_endBox') function p._endBox(args, env) --[=[ -- This function generates the end box (also known as the link box). -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'fmbox-id' --> 'documentation-meta-data' -- 'fmbox-style' --> 'background-color: #ecfcf4' -- 'fmbox-textstyle' --> 'font-style: italic' -- -- The HTML is generated by the {{fmbox}} template, courtesy of [[Module:Message box]]. --]=] -- Get environment data. env = env or p.getEnvironment(args) local subjectSpace = env.subjectSpace local docTitle = env.docTitle if not subjectSpace or not docTitle then return nil end -- Check whether we should output the end box at all. Add the end -- box by default if the documentation exists or if we are in the -- user, module or template namespaces. local linkBox = args['link box'] if linkBox == 'off' or not ( docTitle.exists or subjectSpace == 2 or subjectSpace == 828 or subjectSpace == 10 ) then return nil end -- Assemble the arguments for {{fmbox}}. local fmargs = {} fmargs.id = message('fmbox-id') -- Sets 'documentation-meta-data' fmargs.image = 'none' fmargs.style = message('fmbox-style') -- Sets 'background-color: #ecfcf4' fmargs.textstyle = message('fmbox-textstyle') -- 'font-style: italic;' -- Assemble the fmbox text field. local text = '' if linkBox then text = text .. linkBox else text = text .. (p.makeDocPageBlurb(args, env) or '') -- "This documentation is transcluded from [[Foo]]." if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then -- We are in the user, template or module namespaces. -- Add sandbox and testcases links. -- "Editors can experiment in this template's sandbox and testcases pages." text = text .. (p.makeExperimentBlurb(args, env) or '') text = text .. '<br />' if not args.content and not args[1] then -- "Please add categories to the /doc subpage." -- Don't show this message with inline docs or with an explicitly specified doc page, -- as then it is unclear where to add the categories. text = text .. (p.makeCategoriesBlurb(args, env) or '') end text = text .. ' ' .. (p.makeSubpagesBlurb(args, env) or '') --"Subpages of this template" local printBlurb = p.makePrintBlurb(args, env) -- Two-line blurb about print versions of templates. if printBlurb then text = text .. '<br />' .. printBlurb end end end fmargs.text = text return messageBox.main('fmbox', fmargs) end function p.makeDocPageBlurb(args, env) --[=[ -- Makes the blurb "This documentation is transcluded from [[Template:Foo]] (edit, history)". -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'edit-link-display' --> 'edit' -- 'history-link-display' --> 'history' -- 'transcluded-from-blurb' --> -- 'The above [[Wikipedia:Template documentation|documentation]] -- is [[Wikipedia:Transclusion|transcluded]] from $1.' -- 'module-preload' --> 'Template:Documentation/preload-module-doc' -- 'create-link-display' --> 'create' -- 'create-module-doc-blurb' --> -- 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].' --]=] local docTitle = env.docTitle if not docTitle then return nil end local ret if docTitle.exists then -- /doc exists; link to it. local docLink = makeWikilink(docTitle.prefixedText) local editUrl = docTitle:fullUrl{action = 'edit'} local editDisplay = message('edit-link-display') local editLink = makeUrlLink(editUrl, editDisplay) local historyUrl = docTitle:fullUrl{action = 'history'} local historyDisplay = message('history-link-display') local historyLink = makeUrlLink(historyUrl, historyDisplay) ret = message('transcluded-from-blurb', {docLink}) .. ' ' .. makeToolbar(editLink, historyLink) .. '<br />' elseif env.subjectSpace == 828 then -- /doc does not exist; ask to create it. local createUrl = docTitle:fullUrl{action = 'edit', preload = message('module-preload')} local createDisplay = message('create-link-display') local createLink = makeUrlLink(createUrl, createDisplay) ret = message('create-module-doc-blurb', {createLink}) .. '<br />' end return ret end function p.makeExperimentBlurb(args, env) --[[ -- Renders the text "Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'sandbox-link-display' --> 'sandbox' -- 'sandbox-edit-link-display' --> 'edit' -- 'compare-link-display' --> 'diff' -- 'module-sandbox-preload' --> 'Template:Documentation/preload-module-sandbox' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'sandbox-create-link-display' --> 'create' -- 'mirror-edit-summary' --> 'Create sandbox version of $1' -- 'mirror-link-display' --> 'mirror' -- 'mirror-link-preload' --> 'Template:Documentation/mirror' -- 'sandbox-link-display' --> 'sandbox' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display'--> 'edit' -- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox' -- 'testcases-create-link-display' --> 'create' -- 'testcases-link-display' --> 'testcases' -- 'testcases-edit-link-display' --> 'edit' -- 'module-testcases-preload' --> 'Template:Documentation/preload-module-testcases' -- 'template-testcases-preload' --> 'Template:Documentation/preload-testcases' -- 'experiment-blurb-module' --> 'Editors can experiment in this module's $1 and $2 pages.' -- 'experiment-blurb-template' --> 'Editors can experiment in this template's $1 and $2 pages.' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle local sandboxTitle = env.sandboxTitle local testcasesTitle = env.testcasesTitle local templatePage = templateTitle.prefixedText if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then return nil end -- Make links. local sandboxLinks, testcasesLinks if sandboxTitle.exists then local sandboxPage = sandboxTitle.prefixedText local sandboxDisplay = message('sandbox-link-display') local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay) local sandboxEditUrl = sandboxTitle:fullUrl{action = 'edit'} local sandboxEditDisplay = message('sandbox-edit-link-display') local sandboxEditLink = makeUrlLink(sandboxEditUrl, sandboxEditDisplay) local compareUrl = env.compareUrl local compareLink if compareUrl then local compareDisplay = message('compare-link-display') compareLink = makeUrlLink(compareUrl, compareDisplay) end sandboxLinks = sandboxLink .. ' ' .. makeToolbar(sandboxEditLink, compareLink) else local sandboxPreload if subjectSpace == 828 then sandboxPreload = message('module-sandbox-preload') else sandboxPreload = message('template-sandbox-preload') end local sandboxCreateUrl = sandboxTitle:fullUrl{action = 'edit', preload = sandboxPreload} local sandboxCreateDisplay = message('sandbox-create-link-display') local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay) local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)}) local mirrorPreload = message('mirror-link-preload') local mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary} if subjectSpace == 828 then mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = templateTitle.prefixedText, summary = mirrorSummary} end local mirrorDisplay = message('mirror-link-display') local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay) sandboxLinks = message('sandbox-link-display') .. ' ' .. makeToolbar(sandboxCreateLink, mirrorLink) end if testcasesTitle.exists then local testcasesPage = testcasesTitle.prefixedText local testcasesDisplay = message('testcases-link-display') local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay) local testcasesEditUrl = testcasesTitle:fullUrl{action = 'edit'} local testcasesEditDisplay = message('testcases-edit-link-display') local testcasesEditLink = makeUrlLink(testcasesEditUrl, testcasesEditDisplay) -- for Modules, add testcases run link if exists if subjectSpace == 828 and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then local testcasesRunLinkDisplay = message('testcases-run-link-display') local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay) testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink, testcasesRunLink) else testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink) end else local testcasesPreload if subjectSpace == 828 then testcasesPreload = message('module-testcases-preload') else testcasesPreload = message('template-testcases-preload') end local testcasesCreateUrl = testcasesTitle:fullUrl{action = 'edit', preload = testcasesPreload} local testcasesCreateDisplay = message('testcases-create-link-display') local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay) testcasesLinks = message('testcases-link-display') .. ' ' .. makeToolbar(testcasesCreateLink) end local messageName if subjectSpace == 828 then messageName = 'experiment-blurb-module' else messageName = 'experiment-blurb-template' end return message(messageName, {sandboxLinks, testcasesLinks}) end function p.makeCategoriesBlurb(args, env) --[[ -- Generates the text "Please add categories to the /doc subpage." -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'doc-link-display' --> '/doc' -- 'add-categories-blurb' --> 'Please add categories to the $1 subpage.' --]] local docTitle = env.docTitle if not docTitle then return nil end local docPathLink = makeWikilink(docTitle.prefixedText, message('doc-link-display')) return message('add-categories-blurb', {docPathLink}) end function p.makeSubpagesBlurb(args, env) --[[ -- Generates the "Subpages of this template" link. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'template-pagetype' --> 'template' -- 'module-pagetype' --> 'module' -- 'default-pagetype' --> 'page' -- 'subpages-link-display' --> 'Subpages of this $1' --]] local subjectSpace = env.subjectSpace local templateTitle = env.templateTitle if not subjectSpace or not templateTitle then return nil end local pagetype if subjectSpace == 10 then pagetype = message('template-pagetype') elseif subjectSpace == 828 then pagetype = message('module-pagetype') else pagetype = message('default-pagetype') end local subpagesLink = makeWikilink( 'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/', message('subpages-link-display', {pagetype}) ) return message('subpages-blurb', {subpagesLink}) end function p.makePrintBlurb(args, env) --[=[ -- Generates the blurb displayed when there is a print version of the template available. -- @args - a table of arguments passed by the user -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- -- Messages: -- 'print-link-display' --> '/Print' -- 'print-blurb' --> 'A [[Help:Books/for experts#Improving the book layout|print version]]' -- .. ' of this template exists at $1.' -- .. ' If you make a change to this template, please update the print version as well.' -- 'display-print-category' --> true -- 'print-category' --> 'Templates with print versions' --]=] local printTitle = env.printTitle if not printTitle then return nil end local ret if printTitle.exists then local printLink = makeWikilink(printTitle.prefixedText, message('print-link-display')) ret = message('print-blurb', {printLink}) local displayPrintCategory = message('display-print-category', nil, 'boolean') if displayPrintCategory then ret = ret .. makeCategoryLink(message('print-category')) end end return ret end ---------------------------------------------------------------------------- -- Tracking categories ---------------------------------------------------------------------------- function p.addTrackingCategories(env) --[[ -- Check if {{documentation}} is transcluded on a /doc or /testcases page. -- @env - environment table containing title objects, etc., generated with p.getEnvironment -- Messages: -- 'display-strange-usage-category' --> true -- 'doc-subpage' --> 'doc' -- 'testcases-subpage' --> 'testcases' -- 'strange-usage-category' --> 'Wikipedia pages with strange ((documentation)) usage' -- -- /testcases pages in the module namespace are not categorised, as they may have -- {{documentation}} transcluded automatically. --]] local title = env.title local subjectSpace = env.subjectSpace if not title or not subjectSpace then return nil end local subpage = title.subpageText local ret = '' if message('display-strange-usage-category', nil, 'boolean') and ( subpage == message('doc-subpage') or subjectSpace ~= 828 and subpage == message('testcases-subpage') ) then ret = ret .. makeCategoryLink(message('strange-usage-category')) end return ret end return p 6xeyzv7ll0uxe1a8cnst0ozvaf17m37 Modulo:Documenti/ajusta 828 8005 43232 2026-07-06T23:14:30Z Ne 1118 Paje creada con "---------------------------------------------------------------------------------------------------- -- -- Configuration for Module:Documentation -- -- Here you can set the values of the parameters and messages used in Module:Documentation to -- localise it to your wiki and your language. Unless specified otherwise, values given here -- should be string values. -----------------------------------------------------------------------------------..." 43232 Scribunto text/plain ---------------------------------------------------------------------------------------------------- -- -- Configuration for Module:Documentation -- -- Here you can set the values of the parameters and messages used in Module:Documentation to -- localise it to your wiki and your language. Unless specified otherwise, values given here -- should be string values. ---------------------------------------------------------------------------------------------------- local cfg = {} -- Do not edit this line. ---------------------------------------------------------------------------------------------------- -- Protection template configuration ---------------------------------------------------------------------------------------------------- -- cfg['protection-reason-edit'] -- The protection reason for edit-protected templates to pass to -- [[Module:Protection banner]]. cfg['protection-reason-edit'] = 'template' --[[ ---------------------------------------------------------------------------------------------------- -- Sandbox notice configuration -- -- On sandbox pages the module can display a template notifying users that the current page is a -- sandbox, and the location of test cases pages, etc. The module decides whether the page is a -- sandbox or not based on the value of cfg['sandbox-subpage']. The following settings configure the -- messages that the notices contains. ---------------------------------------------------------------------------------------------------- --]] -- cfg['sandbox-notice-image'] -- The image displayed in the sandbox notice. cfg['sandbox-notice-image'] = '[[Image:Sandbox.svg|50px|alt=|link=]]' --[[ -- cfg['sandbox-notice-pagetype-template'] -- cfg['sandbox-notice-pagetype-module'] -- cfg['sandbox-notice-pagetype-other'] -- The page type of the sandbox page. The message that is displayed depends on the current subject -- namespace. This message is used in either cfg['sandbox-notice-blurb'] or -- cfg['sandbox-notice-diff-blurb']. --]] cfg['sandbox-notice-pagetype-template'] = 'paje de [[Wikipedia:Template test cases|proba per modeles]]' cfg['sandbox-notice-pagetype-module'] = 'paje de [[Wikipedia:Template test cases|proba per modulos]]' cfg['sandbox-notice-pagetype-other'] = 'paje de proba' --[[ -- cfg['sandbox-notice-blurb'] -- cfg['sandbox-notice-diff-blurb'] -- cfg['sandbox-notice-diff-display'] -- Either cfg['sandbox-notice-blurb'] or cfg['sandbox-notice-diff-blurb'] is the opening sentence -- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page -- type, which is either cfg['sandbox-notice-pagetype-template'], -- cfg['sandbox-notice-pagetype-module'] or cfg['sandbox-notice-pagetype-other'] depending what -- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between -- the sandbox and the main template. The display value of the diff link is set by -- cfg['sandbox-notice-compare-link-display']. --]] cfg['sandbox-notice-blurb'] = 'Esta es la $1 per $2.' cfg['sandbox-notice-diff-blurb'] = 'Esta es la $1 per $2 ($3).' cfg['sandbox-notice-compare-link-display'] = 'dif' --[[ -- cfg['sandbox-notice-testcases-blurb'] -- cfg['sandbox-notice-testcases-link-display'] -- cfg['sandbox-notice-testcases-run-blurb'] -- cfg['sandbox-notice-testcases-run-link-display'] -- cfg['sandbox-notice-testcases-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit. $1 is a link to the test cases page. -- cfg['sandbox-notice-testcases-link-display'] is the display value for that link. -- cfg['sandbox-notice-testcases-run-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test -- cases page, and $2 is a link to the page to run it. -- cfg['sandbox-notice-testcases-run-link-display'] is the display value for the link to run the test -- cases. --]] cfg['sandbox-notice-testcases-blurb'] = 'Vide ance la supaje acompaniante per $1.' cfg['sandbox-notice-testcases-link-display'] = 'casos de proba' cfg['sandbox-notice-testcases-run-blurb'] = 'Vide ance la supaje acompaniante per $1 ($2).' cfg['sandbox-notice-testcases-run-link-display'] = 'esecuta' -- cfg['sandbox-category'] -- A category to add to all template sandboxes. cfg['sandbox-category'] = 'Pajes de proba de modeles' ---------------------------------------------------------------------------------------------------- -- Start box configuration ---------------------------------------------------------------------------------------------------- -- cfg['documentation-icon-wikitext'] -- The wikitext for the icon shown at the top of the template. cfg['documentation-icon-wikitext'] = '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- cfg['template-namespace-heading'] -- The heading shown in the template namespace. cfg['template-namespace-heading'] = 'Documenti de model' -- cfg['module-namespace-heading'] -- The heading shown in the module namespace. cfg['module-namespace-heading'] = 'Documenti de modulo' -- cfg['file-namespace-heading'] -- The heading shown in the file namespace. cfg['file-namespace-heading'] = 'Resoma' -- cfg['other-namespaces-heading'] -- The heading shown in other namespaces. cfg['other-namespaces-heading'] = 'Documenti' -- cfg['view-link-display'] -- The text to display for "view" links. cfg['view-link-display'] = 'vide' -- cfg['edit-link-display'] -- The text to display for "edit" links. cfg['edit-link-display'] = 'edita' -- cfg['history-link-display'] -- The text to display for "history" links. cfg['history-link-display'] = 'istoria' -- cfg['purge-link-display'] -- The text to display for "purge" links. cfg['purge-link-display'] = 'purga' -- cfg['create-link-display'] -- The text to display for "create" links. cfg['create-link-display'] = 'crea' ---------------------------------------------------------------------------------------------------- -- Link box (end box) configuration ---------------------------------------------------------------------------------------------------- -- cfg['transcluded-from-blurb'] -- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page. cfg['transcluded-from-blurb'] = 'La [[Wikipedia:Template documentation|paje de documenti]] de supra es [[Wikipedia:Transclusion|emportada]] de $1.' --[[ -- cfg['create-module-doc-blurb'] -- Notice displayed in the module namespace when the documentation subpage does not exist. -- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the -- display cfg['create-link-display']. --]] cfg['create-module-doc-blurb'] = 'Tu ta vole $1 un paje de documenti per esta [[Wikipedia:Lua|modulo Scribunto]].' ---------------------------------------------------------------------------------------------------- -- Experiment blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['experiment-blurb-template'] -- cfg['experiment-blurb-module'] -- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages. -- It is only shown in the template and module namespaces. With the default English settings, it -- might look like this: -- -- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages. -- -- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links. -- -- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending -- on what namespace we are in. -- -- Parameters: -- -- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display']) -- -- If the sandbox doesn't exist, it is in the format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display']) -- -- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload'] -- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display'] -- loads a default edit summary of cfg['mirror-edit-summary']. -- -- $2 is a link to the test cases page. If the test cases page exists, it is in the following format: -- -- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display']) -- -- If the test cases page doesn't exist, it is in the format: -- -- cfg['testcases-link-display'] (cfg['testcases-create-link-display']) -- -- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the -- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current -- namespace. --]] cfg['experiment-blurb-template'] = "Editores pote experimenta en la pajes $1 e $2 de esta model." cfg['experiment-blurb-module'] = "Editores pote experimenta en la pajes $1 e $2 de esta modulo." ---------------------------------------------------------------------------------------------------- -- Sandbox link configuration ---------------------------------------------------------------------------------------------------- -- cfg['sandbox-subpage'] -- The name of the template subpage typically used for sandboxes. cfg['sandbox-subpage'] = 'proba' -- cfg['template-sandbox-preload'] -- Preload file for template sandbox pages. cfg['template-sandbox-preload'] = 'Template:Documentation/preload-sandbox' -- cfg['module-sandbox-preload'] -- Preload file for Lua module sandbox pages. cfg['module-sandbox-preload'] = 'Template:Documentation/preload-module-sandbox' -- cfg['sandbox-link-display'] -- The text to display for "sandbox" links. cfg['sandbox-link-display'] = 'de proba' -- cfg['sandbox-edit-link-display'] -- The text to display for sandbox "edit" links. cfg['sandbox-edit-link-display'] = 'edita' -- cfg['sandbox-create-link-display'] -- The text to display for sandbox "create" links. cfg['sandbox-create-link-display'] = 'crea' -- cfg['compare-link-display'] -- The text to display for "compare" links. cfg['compare-link-display'] = 'dif' -- cfg['mirror-edit-summary'] -- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the -- template page. cfg['mirror-edit-summary'] = 'Crea varia de proba de $1' -- cfg['mirror-link-display'] -- The text to display for "mirror" links. cfg['mirror-link-display'] = 'mirori' -- cfg['mirror-link-preload'] -- The page to preload when a user clicks the "mirror" link. cfg['mirror-link-preload'] = 'Template:Documentation/miror' ---------------------------------------------------------------------------------------------------- -- Test cases link configuration ---------------------------------------------------------------------------------------------------- -- cfg['testcases-subpage'] -- The name of the template subpage typically used for test cases. cfg['testcases-subpage'] = 'casos de proba' -- cfg['template-testcases-preload'] -- Preload file for template test cases pages. cfg['template-testcases-preload'] = 'Template:Documentation/preload-testcases' -- cfg['module-testcases-preload'] -- Preload file for Lua module test cases pages. cfg['module-testcases-preload'] = 'Template:Documentation/preload-module-testcases' -- cfg['testcases-link-display'] -- The text to display for "testcases" links. cfg['testcases-link-display'] = 'de casos de proba' -- cfg['testcases-edit-link-display'] -- The text to display for test cases "edit" links. cfg['testcases-edit-link-display'] = 'edita' -- cfg['testcases-run-link-display'] -- The text to display for test cases "run" links. cfg['testcases-run-link-display'] = 'esecuta' -- cfg['testcases-create-link-display'] -- The text to display for test cases "create" links. cfg['testcases-create-link-display'] = 'crea' ---------------------------------------------------------------------------------------------------- -- Add categories blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['add-categories-blurb'] -- Text to direct users to add categories to the /doc subpage. Not used if the "content" or -- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a -- link to the /doc subpage with a display value of cfg['doc-link-display']. --]] cfg['add-categories-blurb'] = 'Ajunta categorias a la supaje $1.' -- cfg['doc-link-display'] -- The text to display when linking to the /doc subpage. cfg['doc-link-display'] = '/doc' ---------------------------------------------------------------------------------------------------- -- Subpages link configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['subpages-blurb'] -- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a -- display value of cfg['subpages-link-display']. In the English version this blurb is simply -- the link followed by a period, and the link display provides the actual text. --]] cfg['subpages-blurb'] = '$1.' --[[ -- cfg['subpages-link-display'] -- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'], -- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in -- the template namespace, the module namespace, or another namespace. --]] cfg['subpages-link-display'] = 'Supajes de esta $1' -- cfg['template-pagetype'] -- The pagetype to display for template pages. cfg['template-pagetype'] = 'model' -- cfg['module-pagetype'] -- The pagetype to display for Lua module pages. cfg['module-pagetype'] = 'modulo' -- cfg['default-pagetype'] -- The pagetype to display for pages other than templates or Lua modules. cfg['default-pagetype'] = 'paje' ---------------------------------------------------------------------------------------------------- -- Doc link configuration ---------------------------------------------------------------------------------------------------- -- cfg['doc-subpage'] -- The name of the subpage typically used for documentation pages. cfg['doc-subpage'] = 'doc' -- cfg['file-docpage-preload'] -- Preload file for documentation page in the file namespace. cfg['file-docpage-preload'] = 'Template:Documentation/preload-filespace' -- cfg['docpage-preload'] -- Preload file for template documentation pages in all namespaces. cfg['docpage-preload'] = 'Template:Documentation/preload' -- cfg['module-preload'] -- Preload file for Lua module documentation pages. cfg['module-preload'] = 'Template:Documentation/preload-module-doc' ---------------------------------------------------------------------------------------------------- -- Print version configuration ---------------------------------------------------------------------------------------------------- -- cfg['print-subpage'] -- The name of the template subpage used for print versions. cfg['print-subpage'] = 'Primi' -- cfg['print-link-display'] -- The text to display when linking to the /Print subpage. cfg['print-link-display'] = '/Primi' -- cfg['print-blurb'] -- Text to display if a /Print subpage exists. $1 is a link to the subpage with a display value of cfg['print-link-display']. cfg['print-blurb'] = 'Un [[Help:Books/for experts#Improving the book layout|varia de primi]] de esta model esiste en $1.' .. ' Si tu fa un cambia a esta model, por favore ance corenti la varia de primi.' -- cfg['display-print-category'] -- Set to true to enable output of cfg['print-category'] if a /Print subpage exists. -- This should be a boolean value (either true or false). cfg['display-print-category'] = true -- cfg['print-category'] -- Category to output if cfg['display-print-category'] is set to true, and a /Print subpage exists. cfg['print-category'] = 'Modeles con varias de primi' ---------------------------------------------------------------------------------------------------- -- HTML and CSS configuration ---------------------------------------------------------------------------------------------------- -- cfg['main-div-id'] -- The "id" attribute of the main HTML "div" tag. cfg['main-div-id'] = 'template-documentation' -- cfg['main-div-classes'] -- The CSS classes added to the main HTML "div" tag. cfg['main-div-classes'] = 'template-documentation iezoomfix' -- cfg['start-box-linkclasses'] -- The CSS classes used for the [view][edit][history] or [create] links in the start box. cfg['start-box-linkclasses'] = 'mw-editsection-like plainlinks' -- cfg['start-box-link-id'] -- The HTML "id" attribute for the links in the start box. cfg['start-box-link-id'] = 'doc_editlinks' ---------------------------------------------------------------------------------------------------- -- {{fmbox}} template configuration ---------------------------------------------------------------------------------------------------- -- cfg['fmbox-id'] -- The id sent to the "id" parameter of the {{fmbox}} template. cfg['fmbox-id'] = 'documentation-meta-data' -- cfg['fmbox-style'] -- The value sent to the style parameter of {{fmbox}}. cfg['fmbox-style'] = 'background-color: #ecfcf4' -- cfg['fmbox-textstyle'] -- The value sent to the "textstyle parameter of {{fmbox}}. cfg['fmbox-textstyle'] = 'font-style: italic' ---------------------------------------------------------------------------------------------------- -- Tracking category configuration ---------------------------------------------------------------------------------------------------- -- cfg['display-strange-usage-category'] -- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage -- or a /testcases subpage. This should be a boolean value (either true or false). cfg['display-strange-usage-category'] = true -- cfg['strange-usage-category'] -- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a -- /doc subpage or a /testcases subpage. cfg['strange-usage-category'] = 'Pajes de' .. mw.site.siteName .. 'con usa strana de ((documentation))' --[[ ---------------------------------------------------------------------------------------------------- -- End configuration -- -- Don't edit anything below this line. ---------------------------------------------------------------------------------------------------- --]] return cfg e00t00jvxq84p0c2mg65oshy0cmtb96 43239 43232 2026-07-06T23:29:39Z Ne 1118 emportada -> transcluida 43239 Scribunto text/plain ---------------------------------------------------------------------------------------------------- -- -- Configuration for Module:Documentation -- -- Here you can set the values of the parameters and messages used in Module:Documentation to -- localise it to your wiki and your language. Unless specified otherwise, values given here -- should be string values. ---------------------------------------------------------------------------------------------------- local cfg = {} -- Do not edit this line. ---------------------------------------------------------------------------------------------------- -- Protection template configuration ---------------------------------------------------------------------------------------------------- -- cfg['protection-reason-edit'] -- The protection reason for edit-protected templates to pass to -- [[Module:Protection banner]]. cfg['protection-reason-edit'] = 'template' --[[ ---------------------------------------------------------------------------------------------------- -- Sandbox notice configuration -- -- On sandbox pages the module can display a template notifying users that the current page is a -- sandbox, and the location of test cases pages, etc. The module decides whether the page is a -- sandbox or not based on the value of cfg['sandbox-subpage']. The following settings configure the -- messages that the notices contains. ---------------------------------------------------------------------------------------------------- --]] -- cfg['sandbox-notice-image'] -- The image displayed in the sandbox notice. cfg['sandbox-notice-image'] = '[[Image:Sandbox.svg|50px|alt=|link=]]' --[[ -- cfg['sandbox-notice-pagetype-template'] -- cfg['sandbox-notice-pagetype-module'] -- cfg['sandbox-notice-pagetype-other'] -- The page type of the sandbox page. The message that is displayed depends on the current subject -- namespace. This message is used in either cfg['sandbox-notice-blurb'] or -- cfg['sandbox-notice-diff-blurb']. --]] cfg['sandbox-notice-pagetype-template'] = 'paje de [[Wikipedia:Template test cases|proba per modeles]]' cfg['sandbox-notice-pagetype-module'] = 'paje de [[Wikipedia:Template test cases|proba per modulos]]' cfg['sandbox-notice-pagetype-other'] = 'paje de proba' --[[ -- cfg['sandbox-notice-blurb'] -- cfg['sandbox-notice-diff-blurb'] -- cfg['sandbox-notice-diff-display'] -- Either cfg['sandbox-notice-blurb'] or cfg['sandbox-notice-diff-blurb'] is the opening sentence -- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page -- type, which is either cfg['sandbox-notice-pagetype-template'], -- cfg['sandbox-notice-pagetype-module'] or cfg['sandbox-notice-pagetype-other'] depending what -- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between -- the sandbox and the main template. The display value of the diff link is set by -- cfg['sandbox-notice-compare-link-display']. --]] cfg['sandbox-notice-blurb'] = 'Esta es la $1 per $2.' cfg['sandbox-notice-diff-blurb'] = 'Esta es la $1 per $2 ($3).' cfg['sandbox-notice-compare-link-display'] = 'dif' --[[ -- cfg['sandbox-notice-testcases-blurb'] -- cfg['sandbox-notice-testcases-link-display'] -- cfg['sandbox-notice-testcases-run-blurb'] -- cfg['sandbox-notice-testcases-run-link-display'] -- cfg['sandbox-notice-testcases-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit. $1 is a link to the test cases page. -- cfg['sandbox-notice-testcases-link-display'] is the display value for that link. -- cfg['sandbox-notice-testcases-run-blurb'] is a sentence notifying the user that there is a test cases page -- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test -- cases page, and $2 is a link to the page to run it. -- cfg['sandbox-notice-testcases-run-link-display'] is the display value for the link to run the test -- cases. --]] cfg['sandbox-notice-testcases-blurb'] = 'Vide ance la supaje acompaniante per $1.' cfg['sandbox-notice-testcases-link-display'] = 'casos de proba' cfg['sandbox-notice-testcases-run-blurb'] = 'Vide ance la supaje acompaniante per $1 ($2).' cfg['sandbox-notice-testcases-run-link-display'] = 'esecuta' -- cfg['sandbox-category'] -- A category to add to all template sandboxes. cfg['sandbox-category'] = 'Pajes de proba de modeles' ---------------------------------------------------------------------------------------------------- -- Start box configuration ---------------------------------------------------------------------------------------------------- -- cfg['documentation-icon-wikitext'] -- The wikitext for the icon shown at the top of the template. cfg['documentation-icon-wikitext'] = '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]' -- cfg['template-namespace-heading'] -- The heading shown in the template namespace. cfg['template-namespace-heading'] = 'Documenti de model' -- cfg['module-namespace-heading'] -- The heading shown in the module namespace. cfg['module-namespace-heading'] = 'Documenti de modulo' -- cfg['file-namespace-heading'] -- The heading shown in the file namespace. cfg['file-namespace-heading'] = 'Resoma' -- cfg['other-namespaces-heading'] -- The heading shown in other namespaces. cfg['other-namespaces-heading'] = 'Documenti' -- cfg['view-link-display'] -- The text to display for "view" links. cfg['view-link-display'] = 'vide' -- cfg['edit-link-display'] -- The text to display for "edit" links. cfg['edit-link-display'] = 'edita' -- cfg['history-link-display'] -- The text to display for "history" links. cfg['history-link-display'] = 'istoria' -- cfg['purge-link-display'] -- The text to display for "purge" links. cfg['purge-link-display'] = 'purga' -- cfg['create-link-display'] -- The text to display for "create" links. cfg['create-link-display'] = 'crea' ---------------------------------------------------------------------------------------------------- -- Link box (end box) configuration ---------------------------------------------------------------------------------------------------- -- cfg['transcluded-from-blurb'] -- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page. cfg['transcluded-from-blurb'] = 'La [[Wikipedia:Template documentation|paje de documenti]] de supra es [[Wikipedia:Transclusion|transcluida]] de $1.' --[[ -- cfg['create-module-doc-blurb'] -- Notice displayed in the module namespace when the documentation subpage does not exist. -- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the -- display cfg['create-link-display']. --]] cfg['create-module-doc-blurb'] = 'Tu ta vole $1 un paje de documenti per esta [[Wikipedia:Lua|modulo Scribunto]].' ---------------------------------------------------------------------------------------------------- -- Experiment blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['experiment-blurb-template'] -- cfg['experiment-blurb-module'] -- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages. -- It is only shown in the template and module namespaces. With the default English settings, it -- might look like this: -- -- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages. -- -- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links. -- -- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending -- on what namespace we are in. -- -- Parameters: -- -- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display']) -- -- If the sandbox doesn't exist, it is in the format: -- -- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display']) -- -- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload'] -- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display'] -- loads a default edit summary of cfg['mirror-edit-summary']. -- -- $2 is a link to the test cases page. If the test cases page exists, it is in the following format: -- -- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display']) -- -- If the test cases page doesn't exist, it is in the format: -- -- cfg['testcases-link-display'] (cfg['testcases-create-link-display']) -- -- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the -- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current -- namespace. --]] cfg['experiment-blurb-template'] = "Editores pote experimenta en la pajes $1 e $2 de esta model." cfg['experiment-blurb-module'] = "Editores pote experimenta en la pajes $1 e $2 de esta modulo." ---------------------------------------------------------------------------------------------------- -- Sandbox link configuration ---------------------------------------------------------------------------------------------------- -- cfg['sandbox-subpage'] -- The name of the template subpage typically used for sandboxes. cfg['sandbox-subpage'] = 'proba' -- cfg['template-sandbox-preload'] -- Preload file for template sandbox pages. cfg['template-sandbox-preload'] = 'Template:Documentation/preload-sandbox' -- cfg['module-sandbox-preload'] -- Preload file for Lua module sandbox pages. cfg['module-sandbox-preload'] = 'Template:Documentation/preload-module-sandbox' -- cfg['sandbox-link-display'] -- The text to display for "sandbox" links. cfg['sandbox-link-display'] = 'de proba' -- cfg['sandbox-edit-link-display'] -- The text to display for sandbox "edit" links. cfg['sandbox-edit-link-display'] = 'edita' -- cfg['sandbox-create-link-display'] -- The text to display for sandbox "create" links. cfg['sandbox-create-link-display'] = 'crea' -- cfg['compare-link-display'] -- The text to display for "compare" links. cfg['compare-link-display'] = 'dif' -- cfg['mirror-edit-summary'] -- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the -- template page. cfg['mirror-edit-summary'] = 'Crea varia de proba de $1' -- cfg['mirror-link-display'] -- The text to display for "mirror" links. cfg['mirror-link-display'] = 'mirori' -- cfg['mirror-link-preload'] -- The page to preload when a user clicks the "mirror" link. cfg['mirror-link-preload'] = 'Template:Documentation/miror' ---------------------------------------------------------------------------------------------------- -- Test cases link configuration ---------------------------------------------------------------------------------------------------- -- cfg['testcases-subpage'] -- The name of the template subpage typically used for test cases. cfg['testcases-subpage'] = 'casos de proba' -- cfg['template-testcases-preload'] -- Preload file for template test cases pages. cfg['template-testcases-preload'] = 'Template:Documentation/preload-testcases' -- cfg['module-testcases-preload'] -- Preload file for Lua module test cases pages. cfg['module-testcases-preload'] = 'Template:Documentation/preload-module-testcases' -- cfg['testcases-link-display'] -- The text to display for "testcases" links. cfg['testcases-link-display'] = 'de casos de proba' -- cfg['testcases-edit-link-display'] -- The text to display for test cases "edit" links. cfg['testcases-edit-link-display'] = 'edita' -- cfg['testcases-run-link-display'] -- The text to display for test cases "run" links. cfg['testcases-run-link-display'] = 'esecuta' -- cfg['testcases-create-link-display'] -- The text to display for test cases "create" links. cfg['testcases-create-link-display'] = 'crea' ---------------------------------------------------------------------------------------------------- -- Add categories blurb configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['add-categories-blurb'] -- Text to direct users to add categories to the /doc subpage. Not used if the "content" or -- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a -- link to the /doc subpage with a display value of cfg['doc-link-display']. --]] cfg['add-categories-blurb'] = 'Ajunta categorias a la supaje $1.' -- cfg['doc-link-display'] -- The text to display when linking to the /doc subpage. cfg['doc-link-display'] = '/doc' ---------------------------------------------------------------------------------------------------- -- Subpages link configuration ---------------------------------------------------------------------------------------------------- --[[ -- cfg['subpages-blurb'] -- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a -- display value of cfg['subpages-link-display']. In the English version this blurb is simply -- the link followed by a period, and the link display provides the actual text. --]] cfg['subpages-blurb'] = '$1.' --[[ -- cfg['subpages-link-display'] -- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'], -- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in -- the template namespace, the module namespace, or another namespace. --]] cfg['subpages-link-display'] = 'Supajes de esta $1' -- cfg['template-pagetype'] -- The pagetype to display for template pages. cfg['template-pagetype'] = 'model' -- cfg['module-pagetype'] -- The pagetype to display for Lua module pages. cfg['module-pagetype'] = 'modulo' -- cfg['default-pagetype'] -- The pagetype to display for pages other than templates or Lua modules. cfg['default-pagetype'] = 'paje' ---------------------------------------------------------------------------------------------------- -- Doc link configuration ---------------------------------------------------------------------------------------------------- -- cfg['doc-subpage'] -- The name of the subpage typically used for documentation pages. cfg['doc-subpage'] = 'doc' -- cfg['file-docpage-preload'] -- Preload file for documentation page in the file namespace. cfg['file-docpage-preload'] = 'Template:Documentation/preload-filespace' -- cfg['docpage-preload'] -- Preload file for template documentation pages in all namespaces. cfg['docpage-preload'] = 'Template:Documentation/preload' -- cfg['module-preload'] -- Preload file for Lua module documentation pages. cfg['module-preload'] = 'Template:Documentation/preload-module-doc' ---------------------------------------------------------------------------------------------------- -- Print version configuration ---------------------------------------------------------------------------------------------------- -- cfg['print-subpage'] -- The name of the template subpage used for print versions. cfg['print-subpage'] = 'Primi' -- cfg['print-link-display'] -- The text to display when linking to the /Print subpage. cfg['print-link-display'] = '/Primi' -- cfg['print-blurb'] -- Text to display if a /Print subpage exists. $1 is a link to the subpage with a display value of cfg['print-link-display']. cfg['print-blurb'] = 'Un [[Help:Books/for experts#Improving the book layout|varia de primi]] de esta model esiste en $1.' .. ' Si tu fa un cambia a esta model, por favore ance corenti la varia de primi.' -- cfg['display-print-category'] -- Set to true to enable output of cfg['print-category'] if a /Print subpage exists. -- This should be a boolean value (either true or false). cfg['display-print-category'] = true -- cfg['print-category'] -- Category to output if cfg['display-print-category'] is set to true, and a /Print subpage exists. cfg['print-category'] = 'Modeles con varias de primi' ---------------------------------------------------------------------------------------------------- -- HTML and CSS configuration ---------------------------------------------------------------------------------------------------- -- cfg['main-div-id'] -- The "id" attribute of the main HTML "div" tag. cfg['main-div-id'] = 'template-documentation' -- cfg['main-div-classes'] -- The CSS classes added to the main HTML "div" tag. cfg['main-div-classes'] = 'template-documentation iezoomfix' -- cfg['start-box-linkclasses'] -- The CSS classes used for the [view][edit][history] or [create] links in the start box. cfg['start-box-linkclasses'] = 'mw-editsection-like plainlinks' -- cfg['start-box-link-id'] -- The HTML "id" attribute for the links in the start box. cfg['start-box-link-id'] = 'doc_editlinks' ---------------------------------------------------------------------------------------------------- -- {{fmbox}} template configuration ---------------------------------------------------------------------------------------------------- -- cfg['fmbox-id'] -- The id sent to the "id" parameter of the {{fmbox}} template. cfg['fmbox-id'] = 'documentation-meta-data' -- cfg['fmbox-style'] -- The value sent to the style parameter of {{fmbox}}. cfg['fmbox-style'] = 'background-color: #ecfcf4' -- cfg['fmbox-textstyle'] -- The value sent to the "textstyle parameter of {{fmbox}}. cfg['fmbox-textstyle'] = 'font-style: italic' ---------------------------------------------------------------------------------------------------- -- Tracking category configuration ---------------------------------------------------------------------------------------------------- -- cfg['display-strange-usage-category'] -- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage -- or a /testcases subpage. This should be a boolean value (either true or false). cfg['display-strange-usage-category'] = true -- cfg['strange-usage-category'] -- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a -- /doc subpage or a /testcases subpage. cfg['strange-usage-category'] = 'Pajes de' .. mw.site.siteName .. 'con usa strana de ((documentation))' --[[ ---------------------------------------------------------------------------------------------------- -- End configuration -- -- Don't edit anything below this line. ---------------------------------------------------------------------------------------------------- --]] return cfg 7x91lpzkepi0zl32a411aesdy630pax Model:Documenti 10 8006 43237 2026-07-06T23:25:54Z Ne 1118 tradui de Template:Documentation 43237 wikitext text/x-wiki {{#invoke:documenti|main|_content={{ {{#invoke:documenti|contentTitle}}}}}}<noinclude> <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> g2506wnidqfy13vthjziwry16r9m3u6 Modulo:Category handler 828 8007 43240 2026-07-06T23:40:44Z Ne 1118 Paje creada con "-------------------------------------------------------------------------------- -- -- -- CATEGORY HANDLER -- -- -- -- This module implements the {{category handler}} template in Lua, -- -- with a few improvements: all namespaces and all namespace aliase..." 43240 Scribunto text/plain -------------------------------------------------------------------------------- -- -- -- CATEGORY HANDLER -- -- -- -- This module implements the {{category handler}} template in Lua, -- -- with a few improvements: all namespaces and all namespace aliases -- -- are supported, and namespace names are detected automatically for -- -- the local wiki. This module requires [[Module:Namespace detect]] -- -- and [[Module:Yesno]] to be available on the local wiki. It can be -- -- configured for different wikis by altering the values in -- -- [[Module:Category handler/config]], and pages can be blacklisted -- -- from categorisation by using [[Module:Category handler/blacklist]]. -- -- -- -------------------------------------------------------------------------------- -- Load required modules local yesno = require('Module:Yesno') -- Lazily load things we don't always need local mShared, mappings local p = {} -------------------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------------------- local function trimWhitespace(s, removeBlanks) if type(s) ~= 'string' then return s end s = s:match('^%s*(.-)%s*$') if removeBlanks then if s ~= '' then return s else return nil end else return s end end -------------------------------------------------------------------------------- -- CategoryHandler class -------------------------------------------------------------------------------- local CategoryHandler = {} CategoryHandler.__index = CategoryHandler function CategoryHandler.new(data, args) local obj = setmetatable({ _data = data, _args = args }, CategoryHandler) -- Set the title object do local pagename = obj:parameter('demopage') local success, titleObj if pagename then success, titleObj = pcall(mw.title.new, pagename) end if success and titleObj then obj.title = titleObj if titleObj == mw.title.getCurrentTitle() then obj._usesCurrentTitle = true end else obj.title = mw.title.getCurrentTitle() obj._usesCurrentTitle = true end end -- Set suppression parameter values for _, key in ipairs{'nocat', 'categories'} do local value = obj:parameter(key) value = trimWhitespace(value, true) obj['_' .. key] = yesno(value) end do local subpage = obj:parameter('subpage') local category2 = obj:parameter('category2') if type(subpage) == 'string' then subpage = mw.ustring.lower(subpage) end if type(category2) == 'string' then subpage = mw.ustring.lower(category2) end obj._subpage = trimWhitespace(subpage, true) obj._category2 = trimWhitespace(category2) -- don't remove blank values end return obj end function CategoryHandler:parameter(key) local parameterNames = self._data.parameters[key] local pntype = type(parameterNames) if pntype == 'string' or pntype == 'number' then return self._args[parameterNames] elseif pntype == 'table' then for _, name in ipairs(parameterNames) do local value = self._args[name] if value ~= nil then return value end end return nil else error(string.format( 'invalid config key "%s"', tostring(key) ), 2) end end function CategoryHandler:isSuppressedByArguments() return -- See if a category suppression argument has been set. self._nocat == true or self._categories == false or ( self._category2 and self._category2 ~= self._data.category2Yes and self._category2 ~= self._data.category2Negative ) -- Check whether we are on a subpage, and see if categories are -- suppressed based on our subpage status. or self._subpage == self._data.subpageNo and self.title.isSubpage or self._subpage == self._data.subpageOnly and not self.title.isSubpage end function CategoryHandler:shouldSkipBlacklistCheck() -- Check whether the category suppression arguments indicate we -- should skip the blacklist check. return self._nocat == false or self._categories == true or self._category2 == self._data.category2Yes end function CategoryHandler:matchesBlacklist() if self._usesCurrentTitle then return self._data.currentTitleMatchesBlacklist else mShared = mShared or require('Module:Category handler/shared') return mShared.matchesBlacklist( self.title.prefixedText, mw.loadData('Module:Category handler/blacklist') ) end end function CategoryHandler:isSuppressed() -- Find if categories are suppressed by either the arguments or by -- matching the blacklist. return self:isSuppressedByArguments() or not self:shouldSkipBlacklistCheck() and self:matchesBlacklist() end function CategoryHandler:getNamespaceParameters() if self._usesCurrentTitle then return self._data.currentTitleNamespaceParameters else if not mappings then mShared = mShared or require('Module:Category handler/shared') mappings = mShared.getParamMappings(true) -- gets mappings with mw.loadData end return mShared.getNamespaceParameters( self.title, mappings ) end end function CategoryHandler:namespaceParametersExist() -- Find whether any namespace parameters have been specified. -- We use the order "all" --> namespace params --> "other" as this is what -- the old template did. if self:parameter('all') then return true end if not mappings then mShared = mShared or require('Module:Category handler/shared') mappings = mShared.getParamMappings(true) -- gets mappings with mw.loadData end for ns, params in pairs(mappings) do for i, param in ipairs(params) do if self._args[param] then return true end end end if self:parameter('other') then return true end return false end function CategoryHandler:getCategories() local params = self:getNamespaceParameters() local nsCategory for i, param in ipairs(params) do local value = self._args[param] if value ~= nil then nsCategory = value break end end if nsCategory ~= nil or self:namespaceParametersExist() then -- Namespace parameters exist - advanced usage. if nsCategory == nil then nsCategory = self:parameter('other') end local ret = {self:parameter('all')} local numParam = tonumber(nsCategory) if numParam and numParam >= 1 and math.floor(numParam) == numParam then -- nsCategory is an integer ret[#ret + 1] = self._args[numParam] else ret[#ret + 1] = nsCategory end if #ret < 1 then return nil else return table.concat(ret) end elseif self._data.defaultNamespaces[self.title.namespace] then -- Namespace parameters don't exist, simple usage. return self._args[1] end return nil end -------------------------------------------------------------------------------- -- Exports -------------------------------------------------------------------------------- local p = {} function p._exportClasses() -- Used for testing purposes. return { CategoryHandler = CategoryHandler } end function p._main(args, data) data = data or mw.loadData('Module:Category handler/data') local handler = CategoryHandler.new(data, args) if handler:isSuppressed() then return nil end return handler:getCategories() end function p.main(frame, data) data = data or mw.loadData('Module:Category handler/data') local args = require('Module:Arguments').getArgs(frame, { wrappers = data.wrappers, valueFunc = function (k, v) v = trimWhitespace(v) if type(k) == 'number' then if v ~= '' then return v else return nil end else return v end end }) return p._main(args, data) end return p letwavu3yvlayfzew66uuwixmwebq5b Modulo:Category handler/data 828 8008 43241 2026-07-06T23:41:57Z Ne 1118 Paje creada con "-- This module assembles data to be passed to [[Module:Category handler]] using -- mw.loadData. This includes the configuration data and whether the current -- page matches the title blacklist. local data = require('Module:Category handler/config') local mShared = require('Module:Category handler/shared') local blacklist = require('Module:Category handler/blacklist') local title = mw.title.getCurrentTitle() data.currentTitleMatchesBlacklist = mShared.matchesBlacklist( t..." 43241 Scribunto text/plain -- This module assembles data to be passed to [[Module:Category handler]] using -- mw.loadData. This includes the configuration data and whether the current -- page matches the title blacklist. local data = require('Module:Category handler/config') local mShared = require('Module:Category handler/shared') local blacklist = require('Module:Category handler/blacklist') local title = mw.title.getCurrentTitle() data.currentTitleMatchesBlacklist = mShared.matchesBlacklist( title.prefixedText, blacklist ) data.currentTitleNamespaceParameters = mShared.getNamespaceParameters( title, mShared.getParamMappings() ) return data k26mwixuaeijisfddb0sxkg82iux8v4 Modulo:Category handler/config 828 8009 43242 2026-07-06T23:42:19Z Ne 1118 Paje creada con "-------------------------------------------------------------------------------- -- [[Module:Category handler]] configuration data -- -- Language-specific parameter names and values can be set here. -- -- For blacklist config, see [[Module:Category handler/blacklist]]. -- -------------------------------------------------------------------------------- local cfg = {} -- Don't edit this line. ------------------------------..." 43242 Scribunto text/plain -------------------------------------------------------------------------------- -- [[Module:Category handler]] configuration data -- -- Language-specific parameter names and values can be set here. -- -- For blacklist config, see [[Module:Category handler/blacklist]]. -- -------------------------------------------------------------------------------- local cfg = {} -- Don't edit this line. -------------------------------------------------------------------------------- -- Start configuration data -- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -- Parameter names -- -- These configuration items specify custom parameter names. -- -- To add one extra name, you can use this format: -- -- -- -- foo = 'parameter name', -- -- -- -- To add multiple names, you can use this format: -- -- -- -- foo = {'parameter name 1', 'parameter name 2', 'parameter name 3'}, -- -------------------------------------------------------------------------------- cfg.parameters = { -- The nocat and categories parameter suppress -- categorisation. They are used with Module:Yesno, and work as follows: -- -- cfg.nocat: -- Result of yesno() Effect -- true Categorisation is suppressed -- false Categorisation is allowed, and -- the blacklist check is skipped -- nil Categorisation is allowed -- -- cfg.categories: -- Result of yesno() Effect -- true Categorisation is allowed, and -- the blacklist check is skipped -- false Categorisation is suppressed -- nil Categorisation is allowed nocat = 'nocat', categories = 'categories', -- The parameter name for the legacy "category2" parameter. This skips the -- blacklist if set to the cfg.category2Yes value, and suppresses -- categorisation if present but equal to anything other than -- cfg.category2Yes or cfg.category2Negative. category2 = 'category2', -- cfg.subpage is the parameter name to specify how to behave on subpages. subpage = 'subpage', -- The parameter for data to return in all namespaces. all = 'all', -- The parameter name for data to return if no data is specified for the -- namespace that is detected. other = 'other', -- The parameter name used to specify a page other than the current page; -- used for testing and demonstration. demopage = 'page', } -------------------------------------------------------------------------------- -- Parameter values -- -- These are set values that can be used with certain parameters. Only one -- -- value can be specified, like this: -- -- -- -- cfg.foo = 'value name' -- -- -------------------------------------------------------------------------------- -- The following settings are used with the cfg.category2 parameter. Setting -- cfg.category2 to cfg.category2Yes skips the blacklist, and if cfg.category2 -- is present but equal to anything other than cfg.category2Yes or -- cfg.category2Negative then it supresses cateogrisation. cfg.category2Yes = 'yes' cfg.category2Negative = '¬' -- The following settings are used with the cfg.subpage parameter. -- cfg.subpageNo is the value to specify to not categorise on subpages; -- cfg.subpageOnly is the value to specify to only categorise on subpages. cfg.subpageNo = 'no' cfg.subpageOnly = 'only' -------------------------------------------------------------------------------- -- Default namespaces -- -- This is a table of namespaces to categorise by default. The keys are the -- -- namespace numbers. -- -------------------------------------------------------------------------------- cfg.defaultNamespaces = { [ 0] = true, -- main [ 6] = true, -- file [ 12] = true, -- help [ 14] = true, -- category [100] = true, -- portal [108] = true, -- book } -------------------------------------------------------------------------------- -- Wrappers -- -- This is a wrapper template or a list of wrapper templates to be passed to -- -- [[Module:Arguments]]. -- -------------------------------------------------------------------------------- cfg.wrappers = 'Template:Category handler' -------------------------------------------------------------------------------- -- End configuration data -- -------------------------------------------------------------------------------- return cfg -- Don't edit this line. 6ga9hbq2pdwalsvx68i53dmbr421rq5 Modulo:Category handler/shared 828 8010 43243 2026-07-06T23:42:56Z Ne 1118 Paje creada con "-- This module contains shared functions used by [[Module:Category handler]] -- and its submodules. local p = {} function p.matchesBlacklist(page, blacklist) for i, pattern in ipairs(blacklist) do local match = mw.ustring.match(page, pattern) if match then return true end end return false end function p.getParamMappings(useLoadData) local dataPage = 'Module:Namespace detect/data' if useLoadData then return mw.loadData(dataPage).mappings else return re..." 43243 Scribunto text/plain -- This module contains shared functions used by [[Module:Category handler]] -- and its submodules. local p = {} function p.matchesBlacklist(page, blacklist) for i, pattern in ipairs(blacklist) do local match = mw.ustring.match(page, pattern) if match then return true end end return false end function p.getParamMappings(useLoadData) local dataPage = 'Module:Namespace detect/data' if useLoadData then return mw.loadData(dataPage).mappings else return require(dataPage).mappings end end function p.getNamespaceParameters(titleObj, mappings) -- We don't use title.nsText for the namespace name because it adds -- underscores. local mappingsKey if titleObj.isTalkPage then mappingsKey = 'talk' else mappingsKey = mw.site.namespaces[titleObj.namespace].name end mappingsKey = mw.ustring.lower(mappingsKey) return mappings[mappingsKey] or {} end return p omlsnhudxz6juptvtxz7ns97jutbzc5 Modulo:Category handler/blacklist 828 8011 43244 2026-07-06T23:43:19Z Ne 1118 Paje creada con "-- This module contains the blacklist used by [[Module:Category handler]]. -- Pages that match Lua patterns in this list will not be categorised unless -- categorisation is explicitly requested. return { '^Main Page$', -- don't categorise the main page. -- Don't categorise the following pages or their subpages. -- "%f[/\0]" matches if the next character is "/" or the end of the string. '^Wikipedia:Cascade%-protected items%f[/\0]', '^User:UBX%f[/\0]', -- The userbox..." 43244 Scribunto text/plain -- This module contains the blacklist used by [[Module:Category handler]]. -- Pages that match Lua patterns in this list will not be categorised unless -- categorisation is explicitly requested. return { '^Main Page$', -- don't categorise the main page. -- Don't categorise the following pages or their subpages. -- "%f[/\0]" matches if the next character is "/" or the end of the string. '^Wikipedia:Cascade%-protected items%f[/\0]', '^User:UBX%f[/\0]', -- The userbox "template" space. '^User talk:UBX%f[/\0]', -- Don't categorise subpages of these pages, but allow -- categorisation of the base page. '^Wikipedia:Template index/.*$', -- Don't categorise archives. '/[aA]rchive', "^Wikipedia:Administrators' noticeboard/IncidentArchive%d+$", } fsv1drcay6t25e91hzhqxtyp7pckbpx Modulo:Namespace detect 828 8012 43245 2026-07-06T23:46:05Z Ne 1118 Paje creada con "--[[ -------------------------------------------------------------------------------- -- -- -- NAMESPACE DETECT -- -- -- -- This module implements the {{namespace detect}} template in Lua, with a -- -- few improvements: all namespaces and all namespace aliases are s..." 43245 Scribunto text/plain --[[ -------------------------------------------------------------------------------- -- -- -- NAMESPACE DETECT -- -- -- -- This module implements the {{namespace detect}} template in Lua, with a -- -- few improvements: all namespaces and all namespace aliases are supported, -- -- and namespace names are detected automatically for the local wiki. The -- -- module can also use the corresponding subject namespace value if it is -- -- used on a talk page. Parameter names can be configured for different wikis -- -- by altering the values in the "cfg" table in -- -- Module:Namespace detect/config. -- -- -- -------------------------------------------------------------------------------- --]] local data = mw.loadData('Module:Namespace detect/data') local argKeys = data.argKeys local cfg = data.cfg local mappings = data.mappings local yesno = require('Module:Yesno') local mArguments -- Lazily initialise Module:Arguments local mTableTools -- Lazily initilalise Module:TableTools local ustringLower = mw.ustring.lower local p = {} local function fetchValue(t1, t2) -- Fetches a value from the table t1 for the first key in array t2 where -- a non-nil value of t1 exists. for i, key in ipairs(t2) do local value = t1[key] if value ~= nil then return value end end return nil end local function equalsArrayValue(t, value) -- Returns true if value equals a value in the array t. Otherwise -- returns false. for i, arrayValue in ipairs(t) do if value == arrayValue then return true end end return false end function p.getPageObject(page) -- Get the page object, passing the function through pcall in case of -- errors, e.g. being over the expensive function count limit. if page then local success, pageObject = pcall(mw.title.new, page) if success then return pageObject else return nil end else return mw.title.getCurrentTitle() end end -- Provided for backward compatibility with other modules function p.getParamMappings() return mappings end local function getNamespace(args) -- This function gets the namespace name from the page object. local page = fetchValue(args, argKeys.demopage) if page == '' then page = nil end local demospace = fetchValue(args, argKeys.demospace) if demospace == '' then demospace = nil end local subjectns = fetchValue(args, argKeys.subjectns) local ret if demospace then -- Handle "demospace = main" properly. if equalsArrayValue(argKeys.main, ustringLower(demospace)) then ret = mw.site.namespaces[0].name else ret = demospace end else local pageObject = p.getPageObject(page) if pageObject then if pageObject.isTalkPage then -- Get the subject namespace if the option is set, -- otherwise use "talk". if yesno(subjectns) then ret = mw.site.namespaces[pageObject.namespace].subject.name else ret = 'talk' end else ret = pageObject.nsText end else return nil -- return nil if the page object doesn't exist. end end ret = ret:gsub('_', ' ') return ustringLower(ret) end function p._main(args) -- Check the parameters stored in the mappings table for any matches. local namespace = getNamespace(args) or 'other' -- "other" avoids nil table keys local params = mappings[namespace] or {} local ret = fetchValue(args, params) --[[ -- If there were no matches, return parameters for other namespaces. -- This happens if there was no text specified for the namespace that -- was detected or if the demospace parameter is not a valid -- namespace. Note that the parameter for the detected namespace must be -- completely absent for this to happen, not merely blank. --]] if ret == nil then ret = fetchValue(args, argKeys.other) end return ret end function p.main(frame) mArguments = require('Module:Arguments') local args = mArguments.getArgs(frame, {removeBlanks = false}) local ret = p._main(args) return ret or '' end function p.table(frame) --[[ -- Create a wikitable of all subject namespace parameters, for -- documentation purposes. The talk parameter is optional, in case it -- needs to be excluded in the documentation. --]] -- Load modules and initialise variables. mTableTools = require('Module:TableTools') local namespaces = mw.site.namespaces local cfg = data.cfg local useTalk = type(frame) == 'table' and type(frame.args) == 'table' and yesno(frame.args.talk) -- Whether to use the talk parameter. -- Get the header names. local function checkValue(value, default) if type(value) == 'string' then return value else return default end end local nsHeader = checkValue(cfg.wikitableNamespaceHeader, 'Namespace') local aliasesHeader = checkValue(cfg.wikitableAliasesHeader, 'Aliases') -- Put the namespaces in order. local mappingsOrdered = {} for nsname, params in pairs(mappings) do if useTalk or nsname ~= 'talk' then local nsid = namespaces[nsname].id -- Add 1, as the array must start with 1; nsid 0 would be lost otherwise. nsid = nsid + 1 mappingsOrdered[nsid] = params end end mappingsOrdered = mTableTools.compressSparseArray(mappingsOrdered) -- Build the table. local ret = '{| class="wikitable"' .. '\n|-' .. '\n! ' .. nsHeader .. '\n! ' .. aliasesHeader for i, params in ipairs(mappingsOrdered) do for j, param in ipairs(params) do if j == 1 then ret = ret .. '\n|-' .. '\n| <code>' .. param .. '</code>' .. '\n| ' elseif j == 2 then ret = ret .. '<code>' .. param .. '</code>' else ret = ret .. ', <code>' .. param .. '</code>' end end end ret = ret .. '\n|-' .. '\n|}' return ret end return p j7kygz1y56jpz4doq0m2c6x1td5d8ar Modulo:Namespace detect/data 828 8013 43246 2026-07-06T23:46:30Z Ne 1118 Paje creada con "-------------------------------------------------------------------------------- -- Namespace detect data -- -- This module holds data for [[Module:Namespace detect]] to be loaded per -- -- page, rather than per #invoke, for performance reasons. -- -------------------------------------------------------------------------------- local cfg = require('Module:Namespace detect/config') local function a..." 43246 Scribunto text/plain -------------------------------------------------------------------------------- -- Namespace detect data -- -- This module holds data for [[Module:Namespace detect]] to be loaded per -- -- page, rather than per #invoke, for performance reasons. -- -------------------------------------------------------------------------------- local cfg = require('Module:Namespace detect/config') local function addKey(t, key, defaultKey) if key ~= defaultKey then t[#t + 1] = key end end -- Get a table of parameters to query for each default parameter name. -- This allows wikis to customise parameter names in the cfg table while -- ensuring that default parameter names will always work. The cfg table -- values can be added as a string, or as an array of strings. local defaultKeys = { 'main', 'talk', 'other', 'subjectns', 'demospace', 'demopage' } local argKeys = {} for i, defaultKey in ipairs(defaultKeys) do argKeys[defaultKey] = {defaultKey} end for defaultKey, t in pairs(argKeys) do local cfgValue = cfg[defaultKey] local cfgValueType = type(cfgValue) if cfgValueType == 'string' then addKey(t, cfgValue, defaultKey) elseif cfgValueType == 'table' then for i, key in ipairs(cfgValue) do addKey(t, key, defaultKey) end end cfg[defaultKey] = nil -- Free the cfg value as we don't need it any more. end local function getParamMappings() --[[ -- Returns a table of how parameter names map to namespace names. The keys -- are the actual namespace names, in lower case, and the values are the -- possible parameter names for that namespace, also in lower case. The -- table entries are structured like this: -- { -- [''] = {'main'}, -- ['wikipedia'] = {'wikipedia', 'project', 'wp'}, -- ... -- } --]] local mappings = {} local mainNsName = mw.site.subjectNamespaces[0].name mainNsName = mw.ustring.lower(mainNsName) mappings[mainNsName] = mw.clone(argKeys.main) mappings['talk'] = mw.clone(argKeys.talk) for nsid, ns in pairs(mw.site.subjectNamespaces) do if nsid ~= 0 then -- Exclude main namespace. local nsname = mw.ustring.lower(ns.name) local canonicalName = mw.ustring.lower(ns.canonicalName) mappings[nsname] = {nsname} if canonicalName ~= nsname then table.insert(mappings[nsname], canonicalName) end for _, alias in ipairs(ns.aliases) do table.insert(mappings[nsname], mw.ustring.lower(alias)) end end end return mappings end return { argKeys = argKeys, cfg = cfg, mappings = getParamMappings() } ojp6d3pc8mql5nufaqdg576c9so3479 Modulo:Namespace detect/config 828 8014 43247 2026-07-06T23:47:06Z Ne 1118 Paje creada con "-------------------------------------------------------------------------------- -- Namespace detect configuration data -- -- -- -- This module stores configuration data for Module:Namespace detect. Here -- -- you can localise the module to your wiki's language. -- --..." 43247 Scribunto text/plain -------------------------------------------------------------------------------- -- Namespace detect configuration data -- -- -- -- This module stores configuration data for Module:Namespace detect. Here -- -- you can localise the module to your wiki's language. -- -- -- -- To activate a configuration item, you need to uncomment it. This means -- -- that you need to remove the text "-- " at the start of the line. -- -------------------------------------------------------------------------------- local cfg = {} -- Don't edit this line. -------------------------------------------------------------------------------- -- Parameter names -- -- These configuration items specify custom parameter names. Values added -- -- here will work in addition to the default English parameter names. -- -- To add one extra name, you can use this format: -- -- -- -- cfg.foo = 'parameter name' -- -- -- -- To add multiple names, you can use this format: -- -- -- -- cfg.foo = {'parameter name 1', 'parameter name 2', 'parameter name 3'} -- -------------------------------------------------------------------------------- ---- This parameter displays content for the main namespace: -- cfg.main = 'main' ---- This parameter displays in talk namespaces: -- cfg.talk = 'talk' ---- This parameter displays content for "other" namespaces (namespaces for which ---- parameters have not been specified): -- cfg.other = 'other' ---- This parameter makes talk pages behave as though they are the corresponding ---- subject namespace. Note that this parameter is used with [[Module:Yesno]]. ---- Edit that module to change the default values of "yes", "no", etc. -- cfg.subjectns = 'subjectns' ---- This parameter sets a demonstration namespace: -- cfg.demospace = 'demospace' ---- This parameter sets a specific page to compare: cfg.demopage = 'page' -------------------------------------------------------------------------------- -- Table configuration -- -- These configuration items allow customisation of the "table" function, -- -- used to generate a table of possible parameters in the module -- -- documentation. -- -------------------------------------------------------------------------------- ---- The header for the namespace column in the wikitable containing the list of ---- possible subject-space parameters. -- cfg.wikitableNamespaceHeader = 'Namespace' ---- The header for the wikitable containing the list of possible subject-space ---- parameters. -- cfg.wikitableAliasesHeader = 'Aliases' -------------------------------------------------------------------------------- -- End of configuration data -- -------------------------------------------------------------------------------- return cfg -- Don't edit this line. 1o6ozz56i8q0xgyl6xa41n2v7kelhli Modulo:Message box/ambox.css 828 8015 43248 2026-07-06T23:56:46Z Ne 1118 Paje creada con "/* {{pp|small=y}} */ .ambox { border: 1px solid #a2a9b1; /* @noflip */ border-left: 10px solid #36c; /* Default "notice" blue */ background-color: #fbfbfb; box-sizing: border-box; } /* Single border between stacked boxes. Take into account base templatestyles, * user styles, and Template:Dated maintenance category. * remove link selector when T200206 is fixed */ .ambox + link + .ambox, .ambox + link + style + .ambox, .ambox + link + link + .ambox, /* TODO: raise..." 43248 sanitized-css text/css /* {{pp|small=y}} */ .ambox { border: 1px solid #a2a9b1; /* @noflip */ border-left: 10px solid #36c; /* Default "notice" blue */ background-color: #fbfbfb; box-sizing: border-box; } /* Single border between stacked boxes. Take into account base templatestyles, * user styles, and Template:Dated maintenance category. * remove link selector when T200206 is fixed */ .ambox + link + .ambox, .ambox + link + style + .ambox, .ambox + link + link + .ambox, /* TODO: raise these as "is this really that necessary???". the change was Dec 2021 */ .ambox + .mw-empty-elt + link + .ambox, .ambox + .mw-empty-elt + link + style + .ambox, .ambox + .mw-empty-elt + link + link + .ambox, /* category and TemplateStyles are wrapped in an "empty" span in Parsoid [[phab:T378906]] * above variants can be removed when Parsoid is the one true parser */ .ambox + .mw-empty-elt + .ambox, .ambox + .mw-empty-elt + .mw-empty-elt + .ambox, /* * and Template:Dated maintenance category. we can probably remove this flavor * when T200206 is fixed */ .ambox + .mw-empty-elt + .mw-empty-elt + .mw-empty-elt + .ambox { margin-top: -1px; } /* For the "small=left" option. */ /* must override .ambox + .ambox styles above */ html body.mediawiki .ambox.mbox-small-left { /* @noflip */ margin: 4px 1em 4px 0; overflow: hidden; width: 238px; border-collapse: collapse; font-size: 88%; line-height: 1.25em; } .ambox-speedy { /* @noflip */ border-left: 10px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } .ambox-delete { /* @noflip */ border-left: 10px solid #b32424; /* Red */ } .ambox-content { /* @noflip */ border-left: 10px solid #f28500; /* Orange */ } .ambox-style { /* @noflip */ border-left: 10px solid #fc3; /* Yellow */ } .ambox-move { /* @noflip */ border-left: 10px solid #9932cc; /* Purple */ } .ambox-protection { /* @noflip */ border-left: 10px solid #a2a9b1; /* Gray-gold */ } .ambox .mbox-text { border: none; /* @noflip */ padding: 0.25em 0.5em; width: 100%; } .ambox .mbox-image { border: none; /* @noflip */ padding: 2px 0 2px 0.5em; text-align: center; } .ambox .mbox-imageright { border: none; /* @noflip */ padding: 2px 0.5em 2px 0; text-align: center; } /* An empty narrow cell */ .ambox .mbox-empty-cell { border: none; padding: 0; width: 1px; } .ambox .mbox-image-div { width: 52px; } @media (min-width: 720px) { .ambox { margin: 0 10%; /* 10% = Will not overlap with other elements */ } } @media print { body.ns-0 .ambox { display: none !important; } } 30g72q4fmk3q483xtebd7l9b8wtntki Model:Avisa 10 8016 43251 2026-07-07T00:11:14Z Ne 1118 Paje creada con "{{#invoke:Message box|ambox}}<noinclude> {{documenti}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude>" 43251 wikitext text/x-wiki {{#invoke:Message box|ambox}}<noinclude> {{documenti}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> igyve5mkb0w1s62cy101n910brn6hdr Modulo:Message box/fmbox.css 828 8017 43252 2026-07-07T00:12:35Z Ne 1118 Paje creada con "/* {{pp|small=y}} */ .fmbox { clear: both; /* this sheet does not require overflow-x because of this clear */ margin: 0.2em 0; border: 1px solid #a2a9b1; background-color: var(--background-color-interactive-subtle, #f8f9fa); box-sizing: border-box; color: var(--color-base, #202122); } .fmbox-warning { border: 1px solid #bb7070; /* Dark pink */ background-color: #ffdbdb; /* Pink */ } .fmbox-editnotice { background-color: transparent; } .fmbox .mbox-te..." 43252 sanitized-css text/css /* {{pp|small=y}} */ .fmbox { clear: both; /* this sheet does not require overflow-x because of this clear */ margin: 0.2em 0; border: 1px solid #a2a9b1; background-color: var(--background-color-interactive-subtle, #f8f9fa); box-sizing: border-box; color: var(--color-base, #202122); } .fmbox-warning { border: 1px solid #bb7070; /* Dark pink */ background-color: #ffdbdb; /* Pink */ } .fmbox-editnotice { background-color: transparent; } .fmbox .mbox-text { padding: 0.35em 1em; flex: 1 1 100%; } .fmbox .mbox-image, .fmbox .mbox-imageright { padding: 4px 2px; text-align: center; flex: none; } /* keep synced with each other type of message box as this isn't qualified */ .mbox-invalid-type { text-align: center; } @media (min-width: 480px) { .fmbox { display: flex; align-items: center; } .fmbox .mbox-image { /* @noflip */ padding-left: 1em; } .fmbox .mbox-imageright { /* @noflip */ padding-right: 1em; } } @media screen { html.skin-theme-clientpref-night .fmbox-warning { background-color: #300; /* Reddish, same hue/saturation as light */ } } @media screen and (prefers-color-scheme: dark) { html.skin-theme-clientpref-os .fmbox-warning { background-color: #300; /* Reddish, same hue/saturation as light */ } } ivof69wam0nxtvwqgg5cd5tk4dl4s0k Model:Fusa 10 8018 43254 2026-07-07T01:08:11Z Ne 1118 Paje creada con "{{Avisa | type = move | name = Fusa | date = {{{date|}}} | text = Lo ia es sujestada ce esta {{#if:{{{section|}}}|{{{section}}}|{{#if:{{NAMESPACE}}|paje|article}}}} ta es '''fusada''' con [[{{{1}}}]]. On pote discute la prosede en la '''[[{{TALKPAGENAME}}|paje de discute]]''' de esta paje. }}<noinclude> {{Documenti}} </noinclude>" 43254 wikitext text/x-wiki {{Avisa | type = move | name = Fusa | date = {{{date|}}} | text = Lo ia es sujestada ce esta {{#if:{{{section|}}}|{{{section}}}|{{#if:{{NAMESPACE}}|paje|article}}}} ta es '''fusada''' con [[{{{1}}}]]. On pote discute la prosede en la '''[[{{TALKPAGENAME}}|paje de discute]]''' de esta paje. }}<noinclude> {{Documenti}} </noinclude> kkgyy6y4ihd1ir75uts94gptf90a6n3 43256 43254 2026-07-07T01:23:06Z Ne 1118 categoria 43256 wikitext text/x-wiki {{Avisa | type = move | name = Fusa | date = {{{date|}}} | text = Lo ia es sujestada ce esta {{#if:{{{section|}}}|{{{section}}}|{{#if:{{NAMESPACE}}|paje|article}}}} ta es '''fusada''' con [[{{{1}}}]]. On pote discute la prosede en la '''[[{{TALKPAGENAME}}|paje de discute]]''' de esta paje. }}<noinclude>{{#switch:{{NAMESPACE}} | {{ns:0}} = [[Categoria:Articulos sujestada per fusa]] | #default = }}{{Documenti}} </noinclude> gepqxl0j2eyhpsbcmjyezhfgieurx32 43257 43256 2026-07-07T01:26:27Z Ne 1118 <includeonly> 43257 wikitext text/x-wiki {{Avisa | type = move | name = Fusa | date = {{{date|}}} | text = Lo ia es sujestada ce esta {{#if:{{{section|}}}|{{{section}}}|{{#if:{{NAMESPACE}}|paje|article}}}} ta es '''fusada''' con [[{{{1}}}]]. On pote discute la prosede en la '''[[{{TALKPAGENAME}}|paje de discute]]''' de esta paje. }}<includeonly>{{#switch:{{NAMESPACE}} | {{ns:0}} = [[Categoria:Articulos sujestada per fusa]] | #default = }}</includeonly><noinclude>{{Documenti}} </noinclude> c2v61ztwg9755mreyetoj590d5pkb30