Difference between revisions of "Module:Gallery items"

From blackwiki
Jump to navigation Jump to search
blackwiki>Great Brightstar
(Misc adjusts)
m (25 revisions imported)
 
(5 intermediate revisions by 2 users not shown)
Line 10: Line 10:
 
local items = {}
 
local items = {}
 
for k, v in pairs(args) do
 
for k, v in pairs(args) do
    if k ~= nil and tonumber(k) and math.fmod(k,2) == 1 then
+
if k ~= nil and tonumber(k) and math.fmod(k,2) == 1 then
    local i = math.floor(k/2) + 1
+
local i = math.floor(k/2) + 1
    local item = mw.html.create('li')
+
local item = mw.html.create('li')
    :addClass('gallerybox center')
+
:addClass('gallerybox')
    :css('width', (args['width' .. k] or width)+5 .. 'px')
+
:css('width', (args['width' .. k] or width)+5 .. 'px')
    item:tag('div')
+
local itemdiv = item:tag('div'):css('width', (args['width' .. k] or width)+5 .. 'px')
    :addClass('thumb-nobg')
+
itemdiv:tag('div')
    :css('width', (args['width' .. k] or width) .. 'px')
+
:addClass('thumb')
    :css('text-align', args['itemalign'])
+
:css('width', (args['width' .. k] or width) .. 'px')
    :wikitext('<div style="margin:0px auto">' .. args[k] .. '</div>')
+
:css('text-align', args['itemalign'])
    if args[tonumber(k)+1] then
+
:wikitext('<div style="margin:0px auto">' .. args[k] .. '</div>')
    item
+
if args[tonumber(k)+1] then
    :tag('div')
+
itemdiv
    :addClass('gallerytext')
+
:tag('div')
    :css('width', (args['width' .. k] or width) .. 'px')
+
:addClass('gallerytext')
    :css('text-align', args['captionalign'])
+
:css('text-align', args['captionalign'])
    :wikitext('<p>' .. args[tonumber(k)+1] .. '</p>')
+
:wikitext('<p>' .. args[tonumber(k)+1] .. '</p>')
    end
+
end
    items[i] = tostring(item) .. '&#32;'
+
items[i] = tostring(item) .. ' '
    end
+
end
 
end
 
end
 
local root = mw.html.create('ul')
 
local root = mw.html.create('ul')
:addClass('gallery mw-gallery-nolines nochecker')
+
:addClass('gallery mw-gallery-nolines gallery-items')
 
:addClass(args.class)
 
:addClass(args.class)
 
:cssText(args.style)
 
:cssText(args.style)
 
:wikitext(table.concat(items))
 
:wikitext(table.concat(items))
 
 
return frame:extensionTag{ name = 'gallery' } .. tostring(root)
+
return frame:extensionTag {name = 'templatestyles', args = {src = 'Gallery items/styles.css'}} .. frame:extensionTag{ name = 'gallery', args = {mode = 'nolines'}} .. tostring(root)
 
end
 
end
  
 
return p
 
return p

Latest revision as of 16:45, 26 September 2020

Implements {{gallery items}}


-- this module implements [[template:gallery items]]
local p = {}

function p.main(frame)
	local getArgs = require('Module:Arguments').getArgs
	local args = getArgs(frame)

	local width = args.width or '150'

	local items = {}
	for k, v in pairs(args) do
		if k ~= nil and tonumber(k) and math.fmod(k,2) == 1 then
			local i = math.floor(k/2) + 1
			local item = mw.html.create('li')
				:addClass('gallerybox')
				:css('width', (args['width' .. k] or width)+5 .. 'px')
			local itemdiv = item:tag('div'):css('width', (args['width' .. k] or width)+5 .. 'px')
			itemdiv:tag('div')
					:addClass('thumb')
					:css('width', (args['width' .. k] or width) .. 'px')
					:css('text-align', args['itemalign'])
					:wikitext('<div style="margin:0px auto">' .. args[k] .. '</div>')
			if args[tonumber(k)+1] then
				itemdiv
					:tag('div')
					:addClass('gallerytext')
					:css('text-align', args['captionalign'])
					:wikitext('<p>' .. args[tonumber(k)+1] .. '</p>')
			end
			items[i] = tostring(item) .. ' '
		end
	end
	local root = mw.html.create('ul')
		:addClass('gallery mw-gallery-nolines gallery-items')
		:addClass(args.class)
		:cssText(args.style)
		:wikitext(table.concat(items))
	
	return frame:extensionTag {name = 'templatestyles', args = {src = 'Gallery items/styles.css'}} .. frame:extensionTag{ name = 'gallery', args = {mode = 'nolines'}} .. tostring(root)
end

return p