Modul:ChapterTabs

Aus Zweidat
Wechseln zu: Navigation, Suche

Die Dokumentation für dieses Modul kann unter Modul:ChapterTabs/Doku erstellt werden

-- Module for creating TabberNeue structure from SMW query
local p = {}

-- Main function to generate tabs
function p.generateTabs(frame)
    local tabberStart = '<tabber>\n'
    local tabberEnd = '</tabber>'
    local tabs = ''
    
    -- Get the SMW query results for books
    local query = mw.smw.ask('[[Category:Buch]]|?BuchSortierung')
    
    if not query then
        return "No results found"
    end
    
    -- Generate tabs for each book
    for _, result in ipairs(query) do
        -- Get the page name from the first element
        local pageName = result[1]
        -- Escape any equal signs in the page name
        local safePageName = string.gsub(pageName, "=", "&#61;")
        
        -- Simply use the page name as content
        tabs = tabs .. safePageName .. '=' .. pageName .. '\n|-|\n'
    end
    
    -- Remove the last tab separator
    tabs = string.gsub(tabs, '\n|-|\n$', '')
    
    return tabberStart .. tabs .. tabberEnd
end

return p