模組:Recent Records in New Page
本模组可截取专题新进条目页的近若干日记录,可用于专题首页等处,以免完整新条目列表屠版。
例子
截取Portal:动漫/新进条目最近5日记录:
{{#invoke:Recent Records in New Page|main|5|page=Portal:动漫/新进条目}}
效果:
- 12月21日 - 阿嗨大冒險、邊境的老騎士
- 12月20日 - 山崎真花、想結束這場「我愛你」的遊戲
- 12月19日 - 勝與敗
- 12月18日 - SAKAMOTO DAYS 坂本日常漫畫章節列表、高橋真琴
- 12月17日 - 無新條目
已知问题
- 新進頁面不能有其他點列語法,否則本模組可能輸出不期待的結果,如此例。其他點列可考慮使用{{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