Module:Module sandbox/sandbox
Appearance
This is the module sandbox page for Module:Module sandbox (diff). |
Welcome to Module:Module sandbox/sandbox, a Wikipedia module sandbox. This page is itself a module, and it allows you to carry out experiments related to module editing. If you wish to experiment with article editing, use the Wikipedia Sandbox or your own user sandbox.
To edit, click the edit tab above, make your changes and click the Publish changes button when finished. Please do not place malicious Lua code here, or copyrighted, offensive, illegal or libelous content in the sandboxes. For assistance with Lua coding, try the technical forum at the Village Pump. There are also several template sandboxes you can use to carry out experiments:
You can also conduct tests using the Wikipedia Sandbox. For instance, to invoke this module there, edit it so that it includes: {{#invoke:Module sandbox}} |
More info
Sandbox games |
Usage
{{#invoke:Module sandbox|function_name}}
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
output = output .. "{{lang|en|Cançaise.}}"
return output
end
return p