From WikiChip
Module:title
Revision as of 12:05, 8 February 2020 by David (talk | contribs)

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

local p = {}
local origArgs

function has_arg(name)
	-- The argument can exist and be empty or not exist at all
	return string.len(origArgs[name] or '') > 0
end

function arg(name)
	if has_arg(name) then
		return origArgs[name]
	end
	return ''
end

function p.title(frame)
	
	p.frame = frame
    if frame == mw.getCurrentFrame() then
        origArgs = frame:getParent().args
    else
        origArgs = frame.args
    end
    
    local title = ''

    if has_arg('title') then
    	title = arg('title')	
	end
	
	if has_arg('subject') then
	
		if arg('subject') == 'cray' then
			
			title = arg('page')
			
			if has_arg('topic') then
				local t = arg('topic')
				if t == 'arch' then t = 'Microarchitectures' end
				if t == 'wire' then t = 'Interconnects' end
				title = title .. ' - ' .. t
			end
			title = title .. ' - Cray'
			
		end
	end
    
    p.frame:preprocess('{{DISPLAYTITLE: ' .. title .. ' }}')
end


return p