Module:OnshokoeseScript: Difference between revisions

From Constructed Worlds Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:


local CharData = mw.loadData( 'Module:OnshokoeseScript/data' )
local CharData = mw.loadData( 'Module:OnshokoeseScript/data' )
function p._onshokoese( humanwords, size )
    local output_string = {}
    local humanwords = string.lower(humanwords)
    local span = mw.html.create( 'span' )
    if (size == nil or size == '') then size='14' end
    local i=1
    repeat
        local replacement = CharData["OnshokoeseChar"][humanwords:sub(i,i + 2)]
        if replacement ~= nil then
            table.insert(output_string,'[[File:'..replacement..'|x'..size..'px|link=]]')
            i = i + 3
        else
            local replacement = CharData["OnshokoeseChar"][humanwords:sub(i,i + 1)]
        if replacement ~= nil then
            table.insert(output_string,'[[File:'..replacement..'|x'..size..'px|link=]]')
            i = i + 2
        else
            local replacement = CharData["OnshokoeseChar"][humanwords:sub(i,i)]
        if replacement ~= nil then
            table.insert(output_string,'[[File:'..replacement..'|x'..size..'px|link=]]')
        else
            table.insert(output_string,'  ')
            i = i + 1
        end
        end
        end
    until i > string.len(humanwords)
    span    :css( 'font-size', size..'px' )
            :wikitext( table.concat(output_string) )
    return tostring(span)
end


function p.main(frame)
function p.main(frame)
local args = getArgs(frame)
    local string_input = frame.args[1]
return p._main(args)
    local num_input = frame.args[2]
    return p._onshokoese(string_input, num_input)
 
end
end



Revision as of 22:54, 25 April 2024

Documentation for this module may be created at Module:OnshokoeseScript/doc

local getArgs = require('Module:Arguments').getArgs
local p = {}

local CharData = mw.loadData( 'Module:OnshokoeseScript/data' )

function p._onshokoese( humanwords, size )
    local output_string = {}
    local humanwords = string.lower(humanwords)
    local span = mw.html.create( 'span' )
    if (size == nil or size == '') then size='14' end
    local i=1
    repeat
        local replacement = CharData["OnshokoeseChar"][humanwords:sub(i,i + 2)]
        if replacement ~= nil then
            table.insert(output_string,'[[File:'..replacement..'|x'..size..'px|link=]]')
            i = i + 3
        else
            local replacement = CharData["OnshokoeseChar"][humanwords:sub(i,i + 1)]
        if replacement ~= nil then
            table.insert(output_string,'[[File:'..replacement..'|x'..size..'px|link=]]')
            i = i + 2
        else
            local replacement = CharData["OnshokoeseChar"][humanwords:sub(i,i)]
        if replacement ~= nil then
            table.insert(output_string,'[[File:'..replacement..'|x'..size..'px|link=]]')
        else
            table.insert(output_string,'  ')
            i = i + 1
        end
        end
        end
    until i > string.len(humanwords)
    span    :css( 'font-size', size..'px' )
            :wikitext( table.concat(output_string) )
    return tostring(span)
end

function p.main(frame)
    local string_input = frame.args[1]
    local num_input = frame.args[2]
    return p._onshokoese(string_input, num_input)
   
end

function p._main(args)
	local first = args[1] or ''
	local second = args[2] or ''
	return first .. ' ' .. second
end

return p