Jumat, 25 September 2026
20:35 WIB
TERKINI
Regional Bupati Gowa Sitti Husniah Talenrang Tersangka Pemerasan Perizinan Bangunan dan TPPU Bandar Lampung Puluhan Siswa di Lampung Tengah Diduga Keracunan Makanan Program MBG Account KG Media ID: Satu Akun untuk Kemudahan Akses Seluruh Layanan Digital Ekonomi Dan Bisnis Harga Buyback Emas Antam Anjlok Rp20 Ribu per Gram pada 25 September 2026 Lampung DPRD Lampung Tengah Soroti Perubahan Substansi Perda SOTK Tanpa Pemberitahuan Teknologi Meta Rilis Muse Charm: Gadget Saku Cerdas dengan Asisten AI Revolusioner Berita KAI Siap Gerakkan Rail Clinic ke Pelosok, Perluas Akses Kesehatan Masyarakat Bandar Lampung Inovasi Pendidikan Lampung: Guru Ahli Mengajar Lintas Sekolah Tingkatkan Mutu Nasional Bandar Lampung Tragedi Kelengkeng di Lampung Tengah: Siswa 9 Tahun Meninggal, Program MBG Dievaluasi Account KG Media ID: Satu Akun untuk Seluruh Ekosistem Digital Kompas Gramedia Regional Bupati Gowa Sitti Husniah Talenrang Tersangka Pemerasan Perizinan Bangunan dan TPPU Bandar Lampung Puluhan Siswa di Lampung Tengah Diduga Keracunan Makanan Program MBG Account KG Media ID: Satu Akun untuk Kemudahan Akses Seluruh Layanan Digital Ekonomi Dan Bisnis Harga Buyback Emas Antam Anjlok Rp20 Ribu per Gram pada 25 September 2026 Lampung DPRD Lampung Tengah Soroti Perubahan Substansi Perda SOTK Tanpa Pemberitahuan Teknologi Meta Rilis Muse Charm: Gadget Saku Cerdas dengan Asisten AI Revolusioner Berita KAI Siap Gerakkan Rail Clinic ke Pelosok, Perluas Akses Kesehatan Masyarakat Bandar Lampung Inovasi Pendidikan Lampung: Guru Ahli Mengajar Lintas Sekolah Tingkatkan Mutu Nasional Bandar Lampung Tragedi Kelengkeng di Lampung Tengah: Siswa 9 Tahun Meninggal, Program MBG Dievaluasi Account KG Media ID: Satu Akun untuk Seluruh Ekosistem Digital Kompas Gramedia

Modul:Format link

Wikimedia module

Dokumentasi modullihatsuntingriwayatsegarkan
WarningModul Lua ini digunakan pada sekitar 110.000 halaman.
Untuk mencegah suntingan mengganggu skala besar dan beban peladen, setiap perubahan harus diuji di subhalaman /bak pasir atau /kasus uji Modul:Format link, atau bak pasir modul Anda. Perubahan yang telah diuji kemudian dapat ditambahkan ke halaman ini dalam satu suntingan. Pertimbangkan untuk mendiskusikan perubahan di halaman pembicaraan sebelum mengimplementasikannya.
Siap digunakanModul ini dinilai siap digunakan secara umum. Modul ini sudah matang dan diperkirakan bebas dari bug dan siap digunakan pada tempat yang tepat di manapun. Modul ini siap disinggung di halaman-halaman bantuan dan sumber informasi Wikipedia lainnya sebagai pilihan untuk dipelajari para pengguna baru. Untuk mengurangi beban server dan output yang tidak diharapkan, modul ini harus diperlengkapi dengan halaman bak pasir dan kasus uji daripada harus melakukan suntingan coba-dan-salah berulang-ulang.
Modul ini menggunakan Lua:
Dokumentasi di atas ditransklusikan dari Modul:Format link/doc. (sunting | riwayat)
Penyunting dapat melakukan uji coba pada halaman bak pasir (buat | cermin) dan kasus uji (buat) modul ini.
Subhalaman modul ini.
--------------------------------------------------------------------------------
-- Format link
--
-- Makes a wikilink from the given link and display values. Links are escaped
-- with colons if necessary, and links to sections are detected and displayed
-- with " § " as a separator rather than the standard MediaWiki "#". Used in
-- the {{format link}} template.
--------------------------------------------------------------------------------
locallibraryUtil=require('libraryUtil')
localcheckType=libraryUtil.checkType
localcheckTypeForNamedArg=libraryUtil.checkTypeForNamedArg
localmArguments-- lazily initialise [[Module:Arguments]]
localmError-- lazily initialise [[Module:Error]]
localyesno-- lazily initialise [[Module:Yesno]]
localp={}
--------------------------------------------------------------------------------
-- Helper functions
--------------------------------------------------------------------------------
localfunctiongetArgs(frame)
-- Fetches the arguments from the parent frame. Whitespace is trimmed and
-- blanks are removed.
mArguments=require('Modul:Arguments')
returnmArguments.getArgs(frame,{parentOnly=true})
end
localfunctionremoveInitialColon(s)
-- Removes the initial colon from a string, if present.
returns:match('^:?(.*)')
end
localfunctionmaybeItalicize(s,shouldItalicize)
-- Italicize s if s is a string and the shouldItalicize parameter is true.
ifsandshouldItalicizethen
return'<i>'..s..'</i>'
else
returns
end
end
localfunctionparseLink(link)
-- Parse a link and return a table with the link's components.
-- These components are:
-- - link: the link, stripped of any initial colon (always present)
-- - page: the page name (always present)
-- - section: the page name (may be nil)
-- - display: the display text, if manually entered after a pipe (may be nil)
link=removeInitialColon(link)
-- Find whether a faux display value has been added with the {{!}} magic
-- word.
localprePipe,display=link:match('^(.-)|(.*)$')
link=prePipeorlink
-- Find the page, if it exists.
-- For links like [[#Bar]], the page will be nil.
localpreHash,postHash=link:match('^(.-)#(.*)$')
localpage
ifnotpreHashthen
-- We have a link like [[Foo]].
page=link
elseifpreHash~=''then
-- We have a link like [[Foo#Bar]].
page=preHash
end
-- Find the section, if it exists.
localsection
ifpostHashandpostHash~=''then
section=postHash
end
return{
link=link,
page=page,
section=section,
display=display,
}
end
localfunctionformatDisplay(parsed,options)
-- Formats a display string based on a parsed link table (matching the
-- output of parseLink) and an options table (matching the input options for
-- _formatLink).
localpage=maybeItalicize(parsed.page,options.italicizePage)
localsection=maybeItalicize(parsed.section,options.italicizeSection)
if(notsection)then
returnpage
elseif(notpage)then
returnmw.ustring.format('§&nbsp;%s',section)
else
returnmw.ustring.format('%s §&nbsp;%s',page,section)
end
end
localfunctionmissingArgError(target)
mError=require('Module:Error')
returnmError.error{message=
'Galat: tidak ada tautan atau target yang ditentukan! ([['..target..'#Galat|bantuan]])'
}
end
--------------------------------------------------------------------------------
-- Main functions
--------------------------------------------------------------------------------
functionp.formatLink(frame)
-- The formatLink export function, for use in templates.
yesno=require('Modul:Yesno')
localargs=getArgs(frame)
locallink=args[1]orargs.link
localtarget=args[3]orargs.target
ifnot(linkortarget)then
returnmissingArgError('Templat:Format link')
end
returnp._formatLink{
link=link,
display=args[2]orargs.display,
target=target,
italicizePage=yesno(args.italicizepage),
italicizeSection=yesno(args.italicizesection),
categorizeMissing=args.categorizemissing
}
end
functionp._formatLink(options)
-- The formatLink export function, for use in modules.
checkType('_formatLink',1,options,'table')
localfunctioncheck(key,expectedType)--for brevity
checkTypeForNamedArg(
'_formatLink',key,options[key],expectedTypeor'string',true
)
end
check('link')
check('display')
check('target')
check('italicizePage','boolean')
check('italicizeSection','boolean')
check('categorizeMissing')
-- Normalize link and target and check that at least one is present
ifoptions.link==''thenoptions.link=nilend
ifoptions.target==''thenoptions.target=nilend
ifnot(options.linkoroptions.target)then
returnmissingArgError('Modul:Format link')
end
localparsed=parseLink(options.link)
localdisplay=options.displayorparsed.display
localcatMissing=options.categorizeMissing
localcategory=''
-- Find the display text
ifnotdisplaythendisplay=formatDisplay(parsed,options)end
-- Handle the target option if present
ifoptions.targetthen
localparsedTarget=parseLink(options.target)
parsed.link=parsedTarget.link
parsed.page=parsedTarget.page
end
-- Test if page exists if a diagnostic category is specified
ifcatMissingand(mw.ustring.len(catMissing)>0)then
localtitle=nil
ifparsed.pagethentitle=mw.title.new(parsed.page)end
iftitleand(nottitle.isExternal)then
localsuccess,exists=pcall(function()returntitle.existsend)
ifsuccessandnotexiststhen
category=mw.ustring.format('[[Kategori:%s]]',catMissing)
end
end
end
-- Prepend colon if appropriate
localcolon=parsed.pageand":"or""
-- Format the result as a link
ifparsed.link==displaythen
returnmw.ustring.format('[[%s%s]]%s',colon,parsed.link,category)
else
returnmw.ustring.format('[[%s%s|%s]]%s',colon,parsed.link,display,category)
end
end
--------------------------------------------------------------------------------
-- Derived convenience functions
--------------------------------------------------------------------------------
functionp.formatPages(options,pages)
-- Formats an array of pages using formatLink and the given options table,
-- and returns it as an array. Nil values are not allowed.
localret={}
fori,pageinipairs(pages)do
ret[i]=p._formatLink{
link=page,
categorizeMissing=options.categorizeMissing,
italicizePage=options.italicizePage,
italicizeSection=options.italicizeSection
}
end
returnret
end
returnp
Konten disalin dari Wikipedia Bahasa Indonesia (lisensi CC BY-SA) Lihat versi asli di Wikipedia

Rekomendasi Pilihan