Module:Shortcut: Difference between revisions

calculate the number of list items based on a table of list items, rather than doing it ad hoc from the shortcuts plus whatever else we want to add
Enwikipedia>Mr. Stradivarius
(use wikilinks rather than URLs, as it would change the redlink behaviour, and that's better done after it is discussed)
Enwikipedia>Mr. Stradivarius
(calculate the number of list items based on a table of list items, rather than doing it ad hoc from the shortcuts plus whatever else we want to add)
Line 15:
frame = frame or mw.getCurrentFrame()
cfg = cfg or mw.loadData(CONFIG_MODULE)
local nShortcuts = #shortcuts
 
-- Check that we have something to display
if nShortcuts < 1 and not options.msg then
return nil
end
 
-- Validate shortcuts
Line 30 ⟶ 24:
), 2)
end
end
 
-- Make the list items. These are the shortcuts plus any extra lines such
if-- as options.msg then.
local listItems = {}
for i, shortcut in ipairs(shortcuts) do
listItems[i] = string.format('[[%s]]', shortcut)
end
table.insert(listItems, options.msg)
local nListItems = #listItems
 
-- CheckExit thatif we have somethingnothing to display
if nListItems < 1 then
return nil
end
 
Line 49 ⟶ 57:
local shortcutHeading = mw.message.newRawMessage(
cfg['shortcut-heading'],
nListItems
nShortcuts
):plain()
shortcutHeading = frame:preprocess(shortcutHeading)
Line 72 ⟶ 80:
:newline()
:tag('ul')
for i, shortcutitem in ipairs(shortcutslistItems) do
shortcutList:tag('li'):wikitext(string.format(item)
'[[%s]]',
shortcut
))
end
if options.msg then
shortcutList:tag('li'):wikitext(options.msg)
end