Jump to content

Module:Module sandbox/sandbox: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
No edit summary
Line 10: Line 10:
'font-size:' .. font_size .. '; text-align:left; border-collapse:collapse;'..'\n'..
'font-size:' .. font_size .. '; text-align:left; border-collapse:collapse;'..'\n'..
'! colspan=2 style="text-align:center; border-top: 0px;" | '..name..'\n'
'! colspan=2 style="text-align:center; border-top: 0px;" | '..name..'\n'
end

local function resolve_language(lang_code)
return language_names[lang_code]
end
end


Line 19: Line 15:
local function make_language_wikilink(lang_code)
local function make_language_wikilink(lang_code)
local article_name = 'Main Page'
local article_name = 'Main Page'
local display = resolve_language(lang_code)
local display = language_names[lang_code]
return '[['..article_name..'|'..display..']]'
return '[['..article_name..'|'..display..']]'
end
end


local function make_language_row(lang_code, lang_text)
local function make_language_row(frame, lang_code, lang_text)
local lang_link_wikilink = make_language_wikilink(lang_code)
local lang_link_wikilink = make_language_wikilink(lang_code)
return "! style=\"padding-left:0.5em\" | "..lang_link_wikilink..
return "! style=\"padding-left:0.5em\" | "..lang_link_wikilink..
"\n| {{lang|"..lang_code..'|'..lang_text..'}}'
"\n|".. frame:expandTemplate{title='lang',args={lang_code, lang_text}}
end
end


function p.main(frame)
function p.main(frame)
local output = ''
local output = ''
output = output .. make_table_start(
output = output .. make_table_start(
frame.args.width,
frame.args.width,
frame.args.font_size,
frame.args.font_size,
frame.args.name) .. SEPARATOR
frame.args.name) .. SEPARATOR

frame.args.width = nil
frame.args.font_size = nil
frame.args.name = nil

for k,v in pairs(frame.args) do
output = output .. make_language_row(k,v) .. '\n' .. SEPARATOR
end


for k,v in pairs(frame.args) do
output = output .. '|}'
if language_names[k] then
output = output .. make_language_row(frame, k, v) .. '\n' .. SEPARATOR
end
end


return output
return output
end
end



Revision as of 20:54, 26 November 2023

local lang = require('Module:Lang')
local language_names = mw.loadData('Module:Lang/data').lang_name_table.lang

local p = {}
local SEPARATOR = '|- style="border-bottom:1px solid #aaa"\n'
local STYLE = "border-bottom:1px solid #aaa"

local function make_table_start(width, font_size, name)
    return '{| class="mw-collapsible mw-collapsed" style="width:'..width..';'..
        'font-size:' .. font_size .. '; text-align:left; border-collapse:collapse;'..'\n'..
        '! colspan=2 style="text-align:center; border-top: 0px;" | '..name..'\n'
end

-- todo: link to articles properly
local function make_language_wikilink(lang_code)
	local article_name = 'Main Page'
	local display = language_names[lang_code]
	return '[['..article_name..'|'..display..']]'
end

local function make_language_row(frame, lang_code, lang_text)
    local lang_link_wikilink = make_language_wikilink(lang_code)
    return "! style=\"padding-left:0.5em\" | "..lang_link_wikilink..
           "\n|".. frame:expandTemplate{title='lang',args={lang_code, lang_text}} 
end

function p.main(frame)
	local output  = ''
	output = output .. make_table_start(
		frame.args.width,
		frame.args.font_size,
		frame.args.name) .. SEPARATOR

	for k,v in pairs(frame.args) do
		if language_names[k] then
			output = output .. make_language_row(frame, k, v) .. '\n' .. SEPARATOR
		end
	end

	return output
end

return p