Favicon Vikidia.png
¡Vikidia te necesita!Face-wink.svg
Corazón.svg

Actualmente tenemos 6633 artículos. ¡Anímate! Face-smile.svg a crear los artículos solicitados

Módulo:Utilidades

De Vikidia
Ir a la navegación Ir a la búsqueda
Test Template Info-Icon - Version (2).svg Documentación de módulo

Este módulo contiene diversas funciones útiles para simplificar la creación de módulos en Vikidia.

Funciones

eliminarArgSinValor(table t)

Elimina los elementos sin valor de una tabla t. Retorna la tabla modificada.

en(table t, elem)

Comprueba si elemento elem existe en la tabla t. Retorna la clave en la que se encuentra, en caso de encontrarse.

categorizarParams(table args, table params, table obsoleto, string catdesc, string catobs)

Comprueba la lista de argumentos proporcionada por args, en busca de parámetros obsoletos o desconocidos. Para ello, los comprueba usando una tabla de patterns provista por params. También comprueba si se usan parámetros obsoletos usando los patterns de la tabla obsoleto. Se usarán las categorías Categoría:Vikidia:Páginas que transcluyen plantillas con parámetros desconocidos y Categoría:Vikidia:Páginas que transcluyen plantillas con parámetros obsoletos si no se especifican catdesc y catobs. Retorna una cadena, con las categorías a ser usadas.

capitalizar(string cad)

Convierte a mayúscula la primera letra de la cadena cad. Retorna la cadena modificada.

split(string cad, string sep)

Divide la cadena cad con el separador sep. Retorna una tabla con los elementos separados.

Variables

table esquemasColores

Contiene tablas de dos elementos para guardar los esquemas de colores usados en Vikidia, en formato RGB. El primer elemento es el color principal, el segundo, el secundario. La lista de colores es la siguiente:

Esquema Color principal Color secundario Color terciario
indigo #4b0082 #d8bfd8 #4b008270
crimson #dc143d #ff7f50 #dc143d70
darkorange #ff8c00 #ffdead #ff8c0070
red #ff0000 #f59999 #ff000070
forestgreen #228b22 #b1df70 #228b2270
blue #0000ff #ccccff #0000ff70
darkviolet #9400d3 #dda0dd #9400d370
seagreen #2e8b57 #98fb98 #2e8b5770
dodgerblue #1e90ff #b0e0e6 #1e90ff70
black #000000 #c0c0c0 #00000070
slateblue #6a5acd #b0c4de #6a5acd70
chocolate #d2691e #eee8aa #d2691e70
gold #ffd700 #fffacd #ffd70070

Esta documentación se encuentra en la subpágina Módulo:Utilidades/doc (editar | historial)
Por favor, incluye las categorías a la subpágina /doc. Subpáginas de este módulo.

local z = {}

function z.eliminarArgSinValor(tabla)
  local tabla2 = {}
  for k,v in pairs(tabla) do
    if v~='' then
      tabla2[k] = tabla[k]
    end
  end
  return tabla2
end

function z.en(tabla, elem)
  if not elemento then
    return
  end
  for k,v in pairs(tabla) do
    if v == elem then
      return k
    end
  end
end

function z.categorizarParams(args, params, obsoleto, catdesc, catobs)
  local vars = {false, false, 'Páginas que transcluyen plantillas con parámetros desconocidos' or catdesc, 'Páginas que transcluyen plantillas con parámetros obsoletos' or catobs}
  for i, v in ipairs(args) do
    if not vals[1] then
      for ii, vv in ipairs(params) do
        if mw.ustring.match(v, vv) then
          vals[1] = true
        end
      end
    end
    if not vals[2] then
      for ii, vv in ipairs(obsoleto) do
        if mw.ustring.match(v, vv) then
          vals[2] = true
        end
      end
    end
  end
  
  return {(val[1] and ('[[Categoría:' .. val[3] .. ']]') or '') .. (val[2] and ('[[Categoría:' .. val[4] .. ']]') or '')}
end

function z.capitalizar(cad)
  return string.upper(string.sub(cad,1,1)) .. string.sub(cad,2)
end

function z.split(cad, sep)
  local t = {}
  for elem in string.gmatch(cad, "([^"..sep.."]+)") do
    table.insert(t, elem)
  end
  return t
end
--Paleta de colores
z.esquemasColores = {
  ['indigo'] = {'#4b0082', '#d8bfd8'},
  ['crimson'] = {'#dc143d', '#ff7f50'},
  ['darkorange'] = {'#ff8c00', '#ffdead'},
  ['red'] = {'#ff0000', '#f59999'},
  ['forestgreen'] = {'#228b22', '#b1df70'},
  ['blue'] = {'#0000ff', '#ccccff'},
  ['darkviolet'] = {'#9400d3', '#dda0dd'},
  ['seagreen'] = {'#2e8b57', '#98fb98'},
  ['dodgerblue'] = {'#1e90ff', '#b0e0e6'},
  ['black'] = {'#000000', '#c0c0c0'},
  ['slateblue'] = {'#6a5acd', '#b0c4de'},
  ['chocolate'] = {'#d2691e', '#eee8aa'},
  ['gold'] = {'#ffd700', '#fffacd'}
}

return z