Kamis, 12 November 2026
04:35 WIB
TERKINI
Bandar Lampung Agenda Strategis Pemprov Lampung 6 November 2026: Revitalisasi Stadion Jadi Prioritas Bandar Lampung Harga Beras di Pasar Pasir Gintung Bandar Lampung Merangkak Naik, Stok Aman Bandar Lampung Disdag Bandar Lampung Jamin Pasokan Beras Aman hingga Akhir 2026 Insight Komitmen Pembangunan Negeri, PTBA Sabet Penghargaan Kepatuhan PNBP ESDM 2026 Pemprov Lampung Gubernur Mirza Canangkan Mulang Maya Jadi Magnet Wisata Budaya Unggulan Lampung Tuba Barat Mewujudkan Haji: Pemkab Tubaba dan BSI Ajak Masyarakat Menabung Sejak Dini Lampung Timur Bupati Ela Dekatkan Diri dengan Siswa, Pastikan Kualitas Pendidikan dan Gizi di Lampung Timur Tuba Barat Kemitraan Strategis Pemkab Tubaba dan Kejari: Wujudkan Tata Kelola Pemerintahan Akuntabel Bandar Lampung Mantan Ketua DPRD Lampung Bersaksi dalam Sidang Arinal Djunaidi Bandar Lampung Senator Bustami Zainudin dan Staf DPD Lampung Ikuti Program Cek Kesehatan Gratis Bandar Lampung Agenda Strategis Pemprov Lampung 6 November 2026: Revitalisasi Stadion Jadi Prioritas Bandar Lampung Harga Beras di Pasar Pasir Gintung Bandar Lampung Merangkak Naik, Stok Aman Bandar Lampung Disdag Bandar Lampung Jamin Pasokan Beras Aman hingga Akhir 2026 Insight Komitmen Pembangunan Negeri, PTBA Sabet Penghargaan Kepatuhan PNBP ESDM 2026 Pemprov Lampung Gubernur Mirza Canangkan Mulang Maya Jadi Magnet Wisata Budaya Unggulan Lampung Tuba Barat Mewujudkan Haji: Pemkab Tubaba dan BSI Ajak Masyarakat Menabung Sejak Dini Lampung Timur Bupati Ela Dekatkan Diri dengan Siswa, Pastikan Kualitas Pendidikan dan Gizi di Lampung Timur Tuba Barat Kemitraan Strategis Pemkab Tubaba dan Kejari: Wujudkan Tata Kelola Pemerintahan Akuntabel Bandar Lampung Mantan Ketua DPRD Lampung Bersaksi dalam Sidang Arinal Djunaidi Bandar Lampung Senator Bustami Zainudin dan Staf DPD Lampung Ikuti Program Cek Kesehatan Gratis

Modul:Format link

Wikimedia module

Bagikan:
Dokumentasi modullihatsuntingriwayatsegarkan
WarningModul Lua ini digunakan pada sekitar 112.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