Pumunta sa nilalaman
Pangunahing pagpipilian
Pangunahing pagpipilian
ilipat sa gilid
itago
Maglibot
Unang pahina
Mga nilalaman
Napiling nilalaman
Alinmang artikulo
Patungkol sa Wikipedia
Mga kaganapan
Pakikihalubilo
Pamayanan
Kapihan
Mga huling binago
Makipag-ugnayan
Tulong
Hanapin
Hanapin
Itsura
Donasyon
Gumawa ng account
Mag-login
Mga pansariling kagamitan
Donasyon
Mag-ambag
Gumawa ng account
Mag-login
Mga pahina para sa naka-logout na mga patnugot o editor
alamin pa
Usapan
Binabago:
Module:Banner shell
Magdagdag ng wika
Modyul
Usapan
English
Basahin
Baguhin ang wikitext
Tingnan ang kasaysayan
Mga kagamitan
Mga kagamitan
ilipat sa gilid
itago
Mga aksyon
Basahin
Baguhin ang wikitext
Tingnan ang kasaysayan
Pangkalahatan
Mga nakaturo rito
Kaugnay na pagbabago
Mag-upload ng file
Impormasyon ng pahina
Kumuha ng pinaikling URL
I-download ang QR code
Itsura
ilipat sa gilid
itago
Babala
: Hindi ka naka-login. Ang iyong IP address ay maitatala sa kasaysayan ng pagbabago ng pahinang ito.
Pagtingin ng panlaban spam.
HUWAG
punuan ito!
require('strict') local p = {} local sandbox-- = '/sandbox' -- BE SURE TO COMMENT OUT this definition when deploying to live local yesno = require('Module:Yesno') local shell = function(frame, header, content, collapsed, class) local styles = frame:extensionTag('templatestyles', '', {src = 'Module:Message box/tmbox.css'}) .. frame:extensionTag('templatestyles', '', {src = 'Module:Banner shell' .. (sandbox or '') .. '/styles.css'}) local content_row if content then content_row = mw.html.create('tr') :tag('td') :attr('colspan', '2') :addClass('banner-shell-inner') :addClass('outercollapse') :wikitext(content) :done() end local holder = mw.html.create('table') :attr('role', 'presentation') :addClass('tmbox') :addClass('tmbox-notice') :addClass('banner-shell') :addClass(class) -- allow additional class to be specified :addClass(content and 'mw-collapsible' or nil) :addClass(collapsed and 'mw-collapsed' or nil) :node(header) :node(content_row) return styles .. tostring(holder) end p.banner_holder = function(frame) local args = require('Module:Arguments').getArgs(frame, {wrappers = {'Template:Banner holder'}}) local image = '[[File:' .. (args.image or 'NewFavicon icon.svg') .. '|' .. (args.size or '24') .. 'px' .. '|link=' .. (args.image_link or '') .. '|alt=' .. (args.alt or '') .. ']]' local image_cell = mw.html.create('td') :addClass('mbox-image') :wikitext(image) local text_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.text or 'Other talk page banners') local header = mw.html.create('tr') :node(image_cell) :node(text_cell) return shell(frame, header, args[1], yesno(args.collapsed)) end local DuplicateBanners = function(text) local capture = '<span class="wpb%-project">([^<>]*)</span>' local banners = {} for project in text:gmatch(capture) do if banners[project] == true then return project end banners[project] = true end end p.banner_shell = function(frame) local cfg = mw.loadData('Module:Banner shell/config' .. (sandbox or '')) local args = require('Module:Arguments').getArgs(frame, {wrappers = {cfg.template}}) local title = args.demo_page and mw.title.new(args.demo_page) or mw.title.getCurrentTitle() local pagetype = 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' } local lang = mw.language.getContentLanguage() local classmask = require('Module:WikiProject banner' .. (sandbox or '')).class_mask local class = classmask(args.class or '', title.talkPageTitle, false, pagetype) local demo = not yesno(args.category or true, true) or args.demo_page local out = {} local addCategory = function(category, sort_key) if not demo and title.isTalkPage then local category_title = mw.title.new('Category:' .. category) table.insert(out, '[[' .. category_title.prefixedText .. (sort_key and ('|' .. sort_key) or '') .. ']]') end end if demo and not args.demo_page then pagetype = 'article' end local blp = args.blp and args.blp:lower() if yesno(blp) or blp=='activepol' or yesno(args.living) then table.insert(out, frame:expandTemplate{ title = cfg.blp_template.blp, args = {activepol = blp=='activepol' and 'yes'} }) elseif blp=='other' then table.insert(out, frame:expandTemplate{ title = cfg.blp_template.blpo} ) end local vital if yesno(args.vital) then local page = mw.ustring.upper(mw.ustring.sub(title.subjectPageTitle.text, 1, 1)) -- get first letter of article name local codepoint = mw.ustring.codepoint(page, 1, 1) if codepoint<65 or codepoint>90 then --first letter is not between A-Z page = 'others' end local data_page = mw.title.new('Wikipedia:Vital articles/data/' .. page .. '.json') if data_page.exists then local index = title.subjectPageTitle.text index = tostring(tonumber(index))==index and tonumber(index) or index --convert to number if page is numerical, otherwise loadJsonData does not work local data = mw.loadJsonData(data_page.fullText)[index] if data then local level = data.level and tostring(data.level) if level and data.topic then local link = 'Wikipedia:Vital articles/Level/' .. level if (level=='4' or level=='5') then link = link .. '/' .. data.topic end if data.sublist then link = link .. '/' .. data.sublist end if data.section then link = link .. '#' .. data.section end if not mw.title.new(link).exists then -- 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 _, cat in ipairs(cfg.vital.categories) do if cat:find('_CLASS') and (class=='NA' or class=='') then addCategory(cfg.vital.attention, class=='NA' and 'N' or 'U') elseif level==nil then addCategory(cfg.vital.attention, 'V') elseif data.topic==nil then addCategory(cfg.vital.attention, 'T') else local category = cat :gsub('_CLASS', class .. '-Class') :gsub('_LEVEL', level) :gsub('_TOPIC', data.topic) addCategory(category) end end addCategory(cfg.vital.all) else addCategory(cfg.vital.not_listed) end end end local text, icon_image, icon_str if class=='NA' then icon_image = cfg.icons.type[pagetype] or cfg.icons.default icon_str = pagetype=='page' and 'Non-article page' or lang:ucfirst(pagetype) text = {cfg.rating.not_required:format(vital or pagetype)} if args.class then addCategory(cfg.tracking.redundant_class) end elseif class=='' then icon_image = cfg.icons.unassessed icon_str = 'Unassessed article' text = {cfg.rating.not_yet:format(vital or pagetype)} addCategory('All unassessed articles') else icon_image = cfg.icons.quality[class] or cfg.icons.unassessed icon_str = class .. '-Class ' .. pagetype text = {cfg.rating.rated:format(vital or pagetype, class)} end local icon = string.format('[[File:%s|%s|35px|class=noviewer|alt=]]', icon_image, icon_str) table.insert(text, ' ' .. cfg.rating.scale) if args[1] then table.insert(text, '<br>' .. cfg.project.interest .. ' ') table.insert(text, yesno(args.collapsed) and cfg.project.collapsed or cfg.project.uncollapsed) local duplicate_cat = DuplicateBanners(args[1]) if duplicate_cat and title.isTalkPage then addCategory(cfg.tracking.duplicate, duplicate_cat) end elseif not yesno(args.vital) and class~='' then -- if no projects and not vital and assessed then add class super category if class == 'NA' then addCategory('NA-Class pages') else addCategory(class .. '-Class articles') end end local header = 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') ) if args.listas then table.insert(out, frame:preprocess('{{DEFAULTSORT:' .. args.listas .. '}}')) end if not demo then local tracking = require('Module:Check for unknown parameters')._check({ unknown = cfg.tracking.unknown, preview = cfg.tracking.preview, '1', 'blp', 'category', 'class', 'collapsed', 'demo_page', 'listas', 'vital' }, frame:getParent().args) table.insert(out, tracking) if args.category and yesno(args.category)~=false then -- category should not be "yes" addCategory(cfg.tracking.invalid, 'category') end if args.collapsed and yesno(args.collapsed)~=true then -- collapsed should not be "no" addCategory(cfg.tracking.invalid, 'collapsed') end if yesno(blp)==nil and blp~=nil and blp~='other' and blp~='activepol' then addCategory(cfg.tracking.invalid, 'blp') end if pagetype=='article' and args.class and class=='' then -- find pages with invalid class parameter addCategory(cfg.tracking.invalid, 'Zclass') end end return table.concat(out) end return p
Buod ng pagbabago:
(Maikling isalarawan ang pagbabagong ginawa mo.)
Sa pag-save sa mga pagbabago, sumasang-ayon ka sa
Kasunduan sa Paggamit
, at sumasang-ayon ka rin na ilalabas mo nang walang atrasan ang ambag mo sa ilalim ng
Lisensiyang CC BY-SA 4.0
at sa
GFDL
. Sumasang-ayon ka rin na sapat na ang isang hyperlink o URL bilang atribusyon sa ilalim ng lisensiyang Creative Commons.
Balewalain
Tulong sa pagbabago
(magbubukas ng panibagong bintana)
Preview page with this template
Wikidata entities used in this page
Module:Banner shell
: Sitelink, Description: en
Mga padron na ginamit sa pahinang ito:
Padron:Documentation
(
tingnan ang wikitext
) (medyo-nakaprotekta)
Module:Arguments
(
baguhin
)
Module:Banner shell
(
baguhin
)
Module:Banner shell/doc
(
baguhin
)
Module:Documentation
(
baguhin
)
Module:Documentation/config
(
baguhin
)
Module:Documentation/styles.css
(
baguhin
)
Module:Yesno
(
baguhin
)
Hanapin
Hanapin
Binabago:
Module:Banner shell
Magdagdag ng wika
Magdagdag ng paksa