![]() |
VOOZH | about |
This module implements {{development versions}}.
localp={} p.list=function(f) localargs=f:getParent().args localtitle=mw.title.getCurrentTitle().rootText localversion=args[1]ortitle ifnotversion:find('Edition')andnotversion:find('Launcher')andnotversion:find('Minecraft')then version='Java Edition '..version end f:callParserFunction('#dplvar:set','parentVersion',version) localcategories=args.categoriesor'previews, test builds, builds, alphas, betas, experimental snapshots, snapshots, pre-releases, release candidates' localdevVersions={} forcategoryinmw.text.gsplit(categories,'%s*,%s*')do table.insert(devVersions, f:callParserFunction('#dpl:',{ category=version..' '..category, format=',|%PAGE%', ordermethod='sortkey', debug='1' }) ) end devVersions=mw.text.trim(table.concat(devVersions),'%s|') localedition=version:match('^.- Edition') localpageSet={} localcontent={} localbrokenPages={} forpageinmw.text.gsplit(devVersions,'|')do ifnotpageSet[page]then pageSet[page]=true localdevVersion=page ifeditionthen devVersion=page:gsub('^'..edition,'') elseifversion:find('Launcher')then devVersion=page:gsub('Launcher','') devVersion=devVersion:gsub("x","''x''") devVersion=devVersion:gsub("''x''''x''","''xx''") elseifversion:find('Minecraft Education')then devVersion=page:gsub('Minecraft Education','') end localwikitext=mw.title.new(page) ifnotwikitextthen return end wikitext=wikitext:getContent() ifwikitext:match('<onlyinclude>')andwikitext:match('</onlyinclude>')then table.insert(content,'<onlyinclude>=[['..page..'|'..devVersion..']]=</onlyinclude>'..wikitext) else table.insert(brokenPages,'"[['..page..']]"') end end end if#brokenPages>0then error(mw.text.listToText(brokenPages)..' missing <onlyinclude>',0) return end content=table.concat(content) :gsub('^.-<onlyinclude>%s*','\n') :gsub('%s*</onlyinclude>.-<onlyinclude>%s*','\n') :gsub('%s*</onlyinclude>.*$','\n') :gsub('\n(=+ *[^\n]+ *=+)','\n=%1=') returnf:preprocess(mw.text.trim(content)) end returnp