Jump to content

Module:ProjectTags

From Wikipedia!
local p = {}

function p.render(frame)
	local messageBox = require('Module:Message box')
	contents = "<div style='margin-left:0.5em;'>The following [[Wikipedia:WikiProject|WikiProjects]] have tagged this page and [[Wikipedia:Version 1.0 Editorial Team/Assessment|assessed]] it for quality and [[Wikipedia:Version_1.0_Editorial_Team/Release_Version_Criteria#Priority_of_topic|priority]]."
	local entries = {}
	for key, value in pairs(frame:getParent().args) do
    	if string.find(key, 'project') ~= nil then  -- key is a project name
    		id = string.gsub(key, 'project', '')
    		if entries[id] == nil then
    			entries[id] = {}
    		end
    		entries[id]['project'] = value
		elseif string.find(key, 'quality') ~= nil then -- key is a quality rating
			id = string.gsub(key, 'quality', '')
			if entries[id] == nil then
    			entries[id] = {}
    		end
			entries[id]['quality'] = value
		end
	end	
    for id, content in pairs(entries) do
    	contents = contents.."\n{| style='width:100%;' class='collapsible collapsed'\n"
    	contents = contents.."! style='text-align:left;' | [[Wikipedia:"
    	contents = contents..entries[id]['project']
    	contents = contents.."|"
    	contents = contents..entries[id]['project']
    	contents = contents.."]] — <small>"
    	contents = contents..entries[id]['quality']
    	contents = contents.."</small>\n|}"
    end
    local output = messageBox.main('tmbox', {image = "[[File:VisualEditor - Icon - Tag-big.svg|60px]]", text = contents})
    return output
end

return p