Modul:Development

Version vom 16. Juni 2025, 12:45 Uhr von HeikoK (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „local p = {} --p stands for package function p.return_args() local args = "" for key, value in pairs(mw.getCurrentFrame():getParent().args) do args = args .. key .. "=" .. value .. " " end return args end return p“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Das Modul:Development hält verschiedene Funktionen zum Debuggen bereit:

print_template_args()

Die Funktion soll helfen, Vorlagen und insbesondere deren Einbindung zu debuggen, wenn nicht klar ist, ob alle und die richtigen Argumente übergeben werden.

Eingebunden in eine Vorlage gibt es seinen Aufruf mit Parametern aus. Man fügt einfach {{#invoke:Development|print_template_args}} temporär in die Vorlage (ggf. nur in die Vorschau) ein und sieht z. B.
Modul:Development|print_template_args: {{Karte|lon=10.9978422|lat=49.4805779|zoom=17}}

print_call_args()

Die Funktion soll helfen, die Argumente eines {{Vorlage | ...}} oder {{#invoke:Modul|Funktion | ...}} oder {{#display_map: ...}} zu debuggen, wenn nicht klar ist, ob alle und die richtigen Argumente übergeben werden.

Eingebunden wird die Funktion anstelle des eigentlichen Invokes. Beispiele:

  • {{ Vorlage | arg1=a | arg2=b }} ändern zu {{ #invoke:Development|print_call_args | arg1=a | arg2=b }} ergibt Skriptfehler: Die Funktion „print_call_args“ ist nicht vorhanden.
  • {{ #invoke:Modulename|Funktionsname | arg1=1 | arg2=2 }} ändern zu {{ #invoke:Development|print_call_args | arg1=1 | arg2=2 }} ergibt Skriptfehler: Die Funktion „print_call_args“ ist nicht vorhanden.
  • {{ #display_map: geojson=Südstadt | enablefullscreen=yes | resizable=yes }} ändern zu {{ #invoke:Development|print_call_args | geojson=Südstadt | enablefullscreen=yes | resizable=yes }} ergibt Skriptfehler: Die Funktion „print_call_args“ ist nicht vorhanden.

GetFrameAndParentArgs()

Dient Debugging-Zecken. Im Normalfall werden frame und parent-args rückgeliefert, aber diese können in der Lua-Konsole auch nach Schema pargs={} gesetzt werden. Hintergrund: In der Konsole funktioniert frame:getParent().args nicht.

htmlAndWikitextDump()

Diese Funktion hilft HTML- und WikiText für Dump/Log-Ausgaben sichtbar zu machen, der sonst gerendert werden würde. Es werden die bei HTML- und WikiText üblichen eckigen und geschweiften Klammern sowie die Größer/Kleiner-Zeichen in HTML Escape-Zeichen umgewandelt.

Unterseiten


local p = {} --p stands for package

function p.return_args()
	local args = ""
	for key, value in pairs(mw.getCurrentFrame():getParent().args) do
		args = args .. key .. "=" .. value .. " "
	end
    return args
end

return p