Moduł:Page size

Z Wikipedii, wolnej encyklopedii
 Dokumentacja modułu [zobacz] [edytuj] [historia] [odśwież]

Przykład[edytuj kod]

screens[edytuj kod]

Ekrany tekstu
Kod Wynik
{{#invoke:page size|screens|3}}
{{#invoke:page size|screens|10}}
{{#invoke:page size|screens|15}}
{{#invoke:page size|screens|15.5}}

sizeToScreens[edytuj kod]

Ekrany tekstu
Kod Wynik
{{#invoke:page size|sizeToScreens|bytes=1000}}
{{#invoke:page size|sizeToScreens|bytes=2000}}
{{#invoke:page size|sizeToScreens|bytes=7000}}
{{#invoke:page size|sizeToScreens|bytes=10000}}
{{#invoke:page size|sizeToScreens|bytes=20000}}
{{#invoke:page size|sizeToScreens|bytes=70000}}
{{#invoke:page size|sizeToScreens|bytes=100000}}

Błędy[edytuj kod]

Błędy należy zgłaszać na stronie Wikipedia:Kawiarenka/Kwestie techniczne.

Zobacz też[edytuj kod]


local p = {}

function trim(s)
	return (s:gsub("^%s+", ""):gsub("%s+$", ""))
end

--[[
	Size to screens.
	
	Note! Assumes the screen icon is {iconSize}px wide.
]]
function p.sizeToScreens(frame)
	local byteSize = tonumber(trim(frame.args.bytes))
	local screenSize = 4000 -- vector thin view: 3500-4500 character
	return p.generateScreens(byteSize / screenSize)
end

--[[
	Screens visualization.
]]
function p.screens(frame)
	local screens = 0
	if (frame.args.screens) then
		screens = tonumber(trim(frame.args.screens))
	elseif (frame.args[1]) then
		screens = tonumber(trim(frame.args[1]))
	end
	return p.generateScreens(screens)
end

-- Screens elements
function p.generateScreens(screens)
    local html = ""
    local screenWidth = 0
    local iconSize = 15
    local lineSize = 10 * iconSize

    if screens <= 10 then
		screenWidth = iconSize * screens
    elseif screens > 10 then
        local fullLines = math.floor(screens / 10)
        local remainingScreens = screens % 10
        for i = 1, fullLines do
            html = html .. '<span class="ekran-tekstu" style="width: ' .. lineSize .. 'px"></span>'
        end
        screenWidth = iconSize * remainingScreens
    end
    
	screenWidth = (math.floor((screenWidth * 100) + 0.5)/100)
    html = html .. '<span class="ekran-tekstu" style="width: ' .. screenWidth .. 'px"></span>'
    return html
end

return p