Editing Module:Shortcut
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 24: | Line 24: | ||
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 isCategorized = yesno(options.category) ~= false | |||
local isCategorized = | |||
-- Validate shortcuts | -- Validate shortcuts | ||
Line 39: | Line 37: | ||
local listItems = {} | local listItems = {} | ||
for i, shortcut in ipairs(shortcuts) do | for i, shortcut in ipairs(shortcuts) do | ||
listItems[i] = frame:expandTemplate{ | |||
title = 'No redirect', | |||
args = {shortcut} | |||
} | |||
end | end | ||
table.insert(listItems, options.msg) | table.insert(listItems, options.msg) | ||
Line 77: | Line 55: | ||
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 92: | Line 73: | ||
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 103: | Line 82: | ||
local shortcutList = root | local shortcutList = root | ||
:tag('div') | :tag('div') | ||
:addClass(' | :addClass('shortcutbox plainlist noprint') | ||
:attr('role', 'note') | :attr('role', 'note') | ||
:css('float', 'right') | |||
:css('border', '1px solid #aaa') | |||
:css('background', '#fff') | |||
:css('margin', '0em 0em 0em 1em') | |||
:css('padding', '.3em .6em .2em .6em') | |||
:css('text-align', 'center') | |||
:css('font-size', '85%') | |||
:css('font-weight', 'bold') | |||
if shortcutHeading then | if shortcutHeading then | ||
shortcutList | shortcutList | ||
:tag('div') | :tag('div') | ||
: | :css('display','inline-block') | ||
:css('border-bottom','1px solid #aaa') | |||
:css('margin-bottom', '.2em') | |||
:css('font-weight', 'normal') | |||
:wikitext(shortcutHeading) | :wikitext(shortcutHeading) | ||
end | end | ||
local list = shortcutList:tag('ul') | |||
local | for i, item in ipairs(listItems) do | ||
list:tag('li'):wikitext(item) | |||
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 |