Module:NewsItem: Difference between revisions

From TwogPedia
No edit summary
No edit summary
Line 5: Line 5:
function NewsItem.main(frame)
function NewsItem.main(frame)
local args = getArgs(frame)
local args = getArgs(frame)
mw.log('ARTICLEEE')
mw.logObject(args)
local container = mw.html.create('span'):addClass('newsItem')
local container = mw.html.create('span'):addClass('newsItem')
-- local date, title, url, source, author, lang, translated, event, note
if args.date then
if args.date then
local date = mw.html.create('span'):addClass('news-date'):wikitext(args.date)
local date = mw.html.create('span'):addClass('news-date'):wikitext(mw.text.split(args.date, ' ')[1])
container:node(date)
container:node(date)
end
end
Line 24: Line 19:
if args.url then
if args.url then
if args.title then
if args.title and args.trans_title then
container:wikitext('[' .. args.url .. ' ' .. args.title .. '] (' .. args.trans_title .. ')')
elseif args.title then
container:wikitext('[' .. args.url .. ' ' .. args.title .. ']')
container:wikitext('[' .. args.url .. ' ' .. args.title .. ']')
else  
else
container:wikitext('[' .. args.url .. ']')
container:wikitext('[' .. args.url .. ']')
end
end
end
if args.author then
local link = args.authorlink == nil and args.author or args.author .. '|' .. args.authorlink
container:wikitext(' by [[' ..link .. ']]')
end
if args.source then
container:wikitext(' on [[' .. args.source .. ']]')
end
if args.event then
container:wikitext(' at [[' .. args.event .. ']]')
end
if args.trans_lang then
if args.translator then
container:wikitext(' (translated into ' .. Flags.icon(args.trans_lang) .. 'by [[' .. args.translator .. ']])')
else
container:wikitext(' (translated into ' .. Flags.icon(args.trans_lang) .. ')')
end
end
if args.note then
container:node(mw.html.create('small'):wikitext(' (Note: ' .. args.note .. ')'))
end
end

Revision as of 17:06, 6 October 2022

Documentation for this module may be created at Module:NewsItem/doc

local getArgs = require('Module:Arguments').getArgs
local Flags = require('Module:Flags')
local NewsItem = {}

function NewsItem.main(frame)
	local args = getArgs(frame)
	local container = mw.html.create('span'):addClass('newsItem')
	
	if args.date then
		local date = mw.html.create('span'):addClass('news-date'):wikitext(mw.text.split(args.date, ' ')[1])
		container:node(date)
	end
	
	if args.lang then
		container:node(Flags.icon(args.lang))
	else 
		container:node(Flags.icon('usuk'))
	end
	
	if args.url then
		if args.title and args.trans_title then
			container:wikitext('[' .. args.url .. ' ' .. args.title .. '] (' .. args.trans_title .. ')')
		elseif args.title then
			container:wikitext('[' .. args.url .. ' ' .. args.title .. ']')
		else
			container:wikitext('[' .. args.url .. ']')
		end
	end
	
	if args.author then
		local link = args.authorlink == nil and args.author or args.author .. '|' .. args.authorlink
		container:wikitext(' by [[' ..link .. ']]')
	end
	
	if args.source then
		container:wikitext(' on [[' .. args.source .. ']]')
	end
	
	if args.event then
		container:wikitext(' at [[' .. args.event .. ']]')
	end
	
	if args.trans_lang then
		if args.translator then
			container:wikitext(' (translated into ' .. Flags.icon(args.trans_lang) .. 'by [[' .. args.translator .. ']])')	
		else
			container:wikitext(' (translated into ' .. Flags.icon(args.trans_lang) .. ')')	
		end
	end
	
	if args.note then
		container:node(mw.html.create('small'):wikitext(' (Note: ' .. args.note .. ')'))
	end
	
	return container
end

return NewsItem