Module:Hatnote: Difference between revisions
From Amaranth Legacy, available at amaranth-legacy.community
More actions
Content deleted Content added
Tesinormed (talk | contribs) No edit summary |
Tesinormed (talk | contribs) No edit summary |
||
| Line 39: | Line 39: | ||
-- left file |
-- left file |
||
if args['file1'] then |
if args['file1'] then |
||
content:tag('div') |
content:tag('div'):wikitext('[[' |
||
.. 'File:' .. args['file1'] |
|||
.. '|' .. (args['file_size'] or '80px') |
|||
.. '|class=notpageimage' |
|||
.. '|link=' |
|||
.. '|alt=' |
|||
.. ']]') |
|||
end |
end |
||
| Line 47: | Line 52: | ||
-- right file |
-- right file |
||
if args['file2'] then |
if args['file2'] then |
||
content:tag('div') |
content:tag('div'):wikitext('[[' |
||
.. 'File:' .. args['file2'] |
|||
.. '|' .. (args['file_size'] or '80px') |
|||
.. '|class=notpageimage' |
|||
.. '|link=' |
|||
.. '|alt=' |
|||
.. ']]') |
|||
end |
end |
||
Revision as of 18:22, January 13, 2025
This module is used for Template:Hatnote. See the template's page for more information.
local getArgs = require('Module:Arguments').getArgs
local yesno = require('Module:Yesno')
local p = {}
function p.main(frame)
local args = getArgs(frame)
local wrapper = mw.html.create('div')
:attr('class', 'noexcerpt')
:attr('role', 'note')
-- input validation
if not args['file1'] and args['file2'] then
error('file2 is specified while file1 is not specified')
end
-- set the color so the look stays consistent even outside of the scope
if args['color'] then
wrapper:css('--color-amaranth-legacy-scope', args['color'])
if yesno(args['color_applies_to_links'] or true) then
wrapper:css('--color-link', args['color'])
end
end
-- top <hr>
if not yesno(args['remove_hr'] or false) and not yesno(args['remove_hr_top'] or false) then
wrapper:wikitext('<hr>')
end
-- content wrapper
local content = wrapper:tag('div')
if args['file1'] and args['file2'] then
content:attr('class', 'hatnote2')
elseif args['file1'] then
content:attr('class', 'hatnote1')
else
content:attr('class', 'hatnote0')
end
-- left file
if args['file1'] then
content:tag('div'):wikitext('[['
.. 'File:' .. args['file1']
.. '|' .. (args['file_size'] or '80px')
.. '|class=notpageimage'
.. '|link='
.. '|alt='
.. ']]')
end
-- right file
if args['file2'] then
content:tag('div'):wikitext('[['
.. 'File:' .. args['file2']
.. '|' .. (args['file_size'] or '80px')
.. '|class=notpageimage'
.. '|link='
.. '|alt='
.. ']]')
end
-- bottom <hr>
if not yesno(args['remove_hr'] or false) and not yesno(args['remove_hr_bottom'] or false) then
wrapper:wikitext('<hr>')
end
return tostring(wrapper)
end
return p