<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://culturality.museum/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ATemplate_link_general</id>
	<title>Module:Template link general - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://culturality.museum/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3ATemplate_link_general"/>
	<link rel="alternate" type="text/html" href="https://culturality.museum/wiki/index.php?title=Module:Template_link_general&amp;action=history"/>
	<updated>2026-04-04T05:15:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://culturality.museum/wiki/index.php?title=Module:Template_link_general&amp;diff=52&amp;oldid=prev</id>
		<title>Iao: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://culturality.museum/wiki/index.php?title=Module:Template_link_general&amp;diff=52&amp;oldid=prev"/>
		<updated>2024-04-09T09:57:03Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:57, 9 April 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en-GB&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Iao</name></author>
	</entry>
	<entry>
		<id>https://culturality.museum/wiki/index.php?title=Module:Template_link_general&amp;diff=51&amp;oldid=prev</id>
		<title>wikipedia&gt;Primefac: update from sandbox - fixes to _show_result and adding _expand</title>
		<link rel="alternate" type="text/html" href="https://culturality.museum/wiki/index.php?title=Module:Template_link_general&amp;diff=51&amp;oldid=prev"/>
		<updated>2022-03-08T08:30:51Z</updated>

		<summary type="html">&lt;p&gt;update from sandbox - fixes to _show_result and adding _expand&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- This implements Template:Tlg&lt;br /&gt;
local getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Is a string non-empty?&lt;br /&gt;
local function _ne(s) &lt;br /&gt;
	return s ~= nil and s ~= &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local nw = mw.text.nowiki&lt;br /&gt;
