Editing Module:Tt
Appearance
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 4: | Line 4: | ||
local args = require('Module:Arguments').getArgs(frame, { | local args = require('Module:Arguments').getArgs(frame, { | ||
parentFirst = true, | parentFirst = true, | ||
wrappers = {'Template:Tt'} | wrappers = { 'Template:Tt' } | ||
}) | }) | ||
| Line 11: | Line 11: | ||
if args.clean then | if args.clean then | ||
return p.CleanTT(args[1]) | return p.CleanTT(args[1]) | ||
elseif not args[2] or args[2] == '' then | |||
return args[1] | return args[1] | ||
else | |||
return p._main(args) | |||
end | end | ||
end | end | ||
| Line 23: | Line 21: | ||
local text = args[1] | local text = args[1] | ||
local tooltip = mw.text.decode(args[2], true) | local tooltip = mw.text.decode(args[2], true) | ||
local out = mw.html.create() | |||
out:wikitext('‍') | |||
local out | local toggle = out:tag('span') | ||
:addClass('custom-tt-wrapper') | :addClass('custom-tt-wrapper') | ||
:addClass( | :addClass('mw-collapsible') | ||
:addClass('mw-collapsed') | |||
:addClass('giw-collapsible') | |||
if args.class and args.class ~= '' then | |||
toggle:addClass(args.class) | |||
end | |||
-- | -- If a link is supplied, make the visible text a link. | ||
if args.link and | if (args.link and args.link ~= '') or (text:find('%[%[') and text:find('%]%]')) then | ||
local link = tostring(args.link) | local link = tostring(args.link or '') | ||
if link == '1' then | |||
( | toggle:wikitext('[[' .. text .. ']] ') | ||
elseif link ~= '' then | |||
text .. | toggle:wikitext('[[' .. link .. '|' .. text .. ']] ') | ||
else | |||
toggle:wikitext(text .. ' ') | |||
end | |||
local cleanText = text | |||
:gsub('%[%[?[^|%]]+|', '') | |||
:gsub('%[%[[^%] | |||
:gsub('%[%[', '') | :gsub('%[%[', '') | ||
:gsub('%]%]', '') | :gsub('%]%]', '') | ||
text = | |||
'<span class="screen-reader-text">Tooltip for ' | |||
.. cleanText | |||
.. '</span>ⓘ' | |||
end | end | ||
-- | toggle:attr('data-tt-text', text) | ||
-- | -- The actual collapsible content. | ||
toggle:tag('span') | |||
:addClass(' | :addClass('mw-collapsible-content') | ||
: | :addClass('custom-tt') | ||
: | :wikitext(tooltip) | ||
: | :done() | ||
out:wikitext('‍') | |||
out: | |||
return out | return out | ||
| Line 73: | Line 73: | ||
function p.CleanTT(tx) | function p.CleanTT(tx) | ||
local clean = tx:gsub( | |||
'<span class="custom%-tt%-wrapper[^>] | '‍<span class="custom%-tt%-wrapper[^>]-data%-tt%-text="(.-)">.-‍', | ||
'' | '%1' | ||
) | ) | ||
return clean | |||
end | end | ||
return p | return p | ||