Documentation du module [voir] [modifier] [purger]
La documentation de ce module Scribunto écrit en Lua est incluse depuis sa sous-page de documentation.

Le module:PageTitre contient le code pertinent au Modèle:PageTitre2 conçu pour construire une page titre à l'aide de quelques paramètres.

Exemples

modifier

Voyez ces exemples :

Paramètres dans l'appel de modèle

modifier

Le module accepte des commandes wsCss. Elles sont traduites en commandes CSS qui sont reconnues par les navigateurs Web. Le module:StyleM effectue la traduction wsCss en CSS.

Paramètres dans le code du modèle

modifier

Aucun

-- Le nombre de lignes peut être augmenté.
local nNombreLignes = 40

local p = {}
local szMsg = ''
local szCode = ''
local szParam = ''
local nNombreParam = 3 * nNombreLignes

function p.getOuvrirDivTitre()
    szCode = szCode .. '<div class=titre>' .. '\n'
end

function p.getEspaceBasDePage(sz)
  -- Si l'unité de l'espacement vertical a été indiquée, utiliser cette unité
  ---------------------------------------------------------------------------
  local szUniteEspacementVertical = ''
  if tonumber(sz) == nil then
    szUniteEspacementVertical = ''
  else
    szUniteEspacementVertical = 'em'
  end

  szCode = szCode .. '<div style="padding-bottom:' .. sz .. szUniteEspacementVertical .. '}};"> </div>' .. '\n'
end

function p.getFermerDivTitre()
    szCode = szCode .. '</div>' .. '\n'
end

function p.getLigne(sz0, sz1, sz2)
  -- Si l'unité de l'espacement vertical a été indiquée, utiliser cette unité
  ---------------------------------------------------------------------------
  local szUniteEspacementVertical = ''
  if tonumber(sz0) == nil then
    szUniteEspacementVertical = ''
  else
    szUniteEspacementVertical = 'em'
  end

  -- Si l'unité de la taille des caractères a été indiquée, utiliser cette unité
  ------------------------------------------------------------------------------
  local szTailleCaracteres = ''
  if tonumber(sz2) == nil then
    szTailleCaracteres = ''
  else
    szTailleCaracteres = '%'
  end

  szCode = szCode .. '<div style="padding-bottom:' .. sz0 .. szUniteEspacementVertical .. ';"> </div>' .. '\n'
  szCode = szCode .. '<div style="text-align:center;clear:both; font-size:' .. sz2 .. szTailleCaracteres .. '";>' .. sz1 ..'</div>' .. '\n'

end


function p.Construire( frame )
    
    --------------------------------
    -- Noter les paramètres sans nom
    --------------------------------
    local args = frame:getParent().args
    local aParamSansNom = {}
    local nCnt = 0
    local szInfo = ''
    for i, v in ipairs(args) do
      aParamSansNom[i] = mw.text.trim(v)
      if string.len( mw.text.trim(v) ) ~= 0  then
        aParamSansNom[i] = mw.text.trim(v)
        nCnt = nCnt + 1
        szInfo = szInfo .. 'Paramètre ' .. i .. ' : ' .. aParamSansNom[i] .. '<br>\n'
        if nCnt % 3 == 0 then
          szInfo = szInfo .. '<br>\n'
        end
      end
-- szCode = szCode .. i .. ' : ' .. aParamSansNom[i] .. '<br>\n'
    end

    if nCnt % 3 ~= 0 then
      szMsg = '<span style="font-size:200%; color:red;">Prière de saisir 3 paramètres par ligne.</span>' .. '<br>\n' .. szInfo
    end

    ------------------------------
    -- Créer le code HTML/Wikicode
    ------------------------------

    if mw.getCurrentFrame():getParent().args['titre'] then 
        p.getOuvrirDivTitre()
    end
    
    -- Pour chaque trio définissant une ligne, ajouter le code pertinent
    --------------------------------------------------------------------
    for n = 0, nNombreParam, 3 do 
      if aParamSansNom[n + 1] ~= nil and aParamSansNom[n + 2] ~= nil and aParamSansNom[n + 3] ~= nil then
        p.getLigne(aParamSansNom[n + 1], aParamSansNom[n + 2], aParamSansNom[n + 3])
      end
    end

    -- Bas de page
    --------------
    if mw.getCurrentFrame():getParent().args['bp'] then 
       p.getEspaceBasDePage(mw.getCurrentFrame():getParent().args['bp'])
    end

    if mw.getCurrentFrame():getParent().args['titre'] then 
        p.getFermerDivTitre()
    end
    
    if string.len( szMsg ) ~= 0 then
      szCode = szMsg
    end

    return szCode
end

return p