Aller au contenu

Module:Formatage du titre

Cette page est protégée.
Une page de Wikipédia, l'encyclopédie libre.

 Documentation[voir] [modifier] [historique] [purger]

Ce module est utilisé par le modèle {{Titre en italique}}, ainsi que par les briques d'infobox {{Infobox V3/Début}} et Module:Infobox/Titre.

Page à prévisualiser pour vérifier les modifications : Discussion module:Formatage du titre/Test.

Voir aussi

local yesno = require( 'Module: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

    -- Découpe le titre en trois parties :
    -- 1. prefix = espace de noms et éventuellement page mère (si c'est une sous-page)
    -- 2. mainPart = partie à mettre en forme (page ou sous-page, sans partie entre parenthèses)
    -- 3. disambig = partie entre parenthèses
    local prefix = ''
    if title.nsText ~= '' then
        prefix = title.nsText:gsub('_', ' ') .. ':' -- on remplace les underscores inopinés par des espaces, 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

    -- Recollement des trois parties en insérant une balise de langue et l'italique si besoin.
    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

--[[
Change le format de la partie principale d'un titre de page.
Les changements possibles sont la mise en italique et l'ajout d'une indication de langue.

Paramètres (passés via frame)
  lang : si non vide, insère une balise indiquant que la partie principale du titre est dans cette langue.
  italic : si non vide, met en italique la partie principale du titre.
  options : deuxième paramètre passé à DISPLAYTITLE. Les valeurs possibles sont "noreplace" et "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
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy