| Modul Lua ini digunakan di pesan sistem, dan pada sekitar 43.000 halaman. Perubahan pada templat atau modul ini dapat mengubah antarmuka pengguna Wikipedia secara serentak. Untuk mencegah suntingan mengganggu skala besar, setiap perubahan harus diuji di subhalaman /bak pasir atau /kasus uji Modul:Redirect, atau bak pasir modul Anda. Perubahan yang telah diuji kemudian dapat ditambahkan ke halaman ini dalam satu suntingan. Harap diskusikan perubahan di halaman pembicaraan sebelum mengimplementasikannya. |
| Modul ini dinilai sebagai modul beta, dan siap digunakan secara luas. Modul ini masih baru dan harus digunakan dengan hati-hati untuk memastikan bahwa hasilnya sesuai dengan yang diharapkan. |
| Modul ini dilindungi. Modul ini sangat mencolok yang digunakan oleh banyak halaman, atau sangat sering disubstitusikan. Karena vandalisme atau kesalahan akan mempengaruhi banyak halaman, dan suntingan kecil dapat memberi beban besar pada server, modul ini dilindungi dari penyuntingan. |
| Modul ini menggunakan Lua: |
Modul ini berisi fungsi untuk menemukan target halaman pengalihan.
Dokumentasi di atas ditransklusikan dari Modul:Redirect/doc. (sunting | riwayat)
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 provides functions for getting the target of a redirect page. localp={} -- Gets a mw.title object, using pcall to avoid generating script errors if we -- are over the expensive function count limit (among other possible causes). localfunctiongetTitle(...) localsuccess,titleObj=pcall(mw.title.new,...) ifsuccessthen returntitleObj else returnnil end end -- Gets the name of a page that a redirect leads to, or nil if it isn't a -- redirect. functionp.getTargetFromText(text) localtarget=string.match( text, "^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[([^%[%]|]-)%]%]" )orstring.match( text, "^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*:?%s*%[%[([^%[%]|]-)|[^%[%]]-%]%]" )orstring.match( text, "^%s*#[Aa][Ll][Ii][Hh]%s*:?%s*%[%[([^%[%]|]-)%]%]" )orstring.match( text, "^%s*#[Aa][Ll][Ii][Hh]%s*:?%s*%[%[([^%[%]|]-)|[^%[%]]-%]%]" ) returntargetandmw.uri.decode(target,'PATH') end -- Gets the target of a redirect. If the page specified is not a redirect, -- returns nil. functionp.getTarget(page,fulltext) -- Get the title object. Both page names and title objects are allowed -- as input. localtitleObj iftype(page)=='string'ortype(page)=='number'then titleObj=getTitle(page) elseiftype(page)=='table'andtype(page.getContent)=='function'then titleObj=page else error(string.format( "bad argument #1 to 'getTarget'" .." (objek string, number, atau title diharapkan, got %s)", type(page) ),2) end ifnottitleObjthen returnnil end localtargetTitle=titleObj.redirectTarget iftargetTitlethen iffulltextthen returntargetTitle.fullText else returntargetTitle.prefixedText end else returnnil end end --[[ -- Given a single page name determines what page it redirects to and returns the -- target page name, or the passed page name when not a redirect. The passed -- page name can be given as plain text or as a page link. -- -- Returns page name as plain text, or when the bracket parameter is given, as a -- page link. Returns an error message when page does not exist or the redirect -- target cannot be determined for some reason. --]] functionp.luaMain(rname,bracket,fulltext) iftype(rname)~="string"ornotrname:find("%S")then returnnil end bracket=bracketand"[[%s]]"or"%s" rname=rname:match("%[%[(.+)%]%]")orrname localtarget=p.getTarget(rname,fulltext) localret=targetorrname ret=getTitle(ret) ifretthen iffulltextthen ret=ret.fullText else ret=ret.prefixedText end returnbracket:format(ret) else returnnil end end -- Provides access to the luaMain function from wikitext. functionp.main(frame) localargs=require('Module:Arguments').getArgs(frame,{frameOnly=true}) returnp.luaMain(args[1],args.bracket,args.fulltext)or'' end -- Returns true if the specified page is a redirect, and false otherwise. functionp.luaIsRedirect(page) localtitleObj=getTitle(page) ifnottitleObjthen returnfalse end iftitleObj.isRedirectthen returntrue else returnfalse end end -- Provides access to the luaIsRedirect function from wikitext, returning 'yes' -- if the specified page is a redirect, and the blank string otherwise. functionp.isRedirect(frame) localargs=require('Module:Arguments').getArgs(frame,{frameOnly=true}) ifp.luaIsRedirect(args[1])then return'yes' else return'' end end returnp