Anda dapat membuat halaman dokumentasi untuk buat pada modul Scribunto ini.
Penyunting dapat melakukan uji coba pada halaman bak pasir (buat | cermin) dan kasus uji (buat) modul ini.
Subhalaman modul ini.
Penyunting dapat melakukan uji coba pada halaman bak pasir (buat | cermin) dan kasus uji (buat) modul ini.
Subhalaman modul ini.
-- This module implements {{vandal-m}}. localp={} localsu=require('Module:Su')._main localfunctionmakeWikilink(link,display) ifdisplaythen returnstring.format('[[%s|%s]]',link,display) else returnstring.format('[[%s]]',link) end end localfunctionmakeUrlLink(data,display) localurl=mw.uri.new(data) url=tostring(url) returnstring.format('[%s %s]',url,display) end localfunctionmakeFullUrlLink(page,query,display) localurl=mw.uri.fullUrl(page,query) url=tostring(url) returnstring.format('[%s %s]',url,display) end localfunctiongetTitle(page) localsuccess,title=pcall(mw.title.new,page) ifsuccessthen returntitle else returnnil end end localfunctiongetLinkIfExists(pagePrefix,username,display) localtitle=getTitle(pagePrefix..username) iftitleandtitle.existsthen returnmakeWikilink(title.prefixedText,display) end end functionp.main(frame) localargs=require('Module:Arguments').getArgs(frame,{parentOnly=true}) returnp._main(args) end functionp._main(args) localusername,usernameEncoded do locallang=mw.language.getContentLanguage() username=args.Userorargs[1]or'Example' username=lang:ucfirst(username) usernameEncoded=mw.uri.encode(username) end locallinks={} -- Talk links[#links+1]=makeWikilink('User talk:'..username,'talk') -- Contribs links[#links+1]=makeWikilink( 'Special:Contributions/'..username, '<span title="Contributions: '..username..'">contribs</span>' ) -- Block log and autoblocks do localblockLogLink=makeFullUrlLink( 'Special:Log/block', {page='User:'..username}, '<span title="Blocklog: ' ..username ..'" style="color:#002bb8">block log</span>' ) localautoblocksLink=makeUrlLink( { host='tools.wmflabs.org', path='/xtools/autoblock/', query={user=username} }, '<sup title="Autoblock: ' ..username ..'" style="color:#002bb8">auto</sup>' ) links[#links+1]=blockLogLink..autoblocksLink end -- Ban listing ifargs.banthen links[#links+1]=makeWikilink( mw.site.namespaces[4].name..'List of banned users#'..username, 'ban' ) end -- Arbitration requests links[#links+1]=getLinkIfExists( 'Wikipedia:Requests for arbitration/', username, 'rfarb' ) -- Requests for comment links[#links+1]=getLinkIfExists( 'Wikipedia:Requests for comment/', username, 'rfcuser' ) -- Long-term abuse links[#links+1]=getLinkIfExists( 'Wikipedia:Long term abuse/', username, 'lta' ) -- Requests for checkuser links[#links+1]=getLinkIfExists( 'Wikipedia:Requests for checkuser/Case/', username, 'rfcu' ) -- Sockpuppet investigations links[#links+1]=getLinkIfExists( 'Wikipedia:Sockpuppet investigations/', username, 'spi' ) -- Suspected sockpuppets links[#links+1]=getLinkIfExists( 'Wikipedia:Suspected sock puppets/', username, 'ssp' ) -- Sockpuppet categories -- There isn't a seperator between these and the suspected sockpuppets link, -- so we will add them later instead of adding them to the links table. localsockCategoryLinks do localconfirmed=getTitle( 'Category:Wikipedia sockpuppets of '..username ) localsuspected=getTitle( 'Category:Suspected Wikipedia sockpuppets of '..username ) ifconfirmedandconfirmed.existsorsuspectedandsuspected.existsthen localsup,sub ifconfirmedandconfirmed.existsthen sup=' '..makeWikilink( ':'..confirmed.prefixedText, 'confirmed socks' ) end ifsuspectedandsuspected.existsthen sub=' '..makeWikilink( ':'..suspected.prefixedText, 'suspected socks' ) end sockCategoryLinks=su(sup,sub) end end -- Add the user link and the outer span tags. returnstring.format( '<span id="%s" class="plainlinks">%s (%s%s)</span>', username, makeWikilink('User:'..username,username), table.concat(links,' • '), sockCategoryLinksor'' ) end returnp