Module

TemplateSource

From Dogcraft Wiki

Revision as of 19:27, 31 January 2026 by Domino (talk | contribs)

Meant to be used with the {{Template source}} template. Returns the plaintext contents of a template. Obeys the mostly the same behaviours as transclusion would, respects <onlyinclude>, <includeonly>, and <noinclude> tags. This module is primarily meant to be used as input to <syntaxhighlight>, which doesn't handle some tags (like <templatestyles> or <categorytree>) correctly.

Example

The source of the {{Pagetabs}} template, wrapped in a <syntaxhighlight> tag.

{{#tag:syntaxhighlight|{{#invoke:TemplateSource|templateSource|Template:Pagetabs}}|lang=html|line=1}} generates:

<strong class="error"><span class="scribunto-error" id="mw-scribunto-error-0">Script error: The function &quot;templateSource&quot; does not exist.</span></strong>

local p = {}

function p.test(frame)
	-- source = frame:expandTemplate{ title = 'Templates Nav', args = {} }
	pageContent = mw.title.new( 'Template:Tutorial' ):getContent()
	strippedContent = mw.ustring.gsub( pageContent, '<noinclude>.*</noinclude>', '' )
	return mw.text.nowiki( strippedContent )
end

return p
This page was last modified on 31 January 2026, at 19:27. (2 days ago)