fp

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

Introduction

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: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 FP is the lead developer and one of the administrators of Our World of Text. His tasks on Our World of Text include the maintaining of the server and client, and the upkeep of the community. He has an OP role.

Non-OWOT roles

Outside of Our World of Text, FP has a few roles. He infrequently contributes to the Your World of Text codebase and actively maintains an upcoming avatar game led by InfraRaven.

Claimed worlds

fp owns the list of worlds below:

*list in progress