<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://noumenapedia.net/index.php?action=history&amp;feed=atom&amp;title=Module%3AOwidslider</id>
	<title>Module:Owidslider - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://noumenapedia.net/index.php?action=history&amp;feed=atom&amp;title=Module%3AOwidslider"/>
	<link rel="alternate" type="text/html" href="https://noumenapedia.net/index.php?title=Module:Owidslider&amp;action=history"/>
	<updated>2026-10-28T17:11:35Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://noumenapedia.net/index.php?title=Module:Owidslider&amp;diff=18840&amp;oldid=prev</id>
		<title>Deleatur yhe: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://noumenapedia.net/index.php?title=Module:Owidslider&amp;diff=18840&amp;oldid=prev"/>
		<updated>2026-09-10T07:55:32Z</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&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 07:55, 10 September 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&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>Deleatur yhe</name></author>
	</entry>
	<entry>
		<id>https://noumenapedia.net/index.php?title=Module:Owidslider&amp;diff=18839&amp;oldid=prev</id>
		<title>wikipedia&gt;Doc James: updated</title>
		<link rel="alternate" type="text/html" href="https://noumenapedia.net/index.php?title=Module:Owidslider&amp;diff=18839&amp;oldid=prev"/>
		<updated>2026-05-20T15:03:30Z</updated>

		<summary type="html">&lt;p&gt;updated&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 COUNTRIES_GALLERY_NAME = &amp;quot;AllCountries&amp;quot;&lt;br /&gt;
