AndreiXYZ

From Our World of Text Wiki
Revision as of 10:14, 30 June 2024 by KKosty4ka (talk | contribs) (fix template namespaces)
Jump to navigation Jump to search


local p = {}

local getArgs

local function showUserbox(frame, v, nocat) local maybeNocat = if nocat then maybeNocat = '|nocat=yes' end return frame:preprocess('Template:User '..v..maybeNocat..'') end

function p.main(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end local args = getArgs(frame, {wrappers = 'Template:Babel'})

local ret = mw.html.create('table') :attr('role', 'presentation') :addClass('userboxes') :css( { float = args.align or 'right', ['margin-left'] = (args.left or '1') .. 'em', ['margin-bottom'] = (args.bottom or '0') .. 'em', width = (args.width or '248') .. 'px', clear = args.align or 'right', color = args.textcolor or '#000000', border = (args.bordercolor or '#99B3FF') .. ' solid ' .. (args.solid or 1)..'px' } )

local nocat = args.nocat and string.lower(args.nocat) == 'yes'

if args.shadow and string.lower(args.shadow) == 'yes' then ret:css({ ['box-shadow'] = '0 2px 4px rgb(0,0,0,0.2)' }) end

ret:cssText( args['extra-css'] or )

local color = args.color or 'inherit' local row1 = ret:tag('tr') local row2 = ret:tag('tr') local row3 = ret:tag('tr')

local body_cells = row2:tag('td') :css('vertical-align', 'middle !important')

local userboxes -- Special message for when first argument is blank; otherwise treat it as normal if args[1] and args[1]:find('%S') then userboxes = showUserbox(frame, args[1], nocat) else userboxes = args.noboxestext or "You haven't set up any languages. Please see Template:Babel/doc for help." end

body_cells:wikitext(userboxes)

-- "remove" args[1] so it isn't looked at in the loop -- table.remove(args,1) doesn't produce desired result args[1] =

-- Keep track of how many columns are in this table local col_span = 1 for _, v in ipairs( args ) do -- ! indicates a new cell should be created if v:find('%S') and v ~= '!' then body_cells:wikitext( showUserbox(frame, v, nocat) )

-- Recycling body_cells for

elseif v and v == '!' then col_span = col_span + 1 body_cells:done() body_cells = row2:tag('td') end end

row1:tag('th') :css({ ['background-color'] = color, ['text-align'] = 'center' }) :attr('colspan',col_span) :wikitext( args.header or 'Wikipedia:Babel' ) :done()

row3:tag('td') :css({ ['background-color'] = color, ['text-align'] = 'center' }) :attr('colspan',col_span) :wikitext( args.footer or 'Search user languages' ) :done()

if args['special-boxes'] then body_cells:wikitext(args['special-boxes']) end

body_cells:done()

return tostring(ret) end

return p

AndreiXYZ is a Romanian user and world designer who joined OWOT in late July 2020. He is known for creating WOTDs using symbols for legacy computing.

Despite not being too active on the site and rarely interacting with the front page, he is very well known in the Discord server, being the second most active member.

Description

Worlds

Scripts