Modul: ChapterTabs: Unterschied zwischen den Versionen
Aus Zweidat
Zpd (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Zpd (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 4: | Zeile 4: | ||
-- Main function to generate tabs | -- Main function to generate tabs | ||
function p.generateTabs(frame) | function p.generateTabs(frame) | ||
-- Get the SMW query results for books | -- Get the SMW query results for books | ||
local query = mw.smw.ask('[[Category:Buch]]|?BuchSortierung') | local query = mw.smw.ask('[[Category:Buch]]|?BuchSortierung') | ||
| Zeile 14: | Zeile 10: | ||
return "No results found" | return "No results found" | ||
end | end | ||
-- Generate tabs content | |||
local tabContent = '' | |||
-- Generate tabs for each book | -- Generate tabs for each book | ||
| Zeile 23: | Zeile 22: | ||
-- Add tab content | -- Add tab content | ||
tabContent = tabContent .. safePageName .. '=' .. pageName .. '\n|-|\n' | |||
end | end | ||
-- | -- Remove the last separator | ||
tabContent = string.gsub(tabContent, '\n|-|\n$', '') | |||
-- | -- Use frame:extensionTag to properly trigger the extension | ||
return | return frame:extensionTag('tabber', tabContent) | ||
end | end | ||
return p | return p | ||
Version vom 25. Oktober 2024, 13:06 Uhr
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 SMW query results for books
local query = mw.smw.ask('[[Category:Buch]]|?BuchSortierung')
if not query then
return "No results found"
end
-- Generate tabs content
local tabContent = ''
-- 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 content
tabContent = tabContent .. safePageName .. '=' .. pageName .. '\n|-|\n'
end
-- Remove the last separator
tabContent = string.gsub(tabContent, '\n|-|\n$', '')
-- Use frame:extensionTag to properly trigger the extension
return frame:extensionTag('tabber', tabContent)
end
return p