Mòdul Discussió:Paràmetres
extreuDestiEnllac i extreuTextEnllac
modificaProposo afegir les següents funcions al mòdul:
--[[ extreuDestiEnllac
Paràmetres
1: cadena de text d'on s'ha d'extreure el nom de l'article destí de l'enllaç wiki
]]
function p.extreuDestiEnllac(frame)
local arg = frame.args[1] or "" -- per evitar nil
tret = mw.ustring.match(arg, "%[%[(.-)%]%]") or arg
return mw.ustring.match(tret, "(.+)|") or tret
end
--[[ extreuTextEnllac
Paràmetres
1: cadena de text d'on s'ha d'extreure el text que mostra enllaç wiki
]]
function p.extreuTextEnllac(frame)
local arg = frame.args[1] or "" -- per evitar nil
tret = mw.ustring.match(arg, "%[%[(.-)%]%]") or arg
return mw.ustring.match(tret, "|(.+)") or tret
end
Per provar-les, són a Mòdul:Proves/Pere prlpz/Prova i un mostrari de proves és a la pàgina de proves.
@Vriullop, Arnaugir: Notifico per si de cas abans de llençar-m'hi i trencar alguna cosa.--Pere prlpz (disc.) 18:58, 7 gen 2016 (CET)
- @Pere prlpz: Per afegir funcions no es pot trencar res, mentre no doni error de sintaxi. A notar que la funció extreuTextEnllac fa quasi el mateix que Mòdul:Delink, que té múltiples casos previstos. Es pot veure a Mòdul Discussió:Delink/tests. És necessari treure només el text del primer enllaç? --V.Riullop (parlem-ne) 19:32, 7 gen 2016 (CET)
- @Vriullop: Potser el necessari és que jo em miri millor el que ja tenim en comptes d'anar inventant la sopa d'all cada setmana.
- Realment el que feia falta i que em va demanar l'Amadalvarez era un cas senzill com treure el nom de la comarca de [[Baix Llobregat]], que veig que es pot fer amb Delink. Les funcions com les he fetes estan pensades per aquest cas i per casos com [[Geòrgia (Estats Units)|Geòrgia]]. Posar-hi múltiples enllaços ha estat només per comprovar si la funció seguia funcionant amb un paràmetre estrany que no està previst fer servir.
- De moment deixo el tema parat fins que aclarim si realment fan falta aquestes funcions, per no anar fent créixer el mòdul amb funcions no usades.--Pere prlpz (disc.) 20:12, 7 gen 2016 (CET)
- @Vriullop, Pere prlpz: Vistes les meves necessitats, no em sembla que faci falta més, potser un bon directori de recursos. Jo entre les magic words, les parser functions, les plantilles IF coses que ajuden començo a parar boig amb un seriós risc de contagiar algú altre (com el pobre Pere). Gràcies per la sempre inestimable ajuda.--amador (disc.) 20:37, 7 gen 2016 (CET)
Canvi de nom
modifica@Arnaugir, @Vriullop. Derivat del procés de compartir les nostres infotaules amb altres WP he arribat a aquest mòdul "calaix de sastre". La forma que estem seguint per evitar, d'una banda, que es produeixin col·lisions amb altre mòduls de la WP destinatària per causa del nom i, d'altra, que el canvi de nom per raons de localització, dificulti el manteniment futur, és el següent:
- El mòdul/plantilla de partida té el seu nom en anglès i no ha de tenir col·lisions amb altres pre-existents. Això és relativament fàcil perquè els orígens de les utilitats tècniques acostuma a ser ENwiki.
- Si el receptor vol tenir el nom a la seva llengua fa una redirecció "local >> comú"
- Si el receptor vol que els paràmetres de crida sigui en la seva llengua, fa un pre-codi de translació i una redirecció, sigui plantilla o mòdul.
La forma més canònica segurament seria un altra però requeriria que la plataforma ajudés a la solució. L'intent de tenir Global Templates es va quedar aturat "sine die".
Dit això, a aquest mòdul li voldria canviar el nom per portar-lo a la "lingua franca", però, a més en:module:Parameters ja existeix i té una funció totalment diferent i és utilitzat per moltes WPs.
- Quin nom creieu que li podríem posar que reflecteixi millor la seva utilitat ?
- Podríem entaforar les seves funcions en un altre de similar, com es va fer amb el mòdul:StringFunc que es va afegir a mòdul:string ? (Nota: Delink no seria una bona idea perquè és molt transversal i amb versió consolidada.)
Pels canvis als articles no patiu, que ja m'encarregaré jo. A més aprofitaria per encapsular les crides en una plantilla (com passa amb el mòdul:string i les plantilles "Str xxxx" que resulta molt pràctic quan a la WP destí et trobes que aquella funció la fa un altre.
Utilitzacions actual:
- extreuNomArxiu: 0
- extreuCometesSimples: 6, tots en infotaules
- separaObraAny: 0
- numPara: 2 plantilles. {{Count}}, sense ús, i {{Llista aleatòria}} amb 167.
Merci, amador (disc.) 07:46, 1 oct 2023 (CEST)
- Hola Amador! tant "separaObraAny" com "extreuNomArxiu" ja no es fan servir per tant entenc que les podem eliminar. De les altres dues, "extreuCometesSimples" crec que es pot afegir a Mòdul:String (al final s'està tractant una cadena de text); pel que fa a "numPara", no n'estic segur però podria ser que la funció "count" de Mòdul:TemplatePar faci el mateix? Arnaugir (discussió) 10:09, 1 oct 2023 (CEST)
- Gràcies, @Arnaugir. He provat el
TemplatePar
i hauré de fer servir el count i el countNotEmpty, ja que l'ús actual delnumPara
té un paràmetre per dirbuits=no
, tot i que suposo que el més habitual serà el NotEmpty. - Pel que fa al "extreuCometesSimples", no sabries fer una expressió regular que faci el mateix ?. Així ho podríem encapsular en una plantilla i acabem de fer net del mòdul.
- He provat i no me n'he sortit (es menja els espais):
- Original:
- {{#invoke:paràmetres|extreuCometesSimples|'Això és un text amb ''cometes dobles'' i '''cometes triples'''.'}} >>> Això és un text amb cometes dobles i cometes triples.
- Versió amb str strip i el pattern del extreuCometes:
- {{Str_strip|'Això és un text amb ''cometes dobles'' i '''cometes triples'''.'|"^'+(.-)'+$", "%1"|false}} >>>
- Aixòésuntextambcometesdoblesicometestriples.
- Compto amb la teva perícia. Merci, amador (disc.) 16:05, 1 oct 2023 (CEST)
- @Arnaugir Per cert. Acabo de descobrir que ja tenim Mòdul:ParameterCount. Grrrr ! amador (disc.) 16:39, 1 oct 2023 (CEST)
- extreuCometesSimples: {{#invoke:string|match|'Això és un text amb ''cometes dobles'' i '''cometes triples'''.'|^'+(.-)'+$}} = Això és un text amb cometes dobles i cometes triples.. La plantilla més semblant seria en:Template:Trim quotes que, a més d'eliminar repetició de cometes simples, elimina les "cometes dobles". Ara bé, usa un mòdul propi. No crec que calgui. Si es volen afegir les cometes dobles, llavors:
{{#invoke:string|match|"Això és un text amb ''cometes dobles'' i '''cometes triples'''."|^['"]+(.-)['"]+$}}
= Això és un text amb cometes dobles i cometes triples. - numPara: és correcta la substitució per TemplatePar. El ParameterCount és més sofisticat, útil amb la funció main si es vol limitar als paràmetres vàlids.
- extreuCometesSimples: {{#invoke:string|match|'Això és un text amb ''cometes dobles'' i '''cometes triples'''.'|^'+(.-)'+$}} = Això és un text amb cometes dobles i cometes triples.. La plantilla més semblant seria en:Template:Trim quotes que, a més d'eliminar repetició de cometes simples, elimina les "cometes dobles". Ara bé, usa un mòdul propi. No crec que calgui. Si es volen afegir les cometes dobles, llavors:
- V.RiuLlop (parlem-ne) 18:06, 1 oct 2023 (CEST)
- Corregeixo, en brut no té cap protecció:
^['"]*(.-)['"]*$
. Així és opcional en lloc d'un error. V.RiuLlop (parlem-ne) 18:10, 1 oct 2023 (CEST)- Gràcies, @Vriullop. Doncs, potser que agafi el Mòdul:ParameterCount, perquè també ho tenen la majoria de WPs associat a {{Count}}.
- Respecte el Regex no funciona com l'anterior. Mira special:permalink/32521870. Funciona bé només quan la frase està entrecomillada.
- Mira si ho pots afinar. Gràcies ! amador (disc.) 21:18, 1 oct 2023 (CEST)
- Fixa't en el darrer comentari: corregeixo... V.RiuLlop (parlem-ne) 22:10, 1 oct 2023 (CEST)
- Perdó. No havia detectat el matís.
Ara (Special:permalink/32522261) es menja l'entrecomillat doble (") que l'original no feia. No sé si això és el que es volia originalment, però com que el nom diu "cometes simples", no puc valorar la importància. Es fa servir principalment als títols de les obres que es mostra a la capçalera de la infotaula. A veure si l'@Arnaugir: ens dona arguments en un sentit o un altre.Rellegint la teva resposta he trobat lo de les cometes dobles. Ara fa allò que feia l'original. Merci, amador (disc.) 05:40, 2 oct 2023 (CEST)
- Perdó. No havia detectat el matís.
- Fixa't en el darrer comentari: corregeixo... V.RiuLlop (parlem-ne) 22:10, 1 oct 2023 (CEST)
- Corregeixo, en brut no té cap protecció:
- @Arnaugir Per cert. Acabo de descobrir que ja tenim Mòdul:ParameterCount. Grrrr ! amador (disc.) 16:39, 1 oct 2023 (CEST)
- Gràcies, @Arnaugir. He provat el
Fi dels seus dies
modificaDesprés de fer molt bona feina, podem jubilar aquest mòdul.
- funció
numPara
ha quedat substituïda per {{Count}} que invoca mòdul:ParameterCount, amb més funcionalitats. - funció
extreuCometesSimples
ha quedat substituïda per {{Trim single quotes}}, que fa el mateix, però de forma més directa. - les funcions
extreuNomArxiu
iseparaObraAny
feia temps que no es feien servir i s'han eliminat.
Gràcies al seu autor Arnaugir i a Vriullop per la seva inestimable col·laboració. amador (disc.) 07:30, 2 oct 2023 (CEST)
- Bon dia,
- què fem, esborrem el mòdul?
- Salut Arnaugir (discussió) 11:28, 13 oct 2023 (CEST)
- No encara. Queden unes rampoines que acabarem de migrar. Tal com està no fa nosa. amador (disc.) 17:10, 20 oct 2023 (CEST)