<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>https://wiki.tokusatsus.com/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3APortal-inline</id>
	<title>Módulo:Portal-inline - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.tokusatsus.com/index.php?action=history&amp;feed=atom&amp;title=M%C3%B3dulo%3APortal-inline"/>
	<link rel="alternate" type="text/html" href="https://wiki.tokusatsus.com/index.php?title=M%C3%B3dulo:Portal-inline&amp;action=history"/>
	<updated>2026-10-27T02:13:52Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.tokusatsus.com/index.php?title=M%C3%B3dulo:Portal-inline&amp;diff=6359&amp;oldid=prev</id>
		<title>Tavoraadmin: Importando predefinição/módulo da Wikipédia em português para manter layout</title>
		<link rel="alternate" type="text/html" href="https://wiki.tokusatsus.com/index.php?title=M%C3%B3dulo:Portal-inline&amp;diff=6359&amp;oldid=prev"/>
		<updated>2026-09-06T05:47:01Z</updated>

		<summary type="html">&lt;p&gt;Importando predefinição/módulo da Wikipédia em português para manter layout&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
local portalModule = require(&amp;#039;Module:Portal&amp;#039;)&lt;br /&gt;
local getImageName = portalModule.image&lt;br /&gt;
local checkPortals = portalModule._checkPortals&lt;br /&gt;
local processPortalArgs = portalModule._processPortalArgs&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- these 3 functions were imported from de main portal module&lt;br /&gt;
-- so we can print link and portal name&lt;br /&gt;
local function matchImagePage(s)&lt;br /&gt;
    -- Finds the appropriate image subpage given a lower-case&lt;br /&gt;
    -- portal name plus the first letter of that portal name.&lt;br /&gt;
    if type(s) ~= &amp;#039;string&amp;#039; or #s &amp;lt; 1 then return end&lt;br /&gt;
    local firstLetter = mw.ustring.sub(s, 1, 1)&lt;br /&gt;
    local imagePage, banners&lt;br /&gt;
    if mw.ustring.find(firstLetter, &amp;#039;^[a-z]&amp;#039;) then&lt;br /&gt;
        imagePage = &amp;#039;Module:Portal/images/&amp;#039; .. firstLetter&lt;br /&gt;
    else&lt;br /&gt;
        imagePage = &amp;#039;Module:Portal/images/other&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
    local banners = mw.loadData ( imagePage )&lt;br /&gt;
        if type(banners[s]) == &amp;#039;string&amp;#039; or #s &amp;lt; 1 then&lt;br /&gt;
       return -- not found&lt;br /&gt;
        end&lt;br /&gt;
    return banners [s]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getAlias(s)&lt;br /&gt;
    -- Gets an alias from the image alias data page.&lt;br /&gt;
    local aliasData = mw.loadData(&amp;#039;Module:Portal/images/aliases&amp;#039;)&lt;br /&gt;
    for portal, aliases in pairs(aliasData) do&lt;br /&gt;
        for _, alias in ipairs(aliases) do&lt;br /&gt;
            if alias == s then&lt;br /&gt;
                return portal&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getImageName1(s)&lt;br /&gt;
    -- Gets the image name for a given string.&lt;br /&gt;
    local default = {}&lt;br /&gt;
    default[&amp;#039;imagem&amp;#039;] = &amp;#039;Portal-puzzle.svg|link=|alt=&amp;#039;&lt;br /&gt;
        default[&amp;#039;link&amp;#039;] = &amp;#039;Wikipédia&amp;#039;&lt;br /&gt;
        default[&amp;#039;nome&amp;#039;] = &amp;#039;Portal da Wikipédia&amp;#039;&lt;br /&gt;
    if type(s) ~= &amp;#039;string&amp;#039; or #s &amp;lt; 1 then&lt;br /&gt;
        return default&lt;br /&gt;
    end&lt;br /&gt;
    s = mw.ustring.lower(s)&lt;br /&gt;
    return matchImagePage(s) or matchImagePage(getAlias(s)) or default&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Function to format error message and tracking category&lt;br /&gt;
-- Arguments:&lt;br /&gt;
--   errMsg: string, or nil/false if no error&lt;br /&gt;
--   trackingCat: string for tracking category (or empty string)&lt;br /&gt;
local function formatError(errMsg, trackingCat)&lt;br /&gt;
    local result = trackingCat or &amp;#039;&amp;#039;&lt;br /&gt;
    if errMsg then&lt;br /&gt;
        local errTag = mw.html.create(&amp;#039;span&amp;#039;)&lt;br /&gt;
        errTag:addClass(&amp;quot;error&amp;quot;)&lt;br /&gt;
        errTag:css(&amp;quot;font-size&amp;quot;,&amp;#039;100%&amp;#039;)&lt;br /&gt;
        errTag:wikitext(&amp;quot;Error: &amp;quot;..errMsg)&lt;br /&gt;
        result = tostring(errTag)..result&lt;br /&gt;
    end&lt;br /&gt;
    return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function image(portal, args)&lt;br /&gt;
        local tamanho = args.size or args.tamanho&lt;br /&gt;
    local size = tamanho == &amp;quot;tiny&amp;quot; and &amp;quot;16x16px&amp;quot; or &amp;quot;32x28px&amp;quot;&lt;br /&gt;
    return string.format(&amp;#039;[[File:%s|class=noviewer|%s]]&amp;#039;,getImageName{portal}, size)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function link(portal, args)&lt;br /&gt;
    local displayName = &amp;quot;&amp;quot;&lt;br /&gt;
    local banners = getImageName1(portal)&lt;br /&gt;
    --local image = banners[&amp;#039;imagem&amp;#039;]&lt;br /&gt;
    local link = banners[&amp;#039;link&amp;#039;]&lt;br /&gt;
    local name = banners[&amp;#039;nome&amp;#039;]&lt;br /&gt;
    local text = args.text or args.texto&lt;br /&gt;
    if not (text == &amp;quot;&amp;quot; or text == nil) then&lt;br /&gt;
        displayName = text&lt;br /&gt;
    elseif args.short or args.curto then&lt;br /&gt;
        displayName = link&lt;br /&gt;
    else&lt;br /&gt;
        displayName = name&lt;br /&gt;
    end&lt;br /&gt;
    return string.format(&amp;#039;[[Portal:%s|%s]]&amp;#039;,link,displayName)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(portals, args)&lt;br /&gt;
    mw.logObject(args)&lt;br /&gt;
    &lt;br /&gt;
    -- Normalize all arguments&lt;br /&gt;
    if args.redlinks == &amp;#039;include&amp;#039; then args.redlinks = true end&lt;br /&gt;
    for key, default in pairs({tracking=true,redlinks=false,short=false}) do&lt;br /&gt;
        if args[key] == nil then args[key] = default end&lt;br /&gt;
        args[key] = yesno(args[key], default)&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    local trackingCat = &amp;#039;&amp;#039;&lt;br /&gt;
    local errMsg = nil&lt;br /&gt;
    &lt;br /&gt;
    -- Check for existing categories, drop if not.&lt;br /&gt;
    -- Possible generate tracking category &amp;amp; error message if needed&lt;br /&gt;
    args.minPortals = args.minPortals or 1&lt;br /&gt;
    args.maxPortals = args.maxPortals or 1&lt;br /&gt;
    portals, trackingCat, errMsg = checkPortals(portals,args)&lt;br /&gt;
    -- use more specific tracking cat for inline portal&lt;br /&gt;
    --trackingCat = mw.ustring.gsub(trackingCat,&amp;quot;Portal templates&amp;quot;,&amp;quot;Portal-inline template&amp;quot;)&lt;br /&gt;
    -- either too many/few portals, or no portals left after filtering, then return&lt;br /&gt;
    if errMsg or #portals == 0 then&lt;br /&gt;
        return formatError(errMsg, trackingCat)&lt;br /&gt;
    end&lt;br /&gt;
    return image(portals[1],args)..&amp;#039;&amp;amp;nbsp;&amp;#039;..link(portals[1],args)..(trackingCat or &amp;#039;&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
    local origArgs = getArgs(frame)&lt;br /&gt;
    local portals, args = processPortalArgs(origArgs)&lt;br /&gt;
    return p._main(portals, args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Tavoraadmin</name></author>
	</entry>
</feed>