&lt;br /&gt;
local function addTemplate(s)&lt;br /&gt;
	local i, _ = s:find(':', 1, true)&lt;br /&gt;
	if i == nil then&lt;br /&gt;
		return 'Template:' .. s&lt;br /&gt;
	end&lt;br /&gt;
	local ns = s:sub(1, i - 1)&lt;br /&gt;
	if ns == '' or mw.site.namespaces[ns] then&lt;br /&gt;
		return s&lt;br /&gt;
	else&lt;br /&gt;
		return 'Template:' .. s&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function trimTemplate(s)&lt;br /&gt;
	local needle = 'template:'&lt;br /&gt;
	if s:sub(1, needle:len()):lower() == needle then&lt;br /&gt;
		return s:sub(needle:len() + 1)	&lt;br /&gt;
	else&lt;br /&gt;
		return s&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function linkTitle(args)&lt;br /&gt;
	if _ne(args.nolink) then&lt;br /&gt;
		return args['1']&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local titleObj&lt;br /&gt;
	local titlePart = '[['&lt;br /&gt;
	if args['1'] then&lt;br /&gt;
		-- This handles :Page and other NS&lt;br /&gt;
		titleObj = mw.title.new(args['1'], 'Template')&lt;br /&gt;
	else&lt;br /&gt;
		titleObj = mw.title.getCurrentTitle()&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	titlePart = titlePart .. (titleObj ~= nil and titleObj.fullText or&lt;br /&gt;
				addTemplate(args['1']))&lt;br /&gt;
	&lt;br /&gt;
	local textPart = args.alttext&lt;br /&gt;
	if not _ne(textPart) then&lt;br /&gt;
		if titleObj ~= nil then&lt;br /&gt;
			textPart = titleObj:inNamespace(&amp;quot;Template&amp;quot;) and args['1'] or titleObj.fullText&lt;br /&gt;
		else&lt;br /&gt;
			-- redlink&lt;br /&gt;
			textPart = args['1']&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if _ne(args.subst) then&lt;br /&gt;
		-- HACK: the ns thing above is probably broken&lt;br /&gt;
		textPart = 'subst:' .. textPart&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if _ne(args.brace) then&lt;br /&gt;
		textPart = nw('{{') .. textPart .. nw('}}')&lt;br /&gt;
	elseif _ne(args.braceinside) then&lt;br /&gt;
		textPart = nw('{') .. textPart .. nw('}')&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	titlePart = titlePart .. '|' .. textPart .. ']]'&lt;br /&gt;
	if _ne(args.braceinside) then&lt;br /&gt;
		titlePart = nw('{') .. titlePart .. nw('}')&lt;br /&gt;
	end&lt;br /&gt;
	return titlePart&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = getArgs(frame, {&lt;br /&gt;
		trim = true,&lt;br /&gt;
		removeBlanks = false&lt;br /&gt;
	})&lt;br /&gt;
	return p._main(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	local bold = _ne(args.bold) or _ne(args.boldlink) or _ne(args.boldname)&lt;br /&gt;
	local italic = _ne(args.italic) or _ne(args.italics)&lt;br /&gt;
	local dontBrace = _ne(args.brace) or _ne(args.braceinside)&lt;br /&gt;
	local code = _ne(args.code) or _ne(args.tt)&lt;br /&gt;
	local show_result = _ne(args._show_result)&lt;br /&gt;
	local expand = _ne(args._expand)&lt;br /&gt;
	&lt;br /&gt;
	-- Build the link part&lt;br /&gt;
	local titlePart = linkTitle(args)&lt;br /&gt;
	if bold then titlePart = &amp;quot;'''&amp;quot; .. titlePart .. &amp;quot;'''&amp;quot; end&lt;br /&gt;
	if _ne(args.nowrapname) then titlePart = '&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;' .. titlePart .. '&amp;lt;/span&amp;gt;' end&lt;br /&gt;
	&lt;br /&gt;
	-- Build the arguments&lt;br /&gt;
	local textPart = &amp;quot;&amp;quot;&lt;br /&gt;
	local textPartBuffer = &amp;quot;&amp;amp;#124;&amp;quot;&lt;br /&gt;
	local codeArguments = {}&lt;br /&gt;
	local codeArgumentsString = &amp;quot;&amp;quot;&lt;br /&gt;
	local i = 2&lt;br /&gt;
	local j = 1&lt;br /&gt;
	while args[i] do&lt;br /&gt;
		local val = args[i]&lt;br /&gt;
		if val ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			if _ne(args.nowiki) then&lt;br /&gt;
				-- Unstrip nowiki tags first because calling nw on something that already contains nowiki tags will&lt;br /&gt;
				-- mangle the nowiki strip marker and result in literal UNIQ...QINU showing up&lt;br /&gt;
				val = nw(mw.text.unstripNoWiki(val))&lt;br /&gt;
			end&lt;br /&gt;
			local k, v = string.match(val, &amp;quot;(.*)=(.*)&amp;quot;)&lt;br /&gt;
			if not k then&lt;br /&gt;
				codeArguments[j] = val&lt;br /&gt;
				j = j + 1&lt;br /&gt;
			else&lt;br /&gt;
				codeArguments[k] = v&lt;br /&gt;
			end&lt;br /&gt;
			codeArgumentsString = codeArgumentsString .. textPartBuffer .. val&lt;br /&gt;
			if italic then&lt;br /&gt;
				val = '&amp;lt;span style=&amp;quot;font-style:italic;&amp;quot;&amp;gt;' .. val .. '&amp;lt;/span&amp;gt;'&lt;br /&gt;
			end&lt;br /&gt;
			textPart = textPart .. textPartBuffer .. val&lt;br /&gt;
		end&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- final wrap&lt;br /&gt;
	local ret = titlePart .. textPart&lt;br /&gt;
	if not dontBrace then ret = nw('{{') .. ret .. nw('}}') end&lt;br /&gt;
	if _ne(args.a) then ret = nw('*') .. '&amp;amp;nbsp;' .. ret end&lt;br /&gt;
	if _ne(args.kbd) then ret = '&amp;lt;kbd&amp;gt;' .. ret .. '&amp;lt;/kbd&amp;gt;' end&lt;br /&gt;
	if code then&lt;br /&gt;
		ret = '&amp;lt;code&amp;gt;' .. ret .. '&amp;lt;/code&amp;gt;'&lt;br /&gt;
	elseif _ne(args.plaincode) then&lt;br /&gt;
		ret = '&amp;lt;code style=&amp;quot;border:none;background:transparent;&amp;quot;&amp;gt;' .. ret .. '&amp;lt;/code&amp;gt;'&lt;br /&gt;
	end&lt;br /&gt;
	if _ne(args.nowrap) then ret = '&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;' .. ret .. '&amp;lt;/span&amp;gt;' end&lt;br /&gt;
	&lt;br /&gt;
	--[[ Wrap as html?? &lt;br /&gt;
	local span = mw.html.create('span')&lt;br /&gt;
	span:wikitext(ret)&lt;br /&gt;
	--]]&lt;br /&gt;
	if _ne(args.debug) then ret = ret .. '\n&amp;lt;pre&amp;gt;' .. mw.text.encode(mw.dumpObject(args)) .. '&amp;lt;/pre&amp;gt;' end&lt;br /&gt;
&lt;br /&gt;
	if show_result then&lt;br /&gt;
		local result = mw.getCurrentFrame():expandTemplate{title = addTemplate(args[1]), args = codeArguments}&lt;br /&gt;
		ret = ret .. &amp;quot; → &amp;quot; .. result&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if expand then&lt;br /&gt;
		local query = mw.text.encode('{{' .. addTemplate(args[1]) .. string.gsub(codeArgumentsString, textPartBuffer, &amp;quot;|&amp;quot;) .. '}}')&lt;br /&gt;
		local url = mw.uri.fullUrl('special:ExpandTemplates', 'wpInput=' .. query)&lt;br /&gt;
		mw.log()&lt;br /&gt;
		ret = ret .. &amp;quot; [&amp;quot; .. tostring(url) .. &amp;quot;]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>wikipedia&gt;Primefac</name></author>
	</entry>
</feed>