模块:Recent Records in New Page
本模块可截取专题新进条目页的近若干日记录,可用于专题首页等处,以免完整新条目列表屠版。
例子
编辑截取Portal:动漫/新进条目最近5日记录:
{{#invoke:Recent Records in New Page|main|5|page=Portal:动漫/新进条目}}
效果:
- 12月3日 - 讲谈社真心推荐!漫画展、小仓舞子、厚地彩花
- 12月2日 - 无新条目
- 12月1日 - 在现代社会变成女性向游戏的反派千金有点伤脑筋啊、空惠美、D23 (迪士尼)
- 分类:Comic Gardo
- 11月30日 - 机械臂 (动画)
- 11月29日 - 奇招百出的维多利亚
已知问题
编辑- 新进页面不能有其他点列语法,否则本模块可能输出不期待的结果,如此例。其他点列可考虑使用{{Bulleted list}}等模板生成。
require('strict')
local getArgs = require"Module:Arguments".getArgs
local p = {}
--------------------------------
function p.main(frame)
local args = getArgs(frame)
return p._main(frame, args)
end
function p._main(frame, args)
local t = function(title, ...) return frame:expandTemplate{ title = title, args = {...} } end
local pageContent = mw.title.new(args.page):getContent()
local str, strPosBegin, strPosEnd = '', 0, 0
strPosBegin = pageContent:find('\n%*[^:]')
strPosEnd = strPosEnd
for i = 1, args[1] + 1 do
strPosEnd = pageContent:find('\n%*[^:]', strPosEnd + 1)
end
str = pageContent:sub(strPosBegin, strPosEnd)
str = str:gsub('\n==.+==', ''):gsub('\n</?onlyinclude>', ''):gsub('\n+', '\n') -- dirty fixes
return mw.getCurrentFrame():preprocess(str)
end
return p