Modul:ChapterTabs
Aus Zweidat
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)
-- Get the mw.html builder
local builder = mw.html.create()
-- Get the SMW query results for books
local query = mw.smw.ask('[[Category:Buch]]|?BuchSortierung')
if not query then
return "No results found"
end
-- Create the content that needs to be parsed
local content = '<div class="tabber-module">\n'
content = content .. '{{TabberNeue\n' -- Use TabberNeue template/parser function
-- 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, "=", "=")
-- Add tab using TabberNeue syntax
content = content .. '|' .. safePageName .. '=' .. pageName .. '\n'
end
content = content .. '}}\n</div>'
-- Parse the content to properly render TabberNeue
return frame:preprocess(content)
end
return p