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.
-------------------------------------------------------------------------------- -- Labelled list -- -- -- -- This module does the core work of creating a hatnote composed of a list -- -- prefixed by a colon-terminated label, i.e. "LABEL: [andList of pages]", -- -- for {{see also}} and similar templates. -- -------------------------------------------------------------------------------- localmHatnote=require('Module:Hatnote') localmHatlist=require('Module:Hatnote list') localmArguments--initialize lazily localp={} -- Defaults global to this module localdefaults={ label='See also',--Final fallback for label argument labelForm='%s: %s', prefixes={'label','label ','l'}, template='Module:Labelled list hatnote' } -- Helper function that pre-combines display parameters into page arguments. -- Also compresses sparse arrays, as a desirable side-effect. functionp.preprocessDisplays(args,prefixes) -- Prefixes specify which parameters, in order, to check for display options -- They each have numbers auto-appended, e.g. 'label1', 'label 1', & 'l1' prefixes=prefixesordefaults.prefixes localpages={} fork,vinpairs(args)do iftype(k)=='number'then localdisplay fori=1,#prefixesdo display=args[prefixes[i]..k] ifdisplaythenbreakend end localpage=displayand string.format('%s|%s',string.gsub(v,'|.*$',''),display)orv pages[#pages+1]=page end end returnpages end -- Produces a labelled pages-list hatnote. -- The main frame (template definition) takes 1 or 2 arguments, for a singular -- and (optionally) plural label respectively: -- * {{#invoke:Labelled list hatnote|labelledList|Singular label|Plural label}} -- The resulting template takes pagename & label parameters normally. functionp.labelledList(frame) mArguments=require('Module:Arguments') locallabels={frame.args[1]ordefaults.label} labels[2]=frame.args[2]orlabels[1] localtemplate=frame:getParent():getTitle() localargs=mArguments.getArgs(frame,{parentOnly=true}) localpages=p.preprocessDisplays(args) localoptions={ extraclasses=frame.args.extraclasses, category=args.category, selfref=frame.args.selfreforargs.selfref, template=template } returnp._labelledList(pages,labels,options) end functionp._labelledList(pages,labels,options) labels=labelsor{} if#pages==0then returnmHatnote.makeWikitextError( 'nama halaman tidak dituliskan', (options.templateordefaults.template)..'#Galat', options.category ) end label=(#pages==1andlabels[1]orlabels[2])ordefaults.label localtext=string.format( options.labelFormordefaults.labelForm, label, mHatlist.andList(pages,true) ) localhnOptions={ extraclasses=options.extraclasses, selfref=options.selfref } returnmHatnote._hatnote(text,hnOptions) end returnp