local p = -- Function allowing for consistent treatment of boolean-like wikitext input.-- It works similarly to the template {{yesno}}.
return function p.yesno(frameval, default) --If your wiki uses non- defaults local retvals = { yes = ascii characters for any of "yes", "no = "",etc., you [ -- should replace "¬val:lower()"] = with "mw.ustring.lower(val)"in the } -- Allow arguments to override defaultsfollowing line. Arguments are taken from -- the parent frame; other arguments are ignored. for k,v in pairs(frame:getParent val = type(val).args) do retvals[k] = v end = 'string' and val = frame:getParentlower().args[1] -- First deal with the case if or val is nil, then deal with other cases. if val == nil then return retvals['¬']nil end elseif val = val:lower() -- Make lowercase.= true or val = val:match= '^%s*(.*%S)yes' or val == 'y' -- Trim whitespace. -- Cases are ordered by (probable) likelihood of use. if or val == 'true' then return retvals['blank'] or retvals[val == 'not'] elseif or val == 'yeson' then return retvals['yes'] elseif or tonumber(val ) == 'no' 1 then return retvals['no']true elseif val == 'y' thenfalse return retvals[ or val == 'yesno'] elseif or val == 'n' then return retvals[ or val == 'nofalse'] elseif or val == '¬f' then return retvals['¬'] elseif tonumber( or val) == 1 then return retvals['yesoff'] elseif or tonumber(val) == 0 then return retvals['no']false else return retvals['def'] or retvals['yes']default end
end
return p