Open main menu
Home
Random
Donate
Recent changes
Special pages
Community portal
Preferences
About Stockhub
Disclaimers
Search
User menu
Talk
Contributions
Create account
Log in
Editing
Module:Sidebar or footer
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
require('strict') local p = {} local Sidebar = require('Module:Sidebar') local Navbox = require('Module:Navbox') function p.main(frame) local getArgs = require('Module:Arguments').getArgs local args = getArgs(frame) local footer = args['footer'] local i, j, ni, k, v -- process the groups and lists local groups, lists, nums = {}, {}, {} for k,v in pairs(args) do if type(k) == 'string' and k:match('^list[0-9][0-9]*_[0-9][0-9]*$') then i = mw.ustring.gsub(k,'^list([0-9][0-9]*)_([0-9][0-9]*)$', '%1') j = mw.ustring.gsub(k,'^list([0-9][0-9]*)_([0-9][0-9]*)$', '%2') i = tonumber(i) j = tonumber(j) if lists[i] == nil then lists[i] = {} if groups[i] == nil then table.insert(nums, i) end end lists[i][j] = v elseif type(k) == 'string' and k:match('^group[0-9][0-9]*$') then local i = mw.ustring.gsub(k,'^group([0-9][0-9]*)$', '%1') i = tonumber(i) if groups[i] == nil and lists[i] == nil then table.insert(nums, i) end groups[i] = v end end -- sort the group and list numbers table.sort(nums) -- table for args passed to sidebar or navbox local targs = {} for ni = 1, #nums do i = nums[ni] if footer then if lists[i] then if groups[i] then targs['group' .. i] = args['group' .. i] end targs['list' .. i] = '' for k,v in pairs(lists[i]) do targs['list' .. i] = targs['list' .. i] .. '* ' .. args['list' .. i .. '_' .. k] .. '\n' end else lists[i] = '\'\'\'' .. args['group' .. i] .. '\'\'\'' end else if groups[i] then targs['heading' .. i] = args['group' .. i] end if lists[i] then local leven, lodd = '', '' for k,v in pairs(lists[i]) do if math.fmod(tonumber(k), 2) == 0 then leven = leven .. '* ' .. args['list' .. i .. '_' .. k] .. '\n' else lodd = lodd .. '* ' .. args['list' .. i .. '_' .. k] .. '\n' end end if leven ~= '' and lodd ~= '' then local cb = frame:expandTemplate{ title = 'col-begin' } local c2 = frame:expandTemplate{ title = 'col-2' } local ce = frame:expandTemplate{ title = 'col-end' } targs['content' .. i] = cb .. '\n' .. c2 .. '\n' .. lodd .. c2 .. '\n' .. leven .. ce else targs['content' .. i] = lodd .. leven end end end end targs['name'] = args['name'] or mw.title.getCurrentTitle().text targs['title'] = args['title'] or '{{{title}}}' if footer then targs['listclass'] = 'hlist' targs['state'] = args['state'] or 'autocollapse' return Navbox._navbox(targs) else targs['style'] = 'width: 30em; text-align: left;' targs['class'] = 'collapsible' targs['wraplinks'] = 'true' targs['titlestyle'] = 'font-size: 100%; background-color:lavender; text-align:center;' return Sidebar.sidebar(frame, targs) end end return p
Summary:
Please note that all contributions to Stockhub may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Stockhub:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Tl
(
edit
)
Module:Sidebar or footer/doc
(
edit
)