<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://simpsonspedia.net/index.php?action=history&amp;feed=atom&amp;title=Modul%3AVorlage%3AAuflistung</id>
	<title>Modul:Vorlage:Auflistung - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://simpsonspedia.net/index.php?action=history&amp;feed=atom&amp;title=Modul%3AVorlage%3AAuflistung"/>
	<link rel="alternate" type="text/html" href="https://simpsonspedia.net/index.php?title=Modul:Vorlage:Auflistung&amp;action=history"/>
	<updated>2026-04-26T12:28:31Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Simpsonspedia</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://simpsonspedia.net/index.php?title=Modul:Vorlage:Auflistung&amp;diff=340666&amp;oldid=prev</id>
		<title>Comic Book Guy: Die Seite wurde neu angelegt: „local HorizontalList = { suite  = &quot;HorizontalList&quot;,                          serial = &quot;2023-10-25&quot;,                          item   = 100938243 } --[=[ Horizontal list of items by HTML/CSS list ]=]    local CSS      = { classesBlock  = { },                    classesNowrap = { },                    classesPrefix = { },                    classesSep    = { } } local Failsafe = HorizontalList    local fix = function ( at )     for k, v in pairs( CSS.classes…“</title>
		<link rel="alternate" type="text/html" href="https://simpsonspedia.net/index.php?title=Modul:Vorlage:Auflistung&amp;diff=340666&amp;oldid=prev"/>
		<updated>2025-09-14T19:05:47Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „local HorizontalList = { suite  = &amp;quot;HorizontalList&amp;quot;,                          serial = &amp;quot;2023-10-25&amp;quot;,                          item   = 100938243 } --[=[ Horizontal list of items by HTML/CSS list ]=]    local CSS      = { classesBlock  = { },                    classesNowrap = { },                    classesPrefix = { },                    classesSep    = { } } local Failsafe = HorizontalList    local fix = function ( at )     for k, v in pairs( CSS.classes…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local HorizontalList = { suite  = &amp;quot;HorizontalList&amp;quot;,&lt;br /&gt;
                         serial = &amp;quot;2023-10-25&amp;quot;,&lt;br /&gt;
                         item   = 100938243 }&lt;br /&gt;
--[=[&lt;br /&gt;
Horizontal list of items by HTML/CSS list&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local CSS      = { classesBlock  = { },&lt;br /&gt;
                   classesNowrap = { },&lt;br /&gt;
                   classesPrefix = { },&lt;br /&gt;
                   classesSep    = { } }&lt;br /&gt;
local Failsafe = HorizontalList&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local fix = function ( at )&lt;br /&gt;
    for k, v in pairs( CSS.classesNowrap ) do&lt;br /&gt;
        at:addClass( v )&lt;br /&gt;
    end -- for k, v&lt;br /&gt;
end -- fix()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HorizontalList.f = function ( all, ahead, altogether, access, alien,&lt;br /&gt;
                              apart, frame )&lt;br /&gt;
    -- Generate horizontal list from wikitext&lt;br /&gt;
    -- Parameter:&lt;br /&gt;
    --     all         -- string, with wikitext&lt;br /&gt;
    --                    each line starting with one of * or #&lt;br /&gt;
    --     ahead       -- string, to prefix if desired&lt;br /&gt;
    --     altogether  -- true, if nowrap around each regular item&lt;br /&gt;
    --     access      -- string, with fragment, if desired&lt;br /&gt;
    --     alien       -- string, with language code, if desired&lt;br /&gt;
    --     apart       -- string, with separator, if desired&lt;br /&gt;
    --     frame       -- object, if available&lt;br /&gt;
    -- Returns string&lt;br /&gt;
    local r&lt;br /&gt;
    if type( all ) == &amp;quot;string&amp;quot; then&lt;br /&gt;
        local story = mw.text.trim( all )&lt;br /&gt;
        local s     = story:sub( 1, 1 )&lt;br /&gt;
        if s == &amp;quot;#&amp;quot; or s == &amp;quot;*&amp;quot; then&lt;br /&gt;
            local list = ( s == &amp;quot;#&amp;quot; )&lt;br /&gt;
            local items, got&lt;br /&gt;
            if list then&lt;br /&gt;
                s = &amp;quot;\n%s*#%s*&amp;quot;&lt;br /&gt;
            else&lt;br /&gt;
                s = &amp;quot;\n%s*%*%s*&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            items = mw.text.split( story:sub( 2 ),  s )&lt;br /&gt;
            for i = 1, #items do&lt;br /&gt;
                s = mw.text.trim( items[ i ] )&lt;br /&gt;
                if s ~= &amp;quot;&amp;quot; then&lt;br /&gt;
                    got = got  or  { }&lt;br /&gt;
                    table.insert( got, s )&lt;br /&gt;
                end&lt;br /&gt;
            end -- for i&lt;br /&gt;
            if got then&lt;br /&gt;
                local start&lt;br /&gt;
                if type( ahead ) == &amp;quot;string&amp;quot;  and  ahead ~= &amp;quot;&amp;quot; then&lt;br /&gt;
                    start = ahead&lt;br /&gt;
                end&lt;br /&gt;
                r = HorizontalList.fiat( got,&lt;br /&gt;
                                         list,&lt;br /&gt;
                                         start,&lt;br /&gt;
                                         altogether,&lt;br /&gt;
                                         access,&lt;br /&gt;
                                         alien,&lt;br /&gt;
                                         apart,&lt;br /&gt;
                                         frame )&lt;br /&gt;
            else&lt;br /&gt;
                r = &amp;quot;&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
        else&lt;br /&gt;
            r = story&lt;br /&gt;
        end&lt;br /&gt;
    elseif all then&lt;br /&gt;
        r = tostring( all )&lt;br /&gt;
    else&lt;br /&gt;
        r = &amp;quot;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    return r&lt;br /&gt;
end -- HorizontalList.f()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HorizontalList.fiat = function ( all, advance, ahead, altogether,&lt;br /&gt;
                                 access, alien, apart, frame )&lt;br /&gt;
    -- Generate horizontal list from item sequence&lt;br /&gt;
    -- Parameter:&lt;br /&gt;
    --     all         -- table, with sequence of items&lt;br /&gt;
    --                    each item is a string or a mw.html object&lt;br /&gt;
    --     ahead       -- string, to prefix if desired&lt;br /&gt;
    --     advance     -- true, if ordered list requested&lt;br /&gt;
    --     altogether  -- true, if nowrap around each item&lt;br /&gt;
    --     access      -- string, with fragment, if desired&lt;br /&gt;
    --     alien       -- string, with language code, if desired&lt;br /&gt;
    --     apart       -- string, with separator, if desired&lt;br /&gt;
    --     frame       -- object, if available&lt;br /&gt;
    -- Returns string&lt;br /&gt;
    local r&lt;br /&gt;
    if type( all ) == &amp;quot;table&amp;quot; then&lt;br /&gt;
        local e&lt;br /&gt;
        if #all &amp;gt; 1 then&lt;br /&gt;
            local es, ou, s&lt;br /&gt;
            if advance then&lt;br /&gt;
                s = &amp;quot;ol&amp;quot;&lt;br /&gt;
            else&lt;br /&gt;
                s = &amp;quot;ul&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            ou = mw.html.create( s )&lt;br /&gt;
            for k, v in pairs( CSS.classesBlock ) do&lt;br /&gt;
                ou:addClass( v )&lt;br /&gt;
            end -- for k, v&lt;br /&gt;
            if CSS.style then&lt;br /&gt;
                ou:cssText( CSS.style )&lt;br /&gt;
            end&lt;br /&gt;
            if CSS.css then&lt;br /&gt;
                ou:css( CSS.css )&lt;br /&gt;
            end&lt;br /&gt;
            if type( access ) == &amp;quot;string&amp;quot; then&lt;br /&gt;
                s = mw.text.trim( access )&lt;br /&gt;
                if s ~= &amp;quot;&amp;quot; then&lt;br /&gt;
                    ou:attr( &amp;quot;id&amp;quot;, s )&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            if alien then&lt;br /&gt;
                s = mw.text.trim( alien )&lt;br /&gt;
                if s ~= &amp;quot;&amp;quot; then&lt;br /&gt;
                    ou:attr( &amp;quot;lang&amp;quot;, s )&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
            if type( apart ) == &amp;quot;string&amp;quot; then&lt;br /&gt;
                es = mw.html.create( &amp;quot;span&amp;quot; )&lt;br /&gt;
                            :node( mw.html.create( &amp;quot;span&amp;quot; )&lt;br /&gt;
                                          :attr( &amp;quot;aria-hidden&amp;quot;, &amp;quot;true&amp;quot; )&lt;br /&gt;
                                          :wikitext( apart ) )&lt;br /&gt;
                for k, v in pairs( CSS.classesSep ) do&lt;br /&gt;
                    es:addClass( v )&lt;br /&gt;
                end -- for k, v&lt;br /&gt;
            end&lt;br /&gt;
            if type( ahead ) == &amp;quot;string&amp;quot; then&lt;br /&gt;
                e = mw.html.create( &amp;quot;li&amp;quot; )&lt;br /&gt;
                           :wikitext( ahead )&lt;br /&gt;
                for k, v in pairs( CSS.classesPrefix ) do&lt;br /&gt;
                    e:addClass( v )&lt;br /&gt;
                end -- for k, v&lt;br /&gt;
                ou:newline()&lt;br /&gt;
                  :node( e )&lt;br /&gt;
            end&lt;br /&gt;
            for i = 1, #all do&lt;br /&gt;
                e = mw.html.create( &amp;quot;li&amp;quot; )&lt;br /&gt;
                s = all[ i ]&lt;br /&gt;
                if type( s ) == &amp;quot;table&amp;quot; then&lt;br /&gt;
                    e:node( s )&lt;br /&gt;
                else&lt;br /&gt;
                    e:wikitext( tostring( s ) )&lt;br /&gt;
                end&lt;br /&gt;
                if CSS.styleItem then&lt;br /&gt;
                    e:cssText( CSS.styleItem )&lt;br /&gt;
                end&lt;br /&gt;
                if es  and  i &amp;lt; #all then&lt;br /&gt;
                    e:node( es )&lt;br /&gt;
                end&lt;br /&gt;
                if altogether then&lt;br /&gt;
                    fix( e )&lt;br /&gt;
                end&lt;br /&gt;
                ou:newline()&lt;br /&gt;
                  :node( e )&lt;br /&gt;
            end -- for i&lt;br /&gt;
            if type( frame ) ~= &amp;quot;table&amp;quot; then&lt;br /&gt;
                frame = mw.getCurrentFrame()&lt;br /&gt;
            end&lt;br /&gt;
            if CSS.styles then&lt;br /&gt;
                r = frame:extensionTag( &amp;quot;templatestyles&amp;quot;,&lt;br /&gt;
                                        nil,&lt;br /&gt;
                                        { src = CSS.styles } )&lt;br /&gt;
            else&lt;br /&gt;
                r = &amp;quot;&amp;quot;&lt;br /&gt;
            end&lt;br /&gt;
            r = r .. tostring( ou )&lt;br /&gt;
        else&lt;br /&gt;
            r = all[ 1 ]&lt;br /&gt;
            if altogether then&lt;br /&gt;
                if type( r ) ~= &amp;quot;table&amp;quot; then&lt;br /&gt;
                    r = mw.html.create( &amp;quot;span&amp;quot; )&lt;br /&gt;
                               :wikitext( tostring( r ) )&lt;br /&gt;
&lt;br /&gt;
                end&lt;br /&gt;
                fix( r )&lt;br /&gt;
            end&lt;br /&gt;
            r = tostring( r )&lt;br /&gt;
            if type( ahead ) == &amp;quot;string&amp;quot; then&lt;br /&gt;
                r = string.format( &amp;quot;%s %s&amp;quot;, ahead, r )&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return r or &amp;quot;&amp;quot;&lt;br /&gt;
end -- HorizontalList.fiat()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HorizontalList.first = function ( arglist )&lt;br /&gt;
    -- Configure CSS environment&lt;br /&gt;
    -- Parameter:&lt;br /&gt;
    --     arglist  -- table, with optional components&lt;br /&gt;
    --                 styleItem     -- style per item&lt;br /&gt;
    --                                  -- string&lt;br /&gt;
    --                 styles        -- templatestyles page&lt;br /&gt;
    --                                  -- string, with name&lt;br /&gt;
    --                                  -- table, with title object&lt;br /&gt;
    --                 classesBlock  -- class(es) for block element&lt;br /&gt;
    --                                  -- string, with class(es)&lt;br /&gt;
    --                                  -- table, with particular mapping&lt;br /&gt;
    --                 classesNowrap -- class(es) for nowrap element&lt;br /&gt;
    --                                  -- string, with class(es)&lt;br /&gt;
    --                                  -- table, with particular mapping&lt;br /&gt;
    --                 classesPrefix -- class(es) for prefix element&lt;br /&gt;
    --                                  -- string, with class(es)&lt;br /&gt;
    --                                  -- table, with particular mapping&lt;br /&gt;
    --                 classesSep    -- class(es) for separator element&lt;br /&gt;
    --                                  -- string, with class(es)&lt;br /&gt;
    --                                  -- table, with particular mapping&lt;br /&gt;
    if type( arglist ) == &amp;quot;table&amp;quot; then&lt;br /&gt;
        local s, val&lt;br /&gt;
        for k, v in pairs( CSS ) do&lt;br /&gt;
            if type( v ) == &amp;quot;table&amp;quot; then&lt;br /&gt;
                val = arglist[ k ]&lt;br /&gt;
                s   = type( val )&lt;br /&gt;
                if s == &amp;quot;string&amp;quot; then&lt;br /&gt;
                    s = mw.text.trim( val )&lt;br /&gt;
                    if s ~= &amp;quot;&amp;quot; then&lt;br /&gt;
                        table.insert( v, s )&lt;br /&gt;
                    end&lt;br /&gt;
                elseif s == &amp;quot;table&amp;quot; then&lt;br /&gt;
                    for kk, vv in pairs( val ) do&lt;br /&gt;
                        if type( vv ) == &amp;quot;string&amp;quot; then&lt;br /&gt;
                            s = mw.text.trim( vv )&lt;br /&gt;
                            if s == &amp;quot;&amp;quot; then&lt;br /&gt;
                                s = nil&lt;br /&gt;
                            end&lt;br /&gt;
                        else&lt;br /&gt;
                            s = nil&lt;br /&gt;
                        end&lt;br /&gt;
                        v[ kk ] = s&lt;br /&gt;
                    end -- for kk, vvv&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
        end -- for k, v&lt;br /&gt;
        val = arglist.styles&lt;br /&gt;
        s   = type( val )&lt;br /&gt;
        if s == &amp;quot;string&amp;quot; then&lt;br /&gt;
            s = mw.text.trim( val )&lt;br /&gt;
        elseif s == &amp;quot;table&amp;quot;  and&lt;br /&gt;
               type( val.prefixedText ) == &amp;quot;string&amp;quot;  and&lt;br /&gt;
               type( val.exists ) == &amp;quot;boolean&amp;quot;  and&lt;br /&gt;
               val.exists then&lt;br /&gt;
            s = val.prefixedText&lt;br /&gt;
        else&lt;br /&gt;
            s = false&lt;br /&gt;
        end&lt;br /&gt;
        if s  and  s:match( &amp;quot;.+:.+%.css$&amp;quot;) then&lt;br /&gt;
            CSS.styles = s&lt;br /&gt;
        end&lt;br /&gt;
        val = arglist.style&lt;br /&gt;
        s   = type( val )&lt;br /&gt;
        if s == &amp;quot;string&amp;quot; then&lt;br /&gt;
            s = mw.text.trim( val )&lt;br /&gt;
            if s ~= &amp;quot;&amp;quot; then&lt;br /&gt;
                CSS.style = s&lt;br /&gt;
            end&lt;br /&gt;
        elseif s == &amp;quot;table&amp;quot; then&lt;br /&gt;
            CSS.css = val&lt;br /&gt;
        end&lt;br /&gt;
        val = arglist.styleItem&lt;br /&gt;
        if type( val ) == &amp;quot;string&amp;quot; then&lt;br /&gt;
            s = mw.text.trim( val )&lt;br /&gt;
            if s ~= &amp;quot;&amp;quot; then&lt;br /&gt;
                CSS.styleItem = s&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end -- HorizontalList.first()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Failsafe.failsafe = function ( atleast )&lt;br /&gt;
    -- Retrieve versioning and check for compliance&lt;br /&gt;
    -- Precondition:&lt;br /&gt;
    --     atleast  -- string, with required version&lt;br /&gt;
    --                         or &amp;quot;wikidata&amp;quot; or &amp;quot;~&amp;quot; or &amp;quot;@&amp;quot; or false&lt;br /&gt;
    -- Postcondition:&lt;br /&gt;
    --     Returns  string  -- with queried version/item, also if problem&lt;br /&gt;
    --              false   -- if appropriate&lt;br /&gt;
    -- 2020-08-17&lt;br /&gt;
    local since = atleast&lt;br /&gt;
    local last    = ( since == &amp;quot;~&amp;quot; )&lt;br /&gt;
    local linked  = ( since == &amp;quot;@&amp;quot; )&lt;br /&gt;
    local link    = ( since == &amp;quot;item&amp;quot; )&lt;br /&gt;
    local r&lt;br /&gt;
    if last  or  link  or  linked  or  since == &amp;quot;wikidata&amp;quot; then&lt;br /&gt;
        local item = Failsafe.item&lt;br /&gt;
        since = false&lt;br /&gt;
        if type( item ) == &amp;quot;number&amp;quot;  and  item &amp;gt; 0 then&lt;br /&gt;
            local suited = string.format( &amp;quot;Q%d&amp;quot;, item )&lt;br /&gt;
            if link then&lt;br /&gt;
                r = suited&lt;br /&gt;
            else&lt;br /&gt;
                local entity = mw.wikibase.getEntity( suited )&lt;br /&gt;
                if type( entity ) == &amp;quot;table&amp;quot; then&lt;br /&gt;
                    local seek = Failsafe.serialProperty or &amp;quot;P348&amp;quot;&lt;br /&gt;
                    local vsn  = entity:formatPropertyValues( seek )&lt;br /&gt;
                    if type( vsn ) == &amp;quot;table&amp;quot;  and&lt;br /&gt;
                       type( vsn.value ) == &amp;quot;string&amp;quot;  and&lt;br /&gt;
                       vsn.value ~= &amp;quot;&amp;quot; then&lt;br /&gt;
                        if last  and  vsn.value == Failsafe.serial then&lt;br /&gt;
                            r = false&lt;br /&gt;
                        elseif linked then&lt;br /&gt;
                            if mw.title.getCurrentTitle().prefixedText&lt;br /&gt;
                               ==  mw.wikibase.getSitelink( suited ) then&lt;br /&gt;
                                r = false&lt;br /&gt;
                            else&lt;br /&gt;
                                r = suited&lt;br /&gt;
                            end&lt;br /&gt;
                        else&lt;br /&gt;
                            r = vsn.value&lt;br /&gt;
                        end&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    if type( r ) == &amp;quot;nil&amp;quot; then&lt;br /&gt;
        if not since  or  since &amp;lt;= Failsafe.serial then&lt;br /&gt;
            r = Failsafe.serial&lt;br /&gt;
        else&lt;br /&gt;
            r = false&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return r&lt;br /&gt;
end -- Failsafe.failsafe()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Export&lt;br /&gt;
local p = { }&lt;br /&gt;
&lt;br /&gt;
p.f = function ( frame )&lt;br /&gt;
    -- Template call&lt;br /&gt;
    HorizontalList.first( { styles        = frame.args.styles,&lt;br /&gt;
                            classesBlock  = frame.args.classesBlock,&lt;br /&gt;
                            classesNowrap = frame.args.classesNowrap,&lt;br /&gt;
                            classesPrefix = frame.args.classesPrefix,&lt;br /&gt;
                            classesSep    = frame.args.classesSep,&lt;br /&gt;
                            style         = frame.args.style,&lt;br /&gt;
                            styleItem     = frame.args.styleItem } )&lt;br /&gt;
    return HorizontalList.f( frame.args[ 1 ],&lt;br /&gt;
                             frame.args.prefix,&lt;br /&gt;
                             frame.args.nowrap == &amp;quot;1&amp;quot;,&lt;br /&gt;
                             frame.args.id,&lt;br /&gt;
                             frame.args.lang,&lt;br /&gt;
                             frame.args.sep,&lt;br /&gt;
                             frame )&lt;br /&gt;
end -- p.f&lt;br /&gt;
&lt;br /&gt;
p.failsafe = function ( frame )&lt;br /&gt;
    -- Versioning interface&lt;br /&gt;
    local s = type( frame )&lt;br /&gt;
    local since&lt;br /&gt;
    if s == &amp;quot;table&amp;quot; then&lt;br /&gt;
        since = frame.args[ 1 ]&lt;br /&gt;
    elseif s == &amp;quot;string&amp;quot; then&lt;br /&gt;
        since = frame&lt;br /&gt;
    end&lt;br /&gt;
    if since then&lt;br /&gt;
        since = mw.text.trim( since )&lt;br /&gt;
        if since == &amp;quot;&amp;quot; then&lt;br /&gt;
            since = false&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return Failsafe.failsafe( since )  or  &amp;quot;&amp;quot;&lt;br /&gt;
end -- p.failsafe&lt;br /&gt;
&lt;br /&gt;
p.HorizontalList = function ()&lt;br /&gt;
    -- Module interface&lt;br /&gt;
    return HorizontalList&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.Auflistung = function ()&lt;br /&gt;
    -- Module interface @Simpsonspedia&lt;br /&gt;
    return HorizontalList&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Comic Book Guy</name></author>
	</entry>
</feed>