From WikiChip
Difference between revisions of "Module:title"

Line 32: Line 32:
 
 
 
if arg('subject') == 'cray' then
 
if arg('subject') == 'cray' then
local t = arg('topic')
 
if t == 'arch' then t = 'Microarchitectures' end
 
 
 
title = arg('page') .. ' - ' .. t .. ' - Cray'
+
title = arg('page')
 +
 +
if has_arg('topic') then
 +
local t = arg('topic')
 +
if t == 'arch' then t = 'Microarchitectures' end
 +
title = title .. ' - ' .. t
 +
end
 +
title = title .. ' - Cray'
 
 
 
end
 
end

Revision as of 21:07, 7 February 2020

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
				title = title .. ' - ' .. t
			end
			title = title .. ' - Cray'
			
		end
	end
    
    p.frame:preprocess('{{DISPLAYTITLE: ' .. title .. ' }}')
end


return p