Přeskočit na obsah

Modul:Transclude

Z Wikipedie, otevřené encyklopedie
(rozdíl) ← Starší revize | zobrazit aktuální verzi (rozdíl) | Novější revize → (rozdíl)

Transclude může být použit k vložení jedné konkrétní sekce z vybrané stránky. Zatím je povoleno použití pouze mimo hlavní jmenný prostor, pro použití v hlavním jmenném prostoru je třeba získat konsensus pod lípou.

Použití

{{#invoke:Transclude|section|<název stránky>|<název sekce>}}

Alternativně funguje také rozšíření MediaWiki, které umožňuje zobrazit jakoukoliv část stránky, nejenom sekci. Ta ale musí být označená pomocí speciálních značek <section>.

{{#section:<název stránky>|<název sekce>}}
local p = {}

function p.section(context)
	local s = require('Modul:String')
	local a = require('Modul:Arguments')
	local parameters = a.getArgs(context)
	if parameters[2] then
		local title = parameters[1]
		local section = parameters[2]
	else
		local link = parameters[1] or ""
		local title = mw.text.split(link, "#")[1]
		local section = mw.text.split(link, "#")[2]
	end
	local article = mw.title.new(title)
	local text = article.getContent()
	heading, content, level = string.find(text, "\n(==+) *" .. section .. " *%1 *\n")
	next_heading = string.find(text, "\n" .. level .. " *[^\n]*? *" .. level .. " *\n", content)
	return string.sub(text, heading, next_heading)
end

return p