Permanently protected module
From Wikipedia, the free encyclopedia


local p = {}



function p.indent(frame)

    -- Trim whitespace from the arguments and remove blank values.

    local args = {}

    if type(frame.args) == 'table' then

        for k, v in pairs( frame.args ) do

            v = mw.text.trim(v)

            if v ~= '' then

                argsk = v

            end

        end

    end

    

    -- Set variables.

    local indent = tonumber( args1 )

    local br = args2

    local ret = ''

    

    -- Insert line breaks to match the functionality of the original template.

    -- If "br" is set, we need two line breaks; if not, we just need one.

    if br then

        ret = ret .. '<br />' 

    end

    ret = ret .. '<br />'

    

    -- Control for bad or zero input. If found, output the line breaks only, 

    -- as this was the previous behaviour of the template.

    if not indent or indent <= 0 or math.floor(indent) ~= indent then

        return ret

    end

    

    -- Generate the indents. The first four cases are special.

    if indent == 1 then

        return ret .. '&nbsp;'

    elseif indent == 2 then

        return ret .. '&nbsp;&nbsp;'

    elseif indent == 3 then

        return ret .. '&nbsp;&emsp;&nbsp;'

    elseif indent == 4 then

        return ret .. '&nbsp; &emsp; &nbsp;'

    end

    

    -- Set variables for generating the output after indent == 5.

    local r = {}

    r.base = '&nbsp;' -- Common text to all output.

    r.rep = ' &emsp; &nbsp;' -- The text to repeat.

    r.mod1 = '&nbsp;' -- To return on modulo 1.

    r.mod2 = ' &emsp;' -- To return on modulo 2.

    r.mod3 = ' &emsp;&nbsp;' -- To return on modulo 3.

    

    -- New iteratorText values needed at 5, 9, 13, 17, etc., so repeat the

    -- text (indent - 1)/4 times and find the remainder.

    local reps = math.floor( (indent - 1) / 4 )

    local remainder = math.fmod( indent - 1, 4 )

    

    -- Generate the indent text.

    ret = ret .. r.base .. mw.ustring.rep( r.rep, reps )

    if remainder >= 1 and remainder <= 3 then

        ret = ret .. r 'mod' .. remainder 

    end

    

    return ret

end



return p
Permanently protected module
From Wikipedia, the free encyclopedia


local p = {}



function p.indent(frame)

    -- Trim whitespace from the arguments and remove blank values.

    local args = {}

    if type(frame.args) == 'table' then

        for k, v in pairs( frame.args ) do

            v = mw.text.trim(v)

            if v ~= '' then

                argsk = v

            end

        end

    end

    

    -- Set variables.

    local indent = tonumber( args1 )

    local br = args2

    local ret = ''

    

    -- Insert line breaks to match the functionality of the original template.

    -- If "br" is set, we need two line breaks; if not, we just need one.

    if br then

        ret = ret .. '<br />' 

    end

    ret = ret .. '<br />'

    

    -- Control for bad or zero input. If found, output the line breaks only, 

    -- as this was the previous behaviour of the template.

    if not indent or indent <= 0 or math.floor(indent) ~= indent then

        return ret

    end

    

    -- Generate the indents. The first four cases are special.

    if indent == 1 then

        return ret .. '&nbsp;'

    elseif indent == 2 then

        return ret .. '&nbsp;&nbsp;'

    elseif indent == 3 then

        return ret .. '&nbsp;&emsp;&nbsp;'

    elseif indent == 4 then

        return ret .. '&nbsp; &emsp; &nbsp;'

    end

    

    -- Set variables for generating the output after indent == 5.

    local r = {}

    r.base = '&nbsp;' -- Common text to all output.

    r.rep = ' &emsp; &nbsp;' -- The text to repeat.

    r.mod1 = '&nbsp;' -- To return on modulo 1.

    r.mod2 = ' &emsp;' -- To return on modulo 2.

    r.mod3 = ' &emsp;&nbsp;' -- To return on modulo 3.

    

    -- New iteratorText values needed at 5, 9, 13, 17, etc., so repeat the

    -- text (indent - 1)/4 times and find the remainder.

    local reps = math.floor( (indent - 1) / 4 )

    local remainder = math.fmod( indent - 1, 4 )

    

    -- Generate the indent text.

    ret = ret .. r.base .. mw.ustring.rep( r.rep, reps )

    if remainder >= 1 and remainder <= 3 then

        ret = ret .. r 'mod' .. remainder 

    end

    

    return ret

end



return p

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook