Revision as of 02:48, 7 February 2014 view sourceJackmcbarn (talk | contribs)31,380 editsm cleaner variable← Previous edit | Revision as of 16:18, 2 May 2014 view source Jackmcbarn (talk | contribs)31,380 edits expand the template properly and use a saner default for nameNext edit → | ||
Line 18: | Line 18: | ||
local args = frame:getParent().args | local args = frame:getParent().args | ||
local out = [=[<tr style="text-align:center;"> | local out = [=[<tr style="text-align:center;"> | ||
<th style="background: |
<th style="background:]=] .. frame:expandTemplate{title = 'Infobox album/color', args = {args.Type}} .. ] from '']=] .. (args.Name or mw.title.getCurrentTitle().prefixedText) .. [=[''</th> | ||
</tr> | </tr> | ||
<tr style="text-align:left; vertical-align:top; line-height:11px;"> | <tr style="text-align:left; vertical-align:top; line-height:11px;"> |
Revision as of 16:18, 2 May 2014
Module documentation[view] [edit] [history] [purge]This module implements the {{Singles}} template. Please see the template page for usage instructions.
The above documentation is transcluded from Module:Singles/doc. (edit | history)Editors can experiment in this module's sandbox (edit | diff) and testcases (create) pages.
Subpages of this module.
local p = {} -- Ripped from Module:Infobox. TODO: Make a utility module that can do this kind of thing local function getArgNums(args, prefix) -- Returns a table containing the numbers of the arguments that exist -- for the specified prefix. For example, if the prefix was 'data', and -- 'data1', 'data2', and 'data5' exist, it would return {1, 2, 5}. local nums = {} for k, v in pairs(args) do local num = tostring(k):match('^' .. prefix .. '(%d*)$') if num then table.insert(nums, tonumber(num)) end end table.sort(nums) return nums end function p.main(frame) local args = frame:getParent().args local out = [=[<tr style="text-align:center;"> <th style="background:]=] .. frame:expandTemplate{title = 'Infobox album/color', args = {args.Type}} .. ] from '']=] .. (args.Name or mw.title.getCurrentTitle().prefixedText) .. [=[''</th> </tr> <tr style="text-align:left; vertical-align:top; line-height:11px;"> <td colspan="3">]=] local nums = getArgNums(args, 'ingle ') for _, num in pairs(nums) do out = out .. '\n# <span class="item"><span class="fn">"' .. (args or args) .. '"</span>' local date = args or args if date then out = out .. '<br />Released: ' .. date end out = out .. '</span>' end out = out .. [=[</td> </tr>]=] return out end return p