Jump to content

Module:Extract short description

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Trappist the monk (talk | contribs) at 13:18, 28 September 2018. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

require('Module:No globals');

local function tag (frame)
	local content = mw.title.new (frame.args[1]):getContent()
	local ibox_start = string.find (content, '{{%s*' .. 'Infobox television episode/sandbox')	-- find the start of {{Infobox ...; ibox_name is a pattern that accepts various legit spacing and capitalization ...
	if not ibox_start then
		return 'Infobox television episode/sandbox not found'
	end

	local ibox_text = string.match (content, '%b{}', ibox_start)				-- ibox_start points to first { of the infobox template
	if not ibox_text then
		return 'failed to extract Infobox television episode/sandbox'
	end
	
	local template_name = 'Infobox television episode/sandbox'
	local template_content = ibox_text:gsub ('{{%s' .. template_name, ''):gsub ('}}$', '')

																				-- preprocess the template and return shortdescription text or empty string
	return (frame:expandTemplate ({title=template_name, args = {template_content}}):match ('<div[^>]-class="shortdescription.->([^<]+)')) or ''
																				-- preprocess the template then apply syntax highlighting
--	return frame:callParserFunction ('#tag:syntaxhighlight', frame:expandTemplate ({title=template_name, args = {template_content}}));
end

return {tag = tag}