Modul:Vorlage:Dokumentation: Unterschied zwischen den Versionen

K
4 Versionen importiert: Extension Graph
wp>PerfektesChaos
(2017-11-02)
 
K (4 Versionen importiert: Extension Graph)
 
(12 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
--[=[ 2017-11-02
--[=[ 2019-07-29
{{Dokumentation}}
{{Dokumentation}}
]=]
]=]
local Current = mw.title.getCurrentTitle()




Zeile 19: Zeile 23:
     return tostring( e )
     return tostring( e )
end -- fake()
end -- fake()
local function fatal( amend )
    local s = "Wikipedia:Vorlagenfehler/Vorlage:Dokumentation"
    if amend then
        s = string.format( "%s/%s", s, amend )
    end
    return string.format( "[[Kategorie:%s]]", s )
end -- fatal()




Zeile 59: Zeile 73:




local function furnish( area )
local function furnish( area, frame )
     local i = area:find( "==", 1, true )
     local i = area:find( "==", 1, true )
     local r
     local r
Zeile 86: Zeile 100:
             r = "__NOTOC__\n" .. area
             r = "__NOTOC__\n" .. area
         elseif n == 2 then
         elseif n == 2 then
            local src    = "TOC nonum/styles.css"
            local toc    = mw.html.create( "div" )
                                  :newline()
                                  :addClass( "nonumtoc" )
                                  :wikitext( "__TOC__" )
                                  :newline()
            local styles = frame:extensionTag( "templatestyles",
                                              nil,
                                              { src = src } )
            toc = styles .. tostring( toc )
             if init == 1 then
             if init == 1 then
                 r = "__TOC__\n" .. area
                 r = toc .. area
             else
             else
                 r = string.format( "%s__TOC__\n%s",
                 r = string.format( "%s%s%s",
                                   area:sub( 1,  init - 1 ),
                                   area:sub( 1,  init - 1 ),
                                  toc,
                                   area:sub( init ) )
                                   area:sub( init ) )
             end
             end
Zeile 102: Zeile 127:
local function f( frame )
local function f( frame )
     local bottom  = { }
     local bottom  = { }
    local current = mw.title.getCurrentTitle()
     local doku    = mw.title.makeTitle( Current.namespace,
     local doku    = mw.title.makeTitle( current.namespace,
                                         Current.text .. "/Doku" )
                                         current.text .. "/Doku" )
     local sub    = Current.prefixedText .. "/Doku"
     local sub    = current.prefixedText .. "/Doku"
     local r
     local r
     if doku.exists then
     if doku.exists then
Zeile 111: Zeile 135:
         if not findeSchalter( r ) then
         if not findeSchalter( r ) then
             if not findeTemplateDataTOC( r ) then
             if not findeTemplateDataTOC( r ) then
                 r = furnish( r )
                 r = furnish( r, frame )
             end
             end
         end
         end
Zeile 130: Zeile 154:
         if mw.site.server:match( "%.beta%.wmflabs%.org$" ) then
         if mw.site.server:match( "%.beta%.wmflabs%.org$" ) then
             r = r .. fake( frame, sub )
             r = r .. fake( frame, sub )
         elseif current.namespace == 10 then
         elseif Current.namespace == 10 then
             r = string.format( "%s[[Kategorie:%s]]",
             r = string.format( "%s[[Kategorie:%s]]",
                              r,
                               "Vorlage:nicht dokumentiert" )
                               "Vorlage:nicht dokumentiert" )
         end
         end
Zeile 143: Zeile 168:


local p = {}
local p = {}
function p.hastemplate( frame )
    -- OBSOLETING
    local r = Current.text:gsub( "/Doku$", "" )
                          :gsub( " ", "_" )
                          :gsub( "\"", """ )
    if Current.namespace ~= 10 then
        r = string.format( "%s:%s",
                          mw.site.namespaces[ Current.namespace ].name,
                          r )
    end
    return string.format( "hastemplate:%s+", r )
end -- p.hastemplate()
function p.transcludes()
    local s = Current.text:gsub( "/Doku$", "" )
                          :gsub( " ", "_" )
                          :gsub( "\"", """ )
    local t = mw.title.new( "Suche", -1 )
    if Current.namespace ~= 10 then
        s = string.format( "%s:%s",
                          mw.site.namespaces[ Current.namespace ].name,
                          s )
    end
    s = string.format( "hastemplate:%s ", s )
    return t:fullUrl( { search = s } )
end -- p.transcludes()


function p.f( frame )
function p.f( frame )
Zeile 150: Zeile 206:
                         :attr( "class", "error" )
                         :attr( "class", "error" )
                         :wikitext( r )
                         :wikitext( r )
         r = string.format( "%s[[Kategorie:%s/%s]]",
         r = tostring( e ) .. fatal( "Intern" )
                          tostring( e ),
                          "Wikipedia:Vorlagenfehler",
                          "Vorlage:Dokumentation/Intern" )
     end
     end
     return r
     return r