Mòdul:Formatacion dau títol
Aparéncia
local yesno = require( 'Mòdul:Yesno' )
local p = {}
function p.formatTitle(frame)
local args = frame.args
local title
if args.title then
title = mw.title.new(args.title)
else
title = mw.title.getCurrentTitle()
end
-- Copa lo títol en tres parts :
-- 1. prefix = espaci de noms e eventualament pagina maira (se se ne vira d'una sospagina)
-- 2. mainPart = part de formatar (pagina o sospagina, sens part entre parentèsis)
-- 3. disambig = part entre parentèsis
local prefix = ''
if title.nsText ~= '' then
prefix = title.nsText:gsub('_', ' ') .. ':' -- se remplaçan los underscòrs inopinats per d'espacis, cf. [[phab:T369784]]
end
if title.isSubpage then
prefix = prefix .. title.baseText .. '/'
end
local mainPart = title.subpageText
local disambig = ''
local disambigStart = mainPart:find(' %(.+%)$')
if disambigStart then
disambig = mainPart:sub(disambigStart)
mainPart = mainPart:sub(1, disambigStart - 1)
end
-- Reünion de las tres parts en inserissent una gavitèu de lenga e l'italica se fa mestièr.
local lang = args.lang
if lang and lang ~= '' then
mainPart = '<span lang="' .. lang .. '">' .. mainPart .. '</span>'
end
local italic = args.italic
if italic and italic ~= '' and yesno(italic) then
mainPart = '<i>' .. mainPart .. '</i>'
end
return prefix .. mainPart .. disambig
end
--[[
Càmbia lo format de la maja part d'un títol de pagina.
Los cambiaments possibles son la mesa en italica e l'apondi d'una entre-senha de lenga.
Paramètres (passats via frame)
lang : se pas vuòg, inserís una gavitèu ensenhant que la part maja dau títol es dins aquesta lenga.
italic : se pas vuòg, italica la part maja dau títol.
options : segond paramètre passat a DISPLAYTITLE. Las valors possiblas son "noreplace" e "noerror".
--]]
function p.setDisplayTitle(frame)
local displayTitle = p.formatTitle(frame)
if displayTitle == mw.title.getCurrentTitle().prefixedText then
return ''
end
return mw.getCurrentFrame():callParserFunction('DISPLAYTITLE', displayTitle, frame.args.options)
end
return p