Module:Random slideshow and Module:Random slideshow/sandbox: Difference between pages
(Difference between pages)
imported>Jonesey95 add class to the list of items that are removed (to fix non-removal of class=skin-invert-image at Portal:Water, for example) |
imported>Aidan9382 enable ignoreOnlyincludes |
||
| Line 1: | Line 1: | ||
-- Creates a slideshow gallery where the order is randomised. Intended for use on portal pages. | -- Creates a slideshow gallery where the order is randomised. Intended for use on portal pages. | ||
local p = {} | local p = {} | ||
local excerptModule = require('Module:Excerpt/portals') | local excerptModule = require('Module:Excerpt/portals/sandbox') | ||
local randomModule = require('Module:Random') | local randomModule = require('Module:Random') | ||
| Line 36: | Line 36: | ||
function makeOutput(galleryLines, maxWidth, containerClassName, nonRandom) | function makeOutput(galleryLines, maxWidth, containerClassName, nonRandom) | ||
local randomiseArgs = { ['t'] = galleryLines } | local randomiseArgs = { ['t'] = galleryLines } | ||
if #galleryLines > 50 then randomiseArgs.limit = 50 end | |||
local sortedLines = nonRandom and galleryLines or randomModule.main('array', randomiseArgs) | local sortedLines = nonRandom and galleryLines or randomModule.main('array', randomiseArgs) | ||
for i = 1, #sortedLines do | for i = 1, #sortedLines do | ||
| Line 92: | Line 93: | ||
for file in mw.ustring.gmatch(wikitext, '%b[]' ) do | for file in mw.ustring.gmatch(wikitext, '%b[]' ) do | ||
-- remove keywords that don't work in galleries | -- remove keywords that don't work in galleries | ||
file = mw.ustring.gsub(file, '|%s* | file = mw.ustring.gsub(file, '|%s*thumb%s*([|%]])', '%1') | ||
file = mw.ustring.gsub(file, '|%s*thumbnail%s*([|%]])', '%1') | |||
file = mw.ustring.gsub(file, '|%s*border%s*([|%]])', '%1') | file = mw.ustring.gsub(file, '|%s*border%s*([|%]])', '%1') | ||
file = mw.ustring.gsub(file, '|%s* | file = mw.ustring.gsub(file, '|%s*left%s*([|%]])', '%1') | ||
file = mw.ustring.gsub(file, '|%s*right%s*([|%]])', '%1') | |||
file = mw.ustring.gsub(file, '|%s*center%s*([|%]])', '%1') | file = mw.ustring.gsub(file, '|%s*center%s*([|%]])', '%1') | ||
file = mw.ustring.gsub(file, '|%s*centre%s*([|%]])', '%1') | file = mw.ustring.gsub(file, '|%s*centre%s*([|%]])', '%1') | ||
file = mw.ustring.gsub(file, '|%s*none%s*([|%]])', '%1') | file = mw.ustring.gsub(file, '|%s*none%s*([|%]])', '%1') | ||
file = mw.ustring.gsub(file, '|%s* | file = mw.ustring.gsub(file, '|%s*baseline%s*([|%]])', '%1') | ||
file = mw.ustring.gsub(file, '|%s*sub%s*([|%]])', '%1') | file = mw.ustring.gsub(file, '|%s*sub%s*([|%]])', '%1') | ||
file = mw.ustring.gsub(file, '|%s*super%s*([|%]])', '%1') | file = mw.ustring.gsub(file, '|%s*super%s*([|%]])', '%1') | ||
file = mw.ustring.gsub(file, '|%s*top%s*([|%]])', '%1') | |||
file = mw.ustring.gsub(file, '|%s*text%-top%s*([|%]])', '%1') | |||
file = mw.ustring.gsub(file, '|%s*bottom%s*([|%]])', '%1') | |||
file = mw.ustring.gsub(file, '|%s*text%-bottom%s*([|%]])', '%1') | file = mw.ustring.gsub(file, '|%s*text%-bottom%s*([|%]])', '%1') | ||
file = mw.ustring.gsub(file, '|%s* | file = mw.ustring.gsub(file, '|%s*framed?%s*([|%]])', '%1') | ||
file = mw.ustring.gsub(file, '|%s*frameless%s*([|%]])', '%1') | |||
file = mw.ustring.gsub(file, '|%s* | |||
file = mw.ustring.gsub(file, '|%s*upright%s*[0-9%.]*%s*([|%]])', '%1') | file = mw.ustring.gsub(file, '|%s*upright%s*[0-9%.]*%s*([|%]])', '%1') | ||
file = mw.ustring.gsub(file, '|%s*upright%s*=.-([|%]])', '%1') | file = mw.ustring.gsub(file, '|%s*upright%s*=.-([|%]])', '%1') | ||
file = mw.ustring.gsub(file, '|%s*link%s*=.-([|%]])', '%1') | |||
file = mw.ustring.gsub(file, '|%s*lang%s*=.-([|%]])', '%1') | |||
-- remove spaces prior to captions (which cause pre-formatted text) | -- remove spaces prior to captions (which cause pre-formatted text) | ||
file = mw.ustring.gsub(file, '|%s*', '|') | file = mw.ustring.gsub(file, '|%s*', '|') | ||