Module:Shortcut: Difference between revisions
Content added Content deleted
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: | Line 15: | ||
frame = frame or mw.getCurrentFrame() |
frame = frame or mw.getCurrentFrame() |
||
cfg = cfg or mw.loadData(CONFIG_MODULE) |
cfg = cfg or mw.loadData(CONFIG_MODULE) |
||
local nShortcuts = #shortcuts |
|||
⚫ | |||
if nShortcuts < 1 and not options.msg then |
|||
⚫ | |||
⚫ | |||
-- Validate shortcuts |
-- Validate shortcuts |
||
Line 30: | Line 24: | ||
), 2) |
), 2) |
||
end |
end |
||
⚫ | |||
-- Make the list items. These are the shortcuts plus any extra lines such |
|||
⚫ | |||
local listItems = {} |
|||
for i, shortcut in ipairs(shortcuts) do |
|||
listItems[i] = string.format('[[%s]]', shortcut) |
|||
⚫ | |||
table.insert(listItems, options.msg) |
|||
local nListItems = #listItems |
|||
⚫ | |||
if nListItems < 1 then |
|||
⚫ | |||
end |
end |
||
Line 49: | Line 57: | ||
local shortcutHeading = mw.message.newRawMessage( |
local shortcutHeading = mw.message.newRawMessage( |
||
cfg['shortcut-heading'], |
cfg['shortcut-heading'], |
||
nListItems |
|||
nShortcuts |
|||
):plain() |
):plain() |
||
shortcutHeading = frame:preprocess(shortcutHeading) |
shortcutHeading = frame:preprocess(shortcutHeading) |
||
Line 72: | Line 80: | ||
:newline() |
:newline() |
||
:tag('ul') |
:tag('ul') |
||
for i, |
for i, item in ipairs(listItems) do |
||
shortcutList:tag('li'):wikitext( |
shortcutList:tag('li'):wikitext(item) |
||
'[[%s]]', |
|||
shortcut |
|||
)) |
|||
⚫ | |||
⚫ | |||
shortcutList:tag('li'):wikitext(options.msg) |
|||
end |
end |
||