Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Module:Transcludable section

Permanently protected module
From Wikipedia, the free encyclopedia

-- 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 ~= '' and baselink ~= '') then
		VTE_text = frame:expandTemplate{ title = 'navbar', args = { mini=1, style='float:right', brackets=1, ':' .. baselink} }
	end
	return VTE_text .. text
end
 
return p