模組:Recent Records in New Page
外观
本模组可截取专题新进条目页的近若干日记录,可用于专题首页等处,以免完整新条目列表屠版。
例子
[编辑]截取Portal:动漫/新进条目最近5日记录:
{{#invoke:Recent Records in New Page|main|5|page=Portal:动漫/新进条目}}
效果:
- 10月6日 -
- 10月5日 - 小早、我啊。
- 10月4日 - 無新條目
- 10月3日 - 末政光、米麗的十萬個為什麼、魔法阿媽2:魔法小豆苗
- 10月2日 - 無新條目
已知问题
[编辑]- 新進頁面不能有其他點列語法,否則本模組可能輸出不期待的結果,如此例。其他點列可考慮使用{{Bulleted list}}等模板生成。
上述文档嵌入自Module:Recent Records in New Page/doc。 (编辑 | 历史) 编者可以在本模块的沙盒 (创建 | 镜像)和测试样例 (创建)页面进行实验。 本模块的子页面。 |
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