Minggu, 11 Oktober 2026
06:51 WIB
TERKINI
Lampung Anak Krakatau Naik Status Siaga Level III: Potensi Bahaya, Jauhi Radius 5 KM Lampung Gunung Anak Krakatau Kembali Erupsi, Status Siaga Ditetapkan, Radius Bahaya 5 Km Teknologi Sega Siapkan DLC Penutup dan Final Kejuaraan Dunia Sonic Racing: CrossWorlds Otomotif Bengkel Mini di Rumah: 6 Alat Penting untuk Perbaikan Ringan Kendaraan Teknologi School Party Craft: Rasakan Sensasi Unik Simulasi Kehidupan di Dunia Terbuka Hukum Polemik Dokumen Pencalonan Gibran: KPU Didesak Transparan Pasca Putusan MK Hiburan Syahrini Kembali Guncang Panggung Musik: Rilis Lagu Baru dan Gebrak Pestapora 2026 Regional LPS Periksa Aset Debitur BPR Tripanca Setiadana di Lampung untuk Pemulihan Regional Bandar Lampung Meriahkan Acara Bersholawat, Eratkan Persaudaraan Umat Lampung Pesisir Lampung Waspada Banjir Rob, BMKG Ingatkan Pasang Maksimum 12-15 Oktober Lampung Anak Krakatau Naik Status Siaga Level III: Potensi Bahaya, Jauhi Radius 5 KM Lampung Gunung Anak Krakatau Kembali Erupsi, Status Siaga Ditetapkan, Radius Bahaya 5 Km Teknologi Sega Siapkan DLC Penutup dan Final Kejuaraan Dunia Sonic Racing: CrossWorlds Otomotif Bengkel Mini di Rumah: 6 Alat Penting untuk Perbaikan Ringan Kendaraan Teknologi School Party Craft: Rasakan Sensasi Unik Simulasi Kehidupan di Dunia Terbuka Hukum Polemik Dokumen Pencalonan Gibran: KPU Didesak Transparan Pasca Putusan MK Hiburan Syahrini Kembali Guncang Panggung Musik: Rilis Lagu Baru dan Gebrak Pestapora 2026 Regional LPS Periksa Aset Debitur BPR Tripanca Setiadana di Lampung untuk Pemulihan Regional Bandar Lampung Meriahkan Acara Bersholawat, Eratkan Persaudaraan Umat Lampung Pesisir Lampung Waspada Banjir Rob, BMKG Ingatkan Pasang Maksimum 12-15 Oktober

Modul:Flagg

Wikimedia module

