模組:Recent Records in New Page
外观
本模组可截取专题新进条目页的近若干日记录,可用于专题首页等处,以免完整新条目列表屠版。
例子
[编辑]截取Portal:动漫/新进条目最近5日记录:
{{#invoke:Recent Records in New Page|main|5|page=Portal:动漫/新进条目}}
效果:
- 1月12日 - 夕薙
- 1月11日 - 颱風Graphics、美人鱼的夏天
- 1月10日 - 情色漫畫老師 (動畫)
- 1月9日 - SAKAMOTO DAYS 坂本日常 (動畫)
- 1月8日 - RTA玩家無法離開遊戲世界、藥師少女的獨語 (動畫)
已知问题
[编辑]- 新進頁面不能有其他點列語法,否則本模組可能輸出不期待的結果,如此例。其他點列可考慮使用{{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