<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.tachyony.co.uk/w/index.php?action=history&amp;feed=atom&amp;title=Module%3APortal-inline</id>
	<title>Module:Portal-inline - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.tachyony.co.uk/w/index.php?action=history&amp;feed=atom&amp;title=Module%3APortal-inline"/>
	<link rel="alternate" type="text/html" href="https://wiki.tachyony.co.uk/w/index.php?title=Module:Portal-inline&amp;action=history"/>
	<updated>2026-05-16T03:33:43Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.5</generator>
	<entry>
		<id>https://wiki.tachyony.co.uk/w/index.php?title=Module:Portal-inline&amp;diff=6587&amp;oldid=prev</id>
		<title>Tachyony: Created page with &quot;local getArgs = require(&#039;Module:Arguments&#039;).getArgs local yesno = require(&#039;Module:Yesno&#039;) local portalModule = require(&#039;Module:Portal&#039;) local getImageName = portalModule.image local checkPortals = portalModule._checkPortals local processPortalArgs = portalModule._processPortalArgs  local p = {} -- Function to format error message and tracking category -- Arguments: --   errMsg: string, or nil/false if no error --   trackingCat: string for tracking category (or empty stri...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.tachyony.co.uk/w/index.php?title=Module:Portal-inline&amp;diff=6587&amp;oldid=prev"/>
		<updated>2022-01-19T14:17:45Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs local yesno = require(&amp;#039;Module:Yesno&amp;#039;) local portalModule = require(&amp;#039;Module:Portal&amp;#039;) local getImageName = portalModule.image local checkPortals = portalModule._checkPortals local processPortalArgs = portalModule._processPortalArgs  local p = {} -- Function to format error message and tracking category -- Arguments: --   errMsg: string, or nil/false if no error --   trackingCat: string for tracking category (or empty stri...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
local portalModule = require(&amp;#039;Module:Portal&amp;#039;)&lt;br /&gt;
local getImageName = portalModule.image&lt;br /&gt;
local checkPortals = portalModule._checkPortals&lt;br /&gt;
local processPortalArgs = portalModule._processPortalArgs&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
-- Function to format error message and tracking category&lt;br /&gt;
-- Arguments:&lt;br /&gt;
--   errMsg: string, or nil/false if no error&lt;br /&gt;
--   trackingCat: string for tracking category (or empty string)&lt;br /&gt;
local function formatError(errMsg, trackingCat)&lt;br /&gt;
	local result = trackingCat or &amp;#039;&amp;#039;&lt;br /&gt;
	if errMsg then&lt;br /&gt;
		local errTag = mw.html.create(&amp;#039;span&amp;#039;)&lt;br /&gt;
		errTag:addClass(&amp;quot;error&amp;quot;)&lt;br /&gt;
		errTag:css(&amp;quot;font-size&amp;quot;,&amp;#039;100%&amp;#039;)&lt;br /&gt;
		errTag:wikitext(&amp;quot;Error: &amp;quot;..errMsg)&lt;br /&gt;
		result = tostring(errTag)..result&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(portals, args)&lt;br /&gt;
	mw.logObject(args)&lt;br /&gt;
	&lt;br /&gt;
	-- Normalize all arguments&lt;br /&gt;
	if args.redlinks == &amp;#039;include&amp;#039; then args.redlinks = true end&lt;br /&gt;
	for key, default in pairs({tracking=true,redlinks=false,short=false}) do&lt;br /&gt;
		if args[key] == nil then args[key] = default end&lt;br /&gt;
		args[key] = yesno(args[key], default)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local trackingCat = &amp;#039;&amp;#039;&lt;br /&gt;
	local errMsg = nil&lt;br /&gt;
	&lt;br /&gt;
	-- Check for existing categories, drop if not. &lt;br /&gt;
	-- Possible generate tracking category &amp;amp; error message if needed&lt;br /&gt;
	args.minPortals = args.minPortals or 1&lt;br /&gt;
	args.maxPortals = args.maxPortals or 1&lt;br /&gt;
	portals, trackingCat, errMsg = checkPortals(portals,args)&lt;br /&gt;
	-- use more specific tracking cat for inline portal&lt;br /&gt;
	trackingCat = mw.ustring.gsub(trackingCat,&amp;quot;Portal templates&amp;quot;,&amp;quot;Portal-inline template&amp;quot;)&lt;br /&gt;
	-- either too many/few portals, or no portals left after filtering, then return&lt;br /&gt;
	if errMsg or #portals == 0 then&lt;br /&gt;
		return formatError(errMsg, trackingCat)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	args.size = args.size == &amp;quot;tiny&amp;quot; and &amp;quot;16x16px&amp;quot; or &amp;quot;32x28px&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local displayName = &amp;quot;&amp;quot;&lt;br /&gt;
	if not (args[&amp;#039;text&amp;#039;] == &amp;quot;&amp;quot; or args[&amp;#039;text&amp;#039;] == nil) then&lt;br /&gt;
		displayName = args[&amp;#039;text&amp;#039;]&lt;br /&gt;
	elseif args.short then&lt;br /&gt;
		displayName = portals[1]&lt;br /&gt;
	else&lt;br /&gt;
		displayName = portals[1] .. &amp;quot;&amp;amp;#32;portal&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	-- display portal-inline content&lt;br /&gt;
	local root = formatError(errMsg, trackingCat)&lt;br /&gt;
	root = string.format(&amp;#039;[[File:%s|class=noviewer|%s]]&amp;amp;nbsp;[[Portal:%s|%s]]&amp;#039;, &lt;br /&gt;
		getImageName{ portals[1] }, args[&amp;#039;size&amp;#039;], portals[1], displayName)..root&lt;br /&gt;
	return tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	origArgs = getArgs(frame)&lt;br /&gt;
	portals, args = processPortalArgs(origArgs)&lt;br /&gt;
	return p._main(portals, args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Tachyony</name></author>
	</entry>
</feed>