Module:Sandbox list
来自存档计划,Project Archive by Lakejason0
local p = {}
-- TODO: 修复因DPL返回的%DATE%随用户时区改变而导致时间显示错误的问题
function p.main()
local f = mw.getCurrentFrame()
local dpl = f:preprocess [==[{{#dpl:
|titleregexp=沙盒¦Sandbox/
|namespace={{NAMESPACE}}
|noresultsheader=没有子页面
|format=,¶* --%PAGE%--DATE--,,
|ordermethod=lastedit
}}]==]
local subst = function(...)
-- Unix timestamp
local page, _ = ...
local time = f:preprocess('{{#time: U | {{REVISIONTIMESTAMP:' .. page .. '}}}}')
if not time:find('error') then
time = os.difftime(os.time(), tonumber(time))
return '[[' .. page .. ']]<br>最后编辑于' .. mw.getContentLanguage():formatDuration(time, { 'years', 'weeks', 'days', 'hours', 'minutes' }) .. '前'
else
return '[[' .. page .. ']]'
end
end
local result = dpl:gsub('%-%-(.-)%-%-DATE%-%-', subst)
return result
end
return p