Module:Random image:修订间差异
(创建页面,内容为“local p = {} function SpecialPageName(pagename) -- 请在这里添加页面名转换 -- 当页面名和title_localized:en的值不同时,请在这里转换 i…”) |
(随机选曲时排除已删除曲目) |
||
(未显示2个用户的6个中间版本) | |||
第1行: | 第1行: | ||
local p = {} | local p = {} | ||
local pagename_escape={ | |||
["#"]="#", | |||
["<"]="<", | |||
[">"]=">", | |||
["["]="[", | |||
["]"]="]", | |||
["|"]="|", | |||
["{"]="{", | |||
["}"]="}", | |||
} | |||
function SpecialPageName(pagename) | function SpecialPageName(pagename) | ||
第5行: | 第16行: | ||
-- 当页面名和title_localized:en的值不同时,请在这里转换 | -- 当页面名和title_localized:en的值不同时,请在这里转换 | ||
pagename=string.gsub(pagename,"[#<>%[%]|{}]",pagename_escape) | |||
return pagename | return pagename | ||
第11行: | 第22行: | ||
end | end | ||
local random=require("Module:Random") | |||
function p.image(frame) | |||
local | |||
local songlist=require("Module:Songlist") | |||
local songs={} | |||
for _, v in ipairs( songlist['songs'] ) do | |||
if not v['deleted'] then | |||
table.insert(songs,v) | |||
end | |||
end | |||
local result="[[file:Songs_"..id..".jpg| | local limit=tonumber(frame.args.count) | ||
if not limit then | |||
limit=5 | |||
end | |||
local seq=frame.args.seq | |||
if not seq then | |||
seq="\n" | |||
end | |||
local selected=random.main("array",{t=songs,limit=limit}) | |||
local result="" | |||
for i, v in ipairs( selected ) do | |||
if i>1 then | |||
result=result..seq | |||
end | |||
local id=v['id'] | |||
local title=SpecialPageName(v['title_localized']['en']) | |||
result=result.."[[file:Songs_"..id..".jpg|100px|link="..title.."]]" | |||
end | |||
return result | return result |
2024年12月6日 (五) 14:13的最新版本
可在Module:Random image/doc创建此模块的帮助文档
local p = {}
local pagename_escape={
["#"]="#",
["<"]="<",
[">"]=">",
["["]="[",
["]"]="]",
["|"]="|",
["{"]="{",
["}"]="}",
}
function SpecialPageName(pagename)
-- 请在这里添加页面名转换
-- 当页面名和title_localized:en的值不同时,请在这里转换
pagename=string.gsub(pagename,"[#<>%[%]|{}]",pagename_escape)
return pagename
end
local random=require("Module:Random")
function p.image(frame)
local songlist=require("Module:Songlist")
local songs={}
for _, v in ipairs( songlist['songs'] ) do
if not v['deleted'] then
table.insert(songs,v)
end
end
local limit=tonumber(frame.args.count)
if not limit then
limit=5
end
local seq=frame.args.seq
if not seq then
seq="\n"
end
local selected=random.main("array",{t=songs,limit=limit})
local result=""
for i, v in ipairs( selected ) do
if i>1 then
result=result..seq
end
local id=v['id']
local title=SpecialPageName(v['title_localized']['en'])
result=result.."[[file:Songs_"..id..".jpg|100px|link="..title.."]]"
end
return result
end
return p