Module:Format link: Difference between revisions

Integrate improvements from Module:Hatnote/sandbox, in particular use of mw.ustring by Izno and my own categoryMissing stuff
(Copied function removeInitialColon from Module:Hatnote)
(Integrate improvements from Module:Hatnote/sandbox, in particular use of mw.ustring by Izno and my own categoryMissing stuff)
Line 106:
italicizePage = yesno(args.italicizepage),
italicizeSection = yesno(args.italicizesection),
categorizeMissing = args.categorizemissing
}
end
Line 132 ⟶ 133:
options.italicizeSection,
'boolean',
true
)
checkTypeForNamedArg(
'_formatLink',
'categorizeMissing',
options.categorizeMissing,
'string',
true
)
Line 137 ⟶ 145:
local parsed = parseLink(options.link)
local display = options.display or parsed.display
local catMissing = options.categorizeMissing
local category = ''
 
--Test if page exists if a diagnostic category is specified
if catMissing and (mw.ustring.len(catMissing) > 0) then
if not mw.title.new(parsed.page).exists then
category = mw.ustring.format('[[Category:%s]]', catMissing)
end
end
 
-- Deal with the case where we don't have to pipe the link
if not display and not parsed.section and not options.italicizePage then
return stringmw.ustring.format('[[:%s]]%s', parsed.link, category)
end
Line 148 ⟶ 165:
local section = maybeItalicize(parsed.section, options.italicizeSection)
if not page then
display = stringmw.ustring.format('§ %s', section)
elseif section then
display = stringmw.ustring.format('%s § %s', page, section)
else
display = page
Line 156 ⟶ 173:
end
return stringmw.ustring.format('[[:%s|%s]]%s', parsed.link, display, category)
end
 
Anonymous user