Content deleted Content added
simp Tag: Reverted |
sync live |
||
Line 154:
end
p._main = function(args, raw_args,
---------------------------
-- Initialise parameters --
Line 161:
local project_name = args.PROJECT_NAME or 'WikiProject ' .. project
local project_link = mw.title.new(args.PROJECT_LINK or 'Wikipedia:' .. project_name)
local pagetype =
page =
dab = 'disambiguation page'
})
Line 193:
table.sort(task_forces, function (x, y) return tonumber(x) < tonumber(y) end)
table.sort(notes, function (x, y) return tonumber(x) < tonumber(y) end)
---------------------------
-- Location warning -------
---------------------------
local warning = ''
local show_namespace_warning = not (current_title.isTalkPage or if show_namespace_warning then
local text = cfg.namespace_warning.text:format(
Line 275:
:node(primary_image(args.IMAGE_RIGHT, args.IMAGE_RIGHT_SIZE or cfg.image.default_size))
table.insert(rows, primary_row)
---------------------------
-- Quality assessment -----
Line 334 ⟶ 294:
end
local class = raw_args.class
local title = demo_page and demo_page~=true and mw.title.new(demo_page) or current_title
local article_class = p.readarticleclass({ignore_subtemplates=true}, title.prefixedText)
if not article_class then
if pagetype=='article' then
add_category(cfg.banner_shell.category.no_banner_shell_articles)
elseif title.namespace==3 then --User talk namespace
for _, user in ipairs(cfg.banner_shell.valid_users) do
if string.find(title.rootText, user) then
add_category(cfg.banner_shell.category.no_banner_shell)
end
end
else
add_category(cfg.banner_shell.category.no_banner_shell)
end
end
if class then -- banner gives quality ratings
article_class = article_class and p.class_mask(article_class, title, false, pagetype)
Line 340 ⟶ 315:
local custom_mask = banner_name:subPageTitle('class')
if custom_mask.exists and #custom_mask:getContent()>1 then
raw_args.demo_page =
class = mw.text.trim(frame:expandTemplate{
title = custom_mask.prefixedText,
Line 372 ⟶ 347:
show_quality = false -- hide quality class in project banner
end
elseif not
add_category(cfg.banner_shell.category.no_quality_rating)
warning = warning .. display_error(cfg.banner_shell.piqa_warning)
Line 387 ⟶ 362:
if args.QUALITY_CRITERIA~='custom' then
conflict = true
add_category(
end
end
Line 437 ⟶ 412:
end
if raw_args.b1 or raw_args.b2 or raw_args.b3 or raw_args.b4 or raw_args.b5 or raw_args.b6 then
local b_checklist = require(auxiliary).b_checklist(args, raw_args, class,
table.insert(rows, b_checklist)
end
Line 795 ⟶ 770:
:wikitext(wikilink(project_link.prefixedText, project) .. nested_tf_str .. ' ' .. nested_ratings_str)
:done()
---------------------------
-- Default sort -----------
---------------------------
if args.listas then
frame:preprocess('{{DEFAULTSORT:' .. args.listas .. '}}')
local success, shell_listas_value = require('Module:Template parameter value').getParameter(
title.prefixedText,
cfg.banner_shell.redirects,
'listas',
{ignore_subtemplates = true, ignore_blank = true}
)
if success and shell_listas_value~='' then
if args.listas==shell_listas_value then-- same value in both (with spacing trimming)
add_category('WikiProject banners with redundant listas value')
else-- different values
add_category('WikiProject banners with conflicting listas value')
end
else-- listas is blank or not defined in banner shell
add_category('WikiProject banners with listas value which needs moving to banner shell')
end
end
---------------------------
-- Prepare categories -----
---------------------------
local categories_formatted = ''
if
local category_list = mw.html.create('ul')
for _, cat in ipairs(categories) do
Line 811 ⟶ 807:
:node(category_list)
categories_formatted = tostring(category_box)
elseif not
local categories_linked = {}
for _, cat in ipairs(categories) do
Line 836 ⟶ 832:
:node(banner_rows)
:allDone()
local tstyle = frame:extensionTag('templatestyles', '', {src='Module:Message box/tmbox.css'}) ..
frame:extensionTag ('templatestyles', '', {src = 'Module:WikiProject banner' .. (sandbox or '') .. '/styles.css'})
return warning .. tstyle .. tostring(banner) .. categories_formatted, note_count, #taskforce_output, assessment_link
end
local
---------------------------
--
---------------------------
local parent_args = args_module.getArgs(frame, {parentOnly = true})
local category = parent_args.category or args.category or true
local demo_page = parent_args.demo_page
if not demo_page and (not yesno(category, true) or inactive_status) then
demo_page = true
end
local project_name = args.PROJECT_NAME or 'WikiProject ' .. (args.PROJECT or 'PROJECT')
local banner_name = mw.title.new(args.BANNER_NAME or 'Template:WikiProject ' .. (args.PROJECT or 'PROJECT'))
local on_template_page = not demo_page and current_title.rootPageTitle==banner_name.rootPageTitle
local unknown_parameters = ''
if banner_name.exists and not demo_page then -- check for unknown parameters
local parameters = {}
for parameter in banner_name:getContent():gmatch('{{{([^|}]+)') do
table.insert(parameters, parameter)
end
local check_for_unknown = require('Module:Check for unknown parameters')._check
local unknowns = check_for_unknown(parameters, parent_args)
if unknowns and unknowns~='' then-- there are some unknown parameters
parameters.preview = cfg.unknown_parameters.preview:format(wikilink(banner_name.fullText))
local unknown_category = cfg.unknown_parameters.tracking:format(project_name)
if not mw.title.new(unknown_category).exists then
unknown_category = cfg.unknown_parameters.default
end
parameters.unknown = unknown_category and '[[' .. unknown_category .. '|_VALUE_]]' or ''
unknown_parameters = check_for_unknown(parameters, parent_args)
end
end
if on_template_page then
local templatepage = require('Module:WikiProject banner/templatepage' .. (sandbox or '')).templatepage
return templatepage(args, raw_args, inactive_status)
else
return unknown_parameters
.. p._main(args, raw_args, demo_page, banner_name, inactive_status and true or false), nil -- nil to disregard subsequent returned values
end
end
Line 908 ⟶ 907:
},
{
class = frame.args.class,
substcheck = '' -- to prevent warning on templatepage
},
|