Module:Transcludable section: Difference between revisions
Appearance
Content deleted Content added
Plastikspork (talk | contribs) Use baselink |
S.A. Julio (talk | contribs) improve logic to avoid selflinks |
||
Line 24: | Line 24: | ||
-- Rewrite anchor links |
-- Rewrite anchor links |
||
local baselink = frame:getParent():getTitle() |
local baselink = frame:getParent():getTitle() |
||
if mw.title.getCurrentTitle().fullText == baselink then baselink = '' end |
|||
if baselink ~= '' then |
|||
text = mw.ustring.gsub(text, '(%[%[)(#[^%[%]]*%|)', '%1' .. baselink .. '%2') |
|||
end |
|||
-- Get VTE button text (but only for non-empty text) |
-- Get VTE button text (but only for non-empty text) |
||
local VTE_text = '' |
local VTE_text = '' |
Revision as of 22:08, 6 October 2024
This module may be used to create selectively transcluded sections using syntax which is compatible with Module:Sports table, Module:Sports results, Module:Football box, and Module:Football box collapsible.
-- Module to create selectively transcluded sections using syntax which is
-- compatible with [[Module:Sports table]] and [[Module:Sports results]]
require('strict')
local p = {}
-- Main function
function p.main(frame)
-- Declare locals
local tsection = frame:getParent().args['transcludesection'] or frame:getParent().args['section'] or ''
local bsection = frame.args['section'] or frame.args['1'] or ''
local editlink = frame.args['edit'] or ''
-- Exit early if we are using section transclusion for a different section
if( tsection ~= '' and bsection ~= '' ) then
if( tsection ~= bsection ) then
return ''
end
end
local text = frame.args['text'] or ''
-- Rewrite anchor links
local baselink = frame:getParent():getTitle()
if mw.title.getCurrentTitle().fullText == baselink then baselink = '' end
if baselink ~= '' then
text = mw.ustring.gsub(text, '(%[%[)(#[^%[%]]*%|)', '%1' .. baselink .. '%2')
end
-- Get VTE button text (but only for non-empty text)
local VTE_text = ''
if (text ~= '' and editlink ~= '') then
VTE_text = frame:expandTemplate{ title = 'navbar', args = { mini=1, style='float:right', brackets=1, ':' .. baselink} }
end
return VTE_text .. text
end
return p