Module:RC by category

local p = {}

function p.show(frame)
	local namespace = ""
        local category = ""
	if frame ~= nil then
    	  if frame.args[1] ~= nil and frame.args[1] ~= "" then
    	    category = mw.text.trim(frame.args[1])
          else
    	    category = mw.title.getCurrentTitle().text
          end
        else
    	  category = mw.title.getCurrentTitle().text
        end
        
	local recent = mw.getCurrentFrame():callParserFunction{
		name = "#tag",
		args = {
			"DynamicPageList",
			"category=" .. category .. "\n" ..
			"namespace=" .. namespace .. "\n" ..
			"count=10\n" ..
			"mode=ordered\n" ..
			"ordermethod=categoryadd\n" ..
			"order=descending"
		}
	}
	
	local oldest = mw.getCurrentFrame():callParserFunction{
		name = "#tag",
		args = {
			"DynamicPageList",
			"category=" .. category .. "\n" ..
			"namespace=" .. namespace .. "\n" ..
			"count=10\n" ..
			"mode=ordered\n" ..
			"ordermethod=lastedit\n" ..
			"order=descending"
		}
	}
	
	return [=[
{| class="wikitable" style="float: right; clear: both; margin: 0 0 .5em 1em;"
! More recent additions !! More recent modifications
|-
| style="font-size:0.9em;" | ]=] .. recent .. [=[  
| style="font-size:0.9em;" | ]=] .. oldest .. [=[

|}]=]
end

return p