local REGIONS_GALLERY_NAME = &amp;quot;RegionsCharts&amp;quot;&lt;br /&gt;
local hasWikidataLabel, wd = pcall(require, &amp;#039;Module:Wikidata label&amp;#039;)&lt;br /&gt;
if not hasWikidataLabel then&lt;br /&gt;
	wd = nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function translateGalleryName( galleryName, translations )&lt;br /&gt;
	if wd ~= nil and translations[galleryName] ~= nil and type( wd._getLabel ) == &amp;#039;function&amp;#039; then&lt;br /&gt;
		local ok, translatedName = pcall(&lt;br /&gt;
			wd._getLabel,&lt;br /&gt;
			translations[galleryName],&lt;br /&gt;
			nil,&lt;br /&gt;
			&amp;#039;no&amp;#039;,&lt;br /&gt;
			&amp;#039;ucfirst&amp;#039;&lt;br /&gt;
		)&lt;br /&gt;
&lt;br /&gt;
		if ok and translatedName ~= nil and translatedName ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			return translatedName&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return galleryName&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function copyTable( source )&lt;br /&gt;
	local result = {}&lt;br /&gt;
	for key, value in pairs( source ) do&lt;br /&gt;
		result[key] = value&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.image( frame )&lt;br /&gt;
	math.randomseed(tonumber(mw.getContentLanguage():formatDate( &amp;quot;U&amp;quot; ))*10000 + os.clock()*10000)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local popupConfig = {}&lt;br /&gt;
	local caption = &amp;#039;&amp;#039;&lt;br /&gt;
	popupConfig.loop = args.loop == &amp;quot;yes&amp;quot;&lt;br /&gt;
	if tonumber( args.start ) then&lt;br /&gt;
		popupConfig.start = tonumber( args.start )&lt;br /&gt;
	else&lt;br /&gt;
		popupConfig.start = 1&lt;br /&gt;
	end&lt;br /&gt;
	if args.startingView then&lt;br /&gt;
		popupConfig.startingView = tostring( args.startingView )&lt;br /&gt;
	end&lt;br /&gt;
	if args.language then&lt;br /&gt;
		popupConfig.language = tostring( args.language )&lt;br /&gt;
	end&lt;br /&gt;
	if args.location then&lt;br /&gt;
		popupConfig.location = tostring( args.location )&lt;br /&gt;
	end&lt;br /&gt;
	if tonumber( args.width ) then&lt;br /&gt;
		popupConfig.width = tonumber( args.width )&lt;br /&gt;
	end&lt;br /&gt;
	if tonumber( args.height ) then&lt;br /&gt;
		popupConfig.height = tonumber( args.height )&lt;br /&gt;
	end&lt;br /&gt;
	popupConfig.list = args.list&lt;br /&gt;
	popupConfig.file = args.file&lt;br /&gt;
	if args[&amp;#039;noregisterimages&amp;#039;] == &amp;quot;false&amp;quot; then&lt;br /&gt;
	    -- Only register dependency if location is not Commons&lt;br /&gt;
		local location = args.location and string.lower(args.location) or &amp;quot;&amp;quot;&lt;br /&gt;
	    if location ~= &amp;quot;commons&amp;quot; and location ~= &amp;quot;&amp;quot; then&lt;br /&gt;
	        -- Register this as a dependency so that this page shows up as using all the images on the list page&lt;br /&gt;
	        frame:expandTemplate{ title = &amp;#039;:&amp;#039; .. args.list }&lt;br /&gt;
	    end&lt;br /&gt;
	end&lt;br /&gt;
	-- If we don&amp;#039;t want to transclude for performance, maybe we could at least link&lt;br /&gt;
	-- however links need to actually be output on the page to register them.&lt;br /&gt;
	&lt;br /&gt;
	if args.caption then&lt;br /&gt;
		popupConfig.caption = &amp;quot;OWIDSlider-caption-&amp;quot; .. math.random()&lt;br /&gt;
		caption = tostring( mw.html.create( &amp;#039;div&amp;#039; )&lt;br /&gt;
			:attr( &amp;#039;id&amp;#039;, popupConfig.caption )&lt;br /&gt;
			:attr( &amp;#039;style&amp;#039;, &amp;#039;display: none&amp;#039; )&lt;br /&gt;
			:wikitext( args.caption )&lt;br /&gt;
			:done() )&lt;br /&gt;
	end&lt;br /&gt;
	if args.title then&lt;br /&gt;
		popupConfig.title = args.title&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return tostring( mw.html.create( &amp;#039;div&amp;#039; )&lt;br /&gt;
		:attr( &amp;#039;class&amp;#039;, &amp;#039;OWIDSlider&amp;#039; )&lt;br /&gt;
		:attr( &amp;#039;data-owidslider-config&amp;#039;, mw.text.jsonEncode( { popupConfig } ) )&lt;br /&gt;
		:wikitext( args.file ) )&lt;br /&gt;
		.. caption .. &amp;#039;[[Category:Pages using gadget owidslider]]&amp;#039;&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function srcGallery( frame, galleryName, gallerySrc, baseGalleryArgs )&lt;br /&gt;
	local galleryArgs = copyTable( baseGalleryArgs )&lt;br /&gt;
	local id = mw.uri.anchorEncode( &amp;quot;gallery-&amp;quot; .. galleryName )&lt;br /&gt;
	galleryArgs.id = id&lt;br /&gt;
	local optionsArray = {}&lt;br /&gt;
	local galleryContents = &amp;#039;&amp;#039;&lt;br /&gt;
	for row in mw.text.gsplit( gallerySrc, &amp;quot;\n&amp;quot;, true ) do&lt;br /&gt;
		local galleryRow = &amp;#039;&amp;#039;&lt;br /&gt;
		local year = false&lt;br /&gt;
		local country = false&lt;br /&gt;
		local region = false&lt;br /&gt;
		for part in mw.text.gsplit( row, &amp;quot;!&amp;quot;, true ) do&lt;br /&gt;
			local equalSplit = mw.text.split( part, &amp;#039;=&amp;#039;, true )&lt;br /&gt;
			if #equalSplit &amp;lt;= 1 then&lt;br /&gt;
				galleryRow = galleryRow .. part .. &amp;#039;|&amp;#039;&lt;br /&gt;
			else&lt;br /&gt;
				if equalSplit[1] == &amp;#039;year&amp;#039; then&lt;br /&gt;
					year = tonumber(equalSplit[2])&lt;br /&gt;
				elseif equalSplit[1] == &amp;quot;country&amp;quot; then&lt;br /&gt;
					country = equalSplit[2]&lt;br /&gt;
				elseif equalSplit[1] == &amp;quot;region&amp;quot; then&lt;br /&gt;
					region = equalSplit[2]&lt;br /&gt;
				else&lt;br /&gt;
					galleryRow = galleryRow .. part .. &amp;#039;|&amp;#039;&lt;br /&gt;
				end&lt;br /&gt;
&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if string.sub( galleryRow, -1 ) == &amp;#039;|&amp;#039; then&lt;br /&gt;
			galleryRow = string.sub( galleryRow, 1, -2 )&lt;br /&gt;
		end&lt;br /&gt;
		galleryContents = galleryContents .. galleryRow .. &amp;quot;\n&amp;quot;&lt;br /&gt;
		&lt;br /&gt;
		if galleryName == COUNTRIES_GALLERY_NAME then&lt;br /&gt;
			optionsArray[#optionsArray+1] = country&lt;br /&gt;
		elseif galleryName == REGIONS_GALLERY_NAME then&lt;br /&gt;
			optionsArray[#optionsArray+1] = region&lt;br /&gt;
		else&lt;br /&gt;
			optionsArray[#optionsArray+1] = year&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if galleryName == COUNTRIES_GALLERY_NAME then&lt;br /&gt;
		galleryArgs[&amp;#039;data-owidslider-country&amp;#039;] = mw.text.jsonEncode( optionsArray )&lt;br /&gt;
	elseif galleryName == REGIONS_GALLERY_NAME then&lt;br /&gt;
		galleryArgs[&amp;#039;data-owidslider-regionscharts&amp;#039;] = mw.text.jsonEncode( optionsArray )&lt;br /&gt;
	else&lt;br /&gt;
		galleryArgs[&amp;#039;data-owidslider-year&amp;#039;] = mw.text.jsonEncode( optionsArray )	&lt;br /&gt;
	end&lt;br /&gt;
	galleryArgs[&amp;#039;data-owidslider-name&amp;#039;] = galleryName&lt;br /&gt;
&lt;br /&gt;
	return &amp;quot;\n==&amp;quot; .. (galleryName ~= &amp;quot;&amp;quot; and galleryName or &amp;quot;Gallery&amp;quot;) .. &amp;quot;==\n&amp;quot; .. frame:extensionTag( &amp;#039;gallery&amp;#039;, galleryContents, galleryArgs )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.srcs( frame )&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local galleryArgs = {}&lt;br /&gt;
	local galleryAttr = { &amp;quot;mode&amp;quot;, &amp;quot;widths&amp;quot;, &amp;quot;heights&amp;quot;, &amp;quot;perrow&amp;quot;, &amp;quot;caption&amp;quot;, &amp;quot;showfilename&amp;quot;, &amp;quot;showthumbnail&amp;quot;, &amp;quot;title&amp;quot;, &amp;quot;class&amp;quot;, &amp;quot;lang&amp;quot;, &amp;quot;dir&amp;quot; }&lt;br /&gt;
	for i, j in ipairs( galleryAttr ) do&lt;br /&gt;
		galleryArgs[j] = args[j]&lt;br /&gt;
	end&lt;br /&gt;
	local subItems = {}&lt;br /&gt;
	local output = &amp;#039;&amp;#039;&lt;br /&gt;
	local translations = {&lt;br /&gt;
		Africa = &amp;quot;Q15&amp;quot;,&lt;br /&gt;
		Antarctica = &amp;quot;Q51&amp;quot;,&lt;br /&gt;
		Asia = &amp;quot;Q48&amp;quot;,&lt;br /&gt;
		Europe = &amp;quot;Q46&amp;quot;,&lt;br /&gt;
		[&amp;quot;North America&amp;quot;] = &amp;quot;Q49&amp;quot;,&lt;br /&gt;
		Oceania = &amp;quot;Q55643&amp;quot;,&lt;br /&gt;
		[&amp;quot;South America&amp;quot;] = &amp;quot;Q18&amp;quot;,&lt;br /&gt;
		World = &amp;quot;Q16502&amp;quot;  -- Bit iffy, maybe should be Q2 instead.&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	-- Make World gallery show up first.&lt;br /&gt;
	local galleries = {}&lt;br /&gt;
    for argName in pairs( args ) do&lt;br /&gt;
		if string.sub( argName, 0, 7 ) == &amp;quot;gallery&amp;quot; then&lt;br /&gt;
			table.insert( galleries, argName )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort( galleries, function ( x, y )&lt;br /&gt;
		if x == &amp;#039;gallery-World&amp;#039; then return true end&lt;br /&gt;
		if y == &amp;#039;gallery-World&amp;#039; then return false end&lt;br /&gt;
		if x == &amp;#039;gallery-&amp;#039; .. REGIONS_GALLERY_NAME then return false end&lt;br /&gt;
		if y == &amp;#039;gallery-&amp;#039; .. REGIONS_GALLERY_NAME then return true end&lt;br /&gt;
		if x == &amp;#039;gallery-&amp;#039; .. COUNTRIES_GALLERY_NAME then return false end&lt;br /&gt;
		if y == &amp;#039;gallery-&amp;#039; .. COUNTRIES_GALLERY_NAME then return true end&lt;br /&gt;
		return x &amp;lt; y&lt;br /&gt;
	end )&lt;br /&gt;
&lt;br /&gt;
	for _, argName in ipairs( galleries ) do&lt;br /&gt;
		local argValue = args[argName]&lt;br /&gt;
		if string.sub( argName, 0, 7 ) == &amp;quot;gallery&amp;quot; then&lt;br /&gt;
			local rawGalleryName = string.sub( argName, 9 )&lt;br /&gt;
			local galleryName = translateGalleryName( rawGalleryName, translations )&lt;br /&gt;
			subItems[galleryName] = mw.uri.anchorEncode( &amp;quot;gallery-&amp;quot; .. galleryName )&lt;br /&gt;
			local srcGalleryOutput = srcGallery( frame, galleryName, argValue, galleryArgs )&lt;br /&gt;
			output = output .. srcGalleryOutput&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return mw.html.create( &amp;#039;div&amp;#039; )&lt;br /&gt;
		:attr( &amp;#039;class&amp;#039;, &amp;#039;owidsrclist&amp;#039; )&lt;br /&gt;
		:attr( &amp;#039;id&amp;#039;, args.id )&lt;br /&gt;
		:attr( &amp;#039;data-owid-subids&amp;#039;, mw.text.jsonEncode( subItems ) )&lt;br /&gt;
		:wikitext( output )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.gallery( frame )&lt;br /&gt;
	-- Seems like math.random is always seeded with 0 :(&lt;br /&gt;
	math.randomseed(tonumber(mw.getContentLanguage():formatDate( &amp;quot;U&amp;quot; ))*10000 + os.clock()*10000)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local reuseImageCaption = args.reuse_image_caption ~= nil&lt;br /&gt;
	local title = args[&amp;quot;popup-title&amp;quot;]&lt;br /&gt;
	local captionId = nil&lt;br /&gt;
	local captionText = &amp;#039;&amp;#039;&lt;br /&gt;
	local galleryContents = &amp;#039;&amp;#039;&lt;br /&gt;
	local optionsArray = {}&lt;br /&gt;
	local galleryArgs = {}&lt;br /&gt;
&lt;br /&gt;
	local galleryAttr = { &amp;quot;mode&amp;quot;, &amp;quot;widths&amp;quot;, &amp;quot;heights&amp;quot;, &amp;quot;perrow&amp;quot;, &amp;quot;caption&amp;quot;, &amp;quot;showfilename&amp;quot;, &amp;quot;showthumbnail&amp;quot;, &amp;quot;id&amp;quot;, &amp;quot;title&amp;quot;, &amp;quot;class&amp;quot;, &amp;quot;lang&amp;quot;, &amp;quot;dir&amp;quot; }&lt;br /&gt;
	for i, j in ipairs( galleryAttr ) do&lt;br /&gt;
		galleryArgs[j] = args[j]&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args[&amp;#039;popup-caption&amp;#039;] then&lt;br /&gt;
		captionId = &amp;#039;OWIDSlider-caption-&amp;#039; .. math.random()&lt;br /&gt;
		captionText = tostring(&lt;br /&gt;
			mw.html.create( &amp;#039;div&amp;#039; )&lt;br /&gt;
				:attr( &amp;#039;style&amp;#039;, &amp;#039;display:none&amp;#039; )&lt;br /&gt;
				:attr( &amp;#039;id&amp;#039;, captionId )&lt;br /&gt;
				:wikitext( args[&amp;#039;popup-caption&amp;#039;] )&lt;br /&gt;
		)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	for row in mw.text.gsplit( args.gallery, &amp;quot;\n&amp;quot;, true ) do&lt;br /&gt;
		local galleryRow = &amp;#039;&amp;#039;&lt;br /&gt;
		local popupOptions = { title = title, caption = captionId }&lt;br /&gt;
		for part in mw.text.gsplit( row, &amp;quot;!&amp;quot;, true ) do&lt;br /&gt;
			local equalSplit = mw.text.split( part, &amp;#039;=&amp;#039;, true )&lt;br /&gt;
			if #equalSplit &amp;lt;= 1 then&lt;br /&gt;
				-- be sure this really is a caption.&lt;br /&gt;
				if galleryRow ~= &amp;#039;&amp;#039; and&lt;br /&gt;
					reuseImageCaption and&lt;br /&gt;
					#part &amp;gt; 8 and&lt;br /&gt;
					string.find( part, &amp;quot; &amp;quot;, 1, true )&lt;br /&gt;
				then&lt;br /&gt;
					local captionId = &amp;#039;OWIDSlider-caption-&amp;#039; .. math.random()&lt;br /&gt;
					local wrappedPart = tostring( mw.html.create( &amp;#039;span&amp;#039; )&lt;br /&gt;
						:attr( &amp;#039;id&amp;#039;, captionId )&lt;br /&gt;
						:wikitext( part )&lt;br /&gt;
					)&lt;br /&gt;
					popupOptions.caption = captionId&lt;br /&gt;
					galleryRow = galleryRow .. wrappedPart .. &amp;#039;|&amp;#039;&lt;br /&gt;
				else&lt;br /&gt;
					galleryRow = galleryRow .. part .. &amp;#039;|&amp;#039;&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				if equalSplit[1] == &amp;#039;popup-width&amp;#039; then&lt;br /&gt;
					popupOptions.width = tonumber(equalSplit[2])&lt;br /&gt;
				elseif equalSplit[1] == &amp;#039;popup-height&amp;#039; then&lt;br /&gt;
					popupOptions.height = tonumber(equalSplit[2])&lt;br /&gt;
				elseif equalSplit[1] == &amp;#039;popup-loop&amp;#039; then&lt;br /&gt;
					popupOptions.loop = equalSplit[2] ~= &amp;#039;&amp;#039;&lt;br /&gt;
				elseif equalSplit[1] == &amp;#039;popup-start&amp;#039; then&lt;br /&gt;
					popupOptions.start = tonumber(equalSplit[2])&lt;br /&gt;
				elseif equalSplit[1] == &amp;#039;popup-startingView&amp;#039; then&lt;br /&gt;
					popupOptions.startingView = tonumber(equalSplit[2])&lt;br /&gt;
				elseif equalSplit[1] == &amp;#039;popup-caption&amp;#039; then&lt;br /&gt;
					local captionIdForImg = &amp;#039;OWIDSlider-caption-&amp;#039; .. math.random()&lt;br /&gt;
					captionText = captionText .. tostring( mw.html.create( &amp;#039;div&amp;#039; )&lt;br /&gt;
						:attr( &amp;#039;id&amp;#039;, captionIdForImg )&lt;br /&gt;
						:css( &amp;#039;display&amp;#039;, &amp;#039;none&amp;#039; )&lt;br /&gt;
						:wikitext( table.concat( equalSplit, &amp;#039;=&amp;#039;, 2 ) )&lt;br /&gt;
					)&lt;br /&gt;
					popupOptions.caption = captionIdForImg&lt;br /&gt;
				elseif equalSplit[1] == &amp;#039;popup-title&amp;#039; then&lt;br /&gt;
					popupOptions.title = table.concat( equalSplit, &amp;#039;=&amp;#039;, 2 )&lt;br /&gt;
				elseif equalSplit[1] == &amp;#039;popup-list&amp;#039; then&lt;br /&gt;
					popupOptions.list = table.concat( equalSplit, &amp;#039;=&amp;#039;, 2 )&lt;br /&gt;
					if args[&amp;#039;noregisterimages&amp;#039;] == nil then&lt;br /&gt;
					    -- Only register dependency if location is not Commons&lt;br /&gt;
						local location = args.location and string.lower(args.location) or &amp;quot;&amp;quot;&lt;br /&gt;
					    if location ~= &amp;quot;commons&amp;quot; and location ~= &amp;quot;&amp;quot; then&lt;br /&gt;
					        -- Register this as a dependency so that this page shows up as using all the images on the list page&lt;br /&gt;
					        frame:expandTemplate{ title = &amp;#039;:&amp;#039; .. table.concat( equalSplit, &amp;#039;=&amp;#039;, 2 ) }&lt;br /&gt;
					    end&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					galleryRow = galleryRow .. part .. &amp;#039;|&amp;#039;&lt;br /&gt;
				end&lt;br /&gt;
&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if string.sub( galleryRow, -1 ) == &amp;#039;|&amp;#039; then&lt;br /&gt;
			galleryRow = string.sub( galleryRow, 1, -2 )&lt;br /&gt;
		end&lt;br /&gt;
		galleryContents = galleryContents .. galleryRow .. &amp;quot;\n&amp;quot;&lt;br /&gt;
		optionsArray[#optionsArray+1] = popupOptions&lt;br /&gt;
	end&lt;br /&gt;
	return tostring( mw.html.create( &amp;#039;div&amp;#039; )&lt;br /&gt;
		:attr( &amp;#039;class&amp;#039;, &amp;#039;OWIDSlider&amp;#039; )&lt;br /&gt;
		:attr( &amp;#039;data-owidslider-config&amp;#039;, mw.text.jsonEncode( optionsArray ) )&lt;br /&gt;
		:wikitext( frame:extensionTag( &amp;#039;gallery&amp;#039;, galleryContents, galleryArgs ) )&lt;br /&gt;
		) .. captionText .. &amp;#039;[[Category:Pages using gadget owidslider]]&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>wikipedia&gt;Doc James</name></author>
	</entry>
</feed>