Modul:AutomatischerIndex: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Maggus (Diskussion | Beiträge) (Publikation als Wikilink) |
Maggus (Diskussion | Beiträge) K ((Layout)) Markierung: Zurückgesetzt |
||
Zeile 28: | Zeile 28: | ||
--an rückgabe string anfügen | --an rückgabe string anfügen | ||
if queryResult[i]['quelle'] ~= nil then | if queryResult[i]['quelle'] ~= nil then | ||
returnString = returnString .. " | returnString = returnString .. "{{Kurzinfo|" .. mw.text.split(queryResult[i][1],'#')[1] .. "}}{{-,-}} S. " ..queryResult[i]['quelle']..'<br>' | ||
end | end | ||
i = i +1 | i = i +1 |
Version vom 21. Mai 2025, 22:25 Uhr
Die Dokumentation für dieses Modul kann unter Modul:AutomatischerIndex/Doku erstellt werden
--[[
Lua Alternative für Vorlage:AutomatischerIndex - bessere Performance in allen Bereichen
erwartet eine Publikation als argument
]]--
local p = {} --local p = {} -- p steht für Paket (engl. package)
function p.Index( frame )
--teste ob argument ungleich nichts
local Publikation = frame.args['Publikation']
if Publikation == nil then return nil end
--
local returnString = '<div style="clear:left; " ></div>' --clear left für formatierung (Inhalt von Vorlage:Umbruch_links)
local queryResult = mw.smw.ask('[[Subobject Type::Quellenverzeichnis]][[Publikation::'..Publikation..']|?=#|limit=1999|format=array|?Quelleninformationen = quelle') --link=none funktioniert nicht über api abfrage daher ?=#
local i = 1
local ersterBuchstabe = nil
while i <= table.getn(queryResult)
do
--ersten buchstaben herausfinden
if ersterBuchstabe ~= mw.text.truncate(mw.text.split(queryResult[i][1],'#')[1],1,'')
then
-- setze aktuellen ersten buchstaben
ersterBuchstabe = mw.text.truncate(mw.text.split(queryResult[i][1],'#')[1],1,'')
-- schreibe überschrift
returnString = returnString .. '<h2>' .. ersterBuchstabe .. '</h2>'
end
--an rückgabe string anfügen
if queryResult[i]['quelle'] ~= nil then
returnString = returnString .. "{{Kurzinfo|" .. mw.text.split(queryResult[i][1],'#')[1] .. "}}{{-,-}} S. " ..queryResult[i]['quelle']..'<br>'
end
i = i +1
end
return returnString .. '[[Kategorie:Index]]'
end
return p