Module:Check for unknown parameters and Help:Customization: Difference between pages

From Frontierpedia, the Microsoft Agent encyclopedia
(Difference between pages)
en>Gonnym
(Added entry point for modules per talk page discussion. Report any errors on talk page.)
 
frontierpediav5>WikiSysop
(Created page with "Customizing a user page can be done by going to your user page and clicking the edit button. The user page can be accessed by clicking your name in the top right or in a linke...")
 
Line 1: Line 1:
-- This module may be used to compare the arguments passed to the parent
Customizing a user page can be done by going to your user page and clicking the edit button. The user page can be accessed by clicking your name in the top right or in a linked area. You can edit the text on the page like a regular page and save when you are done.
-- with a list of arguments, returning a specified result if an argument is
-- not on the list
local p = {}


local function trim(s)
==How do I modify my userbox?==
return s:match('^%s*(.-)%s*$')
Modifying the userbox is also a straight forward process. You click on the userbox itself in the visual editor and click edit template
end
<gallery>
 
Userboxeditinstruction1.png| Step 1: Click on the userbox and click edit template.
local function isnotempty(s)
Templateditor1.png | Step 2: You can modify the text as needed. For example, to change the displayed avatar, you can [[Special:Upload|upload]] a file and then put the file name inside of there.
return s and s:match('%S')
</gallery>
end
== I set a profile avatar in preferences, but it isn't appearing on my user page.==
 
You have to set the avatar on the user page manually. The avatar featured inside of preferences only shows up right beside your name in a log. The instructions on how to set it as the avatar in your userbox are featured in the above section.
local function clean(text)
-- Return text cleaned for display and truncated if too long.
-- Strip markers are replaced with dummy text representing the original wikitext.
local pos, truncated
local function truncate(text)
if truncated then
return ''
end
if mw.ustring.len(text) > 25 then
truncated = true
text = mw.ustring.sub(text, 1, 25) .. '...'
end
return mw.text.nowiki(text)
end
local parts = {}
for before, tag, remainder in text:gmatch('([^\127]*)\127[^\127]*%-(%l+)%-[^\127]*\127()') do
pos = remainder
table.insert(parts, truncate(before) .. '&lt;' .. tag .. '&gt;...&lt;/' .. tag .. '&gt;')
end
table.insert(parts, truncate(text:sub(pos or 1)))
return table.concat(parts)
end
 
function p._check(args, pargs)
if type(args) ~= "table" or type(pargs) ~= "table" then
-- TODO: error handling
return
end
 
local ignoreblank = isnotempty(args['ignoreblank'])
local showblankpos = isnotempty(args['showblankpositional'])
local knownargs = {}
local unknown = args['unknown'] or 'Found _VALUE_, '
local preview = args['preview']
 
local values = {}
local res = {}
local regexps = {}
 
-- create the list of known args, regular expressions, and the return string
for k, v in pairs(args) do
if type(k) == 'number' then
v = trim(v)
knownargs[v] = 1
elseif k:find('^regexp[1-9][0-9]*$') then
table.insert(regexps, '^' .. v .. '$')
end
end
if isnotempty(preview) then
preview = '<div class="hatnote" style="color:red"><strong>Warning:</strong> ' .. preview .. ' (this message is shown only in preview).</div>'
elseif preview == nil then
preview = unknown
end
 
-- loop over the parent args, and make sure they are on the list
for k, v in pairs(pargs) do
if type(k) == 'string' and knownargs[k] == nil then
local knownflag = false
for _, regexp in ipairs(regexps) do
if mw.ustring.match(k, regexp) then
knownflag = true
break
end
end
if not knownflag and ( not ignoreblank or isnotempty(v) )  then
table.insert(values, clean(k))
end
elseif type(k) == 'number' and
knownargs[tostring(k)] == nil and
( showblankpos or isnotempty(v) )
then
table.insert(values, k .. ' = ' .. clean(v))
end
end
 
-- add results to the output tables
if #values > 0 then
if mw.getCurrentFrame():preprocess( "{{REVISIONID}}" ) == "" then
unknown = preview
end
for _, v in pairs(values) do
if v == '' then
-- Fix odd bug for | = which gets stripped to the empty string and
-- breaks category links
v = ' '
end
-- avoid error with v = 'example%2' ("invalid capture index")
local r =  unknown:gsub('_VALUE_', {_VALUE_ = v})
table.insert(res, r)
end
end
 
return table.concat(res)
end
 
function p.check(frame)
local args = frame.args
local pargs = frame:getParent().args
return p._check(args, pargs)
end
 
return p

Revision as of 16:18, 12 June 2021

Customizing a user page can be done by going to your user page and clicking the edit button. The user page can be accessed by clicking your name in the top right or in a linked area. You can edit the text on the page like a regular page and save when you are done.

How do I modify my userbox?

Modifying the userbox is also a straight forward process. You click on the userbox itself in the visual editor and click edit template

I set a profile avatar in preferences, but it isn't appearing on my user page.

You have to set the avatar on the user page manually. The avatar featured inside of preferences only shows up right beside your name in a log. The instructions on how to set it as the avatar in your userbox are featured in the above section.