<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://academia.la/w/index.php?action=history&amp;feed=atom&amp;title=Module%3Alinks%2Ftemplates</id>
	<title>Module:links/templates - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://academia.la/w/index.php?action=history&amp;feed=atom&amp;title=Module%3Alinks%2Ftemplates"/>
	<link rel="alternate" type="text/html" href="https://academia.la/w/index.php?title=Module:links/templates&amp;action=history"/>
	<updated>2026-05-19T17:21:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://academia.la/w/index.php?title=Module:links/templates&amp;diff=1561&amp;oldid=prev</id>
		<title>Jācōbus: Created page with &quot;local export = {} local m_debug = require(&quot;Module:debug&quot;) local m_languages = require(&quot;Module:languages&quot;) local m_links = require(&quot;Module:links&quot;) local m_parameters = require(&quot;Module:parameters&quot;) local m_scripts = require(&quot;Module:scripts&quot;)  --[=[ 	Modules used: 	Module:links 	Module:languages 	Module:scripts 	Module:parameters 	Module:debug ]=]  -- Used in Template:l and Template:m. function export.l_term_t(frame) 	local plain_param = {} 	loca...&quot;</title>
		<link rel="alternate" type="text/html" href="https://academia.la/w/index.php?title=Module:links/templates&amp;diff=1561&amp;oldid=prev"/>
		<updated>2023-02-11T20:13:06Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local export = {} local m_debug = require(&amp;quot;Module:debug&amp;quot;) local m_languages = require(&amp;quot;Module:languages&amp;quot;) local m_links = require(&amp;quot;Module:links&amp;quot;) local m_parameters = require(&amp;quot;Module:parameters&amp;quot;) local m_scripts = require(&amp;quot;Module:scripts&amp;quot;)  --[=[ 	Modules used: 	&lt;a href=&quot;/wiki/Module:links&quot; title=&quot;Module:links&quot;&gt;Module:links&lt;/a&gt; 	&lt;a href=&quot;/wiki/Module:languages&quot; title=&quot;Module:languages&quot;&gt;Module:languages&lt;/a&gt; 	&lt;a href=&quot;/wiki/Module:scripts&quot; title=&quot;Module:scripts&quot;&gt;Module:scripts&lt;/a&gt; 	&lt;a href=&quot;/wiki/Module:parameters&quot; title=&quot;Module:parameters&quot;&gt;Module:parameters&lt;/a&gt; 	&lt;a href=&quot;/wiki/Module:debug&quot; title=&quot;Module:debug&quot;&gt;Module:debug&lt;/a&gt; ]=]  -- Used in &lt;a href=&quot;/w/index.php?title=Template:l&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Template:l (page does not exist)&quot;&gt;Template:l&lt;/a&gt; and &lt;a href=&quot;/w/index.php?title=Template:m&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Template:m (page does not exist)&quot;&gt;Template:m&lt;/a&gt;. function export.l_term_t(frame) 	local plain_param = {} 	loca...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local export = {}&lt;br /&gt;
