Documentatie voor deze module kan aangemaakt worden op de volgende pagina: Module:Slot/doc

local p = {}

--[[
{{#invoke:Slot|getParamValue
|slot= // defaults to main
|page= // defaults to FULLPAGENAME
|template=
|param=Category
}}
]]--
p.getParamValue = function ( frame )
	local slot = frame.args.slot or "main"
	local page = frame.args.page or ""
	-- else present page
	if page == "" then page = mw.title.getCurrentTitle().fullText end
	local template = frame.args.template or nil
	if template == nil then return "" end
	local param = frame.args.param or ""
	return p.getValueFromTemplateData( slot, page, template, param )
end

--[[ helper ]]--
p.getValueFromTemplateData = function( slot, page, template, param ) 
	local slotData = {}
	slotData = mw.slots.slotData(slot,page)
    if slotData == {} then 
    	mw.log( "No slot data found" )
    	return ""
    end

	local res = ""
	if template ~= nil then
		local tree = slotData[template]
		if type(tree) == "table" then
			--for k,v in pairs( tree ) do
				--mw.log( "tree key: " .. k )
			--end
			if tree[1] ~= nil and tree[1][param] ~= nil then
				res = tree[1][param]["_text"]
			end
		end
	else
		-- do JSON, too?
	end

	return res
end

return p