« Module:TableBuilder » et « Modèle:Article principal » : différence entre les pages

De Sarkarverse
(Différence entre les pages)
Aller à la navigation Aller à la recherche
imported>T12
m (1 version)
 
imported>T12
m (1 version)
 
Ligne 1 : Ligne 1 :
--Module appliquant aux fonctions de la librairie Table une inteface fluide.
<includeonly><div class="bandeau-section bandeau-niveau-detail general">{{#if:{{{contenu|}}}<!--
 
-->|{{{contenu}}}<!--
local meta = {
-->|{{#if:{{{1|}}}<!--
 
  -->|{{#if:{{{amorce|}}}<!--
    insert = function ( t, ... )
      -->|{{{amorce}}}<!--
        table.insert( t, ... )
      -->|{{#if:{{{2|}}}|Articles principaux|Article principal}}<!--
        return t
     -->}} : {{MultiParamètres-Lien|{{{1|}}}|{{{2|}}}|{{{3|}}}|{{{4|}}}|{{{5|}}}|{{{6|}}}|{{{7|}}}|{{{8|}}}|{{{9|}}}|{{{10|}}}}}.<!--
    end,
  -->|<!--PAS DE PARAMETRE 1:-->Article principal : [[{{PAGENAME}}]]<!--
   
  -->}}<!--
    remove = function ( t, ... )
-->}}</div></includeonly><noinclude>{{Documentation}}</noinclude>
        table.remove( t, ... )
        return t
    end,
   
    sort = function ( t, ... )
        table.sort( t, ... )
        return t
    end,
   
    maxn = function ( t )
        return table.maxn( t )
    end,
   
    concat = function ( t, ... )
        return table.concat( t, ... )
    end,
   
    minsert = function( t, ... )
        local sel
        for i = 1, select( '#', ... ) do
            sel = select( i, ... )
            if sel then
                table.insert( t, sel )
            end
        end
        return t
    end,
   
    tinsert = function( t, tab, first, last )
        if type( tab ) == 'table' then
            for i = ( tonumber( first ) or 1 ), ( tonumber( last ) or #tab ) do
                table.insert( t, tab[i] )
            end
        end
        return t
    end,
}  
 
meta.__index = function ( t, key )
    local metafunc = meta[key]
    if type( metafunc ) == 'function' then
        return function ( ... ) return metafunc( t, ... ) end
     end
end
       
-- fin des fonctions de la meta-table
 
 
local TableBuilder = {
    new = function( ... )
        local t = { ... }
        setmetatable( t, meta )
        return t
    end,
   
    set = function( t )
        if type( t ) == 'table' then
            setmetatable( t, meta )
        end
        return t
    end,
 
    clone = function ( t )
        local tableRefs = { }
        local function recursiveClone( val )
            if type( val ) == 'table' then
                -- Encode circular references correctly
                if tableRefs[val] ~= nil then
                    return tableRefs[val]
                end
   
                local retVal = { }
                tableRefs[val] = setmetatable( retVal, meta )
   
                for key, elt in pairs( val ) do
                    retVal[key] = recursiveClone( elt )
                end
                return retVal
            else
                return val
            end
        end
        return recursiveClone( t )
    end,
}
 
return TableBuilder

Version actuelle datée du 16 décembre 2013 à 05:53

Documentation du modèle Documentation[modifier] [purger]

Ce modèle permet de présenter dans une catégorie un lien vers son article principal.

Pour le lien vers l'article principal d'un article détaillé, il existe {{Article général}}.

Pour le lien vers l'article détaillé d'un article général, il existe {{Article détaillé}}.

La syntaxe de ce modèle est identique à celle de {{Article détaillé}}. La présence de plusieurs paramètres est possible mais néanmoins déconseillée.

Exemples

Code Rendu
{{Article principal}}
Article principal : Article principal
{{Article principal|Japon}}
Article principal : Japon.
{{Article principal|États-Unis{{!}}États-Unis d’Amérique}}
Article principal : États-Unis d’Amérique.
{{Article principal|Utopie|Philosophie}}
Articles principaux : Utopie et Philosophie.
{{Article principal|1|2|3|4|5|6|7|8|9|10}}
Articles principaux : 1, 2, 3, 4, 5, 6, 7, 8, 9 et 10.
{{Article principal|amorce=Aide principale|Aide:Jargon}}
Aide principale : Aide:Jargon.
{{Article principal|contenu=La page « [[Aide:Jargon|Jargon]] » est la page d’aide principale sur ce sujet.}}
La page « Jargon » est la page d’aide principale sur ce sujet.

Spécificités

À l’inverse de {{Article détaillé}}, {{Article principal}} peut être utilisé sans paramètre dans les catégories. Dans ce cas, il renverra vers l’article qui aura le même nom que la catégorie. Toutefois, il est recommandé d’utiliser un paramètre, afin d’uniformiser la syntaxe générale de Wikipédia.

Présentation

Ce modèle utilise les deux classes CSS .details et .principal. Les personnalisations de la classe .details se répercuteront donc sur ce modèle.

Cependant, il est possible de personnaliser spécifiquement ce modèle par l’existence de la classe .principal. Des exemples de personnalisation peuvent être trouvés ici.

La présentation actuelle de ce modèle a été décidée pour {{article détaillé}} par la Prise de décision Unification des modèles : article détaillé et Loupe et élargie à ce modèle.

Voir aussi