Módulu:Formatos
La documentación pa esti módulu pue crease en Módulu:Formatos/usu
-- Módulu pa dar formatu a cadenes de testu
local p = {}
function p.desvincular(frame)
local cadena = frame.args[1]
local etiqueta = '%[.-|'
local cambiu = mw.ustring.gsub(cadena,etiqueta,'')
cambiu = mw.ustring.gsub(cambiu,'[%[%]]','')
return cambiu
end
function p.mayuscula(frame) -- Convierte en mayúscules la primera letra qu'apaez na edición d'una cadena
local cadena
local cambiu = {}
local mou = {}
if type(frame) == 'table' then
cadena = frame.args[1]
else
cadena = frame or 'null'
end
if string.find(cadena, '|') ~= nil then -- Enlaces con etiqueta
mou = string.upper(string.match(cadena,'(|%a)'))
cambiu = string.gsub(cadena,'|%a', mou,1)
elseif string.find(cadena, '[[]') ~= nil then -- Enlaces sin etiqueta
mou = string.upper(string.match(cadena,'^(..%a)'))
cambiu = string.gsub(cadena,'^..%a', mou,1)
elseif string.match(cadena,'^(%a)') then-- Sin enlace
mou = mw.ustring.upper(string.match(cadena,'^(%a)'))
cambiu = mw.ustring.gsub(cadena,'^%a', mou,1)
else
cambiu = cadena
end
return cambiu
end
function p.url(frame)
local s = frame.args[1]
local cambiu = {}
if string.find(s, '%[') then
local cambiu1 = string.gsub(s,'[%[ | %]]','')
cambiu = string.gsub(cambiu1,'http:%/%/','')
elseif string.find(s, 'http:%/%/') then
cambiu = string.gsub(s,'http:%/%/','')
else
cambiu = s
end
return cambiu
end
function p.sinD(frame) -- Convierte en mayúsculas la primera letra que aparece en la edición de una cadena
local cadena = frame.args[1]
local cambiu = {}
if string.find(cadena, '|') ~= nil then -- Enlaces con etiqueta
cambiu = string.gsub(cadena,'|%a+%sde%d(%D+)', '%1')
elseif string.find(cadena, '[[]') ~= nil then -- Enlaces sin etiqueta
cambiu = string.gsub(cadena,'(^..%a+%sde%s)(%D+)', '%1%2|%2')
else -- Sin enlace
cambiu = string.gsub(cadena,'^%a+%sde%s%(%D+)','%1')
end
return cambiu
end
function p.imaxe(frame)
local s = frame.args[1]
local imaxe = {}
if s ~= nil then
if string.find(s, '[Ff]icheru') then
imaxe = string.gsub(s,'..[Ff]icheru:(.*\.%a%a%a)|.*','%1')
elseif string.find(s, '[Aa]rchivo') then
imaxe = string.gsub(s,'..[Aa]rchivo:(.*\.%a%a%a)|.*','%1')
elseif string.find(s, '[Ff]ile') then
imaxe = string.gsub(s,'..[Ff]ile:(.*\.%a%a%a)|.*','%1')
elseif string.find(s, '[Ii]maxe') then
imaxe = string.gsub(s,'..[Ii]maxe:(.*\.%a%a%a)|.*','%1')
elseif string.find(s, '[Ii]magen') then
imaxe = string.gsub(s,'..[Ii]magen:(.*\.%a%a%a)|.*','%1')
elseif string.find(s, '[Ii]mage') then
imaxe = string.gsub(s,'..[Ii]mage:(.*\.%a%a%a)|.*','%1')
else
imaxe = s
end
else
imaxe = ''
end
return imaxe
end
function p.formatnum(frame)
local s = frame.args[1]
local idioma = {}
if s ~= '' or s ~= nil then
if frame.args[2] then
idioma = frame.args[2]
else
idioma = 'ast'
end
local num = string.gsub(string.gsub(s,',',''),' ','') -- cambiamo coma por punto y quitamos espacio bruto
local formatnum = {}
if type(tonumber(num)) == 'number' then
if string.len(num) == 4 or mw.ustring.find(num,'%.') == 5 then
if idioma == 'ast' then
formatnum = string.gsub(num,'%.',',')
else
formatnum = mw.language.new(idioma):formatNum(tonumber(num))
end
else
formatnum = mw.language.new(idioma):formatNum(tonumber(num))
end
return formatnum
else
return s --'<strong class="error">Número no válido</strong> [[Categoría:Wikipedia:Errores de formatnum]]'
end
else
return ''
end
end
return p