Différences entre les pages « Module:Liste éléments » et « Modèle:Mots agronomie bibliographie »

De Les Mots de l'agronomie
(Différence entre les pages)
imported>Jacques Ducloy
m (1 révision importée)
 
imported>Thierry Daunois
 
Ligne 1 : Ligne 1 :
local z = {}
+
<noinclude>
 +
Ce modèle simplifie l'édition automatique, sur la page d'une personne, de sa bibliographie citée sur le wiki, en utilisant les propriétés sémantiques. Lorsqu'il est inséré dans la page d'une personne, il génère la liste des articles cités sur le wiki dont cette personne est le premier auteur, l'un des auteurs, le traducteur, ainsi que des articles dans lesquels il est cité ou dont il est un contributeur.
  
function z.main(frame)
+
Pour utiliser ce modèle, insérer le texte suivant au début de page :
  
    local args = frame:getParent().args
+
<pre>{{Wicri bibliographie}}
    local trimFunc = mw.text.trim -- cache accès global
+
</pre>
  
    local function getParam(name, default)
+
[[en:Template:Wicri Bibliography]]
        if args[name] ~= nil and args[name] ~= '' then
+
</noinclude>
            return args[name]
+
<includeonly>
        else
+
==Articles écrits pour ''Les mots de l'agronomie''==
            return default -- nil si non spécifié
 
        end
 
    end
 
  
    local paramSep = getParam('séparateur', getParam('sép', '·'))
+
{{#ask:[[A pour premier auteur::{{PAGENAME}}]]
    local espaces = tonumber(getParam('espaces', '1'))
+
| format=ul
    local glue
+
| intro=Premier auteur de :_ }}<!--
 
+
-->{{#ask:[[A pour auteur::{{PAGENAME}}]]
    if paramSep == ',' then
+
| format=ul
        glue = ', '
+
| intro=Auteur de :_ }}<!--
    elseif mw.text.unstripNoWiki(paramSep) == ' ' or paramSep == '&nbsp;' then -- {{espace}}, &nbsp;
+
-->{{#ask:[[A pour conférencier invité::{{PAGENAME}}]]
        glue = paramSep
+
| format=ul
    elseif paramSep == '2·' or paramSep == '·2' then
+
| intro=Conférencier invité à :_ }}<!--
        -- '\194\160' est une espace insécable (code UTF-8 sur deux octets)
+
-->{{#ask:[[A pour intervenant::{{PAGENAME}}]]
        glue = '\194\160\194\160<span style="font-weight:bold">·</span>\194\160 '
+
| format=ul
    elseif paramSep == '2•' or paramSep == '•2' then
+
| intro=Intervenant à :_ }}<!--
        glue = '\194\160\194\160•\194\160 '
+
-->{{#ask:[[a pour traducteur::{{PAGENAME}}]]
    else
+
| format=ul
        if paramSep == '·' then
+
| intro=Traducteur de :_ }}<!--
            paramSep = '<span style="font-weight:bold">·</span>'
+
-->{{#ask:[[a pour auteur cité::{{PAGENAME}}]]
        elseif paramSep == '-' or paramSep == '−' then
+
| format=ul
            paramSep = '–' -- tiret demi-cadratin
+
| intro=Est cité par :_ }}<!--
        elseif paramSep == '--' then
+
-->{{#ask:[[a pour contributeur::{{PAGENAME}}]]
            paramSep = '—' -- tiret cadratin
+
| format=ul
        end
+
| intro=Contributeur de :_ }}
        if espaces == 0 then
+
<includeonly>
            glue = paramSep
 
        else
 
            glue = string.rep('\194\160', espaces) .. paramSep .. string.rep('\194\160', espaces-1) .. ' '
 
        end
 
    end
 
 
 
    local secable = (args['sécable'] == 'oui')
 
    local items = {}
 
 
 
    for i,v in ipairs(args) do
 
        local item = trimFunc(v)
 
        if item ~= '' then
 
            if not secable then
 
                item = '<span class="nowrap">'..item..'</span>'
 
            end
 
            items[#items+1] = item
 
        end
 
    end
 
 
 
    return table.concat(items, glue)
 
end
 
 
 
return z
 

Version du 13 février 2012 à 09:35

Ce modèle simplifie l'édition automatique, sur la page d'une personne, de sa bibliographie citée sur le wiki, en utilisant les propriétés sémantiques. Lorsqu'il est inséré dans la page d'une personne, il génère la liste des articles cités sur le wiki dont cette personne est le premier auteur, l'un des auteurs, le traducteur, ainsi que des articles dans lesquels il est cité ou dont il est un contributeur.

Pour utiliser ce modèle, insérer le texte suivant au début de page :

{{Wicri bibliographie}}

en:Template:Wicri Bibliography