<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3APortal_image_banner</id>
	<title>Module:Portal image banner - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3APortal_image_banner"/>
	<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Portal_image_banner&amp;action=history"/>
	<updated>2026-06-14T10:26:29Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://mywikibiz.com/index.php?title=Module:Portal_image_banner&amp;diff=479011&amp;oldid=prev</id>
		<title>Zoran: Pywikibot 6.4.0</title>
		<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:Portal_image_banner&amp;diff=479011&amp;oldid=prev"/>
		<updated>2021-07-16T05:24:07Z</updated>

		<summary type="html">&lt;p&gt;Pywikibot 6.4.0&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
local randomModule = require('Module:Random')&lt;br /&gt;
&lt;br /&gt;
p.main = function(frame)&lt;br /&gt;
	local parent = frame.getParent(frame)&lt;br /&gt;
	local parentArgs = parent.args&lt;br /&gt;
	local args = cleanupArgs(parentArgs)&lt;br /&gt;
	local output = p._main(args)&lt;br /&gt;
	return frame:preprocess(output)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function cleanupArgs(argsTable)&lt;br /&gt;
	local cleanArgs = {}&lt;br /&gt;
	for key, val in pairs(argsTable) do&lt;br /&gt;
		if type(val) == 'string' then&lt;br /&gt;
			val = val:match('^%s*(.-)%s*$')&lt;br /&gt;
			if val ~= '' then&lt;br /&gt;
				cleanArgs[key] = val&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			cleanArgs[key] = val&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return cleanArgs&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p._main = function(args)&lt;br /&gt;
	if not args[1] then&lt;br /&gt;
		return error(linked and 'No page specified' or 'No page specified', 0)&lt;br /&gt;
	end&lt;br /&gt;
	local lines=makeGalleryLinesTable(args)&lt;br /&gt;
	return makeOutput(lines, args.overflow, args.maxheight, args.mode, args.croptop)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function makeGalleryLine(file, caption, link)&lt;br /&gt;
	local title = mw.title.new(file, &amp;quot;File&amp;quot; )&lt;br /&gt;
	local linktext = ( link and '{{!}}link=' .. link  or '' )&lt;br /&gt;
	local maxImageWidth = '{{!}}800px'&lt;br /&gt;
	return '[[' .. title.prefixedText ..(caption and'{{!}}'..caption or '').. maxImageWidth .. linktext ..']]' .. (caption and '\n&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;' .. caption ..'&amp;lt;/div&amp;gt;' or '\n') &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function makeGalleryLineSlideshow(file, caption)&lt;br /&gt;
	local title = mw.title.new(file, &amp;quot;File&amp;quot; )&lt;br /&gt;
	local captiontext= '[[File:OOjs_UI_icon_info-progressive.svg|link=:'..title.prefixedText..']]&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-size:110%;&amp;quot;&amp;gt;'..(caption or '')..'&amp;lt;/span&amp;gt;'&lt;br /&gt;
	return title.prefixedText .. '{{!}}' .. captiontext &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function makeGalleryLinesTable(args)&lt;br /&gt;
	local galleryLinesTable = {}&lt;br /&gt;
	local i = 1&lt;br /&gt;
	while args[i] do&lt;br /&gt;
		if not args.mode then &lt;br /&gt;
			table.insert(galleryLinesTable, makeGalleryLine(args[i], args[i+1],args.link))&lt;br /&gt;
		else if args.mode=='slideshow' then&lt;br /&gt;
			table.insert(galleryLinesTable, makeGalleryLineSlideshow(args[i], args[i+1], args.link)) &lt;br /&gt;
		else &lt;br /&gt;
			error('Mode not supported')&lt;br /&gt;
			end&lt;br /&gt;
	end&lt;br /&gt;
		i = i + 2&lt;br /&gt;
	end&lt;br /&gt;
	return galleryLinesTable &lt;br /&gt;
end&lt;br /&gt;
function makeOutput(imageLines, overflow, maxHeight, mode, croptop)&lt;br /&gt;
	local randomiseArgs = {	['t'] = imageLines }&lt;br /&gt;
	local randomisedLines = randomModule.main('array', randomiseArgs )&lt;br /&gt;
	local output, galleryContent&lt;br /&gt;
	if not mode then&lt;br /&gt;
	    galleryContent = table.concat(randomisedLines, '\n',1,1)&lt;br /&gt;
	    seperate=mw.text.split(galleryContent,'\n')&lt;br /&gt;
		output = '&amp;lt;div class=&amp;quot;portal-banner-image&amp;quot; style=&amp;quot;max-height:' .. (maxHeight or 'initial') .. '; overflow:'..(overflow or 'auto')..&lt;br /&gt;
		';&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;portal-banner-image-crop&amp;quot; style=&amp;quot;position:relative; margin-top:-'..(croptop or '0')..'%;&amp;quot;&amp;gt;'..seperate[1]..'&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;'..seperate[2]&lt;br /&gt;
	else if mode=='slideshow' then&lt;br /&gt;
      	galleryContent = table.concat(randomisedLines, '\n')&lt;br /&gt;
		output='&amp;lt;div class=&amp;quot;portal-banner-image-slideshow nomobile&amp;quot; style=&amp;quot;max-height:' .. (maxHeight or 'initial') .. '; overflow:'..(overflow or 'auto')..&lt;br /&gt;
		';&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;portal-banner-image-crop&amp;quot; style=&amp;quot;position:relative; margin-top:-'..(croptop or '0')..'%;&amp;quot;&amp;gt;'..'{{#tag:gallery|'..galleryContent..'|mode=slideshow}}'..'&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;'&lt;br /&gt;
	else&lt;br /&gt;
		error('Mode not supported')&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
		return output&lt;br /&gt;
	end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Zoran</name></author>
	</entry>
</feed>