|
|
Line 1: |
Line 1: |
| -- <nowiki>
| | <includeonly><span class="plainlinks">{{#invoke:T|main}}</span></includeonly><noinclude>{{/doc}}</noinclude> |
| -- [[Template:T]]
| |
| -- Shamelessly stolen from the OSRS wiki. Basically just gives an easy way to nowiki Template formatting
| |
| | |
| local p = {}
| |
| | |
| function p.main(frame)
| |
| local args = frame:getParent().args
| |
| return p._main(args)
| |
| end
| |
| | |
| function p._main(args)
| |
| local link = args[1]
| |
| local uri
| |
| local targs = {}
| |
| local ns
| |
| local i = 1
| |
|
| |
| -- strip transclusion modifiers ([[mw:Help:Magic words#Transclusion modifiers]])
| |
| link = link
| |
| :gsub('safesubst:', '')
| |
| :gsub('subst:', '')
| |
| :gsub('int:', '')
| |
| :gsub('msg:', '')
| |
| :gsub('msgnw:', '')
| |
| :gsub('raw:', '')
| |
|
| |
| ns = mw.text.split(link, ':')[1]
| |
|
| |
| -- check for valid namespace else prepend Template:
| |
| if not (ns == '' or mw.site.namespaces[ns]) then
| |
| link = 'Template:' .. link
| |
| end
| |
|
| |
| -- use fullUrl so it doesn't cause any wanted pages
| |
| uri = mw.uri.fullUrl(link)
| |
|
| |
| -- generate a list of args and params
| |
| for k, v in pairs(args) do
| |
| -- because lua has no continue statement
| |
| if k ~= 1 then
| |
| if type(k) == 'string' then
| |
| v = k .. '=' .. v
| |
| end
| |
|
| |
| targs[i] = v
| |
| i = i + 1
| |
| end
| |
| end
| |
|
| |
|
| |
| targs = table.concat(targs, '|')
| |
| | |
| if targs ~= '' then
| |
| targs = '|' .. targs
| |
| end
| |
|
| |
| return '<code>{{[' .. tostring(uri) .. ' ' .. args[1] .. ']' .. targs .. '}}</code>'
| |
| | |
| end
| |
| | |
| return p
| |
Latest revision as of 15:18, 18 September 2020
A template link with a variable number of parameters.
Use
To use this for templates, use
{{T|parameter 1|parameter 2|parameter 3|...|parameter 20}}
To use other namespaces, use the namespace as prefix, for example
{{T|User:Example}}
And to show transclusions of mainspace pages, use
{{T|:Bucket}}
Example
{{T|Stub}}
{{Stub}}
{{T|Stub|Item1|Item2|Item3|Item4|Item5|...}}
{{Stub|Item1|Item2|Item3|Item4|Item5|...}}