Module:Sandbox/Andrybak
Appearance
local getArgs = require('Module:Arguments').getArgs
local p = {}
function p.documentationMakeExperimentBlurb(frame)
local mDoc = require('Module:Documentation')
local env = mDoc.getEnvironment(getArgs(frame))
-- without `.. ''` a "2" is appended to the output, weird...
return mDoc.makeExperimentBlurb({}, env) .. ''
end
local function map(f, tbl)
local t = {}
for k,v in pairs(tbl) do
t[k] = f(v)
end
return t
end
function p.rfcShortcutsTest()
local list = require('Module:List')
local examples = {
'WP:RFCXYZ',
'WP:DFCXYZ',
'WP:RFC XYZ',
'WP:RFC ABC',
'WP:R FCXYZ',
'WP:RF CXYZ',
'WP:RfcXYZ',
'Help:RFCXYZ',
'Help:R FCXYZ',
'Help:RfcXYZ',
'Help:RFCxyz',
'Help:RFCX',
'WP:RFC',
'Help:RFC',
'WP:PMID',
'WP:Pmid',
'WP:PMID XYZ',
'WP:PMIDABC',
'Help:PMID',
}
local function renderText(s)
return '<code>' .. s .. ' → ' .. mw.uri.anchorEncode(s) .. '</code>'
end
local t = {}
for i, s in ipairs(examples) do
local visibleText = renderText(s)
local span = mw.html.create('span')
span:attr('id', mw.uri.anchorEncode(s))
span:wikitext(visibleText .. ' <code>' .. tostring(span:getAttr('id')) .. '</code>')
t[i] = tostring(span)
end
return list.bulleted(t)
end
return p