Jumat, 13 November 2026
17:30 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:Banner shell

Bagikan:
Dokumentasi modulbuatsegarkan
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.
require('strict')
localp={}
localsandbox-- = '/sandbox' -- BE SURE TO COMMENT OUT this definition when deploying to live
localyesno=require('Module:Yesno')
localshell=function(frame,header,content,collapsed,class)
localstyles=frame:extensionTag('templatestyles','',{src='Module:Message box/tmbox.css'})
..frame:extensionTag('templatestyles','',{src='Module:Banner shell'..(sandboxor'')..'/styles.css'})
localcontent_row
ifcontentthen
content_row=mw.html.create('tr')
:tag('td')
:attr('colspan','2')
:addClass('banner-shell-inner')
:addClass('outercollapse')
:wikitext(content)
:done()
end
localholder=mw.html.create('table')
:attr('role','presentation')
:addClass('tmbox')
:addClass('tmbox-notice')
:addClass('banner-shell')
:addClass(class)-- allow additional class to be specified
:addClass(contentand'mw-collapsible'ornil)
:addClass(collapsedand'mw-collapsed'ornil)
:node(header)
:node(content_row)
returnstyles..tostring(holder)
end
p.banner_holder=function(frame)
localargs=require('Module:Arguments').getArgs(frame,{wrappers={'Templat:Banner holder'}})
localimage='[[File:'..(args.imageor'NewFavicon icon.svg')
..'|'..(args.sizeor'24')..'px'
..'|link='..(args.image_linkor'')
..'|alt='..(args.altor'')..']]'
localimage_cell=mw.html.create('td')
:addClass('mbox-image')
:wikitext(image)
localtext_cell=mw.html.create('td')
:addClass('mbox-text')
:addClass('banner-shell-header')
:tag('span')
:addClass('nowrap')
:css('float','left')
:wikitext(string.rep(' ',10))
:done()
:wikitext(args.textor'Spanduk halaman pembicaraan lainnya')
localheader=mw.html.create('tr')
:node(image_cell)
:node(text_cell)
returnshell(frame,header,args[1],yesno(args.collapsed))
end
localDuplicateBanners=function(text)
localcapture='<span class="wpb%-project">([^<>]*)</span>'
localbanners={}
forprojectintext:gmatch(capture)do
ifbanners[project]==truethen
returnproject
end
banners[project]=true
end
end
p.banner_shell=function(frame)
localcfg=mw.loadData('Module:Banner shell/config'..(sandboxor''))
localargs=require('Module:Arguments').getArgs(frame,{wrappers={cfg.template}})
localtitle=args.demo_pageandmw.title.new(args.demo_page)ormw.title.getCurrentTitle()
localpagetype=require('Module:Pagetype')._main{
page=title.prefixedText,
dab=cfg.page_types.dab,
sia='set index article',
soft_redirect=cfg.page_types.soft_redirect,
nonexistent=cfg.page_types.nonexistent,
timedtext=cfg.page_types.timedtext,
defaultns='extended'
}
locallang=mw.language.getContentLanguage()
localclassmask=require('Module:WikiProject banner'..(sandboxor'')).class_mask
localclass=classmask(args.classor'',title.talkPageTitle,false,pagetype)
localdemo=notyesno(args.categoryortrue,true)orargs.demo_page
localout={}
localaddCategory=function(category,sort_key)
ifnotdemoandtitle.isTalkPagethen
localcategory_title=mw.title.new('Category:'..category)
table.insert(out,'[['..category_title.prefixedText..(sort_keyand('|'..sort_key)or'')..']]')
end
end
ifdemoandnotargs.demo_pagethen
pagetype='article'
end
localblp=args.blpandargs.blp:lower()
ifyesno(blp)orblp=='activepol'then
table.insert(out,frame:expandTemplate{
title=cfg.blp_template.blp,
args={activepol=blp=='activepol'and'yes'}
})
elseifblp=='lainnya'then
table.insert(out,frame:expandTemplate{
title=cfg.blp_template.blpo}
)
end
localvital
ifyesno(args.vital)then
localpage=mw.ustring.upper(mw.ustring.sub(title.subjectPageTitle.text,1,1))-- get first letter of article name
localcodepoint=mw.ustring.codepoint(page,1,1)
ifcodepoint<65orcodepoint>90then--first letter is not between A-Z
page='lainnya'
end
localdata_page=mw.title.new('Wikipedia:Artikel penting/data/'..page..'.json')
ifdata_page.existsthen
localindex=title.subjectPageTitle.text
index=tostring(tonumber(index))==indexandtonumber(index)orindex--convert to number if page is numerical, otherwise loadJsonData does not work
localdata=mw.loadJsonData(data_page.fullText)[index]
ifdatathen
locallevel=data.levelandtostring(data.level)
iflevelanddata.topicthen
locallink='Wikipedia:Artikel penting/Level/'..level
if(level=='4'orlevel=='5')then
link=link..'/'..data.topic
end
ifdata.sublistthen
link=link..'/'..data.sublist
end
ifdata.sectionthen
link=link..'#'..data.section
end
ifnotmw.title.new(link).existsthen-- add tracking category if link does not exist
addCategory(cfg.vital.attention,'L')
end
vital=cfg.vital.with_level:format(link,level)
else
vital=cfg.vital.without_level
end
for_,catinipairs(cfg.vital.categories)do
ifcat:find('_KELAS')and(class=='NA'orclass=='')then
addCategory(cfg.vital.attention,class=='NA'and'N'or'U')
elseiflevel==nilthen
addCategory(cfg.vital.attention,'V')
elseifdata.topic==nilthen
addCategory(cfg.vital.attention,'T')
else
localcategory=cat
:gsub('_Kelas',class..'-Kelas')
:gsub('_LEVEL',level)
:gsub('_TOPIC',data.topic)
addCategory(category)
end
end
addCategory(cfg.vital.all)
else
addCategory(cfg.vital.not_listed)
end
end
end
localtext,icon_image,icon_str
ifclass=='NA'then
icon_image=cfg.icons.type[pagetype]orcfg.icons.default
icon_str=pagetype=='page'and'Non-article page'orlang:ucfirst(pagetype)
text={cfg.rating.not_required:format(vitalorpagetype)}
elseifclass==''then
icon_image=cfg.icons.unassessed
icon_str='Unassessed article'
text={cfg.rating.not_yet:format(vitalorpagetype)}
addCategory('All unassessed articles')
else
icon_image=cfg.icons.quality[class]orcfg.icons.unassessed
icon_str=class..'-Class '..pagetype
text={cfg.rating.rated:format(vitalorpagetype,class)}
frame:preprocess('{{#assessment:Project-independent assessment'..'|'..class..'}}')
end
localicon=string.format('[[File:%s|%s|35px|class=noviewer|alt=]]',icon_image,icon_str)
table.insert(text,' '..cfg.rating.scale)
ifargs[1]then
table.insert(text,'<br>'..cfg.project.interest..' ')
table.insert(text,yesno(args.collapsed)andcfg.project.collapsedorcfg.project.uncollapsed)
localduplicate_cat=DuplicateBanners(args[1])
ifduplicate_catandtitle.isTalkPagethen
addCategory(cfg.tracking.duplicate,duplicate_cat)
end
elseifnotyesno(args.vital)andclass~=''then-- if no projects and not vital and assessed then add class super category
addCategory(class..'-Class '..(class=='NA'and'pages'or'articles'))
end
localheader=mw.html.create('tr')
:tag('td')
:addClass('assess')
:wikitext(icon)
:done()
:tag('td')
:addClass('banner-shell-header')
:css('text-align','left')
:css('font-weight','normal')
:wikitext(table.concat(text))
:done()
table.insert(
out,
shell(frame,header,args[1],yesno(args.collapsed),'wpbs')
)
ifargs.listasthen
table.insert(out,frame:preprocess('{{DEFAULTSORT:'..args.listas..'}}'))
end
ifnotdemothen
localtracking=require('Module:Check for unknown parameters')._check({
unknown=cfg.tracking.unknown,
preview=cfg.tracking.preview,
'1','blp','kategori','kelas','collapsed','demo_page','listas','vital'
},frame:getParent().args)
table.insert(out,tracking)
ifargs.categoryandyesno(args.category)~=falsethen-- category should not be "yes"
addCategory(cfg.tracking.invalid,'category')
end
ifargs.collapsedandyesno(args.collapsed)~=truethen-- collapsed should not be "no"
addCategory(cfg.tracking.invalid,'collapsed')
end
ifyesno(blp)==nilandblp~=nilandblp~='lainnya'andblp~='activepol'then
addCategory(cfg.tracking.invalid,'blp')
end
ifpagetype=='article'andargs.classandclass==''then-- find pages with invalid class parameter
addCategory(cfg.tracking.invalid,'Zclass')
end
end
returntable.concat(out)
end
returnp
Konten disalin dari Wikipedia Bahasa Indonesia (lisensi CC BY-SA) Lihat versi asli di Wikipedia

Rekomendasi Pilihan