Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
You must create an account or log in to edit.

Module:Hatnote: Difference between revisions

From Amaranth Legacy, available at amaranth-legacy.community
Content deleted Content added
No edit summary
No edit summary
Line 37: Line 37:
end
end


-- 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') .. ']]')
:wikitext('[[File:' .. args['file1'] .. '|' .. (args['file_size'] or '80px') .. '|class=notpageimage|link=|alt=]]')
end
end



-- 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') .. ']]')
:wikitext('[[File:' .. args['file2'] .. '|' .. (args['file_size'] or '80px') .. '|class=notpageimage|link=|alt=]]')
end
end



Revision as of 18:21, 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