local m_debug = require(&amp;quot;Module:debug&amp;quot;)&lt;br /&gt;
local m_languages = require(&amp;quot;Module:languages&amp;quot;)&lt;br /&gt;
local m_links = require(&amp;quot;Module:links&amp;quot;)&lt;br /&gt;
local m_parameters = require(&amp;quot;Module:parameters&amp;quot;)&lt;br /&gt;
local m_scripts = require(&amp;quot;Module:scripts&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
--[=[&lt;br /&gt;
	Modules used:&lt;br /&gt;
	[[Module:links]]&lt;br /&gt;
	[[Module:languages]]&lt;br /&gt;
	[[Module:scripts]]&lt;br /&gt;
	[[Module:parameters]]&lt;br /&gt;
	[[Module:debug]]&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
-- Used in [[Template:l]] and [[Template:m]].&lt;br /&gt;
function export.l_term_t(frame)&lt;br /&gt;
	local plain_param = {}&lt;br /&gt;
	local param_4 = {alias_of = 4}&lt;br /&gt;
	local face = frame.args[&amp;quot;face&amp;quot;]&lt;br /&gt;
	local allowSelfLink = frame.args[&amp;quot;notself&amp;quot;]; allowSelfLink = not allowSelfLink or allowSelfLink == &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true},&lt;br /&gt;
		[2] = plain_param,&lt;br /&gt;
		[3] = plain_param,&lt;br /&gt;
		[4] = plain_param,&lt;br /&gt;
		[&amp;quot;g&amp;quot;] = {list = true},&lt;br /&gt;
		[&amp;quot;gloss&amp;quot;] = param_4,&lt;br /&gt;
		[&amp;quot;id&amp;quot;] = plain_param,&lt;br /&gt;
		[&amp;quot;lit&amp;quot;] = plain_param,&lt;br /&gt;
		[&amp;quot;pos&amp;quot;] = plain_param,&lt;br /&gt;
		[&amp;quot;sc&amp;quot;] = plain_param,&lt;br /&gt;
		[&amp;quot;t&amp;quot;] = param_4,&lt;br /&gt;
		[&amp;quot;tr&amp;quot;] = plain_param,&lt;br /&gt;
		[&amp;quot;ts&amp;quot;] = plain_param,&lt;br /&gt;
		[&amp;quot;accel-form&amp;quot;] = plain_param,&lt;br /&gt;
		[&amp;quot;accel-translit&amp;quot;] = plain_param,&lt;br /&gt;
		[&amp;quot;accel-lemma&amp;quot;] = plain_param,&lt;br /&gt;
		[&amp;quot;accel-lemma-translit&amp;quot;] = plain_param,&lt;br /&gt;
		[&amp;quot;accel-gender&amp;quot;] = plain_param,&lt;br /&gt;
		[&amp;quot;accel-nostore&amp;quot;] = {type = &amp;quot;boolean&amp;quot;},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	-- Compatibility mode for {{term}}.&lt;br /&gt;
	-- If given a nonempty value, the function uses lang= to specify the&lt;br /&gt;
	-- language, and all the positional parameters shift one number lower.&lt;br /&gt;
	local compat = (frame.args[&amp;quot;compat&amp;quot;] or &amp;quot;&amp;quot;) ~= &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	if compat then&lt;br /&gt;
		params[&amp;quot;lang&amp;quot;] = plain_param,&lt;br /&gt;
		table.remove(params, 1)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local args = m_parameters.process(frame:getParent().args, params)&lt;br /&gt;
	&lt;br /&gt;
	local lang = args[compat and &amp;quot;lang&amp;quot; or 1]&lt;br /&gt;
	&lt;br /&gt;
	-- Tracking for missing language or und&lt;br /&gt;
	if not lang then&lt;br /&gt;
		m_debug.track(&amp;quot;link/no lang&amp;quot;)&lt;br /&gt;
	elseif lang == &amp;quot;und&amp;quot; then&lt;br /&gt;
		m_debug.track(&amp;quot;link/und&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	lang = lang or &amp;quot;und&amp;quot;&lt;br /&gt;
	local sc = args[&amp;quot;sc&amp;quot;]&lt;br /&gt;
	&lt;br /&gt;
	local term = args[(compat and 1 or 2)]&lt;br /&gt;
	local alt = args[(compat and 2 or 3)]&lt;br /&gt;
	&lt;br /&gt;
	-- Check parameters&lt;br /&gt;
	lang = m_languages.getByCode(lang, 1, &amp;quot;allow etym&amp;quot;)&lt;br /&gt;
	lang = m_languages.getNonEtymological(lang)&lt;br /&gt;
	&lt;br /&gt;
	if sc then&lt;br /&gt;
		sc = m_scripts.getByCode(sc, &amp;quot;sc&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Forward the information to full_link&lt;br /&gt;
	return m_links.full_link(&lt;br /&gt;
		{&lt;br /&gt;
			lang = lang,&lt;br /&gt;
			sc = sc,&lt;br /&gt;
			term = term,&lt;br /&gt;
			alt = alt,&lt;br /&gt;
			gloss = args[4],&lt;br /&gt;
			id = args[&amp;quot;id&amp;quot;],&lt;br /&gt;
			tr = args[&amp;quot;tr&amp;quot;],&lt;br /&gt;
			ts = args[&amp;quot;ts&amp;quot;],&lt;br /&gt;
			genders = args[&amp;quot;g&amp;quot;],&lt;br /&gt;
			pos = args[&amp;quot;pos&amp;quot;],&lt;br /&gt;
			lit = args[&amp;quot;lit&amp;quot;],&lt;br /&gt;
			accel = args[&amp;quot;accel-form&amp;quot;] and {&lt;br /&gt;
				form = args[&amp;quot;accel-form&amp;quot;],&lt;br /&gt;
				translit = args[&amp;quot;accel-translit&amp;quot;],&lt;br /&gt;
				lemma = args[&amp;quot;accel-lemma&amp;quot;],&lt;br /&gt;
				lemma_translit = args[&amp;quot;accel-lemma-translit&amp;quot;],&lt;br /&gt;
				gender = args[&amp;quot;accel-gender&amp;quot;],&lt;br /&gt;
				nostore = args[&amp;quot;accel-nostore&amp;quot;],&lt;br /&gt;
			} or nil,&lt;br /&gt;
		},&lt;br /&gt;
		face,&lt;br /&gt;
		allowSelfLink&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Used in [[Template:ll]].&lt;br /&gt;
function export.ll(frame)&lt;br /&gt;
	local plain_param = {}&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = { required = true },&lt;br /&gt;
		[2] = { allow_empty = true },&lt;br /&gt;
		[3] = plain_param,&lt;br /&gt;
		[&amp;quot;notself&amp;quot;] = {type = &amp;quot;boolean&amp;quot;, default = false},&lt;br /&gt;
		[&amp;quot;id&amp;quot;] = plain_param,&lt;br /&gt;
	}&lt;br /&gt;
	local args = m_parameters.process(frame:getParent().args, params)&lt;br /&gt;
	local allowSelfLink = not args[&amp;quot;notself&amp;quot;]&lt;br /&gt;
	&lt;br /&gt;
	local lang = args[1]&lt;br /&gt;
	lang = m_languages.getByCode(lang, 1, &amp;quot;allow etym&amp;quot;)&lt;br /&gt;
	lang = m_languages.getNonEtymological(lang)&lt;br /&gt;
&lt;br /&gt;
	local text = args[2]&lt;br /&gt;
	local alt = args[3]&lt;br /&gt;
	if text == &amp;quot;&amp;quot; then&lt;br /&gt;
		return alt or &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local id = args[&amp;quot;id&amp;quot;]&lt;br /&gt;
	&lt;br /&gt;
	return m_links.language_link(&lt;br /&gt;
		{&lt;br /&gt;
			term = text,&lt;br /&gt;
			alt = alt,&lt;br /&gt;
			lang = lang,&lt;br /&gt;
			id = id&lt;br /&gt;
		},&lt;br /&gt;
		allowSelfLink&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function export.def_t(frame)&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true, default = &amp;quot;&amp;quot;},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local args = m_parameters.process(frame:getParent().args, params)&lt;br /&gt;
	&lt;br /&gt;
	return m_links.english_links(args[1])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function export.linkify_t(frame)&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true, default = &amp;quot;&amp;quot;},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local args = m_parameters.process(frame:getParent().args, params)&lt;br /&gt;
	&lt;br /&gt;
	args[1] = mw.text.trim(args[1])&lt;br /&gt;
	&lt;br /&gt;
	if args[1] == &amp;quot;&amp;quot; or args[1]:find(&amp;quot;[[&amp;quot;, nil, true) then&lt;br /&gt;
		return args[1]&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;quot;[[&amp;quot; .. args[1] .. &amp;quot;]]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function export.section_link_t(frame)&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local args = m_parameters.process(frame:getParent().args, params)&lt;br /&gt;
	&lt;br /&gt;
	return m_links.section_link(args[1])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function export.language_name_link_t(frame)&lt;br /&gt;
	local plain_param = {}&lt;br /&gt;
	local param_4 = {alias_of = 4}&lt;br /&gt;
	local face = frame.args[&amp;quot;face&amp;quot;]&lt;br /&gt;
	local allowSelfLink = frame.args[&amp;quot;notself&amp;quot;]; allowSelfLink = not allowSelfLink or allowSelfLink == &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local params = {&lt;br /&gt;
		[1] = {required = true},&lt;br /&gt;
		[2] = plain_param,&lt;br /&gt;
		[3] = plain_param,&lt;br /&gt;
		[4] = plain_param,&lt;br /&gt;
		[&amp;quot;g&amp;quot;] = {list = true},&lt;br /&gt;
		[&amp;quot;gloss&amp;quot;] = param_4,&lt;br /&gt;
		[&amp;quot;id&amp;quot;] = plain_param,&lt;br /&gt;
		[&amp;quot;lit&amp;quot;] = plain_param,&lt;br /&gt;
		[&amp;quot;pos&amp;quot;] = plain_param,&lt;br /&gt;
		[&amp;quot;sc&amp;quot;] = plain_param,&lt;br /&gt;
		[&amp;quot;t&amp;quot;] = param_4,&lt;br /&gt;
		[&amp;quot;tr&amp;quot;] = plain_param,&lt;br /&gt;
		[&amp;quot;ts&amp;quot;] = plain_param,&lt;br /&gt;
		[&amp;quot;w&amp;quot;] = {type = &amp;quot;boolean&amp;quot;, default = false},&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	-- Compatibility mode for {{term}}.&lt;br /&gt;
	-- If given a nonempty value, the function uses lang= to specify the&lt;br /&gt;
	-- language, and all the positional parameters shift one number lower.&lt;br /&gt;
	local compat = (frame.args[&amp;quot;compat&amp;quot;] or &amp;quot;&amp;quot;) ~= &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	if compat then&lt;br /&gt;
		params[&amp;quot;lang&amp;quot;] = plain_param,&lt;br /&gt;
		table.remove(params, 1)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local args = m_parameters.process(frame:getParent().args, params)&lt;br /&gt;
	&lt;br /&gt;
	local lang = args[compat and &amp;quot;lang&amp;quot; or 1]&lt;br /&gt;
	&lt;br /&gt;
	-- Tracking for missing language or und&lt;br /&gt;
	if not lang then&lt;br /&gt;
		m_debug.track(&amp;quot;link/no lang&amp;quot;)&lt;br /&gt;
	elseif lang == &amp;quot;und&amp;quot; then&lt;br /&gt;
		m_debug.track(&amp;quot;link/und&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	lang = lang or &amp;quot;und&amp;quot;&lt;br /&gt;
	local sc = args[&amp;quot;sc&amp;quot;]&lt;br /&gt;
	&lt;br /&gt;
	local term = args[(compat and 1 or 2)]&lt;br /&gt;
	local alt = args[(compat and 2 or 3)]&lt;br /&gt;
	&lt;br /&gt;
	-- Check parameters&lt;br /&gt;
	lang = m_languages.getByCode(lang, 1, &amp;quot;allow etym&amp;quot;)&lt;br /&gt;
	local non_etym_lang = m_languages.getNonEtymological(lang)&lt;br /&gt;
	&lt;br /&gt;
	if sc then&lt;br /&gt;
		sc = m_scripts.getByCode(sc, &amp;quot;sc&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not term and not alt and frame.args[&amp;quot;demo&amp;quot;] then&lt;br /&gt;
		term = frame.args[&amp;quot;demo&amp;quot;]&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	--[[&lt;br /&gt;
		Add a language name, linked to Wikipedia if the Wikipedia parameter is set to true.&lt;br /&gt;
		Forward the information to full_link.&lt;br /&gt;
	]]&lt;br /&gt;
	local language_name = args.w and lang:makeWikipediaLink() or lang:getCanonicalName()&lt;br /&gt;
	&lt;br /&gt;
	if term == &amp;quot;-&amp;quot; then&lt;br /&gt;
		return language_name&lt;br /&gt;
	else&lt;br /&gt;
		return language_name .. &amp;quot; &amp;quot; ..&lt;br /&gt;
			m_links.full_link(&lt;br /&gt;
				{&lt;br /&gt;
					lang = non_etym_lang,&lt;br /&gt;
					sc = sc,&lt;br /&gt;
					term = term,&lt;br /&gt;
					alt = alt,&lt;br /&gt;
					gloss = args[4],&lt;br /&gt;
					id = args[&amp;quot;id&amp;quot;],&lt;br /&gt;
					tr = args[&amp;quot;tr&amp;quot;],&lt;br /&gt;
					ts = args[&amp;quot;ts&amp;quot;],&lt;br /&gt;
					genders = args[&amp;quot;g&amp;quot;],&lt;br /&gt;
					pos = args[&amp;quot;pos&amp;quot;],&lt;br /&gt;
					lit = args[&amp;quot;lit&amp;quot;]&lt;br /&gt;
				},&lt;br /&gt;
				face,&lt;br /&gt;
				allowSelfLink&lt;br /&gt;
			)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return export&lt;/div&gt;</summary>
		<author><name>Jācōbus</name></author>
	</entry>
</feed>