This documentation is transcluded from Module:Navpills/doc. Changes can be proposed in the talk page.
Module:Navpills is imported from Module:Navpills on StarCitizen.
This module is imported from StarCitizen. Although the visual appearance is similar, some functionality has been altered. Please refer to the Star Citizen page for detailed documentation.
This module is unused.
This module is neither invoked by a template nor required/loaded by another module. If this is in error, make sure to add
{{Documentation}}
/{{No documentation}}
to the calling template's or parent's module documentation.Function list |
---|
L 8 — getArgNums L 20 — p.navpills L 25 — p._navpills |
local mArguments --initialize lazily
local p = {}
-- Returns a table containing the numbers of the arguments that exist
-- for the specified prefix. For example, if the prefix was 'data', and
-- 'data1', 'data2', and 'data5' exist, it would return {1, 2, 5}.
local function getArgNums(prefix, args)
local nums = {}
for k, v in pairs(args) do
local num = tostring(k):match('^' .. prefix .. '([1-9]%d*)$')
if num then table.insert(nums, tonumber(num)) end
end
table.sort(nums)
return nums
end
--Implements {{Navpills}} from the frame
function p.navpills( frame )
mArguments = require( 'Module:Arguments' )
return p._navpills( mArguments.getArgs( frame ) )
end
function p._navpills( args )
if not args then
return 'Missing arguments'
end
local html = mw.html.create( 'div' ):addClass( 'template-navpills' ):attr( 'role', 'navigation' )
for i, _ in ipairs( getArgNums( 'page', args ) ) do
if not args[ 'page' .. i ] then return end
local num = tostring( i )
local navpill = mw.html.create('div'):addClass('template-navpill')
if args[ 'image' .. i ] then
navpill:tag('div'):addClass('template-navpill-background')
:wikitext( string.format( '[[File:%s|x48px|link=]]', args[ 'image' .. num ] ) )
end
navpill:wikitext( string.format( '[[%s|%s]]', args[ 'page' .. num ], args[ 'text' .. num ] or args[ 'page' .. num ] ) )
html:node(navpill)
end
return mw.getCurrentFrame():extensionTag{
name = 'templatestyles', args = { src = 'Module:Navpills/styles.css' }
} .. tostring( html )
end
return p