Module:Carousel/sandbox
Appearance
![]() | This is the module sandbox page for Module:Carousel (diff). See also the companion subpage for test cases. |
Carousel returns one of a list of image filenames.
The index of the one chosen increments every 'switchsecs', which is a parameter giving the number of seconds between switches.
switchsecs=3600
would switch every hourswitchsecs=43200
would be every 12 hoursswitchsecs=86400
would be daily (the default)
Usage
[edit]Generic:
{{#invoke:carousel | main | name = name-of-data-module | switchsecs = number-of-seconds }}
Examples:
{{#invoke:carousel | main }}
for 24 hours between switches using default list{{#invoke:carousel | main | switchsecs = 10}}
for 10 sec between switches using default list{{#invoke:carousel | main | name= | switchsecs = 1}}
1 sec between switches using default list{{#invoke:carousel | main | name=Komodobish | switchsecs = 5}}
5 sec using Komodobish's list{{#invoke:carousel | main | name=54129 | switchsecs = 43200}}
12 hours using Serial Number 54129's list
The image lists are at Special:PrefixIndex/Module:Carousel/, e.g. Module:Carousel/Komodobish for name=Komodobish
.
Typically it will be used with standard image syntax:
p={}-- carousel returns one of a list of image filenames---- the index of the one chosen increments every 'switchsecs'-- which is a parameter giving the number of seconds between switches-- 3600 would switch every hour-- 43200 would be every 12 hours-- 86400 would be daily (the default)---- The list of filenames is in a named submodule, so everyone can have their own list.-- For Bishonen (the default), the module is [[Module:Carousel/Shonen]].-- For Serial Number 54129, the module is [[Module:Carousel/54129]].---- {{#invoke:carousel | main | name = name-of-datamodule | switchsecs = number-of-seconds }}-- {{#invoke:carousel | main | name = 54129 | switchsecs = 10 }} for 10 sec switches using [[Module:Carousel/54129]]-- {{#invoke:carousel | main }} for 24 hours between switches using the default data module--p.main=function(frame)-- get parameter switchsecs; if NaN or less than 1, set defaultlocalswitchtime=tonumber(frame.args.switchsecs)or86400ifswitchtime<1thenswitchtime=86400end-- get parameter dataname; if missing, use defaultlocaldataname=frame.args.nameor""ifdataname==""thendataname="Shonen"end-- there should be a named data module as a submodule-- it returns a sequential table of filenameslocalimgs=mw.loadData("Module:Carousel/"..dataname)localnumimgs=#imgs-- 'now' increments by 1 every switchtime secondslocalnow=math.floor(os.time()/switchtime)-- set an index between 1 and number of imageslocalidx=now%numimgs+1returnimgs[idx]endreturnp