Difference between revisions of "Module:Extract short description"

From blackwiki
Jump to navigation Jump to search
blackwiki>Trappist the monk
blackwiki>Trappist the monk
Line 10: Line 10:
 
return 'failed to extract Infobox television episode/sandbox'
 
return 'failed to extract Infobox television episode/sandbox'
 
end
 
end
return ibox_text
+
-- return frame:callParserFunction ('#tag:syntaxhighlight', tostring(ibox_text))
+
local template_name = 'Infobox television episode/sandbox'
-- return frame:expandTemplate ({title='code', args = {ibox_text}});
+
local template_content = ibox_text:gsub ('{{%s' .. template_name, ''):gsub ('}}$', '')
 +
-- preprocess the template then apply syntax highlighting to get the raw html
 +
return frame:callParserFunction ('#tag:syntaxhighlight', frame:expandTemplate ({title=template_name, args = {template_content}}));
 
end
 
end
  
 
return {tag = tag}
 
return {tag = tag}

Revision as of 18:13, 27 September 2018

Documentation for this module may be created at Module:Extract short description/doc

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 then apply syntax highlighting to get the raw html	
	return frame:callParserFunction ('#tag:syntaxhighlight', frame:expandTemplate ({title=template_name, args = {template_content}}));
end

return {tag = tag}