Module:Shortcut: Difference between revisions
From the Croc Wiki, the Croc encyclopedia
Jump to navigationJump to search
Content added Content deleted
(use wikilinks rather than URLs, as it would change the redlink behaviour, and that's better done after it is discussed) |
(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 |
||