Bagikan:
Dokumentasi modulbuatsegarkan
Anda dapat membuat halaman dokumentasi untuk buat pada modul Scribunto ini.
Penyunting dapat melakukan uji coba pada halaman bak pasir (sunting | beda) dan kasus uji (buat) modul ini.
Subhalaman modul ini.
localtitleSelf=mw.title.new(...ormw.getCurrentFrame():getTitle())
localtitleCountryData=mw.title.new[[Modul:CountryData]]
iftitleSelf.isSubpagethen
localsandbox=titleSelf.subpageText:match[[^bak_pasir]]
ifsandboxthen
titleCountryData=titleCountryData:subPageTitle(sandbox)
end
end
localCountryData=require(tostring(titleCountryData))
localp={}
functionp.main(frame)
--Get input arguments
localargs=require('Modul:Arguments').getArgs(frame,{valueFunc=
function(key,value)
ifvaluethen
value=mw.text.trim(value)
--Change empty string to nil for all args except 'image' and 'border'
ifkey=="image"orkey=="border"orvalue~=""then
returnvalue
end
end
returnnil
end
})
--Call main function
returnp.luaMain(frame,args)
end
functionp.luaMain(frame,args)
localfunctionemp2nil(x)
ifx==""thenreturnnilelsereturnxend
end
localfunctionspace2emp(x)
ifstring.find(x,"^%s*$")thenreturn""elsereturnxend
end
localfunctionnopx(x)
ifx~=niland(string.find(x,"^%d+$")orstring.find(x,"^%d+px$"))thenreturnstring.gsub(x,"^(.*)px","%1")elsereturnnilend
end
--Country & mode parameters
localmode=string.lower(args[1]or"usc")
localmi=string.sub(mode,1,1)
localms=string.sub(mode,2,2)
localmn=string.sub(mode,3,3)
localme=string.sub(mode,4,-1)
localcountry=args[2]or""
localcountryDataCountry=country
ifstring.find(me,"i")then
localtitleIocCountryData=mw.title.new[[Modul:Country alias/data]]
localIocCountryData=require(tostring(titleIocCountryData))
localiocCountryAlias=IocCountryData.countryAliases[country]orcountry
countryDataCountry=IocCountryData.countries[iocCountryAlias]["countrydata_name"]orIocCountryData.countries[iocCountryAlias]["name"]
end
localavar=args["avar"]orargs["altvar"]
localclink=args["clink"]orargs["link"]
--Get country data & altvar data
localdata,alink,amap,asuf
ifavarthen
localage=args["age"]or""
localaalias
amap,aalias=require("Modul:Flagg/Altvar data").alttable(age)
avar=string.gsub(string.lower(avaror""),"[ -]","")
avar=aalias[avar]oravar
ifnotamap[avar]thenerror("avar tidak dikenali")end
localapar={altvar=amap[avar].altvar;mw=amap[avar].mw;age=amap[avar].age;variant=args["variant"]orargs[3]}
data=CountryData.getcachedtable(frame,countryDataCountry,apar)
asuf=amap[avar].altlink
alink=asuf.." "..(data["link alias-"..amap[avar].altvar]orclinkordata["shortname alias"]ordata.aliasorcountry)
else
data=(args["nodata"]and{})orCountryData.getcachedtable(frame,countryDataCountry,{variant=args["variant"]orargs[3]})
avar=""
amap={[""]={altvar=""}}
end
--Name and link parameters
clink=clinkordata.aliasorcountry
localpref=args["pref"]
localsuff=args["suff"]orasuf
localpref2=args["pref2"]
localsuff2=args["suff2"]
ifnotprefandnotsuffthen--Default prefix
pref="Bendera"
end
localyn_map={[""]=0;["0"]=0;["no"]=0;["n"]=0;["1"]=1;["yes"]=1;["y"]=1}
localfthe=(args["pthe"]andyn_map[args["pthe"]]~=0)or(args["the"]andyn_map[args["the"]]~=0)
localnthe=(args["nthe"]andyn_map[args["nthe"]]~=0)or(args["the"]andyn_map[args["the"]]~=0)
fthe=ftheand(prefand"t"or"T").."he "or""
nthe=ntheand(prefand"t"or"T").."he "or""
localflink=args["plink"]orargs["flink"]oralink
orclink==""and""orspace2emp((prefor"").." ")..clink..space2emp(" "..(suffor""))
localflink2
ifargs["plink2"]orargs["flink2"]orpref2orsuff2then
flink2=args["plink2"]orargs["flink2"]orclink==""and""orspace2emp((pref2or"").." ")..clink..space2emp(" "..(suff2or""))
else
flink2=flink
end
localfsec=args["psection"]orargs["section"]
localfsec2=args["psection2"]orargs["section"]
localcsec=args["csection"]orargs["section"]
fsec=fsecand"#"..fsecor""
fsec2=fsec2and"#"..fsec2or""
csec=csecand"#"..csecor""
ifstring.find(me,"f")then
ifmw.title.new(flink).exists==falsethen
ifflink2~=flinkandmw.title.new(flink2).exists==truethen
flink=flink2
fsec=fsec2
else
flink=clink
end
end
end
localname=args["name"]
ifnotnamethen
localcname=string.find(me,"e")and(data["name alias-"..amap[avar].altvar]ordata["shortname alias"]ordata.alias)orcountry
ifmn=="f"then
name=cname==""and""orspace2emp((prefor"").." ")..cname..space2emp(" "..(suffor""))
else
name=cname
end
end
--Image parameters
localpimage=args["image"]
localplaceholder="Flag placeholder.svg"
localvariant=args["variant"]orargs[3]or""
localimage_map={[""]=placeholder;["none"]=placeholder;["blank"]=placeholder}
ifpimagethen--Remove namespace
pimage=string.gsub(pimage,"^[Ff][Ii][Ll][Ee]:","")
pimage=string.gsub(pimage,"^[Ii][Mm][Aa][Gg][Ee]:","")
end
localiname=image_map[pimage]orpimage
localsize=args["size"]orargs["sz"]
localsize_map={xs="12x8px";s="17x11px";m="23x15px";l="32x21px";xl="46x30px"}
ifsize==nilorstring.find(size,"^%d*x?%d+px$")then
--valid EIS size (..px, x..px or ..x..px) or unset
elseifstring.find(size,"^%d*x?%d+$")then--EIS size without "px" suffix
size=size.."px"
else--size from map, or invalid value
size=size_map[size]ornil
end
localborder=args["border"]
ifinamethen
size=sizeor"23x15px"
ifyn_map[border]==0thenborder=""elseborder="|border"end
else
iname=data["flag alias-"..amap[avar].altvar.."-"..variant]ordata["flag alias-"..variant]ordata["flag alias-"..amap[avar].altvar]ordata["flag alias"]orplaceholder
size=sizeoremp2nil(data.size)or"23x15px"
ifborderthen
ifyn_map[border]==0thenborder=""elseborder="|border"end
else
localautoborder=data["border-"..variant]ordata["border-"..amap[avar].altvar]ordata.border
ifautoborderandautoborder~="border"thenborder=""elseborder="|border"end
end
end
localam=""
ifargs["alt"]orstring.find(me,"a")then
am=args["alt"]orargs["name"]orcountry
am=am.."|"..am
end
--Build display name
localtext=args["text"]
ifnottextthen
ifmn=="x"then--no text
text=""
elseifmn=="p"ormn=="f"ormn=="*"then--prefix/suffix link
text=flink==""andnameor"[["..flink..fsec.."|"..name.."]]"
-- By the principle of least surprise, there should be some
-- indication that the link [[X of Country|Country]] does not
-- go to [[Country]].
ifmn=="*"andclink~=flinkthen
text=text:sub(1,-3).."\226\128\175*]]"end
elseifmn=="l"then--display link target
text=flink==""andnameor"[["..flink..fsec.."|"..(args["name"]orflink).."]]"
elseifmn=="b"then--both prefix/suffix and normal country link
localpreflink=prefand(flink==""andpref.." "or"[["..flink..fsec.."|"..pref.."]] ")or""
localsufflink=suffand(flink==""and" "..suffor" [["..flink..fsec.."|"..suff.."]]")or""
localnamelink=(clink==""andnameor"[["..clink..csec.."|"..name.."]]")
text=preflink..namelink..sufflink
elseifmn=="d"then--data template
localtitle=mw.title.new("Templat:Country data "..country)
--check if redirect
iftitle.isRedirectthen
text="<span class=\"plainlinks\">["..title:fullUrl("redirect=no").." "..name.."]</span>"
else
text="[["..title.fullText.."|"..name.."]]"
end
elseifmn=="u"then--unlinked
text=name
elseifmn=="a"then--abbr
text=name==countryand(clink==countryandcountryor"<abbr title='"..clink.."'>"..country.."</abbr>")or("<abbr title='"..name.."'>"..country.."</abbr>")
else--country link (default)
text=clink==""andnameor"[["..clink..csec.."|"..name.."]]"
end
ifstring.find(me,"p")then
text="("..text..")"
end
end
iftype(text)=='function'then
text=text(data)
end
--Define separator
localseparator="&nbsp;"
ifms=="x"then--no separator
separator=""
elseifms=="l"then--line break
separator="<br>"
end
--Add preftext, if used
localpreftext=args["preftext"]
if(preftextor"")~=""then
text=preftext..separator..text
end
--Build image
localilink=args["ilink"]
ifnotilinkthen
ifmi=="x"or(iname==placeholderandpimage~=placeholder)then--no image/invisible image
iname=placeholder
border=""
ilink="|link="
am=""
elseifmi=="i"then--image page link
ilink=""
elseifmi=="c"then--country link
ilink="|link="..clink..(clink==""and""orcsec)
elseifmi=="p"ormi=="f"then--prefix/suffix link
ilink="|link="..flink..(flink==""and""orfsec)
elseifmi=="d"then--data template
localtitle=mw.title.new("Templat:Country data "..country)
--check if redirect
iftitle.isRedirectthen
ilink="|link="..title:fullUrl("redirect=no")
else
ilink="|link="..title.fullText
end
else--unlinked (default)
ilink="|link="
end
end
ifam==""andstring.find(me,"l")then
am=mw.ustring.sub(ilink,7,-1)
end
localimage="[[Berkas:"..iname.."|"..size..border..ilink.."|alt="..am.."]]"
ifiname==placeholderthen
ifrequire('Modul:yesno')(args["noredlink"])==falseorargs["noredlink"]=="notext"then
ifcountry~=''anddata.alias==nilthen
iname=''
image="[[:Templat:Country data "..country.."]]"
ifargs["noredlink"]=="notext"then
text=''
end
end
end
if(args["missingcategory"]or'')~=''then
image=image..args["missingcategory"]
end
ifstring.find(me,"b")then
text=''
end
end
--Combine image and name with separator
localalign_map={left="left",l="left",center="center",centre="center",c="center",middle="center",m="center",right="right",r="right"}
localalign=align_map[args["align"]orargs["al"]]
localnalign=align_map[args["nalign"]orargs["nal"]]
localout
ifstring.find(me,"r")then
--image right of name
if(ms=="x"andmi=="x")or(string.find(me,"o")andiname==placeholderandpimage~=placeholder)then--name only
out=text
elseifms=="x"orms=="n"orms=="l"then--no separator, non-breaking space, or line break
out=text.."<span class=\"flagicon nowrap\">"..separator..image.."</span>"
elseifms=="t"then--table cell
out="style=\"text-align:"..(nalignor"left").."\"|"..text.."||style=\"text-align:"..(alignor"center").."\"|<span class=\"flagicon\">"..image.."</span>"
else--fixed-width span box (default)
localwidth=args["width"]orargs["w"]orrequire("Modul:Flag list").luawidth(size)
out=text.."<span class=\"nowrap\">&nbsp;<span class=\"flagicon\" style=\"display:inline-block;width:"..width.."px;text-align:"..(alignor"right").."\">"..image.."</span></span>"
end
else--image left of name
if(ms=="x"andmi=="x")or(string.find(me,"o")andiname==placeholderandpimage~=placeholder)then--name only
out=text
elseifms=="x"orms=="n"orms=="l"then--no separator, non-breaking space, or line break
out="<span class=\"flagicon\">"..image..separator.."</span>"..text
elseifms=="t"then--table cell
out="style=\"text-align:"..(alignor"center")..";\"|<span class=\"flagicon\">"..image.."</span>||style=\"text-align:"..(nalignor"left").."\"|"..text
else--fixed-width span box (default)
localwidth=nopx(args["width"]orargs["w"])orrequire("Modul:Flag list").luawidth(size)
out="<span class=\"nowrap\"><span class=\"flagicon\" style=\"display:inline-block;width:"..width.."px;text-align:"..(alignor"left").."\">"..image.."</span>&nbsp;</span>"..text
end
end
-- align in table
ifme:find("t")then
out='style="text-align:'..(alignor'left')..'"|'..out
end
--Tracking categories
localcat=""
ifpimageandnotimage_map[pimage]andcountry~=""anddata["flag alias"]andnotargs.demothen
cat="[[Kategori:Halaman yang menggunakan Modul Flagg dengan berkas tertentu dan bukan berkas templat data]]"
end
returnout..cat
end
p['']=p.main
returnp
Konten disalin dari Wikipedia Bahasa Indonesia (lisensi CC BY-SA) Lihat versi asli di Wikipedia

Rekomendasi Pilihan