Editing Module:Shortcut
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.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 37: | Line 37: | ||
local listItems = {} | local listItems = {} | ||
for i, shortcut in ipairs(shortcuts) do | for i, shortcut in ipairs(shortcuts) do | ||
− | + | listItems[i] = string.format('[[%s]]', shortcut) | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
end | end | ||
table.insert(listItems, options.msg) | table.insert(listItems, options.msg) | ||
Line 59: | Line 52: | ||
local root = mw.html.create() | local root = mw.html.create() | ||
− | + | ||
-- Anchors | -- Anchors | ||
local anchorDiv = root | local anchorDiv = root | ||
:tag('div') | :tag('div') | ||
− | : | + | :css('position', 'relative') |
+ | :css('top', '-3em') | ||
for i, shortcut in ipairs(shortcuts) do | for i, shortcut in ipairs(shortcuts) do | ||
local anchor = mw.uri.anchorEncode(shortcut) | local anchor = mw.uri.anchorEncode(shortcut) | ||
anchorDiv:tag('span'):attr('id', anchor) | anchorDiv:tag('span'):attr('id', anchor) | ||
end | end | ||
+ | |||
+ | root:newline() -- To match the old [[Template:Shortcut]] | ||
-- Shortcut heading | -- Shortcut heading | ||
Line 74: | Line 70: | ||
local nShortcuts = #shortcuts | local nShortcuts = #shortcuts | ||
if nShortcuts > 0 then | if nShortcuts > 0 then | ||
− | + | shortcutHeading = message(cfg['shortcut-heading'], nShortcuts) | |
− | |||
shortcutHeading = frame:preprocess(shortcutHeading) | shortcutHeading = frame:preprocess(shortcutHeading) | ||
+ | shortcutHeading = shortcutHeading .. '\n' | ||
end | end | ||
end | end | ||
Line 82: | Line 78: | ||
-- Shortcut box | -- Shortcut box | ||
local shortcutList = root | local shortcutList = root | ||
− | :tag(' | + | :tag('table') |
− | :addClass(' | + | :addClass('shortcutbox noprint') |
− | : | + | :css('float', 'right') |
− | + | :css('border', '1px solid #aaa') | |
− | + | :css('background', '#fff') | |
− | :tag(' | + | :css('margin', '.3em .3em .3em 1em') |
− | + | :css('padding', '3px') | |
− | + | :css('text-align', 'center') | |
+ | :tag('tr') | ||
+ | :tag('th') | ||
+ | :addClass('plainlist') | ||
+ | :css('border', 'none') | ||
+ | :css('background', 'transparent') | ||
+ | :tag('small') | ||
+ | :wikitext(shortcutHeading) | ||
+ | :tag('ul') | ||
+ | for i, item in ipairs(listItems) do | ||
+ | shortcutList:tag('li'):wikitext(item) | ||
end | end | ||
− | + | ||
− | + | -- Output an error category if the first shortcut doesn't exist | |
− | + | if isCategorized | |
+ | and shortcuts[1] | ||
+ | and cfg['first-parameter-error-category'] | ||
+ | then | ||
+ | local title = mw.title.new(shortcuts[1]) | ||
+ | if not title or not title.exists then | ||
+ | root:wikitext(makeCategoryLink(cfg['first-parameter-error-category'])) | ||
+ | end | ||
end | end | ||
+ | |||
return tostring(root) | return tostring(root) | ||
end | end | ||
function p.main(frame) | function p.main(frame) | ||
− | local args = require('Module:Arguments').getArgs(frame) | + | local args = require('Module:Arguments').getArgs(frame, { |
+ | wrappers = 'Template:Shortcut' | ||
+ | }) | ||
-- Separate shortcuts from options | -- Separate shortcuts from options |