« Module:Documentation » : différence entre les versions

De Lagny-sur-Marne Wiki
Aller à la navigation Aller à la recherche
0x010D (discussion | contributions)
corrige class editsection
0x010D (discussion | contributions)
corrige class mw-editsection
Ligne 10 : Ligne 10 :
         if frame:preprocess('{{SUBPAGENAME}}') == 'Bac à sable' then
         if frame:preprocess('{{SUBPAGENAME}}') == 'Bac à sable' then
             table.insert(corps, '<div style="clear:both />')
             table.insert(corps, '<div style="clear:both />')
             table.insert(corps, frame:preprocess('{{Sous-page de bac à sable}}'))
             table.insert(corps, '{{Sous-page de bac à sable}}')
         end
         end


Ligne 59 : Ligne 59 :
         table.insert(entete, '; padding:1em 1em 0.8em;">')
         table.insert(entete, '; padding:1em 1em 0.8em;">')
         table.insert(entete, '<div style="margin-bottom:1ex; border-bottom:1px solid #aaa; padding-bottom:3px;">')
         table.insert(entete, '<div style="margin-bottom:1ex; border-bottom:1px solid #aaa; padding-bottom:3px;">')
        table.insert(entete, '[[Fichier:Template-info.png|50px|alt=Documentation du modèle|link=]]')
        table.insert(entete, '<span style="font-weight:bold; font-size:125%">&nbsp;')
        if args.titre then
            table.insert(entete, args.titre)
        else
            table.insert(entete, 'Documentation')
        end
        table.insert(entete, '</span>')


         if not args.contenu then
         if not args.contenu then
Ligne 83 : Ligne 92 :
             table.insert(entete, '&#93;</span>')
             table.insert(entete, '&#93;</span>')
         end
         end
        table.insert(entete, '[[Fichier:Template-info.png|50px|alt=Documentation du modèle|link=]]')
        table.insert(entete, '<span style="font-weight:bold; font-size:125%">&nbsp;')
        if args.titre then
            table.insert(entete, args.titre)
        else
            table.insert(entete, 'Documentation')
        end
        table.insert(entete, '</span></div>')
          
          
        table.insert(entete, '</div>')
         return table.concat(entete)
         return table.concat(entete)
     end
     end

Version du 21 juin 2013 à 20:19

--Ce module implemente le modèle Modèle:Méta documentation de modèle.

local p = {}

   function p.corps(frame)
       local args = frame:getParent().args
       local corps = {}
       
       --Bandeau pour les sous-pages /Bac à sable
       if frame:preprocess('Documentation') == 'Bac à sable' then

table.insert(corps, '

')
           table.insert(corps, 'Modèle:Sous-page de bac à sable')
       end
       --Génération de la documentation
       table.insert(corps, frame:preprocess(p.entete(frame, args)))
       table.insert(corps, p.contenu(frame, args))
       table.insert(corps, frame:preprocess(p.notice(frame, args)))
       --Code HTML brute
       if args.raw then
           return frame:preprocess('' .. table.concat(corps) .. '')
       end
       return table.concat(corps)
       
   end
   function p.ifexist(page, frame)
       if not page then return false end
       if frame:preprocess() == '1' then return true end
       return false
   end
   
   function p.docname(frame)
       --On n'est pas dans une sous-page
       if frame:preprocess('Documentation') == frame:preprocess('Documentation') then
           return frame:preprocess('Module:Documentation/Documentation')
       else
           --On est dans une sous-page
           nom = frame:preprocess('Documentation')
           if nom == 'Documentation' or nom == 'Bac à sable' or nom == 'Test' then
               return frame:preprocess('Documentation')
           else
               return frame:preprocess('Module:Documentation/Documentation')
           end
       end
   end
   function p.entete(frame, args)
local entete = {'
') table.insert(entete, '
')
       table.insert(entete, 'Documentation du modèle')
       table.insert(entete, ' ')
       if args.titre then
           table.insert(entete, args.titre)
       else
           table.insert(entete, 'Documentation')
       end
       table.insert(entete, '')
       if not args.contenu then
           table.insert(entete, '[[')
           table.insert(entete, '{{fullurl:')
           if args[1] then
               if p.ifexist(args[1], frame) then
                   table.insert(entete, args[1])
                   table.insert(entete, '|action=edit modifier}}]] [Modèle:Purger le cache')
               else
                   table.insert(entete, args[1])
                   table.insert(entete, '|action=edit&preload=Modèle:Documentation/Preload créer}}]')
               end
           else
               if p.ifexist(p.docname(frame), frame) then
                   table.insert(entete, p.docname(frame))
                   table.insert(entete, '|action=edit modifier}}]] [Modèle:Purger le cache')
               else
                   table.insert(entete, p.docname(frame))
                   table.insert(entete, '|action=edit&preload=Modèle:Documentation/Preload créer}}]')
               end
           end
           table.insert(entete, ']')
       end
       
table.insert(entete, '
')
       return table.concat(entete)
   end
   function p.contenu(frame, args)
       local contenu = {}
       if args.contenu then
           table.insert(contenu, '\n')
           table.insert(contenu, args.contenu)
       else
           table.insert(contenu, frame:preprocess('\n'))
           --Évite toute récursion
           if args[1]
           and frame:preprocess('Module:Documentation') ~= frame:preprocess()
           and p.ifexist(args[1], frame) then
               table.insert(contenu, frame:preprocess('{{' .. args[1] .. '}}'))
           elseif frame:preprocess('Module:Documentation') ~= frame:preprocess('%27_.._p.docname(frame)_.._%27')
           and p.ifexist(p.docname(frame), frame) then
               table.insert(contenu, frame:preprocess('Modèle:' .. p.docname(frame) .. ''))
           end
       end
table.insert(contenu, frame:preprocess('\n
\n'))
       return table.concat(contenu)
   end
   
   function p.notice(frame, args)
       local notice = {}
       
       if args.contenu then
table.insert(notice, '