FANDOM


--------------------------------------------------------------------
-- Si hay problemas contactar con User:BrandaniMB, si por alguna razón este no contestara, utilizar los Foros de Comunidad Central.
-- Atribución User:FishTank
-- http://dc.wikia.com/wiki/Module:ComicsHF
--------------------------------------------------------------------
local p = {}
 
---------------------------------------------------------
--                  Funciones internas                 --
---------------------------------------------------------
 
-- Eliminar los enlaces a los datos enviados a sentencias que los agregaban automaticamente.
function p.removeLinks(str)
    if str ~= nil then
        str = string.gsub(str, "%[", "")
        str = string.gsub(str, "%]", "")
    end
 
    return str
end
 
-- Eliminar espacios en blanco al inicio y final. Uso interno
function p.trim(s)
    if type(s) == "string" then
        return (s:gsub("^%s*(.-)%s*$", "%1"))
    else
        return false
    end
end
 
-- Uso interno del módulo.
function p.isempty(s)
    if s == nil or p.trim(s) == "" then
        return true
    end
 
    return false
end
 
-- Añadir categoría
-- `sortkey` es opcional
function p.Category(category, sortkey)
    if sortkey == nil then
        sortkey = ""
    else
        sortkey = "|" .. sortkey
    end
    return string.format("[[" .. "Category:%s%s]]", category, sortkey)
end
 
-- añadir enlace a categoría
function p.LinkToCategory(category, label)
    return string.format("[[:" .. "Category:%s|%s]]", category, label or "Category:" .. category)
end
 
-- verifica la existencia de una página
-- si type no existe se buscara como una página (ns:0), tiene que estar en ingles, ejemplo "Category"
function p.exist(title, ns)
    if p.isempty(ns) then
        if mw.title.new(title).exists == true then
            return true
        else
            return false
        end
    else
        if mw.title.new(title, ns).exists == true then
            return true
        else
            return false
        end
    end
end
---------------------------------------------------------
--                 Funciones para uso                  --
---------------------------------------------------------
 
-- Añadir enlace interno
-- Modo de uso: {{#invoke:InfoboxCorrection|Link|link=ejemplo|label=ejemplo}}
-- link: titulo de la página a enlazar
-- titulo: texto a mostrar. `label` es opcional
function p.Link(frame)
    local link = p.removeLinks(frame.args.link)
    local label = p.removeLinks(frame.args.label)
 
    if not p.isempty(label) then
        return string.format("[[" .. "%s|%s]]", link, label)
    else
        return string.format("[[" .. "%s]]", link)
    end
end
 
-- Añadir enlace a una categoría si se incluye `label` sino solamente se incluye la categoría a la página
-- Modo de uso: {{#invoke:InfoboxCorrection|CategoryLink|category=ejemplo|sortkey=ejemplo|label=ejemplo}}
-- category: nombre de la categoría
-- sortkey: titulo
-- label: texto a mostrar. `label` es opcional
function p.CategoryLink(frame)
    local category = p.removeLinks(frame.args.category)
    local sortkey = p.removeLinks(frame.args.sortkey)
    local label = p.removeLinks(frame.args.label)
    if not p.isempty(label) then
        return p.LinkToCategory(category, label) .. p.Category(category, sortkey)
    else
        return p.Category(category, sortkey)
    end
end
 
-- Crear un link externo, modo de uso {{#invoke:InfoboxCorrection|ExternalLink|target=ejemplo|label=ejemplo|plain=(true/false)}}
-- target: ingresar la dirección a la que se va a enlazar.
-- label: ingresar titulo del enlace.
-- plain: ingresar true o false si se quiere o no un enlace plano.
function p.ExternalLink(frame)
    local target = frame.args.target
    local label = frame.args.label
    local plain = frame.args.plain
 
    local output = string.format("[%s %s]", target, label)
 
    if plain == "true" then
        output = string.format('<span class="plainlinks">%s</span>', output)
    end
 
    return output
end
 
return p
El contenido de la comunidad está disponible bajo CC-BY-SA a menos que se indique lo contrario.