Module:TSLoader
Jump to navigation
Jump to search
This module implements {{TSLoader}}
.
When invoked from a module, please use p.call( name )
, where name
represents the page name of template styles you want to load, if under Template:
namespace, the prefix can be omitted.
Dependencies
lzh:Module:TSLoader pt:Módulo:TSLoader ru:Модуль:TemplateStyles zh:Module:TSLoader
local p = {}
local static = require( 'Module:Static' )
if not static.TSLoader then
static.TSLoader = {}
end
function p.call( name )
if not name then
return nil
end
if not static.TSLoader.loadedTS then
static.TSLoader.loadedTS = {}
end
local pagename = mw.title.getCurrentTitle()
if not static.TSLoader.loadedTS[ pagename ] then
static.TSLoader.loadedTS[ pagename ] = {}
end
if not name:find( '^%w*:' ) then
name = 'Template:' .. name:sub( 1, 1 ):upper() .. name:sub( 2 )
end
name = name:sub( 1, 1 ):upper() .. name:sub( 2 )
if static.TSLoader.loadedTS[ pagename ][ name ] == true then
return ''
end
static.TSLoader.loadedTS[ pagename ][ name ] = true
return mw.getCurrentFrame():extensionTag{ name = "templatestyles", args = { src = name } }
end
function p.main( f )
local args = f
local frame = mw.getCurrentFrame()
if f == frame then
args = require( 'Module:ProcessArgs' ).merge( true )
end
return p.call( args[ 1 ] )
end
return p