Module:Vital article: Difference between revisions

Content deleted Content added
strip -Class
no cat class
 
(25 intermediate revisions by 4 users not shown)
Line 1:
local p = {}
 
-- Copy from [[Module:Section link]]
local function normalizeTitle(title)
title = mw.ustring.gsub(mw.ustring.gsub(title, "'", ""), '"', '')
title = mw.ustring.gsub(title, "%b<>", "")
return mw.title.new(title).prefixedText
end
 
local getLink = function(page)
Line 8 ⟶ 15:
end
local data_page = 'Wikipedia:Vital articles/data/' .. subpage .. '.json'
local page2 = tostring(tonumber(page))==page and tonumber(page) or page --convert to number if page is numerical, otherwise loadJsonData does not work
local data = mw.loadJsonData(data_page)[pagepage2]
if data then
local level = tostring(data.level)
if level then
local link = 'Wikipedia:Vital articles/Level/' .. trimmed_linklevel
local trimmed_link = data.trimmed_link
if (level=='4' or level=='5') and data.topic then
local link
link = link .. '/' .. data.topic
if trimmed_link then
end
link = 'Wikipedia:Vital articles' .. trimmed_link
if trimmed_linkdata.sublist then
else
link = 'Wikipedia:Vitallink articles/Level.. '/' .. leveldata.sublist
--end
if (level=='4' or level=='5') and data.topic then
if data.sublistsection then
link = link .. '/' .. data.topic
-- link = link .. '#' .. data.section
end
if data.sublist then
link = link .. '/' .. data.sublist
end
--if data.section then -- not used until we have stable section anchors to link to
-- link = link .. '#' .. data.section
--end
end
return link, level
Line 37 ⟶ 39:
local link, level = getLink(page)
return '[[' .. page .. ']]' .. (link and '&nbsp;[[File:Círculos Concéntricos.svg|11px]]&nbsp;[[' .. link .. '|' .. level .. ']]' or '')
end
 
p.isVital = function(frame)
local page = frame.args.page~='' and frame.args.page or mw.title.getCurrentTitle().subjectPageTitle.text
local _, level = getLink(page)
return level or ''
end
 
Line 46 ⟶ 54:
 
p.header = function(frame)
local catpargs = frame:getParent().args
local cat = pargs.category~='' and frame.argspargs.category or mw.title.getCurrentTitle().subjectPageTitle.text
local topic, class, level
topic = cat:match('^Wikipedia vitalVital articles in ([%a ]+) by classquality$')
if topic then -- Category:Wikipedia vitalVital articles in TOPIC by classquality
return top(true, frame)
.. '[[Category:Wikipedia vital articles in ' .. topic .. '|ClassQuality]]'
.. '[[Category:Wikipedia vitalVital articles by topic by classquality|' .. (topic=='an unknown topic' and 'Unknown' or topic) .. ']]'
end
class = cat:match('^([%a-]+) vital articles by topic$')
Line 58 ⟶ 67:
return top(true, frame)
.. '[[Category:' .. class .. ' vital articles|Topic]]'
.. '[[Category:Wikipedia vitalVital articles by classquality by topic|' .. class .. ']]'
end
topic = cat:match('^Wikipedia vital articles in ([%a ]+) by level$')
if topic then -- Category:Wikipedia vital articles in TOPIC by level
return top(true, frame)
.. '[[Category:Wikipedia vital articles in ' .. topic .. '|Level]]'
.. '[[Category:Wikipedia vital articles by topic by level|' .. (topic=='an unknown topic' and 'Unknown' or topic) .. ']]'
end
level = cat:match('^Wikipedia level%-(%w+) vital articles by topic$')
Line 72 ⟶ 81:
.. '[[Category:Wikipedia vital articles by level by topic|' .. level .. ']]'
end
class = cat:match('Wikipedia ^([%a-]+) vital articles by level$')
if class then -- Category:Wikipedia CLASS vital articles by level
return top(true, frame)
.. '[[Category:' .. class .. ' vital articles|Level]]'
.. '[[Category:Wikipedia vitalVital articles by classquality by level|' .. class .. ']]'
end
level = cat:match('Wikipedia level^Level%-(%w+) vital articles by classquality$')
if level then -- Category:Wikipedia levelLevel-LEVEL vital articles by classquality
return top(true, frame)
.. '[[Category:Wikipedia level-' .. level .. ' vital articles|ClassQuality]]'
.. '[[Category:Wikipedia vitalVital articles by level by classquality|' .. level .. ']]'
end
topic = cat:match('^Wikipedia vital articles in ([%a ]+)$')
if topic then -- Category:Wikipedia vital articles in TOPIC
return top(truefalse, frame)
.. '[[Category:Wikipedia vital articles by topic|' .. (topic=='an unknown topic' and 'Unknown' or topic) .. ']]'
end
Line 97 ⟶ 106:
if class and level then -- Category:CLASS level-LEVEL vital articles
return top(false, frame)
.. '[[Category:Wikipedia ' .. class .. ' vital articles by level|' .. level .. ']]'
.. '[[Category:Wikipedia levelLevel-' .. string.lower(level) .. ' vital articles by classquality|' ..class .. ']]'
end
class = cat:match('^([%a-]+) vital articles$')
Line 104 ⟶ 113:
class = class:match('(%a+)-Class') or class
return top(true, frame)
.. frame:expandTemplate{title = 'cat class', args = {topic = 'vital', class = class}}
end
level, topic = cat:match('^Wikipedia level%-(%w+) vital articles in ([%a ]+)$')
Line 110 ⟶ 118:
return top(false, frame)
.. '[[Category:Wikipedia vital articles in ' .. topic .. ' by level|' .. level .. ']]'
.. '[[Category:Wikipedia level-' .. level .. ' vital articles by topic|' .. (topic=='an unknown topic' and 'Unknown' or topic) .. ']]'
end
class, topic = cat:match('^([%a-]+) vital articles in ([%a ]+)$')
if class and topic then -- Category:CLASS vital articles in TOPIC
return top(false, frame)
.. '[[Category:Wikipedia vitalVital articles in ' .. topic .. ' by classquality|' .. class .. ']]'
.. '[[Category:' .. class .. ' vital articles by topic|' .. (topic=='an unknown topic' and 'Unknown' or topic) .. ']]'
end