Module:Shortcut: Difference between revisions
Implement merger code by Pppery
m (1 revision imported) |
(Implement merger code by Pppery) |
||
Line 37: | Line 37: | ||
local listItems = {} | local listItems = {} | ||
for i, shortcut in ipairs(shortcuts) do | for i, shortcut in ipairs(shortcuts) do | ||
listItems[i] = frame:expandTemplate{ | if yesno(options['target']) then | ||
listItems[i] = string.format("[[%s]]",shortcut) | |||
else | |||
listItems[i] = frame:expandTemplate{ | |||
title = 'No redirect', | |||
args = {shortcut} | |||
} | |||
end | |||
end | end | ||
table.insert(listItems, options.msg) | table.insert(listItems, options.msg) | ||
Line 55: | Line 59: | ||
local root = mw.html.create() | local root = mw.html.create() | ||
root:wikitext(frame:extensionTag{ name = 'templatestyles', args = { src = 'Shortcut/styles.css'} }) | |||
-- Anchors | -- Anchors | ||
local anchorDiv = root | local anchorDiv = root | ||
:tag('div') | :tag('div') | ||
: | :addClass('module-shortcutanchordiv') | ||
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 | ||
-- Shortcut heading | -- Shortcut heading | ||
Line 73: | Line 74: | ||
local nShortcuts = #shortcuts | local nShortcuts = #shortcuts | ||
if nShortcuts > 0 then | if nShortcuts > 0 then | ||
local headingMsg = options['shortcut-heading'] or cfg['shortcut-heading'] | |||
shortcutHeading = message(headingMsg, nShortcuts) | |||
shortcutHeading = frame:preprocess(shortcutHeading) | shortcutHeading = frame:preprocess(shortcutHeading) | ||
end | end | ||
end | end | ||
Line 82: | Line 83: | ||
local shortcutList = root | local shortcutList = root | ||
:tag('div') | :tag('div') | ||
:addClass(' | :addClass('module-shortcutboxplain plainlist noprint') | ||
:attr('role', 'note') | :attr('role', 'note') | ||
if shortcutHeading then | if shortcutHeading then | ||
shortcutList | shortcutList | ||
:tag('div') | :tag('div') | ||
: | :addClass('module-shortcutlist') | ||
:wikitext(shortcutHeading) | :wikitext(shortcutHeading) | ||
end | end | ||
shortcutList | local list = shortcutList:tag('ul') | ||
for i, item in ipairs(listItems) do | for i, item in ipairs(listItems) do | ||
list:tag('li'):wikitext(item) | |||
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) | ||
-- Separate shortcuts from options | -- Separate shortcuts from options |