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

De Lagny-sur-Marne Wiki
Aller à la navigation Aller à la recherche
0x010D (discussion | contributions)
à la demande de son auteur (Hlm Z.)
0x010D (discussion | contributions)
correction 'action=purge'
Ligne 58 : Ligne 58 :
     else tab.insert('Documentation') end
     else tab.insert('Documentation') end
     tab.insert('</span>')
     tab.insert('</span>')
 
tab.insert('<span class="mw-editsection plainlinks">&#91;[')
if not args.contenu then
if not args.contenu then
         local arg = mw.title.new(args[1] or doc)
         local arg = mw.title.new(args[1] or doc)
        tab.insert('<span class="mw-editsection plainlinks">&#91;[')


         if args[1] and p.ifexist(args[1]) or p.ifexist(doc) then
         if args[1] and p.ifexist(args[1]) or p.ifexist(doc) then
Ligne 71 : Ligne 71 :
         end
         end
         tab.insert(']&#93;&#32;&#91;[')
         tab.insert(']&#93;&#32;&#91;[')
        tab.insert(page:fullUrl('action=purge') .. ' purger]')
          .insert('&#93;</span>')
     end
     end
    tab.insert(page:fullUrl('action=purge') .. ' purger]')
tab.insert('</div>')
      .insert('&#93;</span></div>')


     return tab.concat()
     return tab.concat()
Ligne 110 : Ligne 111 :
             tab.insert('La [[Aide:Documentation de modèle|documentation]] de ce ')
             tab.insert('La [[Aide:Documentation de modèle|documentation]] de ce ')
               .insert('[[Aide:Modèle|modèle]] est directement [[Aide:Inclusion|incluse]] ')
               .insert('[[Aide:Modèle|modèle]] est directement [[Aide:Inclusion|incluse]] ')
               .insert('dans le corps de ce dernier.<br />Si cette page est protégée, ')
               .insert('dans le corps de ce dernier. [')
              .insert(page:fullUrl('action=purge'))
  .insert(' Cliquez ici pour purger le cache].')
              .insert('<br />Si cette page est protégée, ')
               .insert('veuillez transférer le contenu de la documentation vers sa [')
               .insert('veuillez transférer le contenu de la documentation vers sa [')
               .insert(arg:fullUrl({["action"]="edit", ["preload"]="Modèle:Documentation/Preload"}))
               .insert(arg:fullUrl({["action"]="edit", ["preload"]="Modèle:Documentation/Preload"}))

Version du 5 octobre 2013 à 12:44

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

local p = {}

local TableBuilder = require('Module:TableBuilder')

function p.corps(frame)

   args = frame:getParent().args
   local page = mw.title.getCurrentTitle()
   doc = p.docname(page)
   tab = TableBuilder.new()
   --Bandeau pour les sous-pages /Bac à sable
   if page.subpageText == 'Bac à sable' then

tab.insert('

')
          .insert(frame:preprocess('Modèle:Sous-page de bac à sable'))
   end

   --Génération de la documentation
   p.entete(page)
   p.contenu(frame, page)
   p.notice(page)
   return tab.concat()

end

function p.docname(page)

   --On n'est pas dans une sous-page
   if not page.isSubpage then return page.subjectNsText .. ":" .. page.text .. "/Documentation" end

   --On est dans une sous-page
   if page.subpageText == 'Documentation'
   or page.subpageText == 'Bac à sable'
   or page.subpageText == 'Test' then
       return page.subjectNsText .. ":" .. page.baseText .. "/Documentation"
   else
       return page.subjectNsText .. ":" .. page.text .. "/Documentation"
   end

end

function p.ifexist(page)

   if not page or not mw.title.new(page).exists then return false end
   return true

end

function p.entete(page)

tab.insert('
') .insert('
')
      .insert('Documentation du modèle')
      .insert(' ')
   if args.titre then tab.insert(args.titre)
   else tab.insert('Documentation') end
   tab.insert('')

if not args.contenu then

       local arg = mw.title.new(args[1] or doc)
       tab.insert('[[')
       if args[1] and p.ifexist(args[1]) or p.ifexist(doc) then
           tab.insert(arg:fullUrl('action=edit'))
              .insert(' modifier')
       else
           tab.insert(arg:fullUrl({["action"]="edit", ["preload"]="Modèle:Documentation/Preload"}))
              .insert(' créer')
       end
       tab.insert(']] [[')
       tab.insert(page:fullUrl('action=purge') .. ' purger]')
          .insert(']')
   end
tab.insert('
')
   return tab.concat()

end

function p.contenu(frame, page)

   local arg = args[1] or doc
   if args.contenu then
       tab.insert('\n')
          .insert(args.contenu)
   else
       tab.insert(frame:preprocess(''))
          .insert('\n')
       if args[1] and p.ifexist(args[1]) or p.ifexist(doc) then
           tab.insert(frame:preprocess('Modèle:' .. arg .. ''))
       end
   end
   tab.insert('\n')
      .insert(frame:preprocess(''))
.insert('
\n')
   return tab.concat()

end

function p.notice(page)

   local arg = mw.title.new(args[1] or doc)

   if args.contenu then
tab.insert('