Modul:Formatierung
Dieses Modul enthält Funktionen für Vorlagen zur Textformatierung. Die Funktionen holen sich die Argumente aus der Vorlage und müssen beim Modulaufruf nicht nochmals übergeben werden. Vergessene Parameter werden mit Standardwerten belegt, unbekannte Parameter werden als Fehlermeldung zusätzlich mit im Artikel ausgegeben.
Allgemein gültige Parameter
Die allgemein gültigen Parameter kann man sowohl innerhalb der Vorlage in der Parserfunktion invoke
benutzen, als auch innerhalb des Artikels der Vorlage selbst übergeben. Der Paramter, der bei der Einbindung der Vorlage benutzt wird, hat dabei Vorrang. So kann man bestimmte Funktionalitäten für den generellen Gebrauch der Vorlage aktivieren (über invoke
) und im Einzelfall im Artikel abschalten (bei der Verwendung der Vorlage).
|ignore_errors=
auf 1 oder true gesetzt, werden die Ausgabe der Fehlermeldungen der Funktionen unterdrückt. Standardmäßig werden die Fehler angezeigt.|no_category=
auf 1 oder true gesetzt, werden die Artikel bei Fehlermeldungen des Moduls einer Fehlerkategorie zugeordnet. Standardmäßig werden Fehlermeldungen in die Kategorie Fehlerberichte des Moduls Formatierung eingefügt. Wurden unbekannte Parameter verwendet landen die Artikel zusätzlich in der Kategorie Vorlagen mit unbekannten Parametern.|error_category=
gibt den Namen einer Fehlerkategorie an, in der der Artikel bei auftretenden Fehlern einsortiert wird. Standardmäßig ist das Fehlerberichte des Moduls Formatierung.
Submodule
- Modul:Formatierung/Params – enthält ein mehrdimensionales Array mit allen erlaubten Parametern für jede Funktion/Vorlage und ihre Standardbelegung.
Vorlagen
{{Text im Kreis}}
- Verwendung: Erzeugt rund um den übergebenen Text einen Kreis.
- Syntax:
{{Text im Kreis|Text|border-color=Kreisfarbe|text-color=Textfarbe|background-color=Hintergrundfarbe|styles=zusätzliche CSS-Stilanweisungen}}
- Lua-Funktion: p.text_im_kreis
- Die obige Dokumentation wurde aus der Seite Modul:Formatierung/Doku eingefügt. (bearbeiten | Versionsgeschichte) Die Kategorien für dieses Modul sollten in der Dokumentation eingetragen werden. Die Interwiki-Links sollten auf Wikidata eingepflegt werden.
- Liste der Unterseiten
local htmlBuilder = require('Modul:HtmlBuilder')
local check = require('Modul:Check2')
local p = {}
function p.arguments ( qbFrame , qbParams, qbOption )
argsParent = qbFrame:getParent().args
argsFrame = qbFrame.args
local value = argsParent[qbOption]
if value == nil then value = argsFrame[qbOption] end
if value == nil then value = qbParams[qbOption] end
return value
end
function p.text_im_kreis ( frame )
params = mw.loadData('Modul:Formatierung/Params')
funcParams = params['text_im_kreis']
-- Modul zur HTML-Erzeugung einbinden
local display = htmlBuilder.create()
-- Argumente holen, die der Vorlage übergeben wurden
args = frame:getParent().args
-- Argumente auswerten, auf Vorhandensein prüfen und ggf. mit Standardwerten belegen
local content = args[1]
if content == nil then content = '1' end
local border_color = p.arguments ( frame, funcParams, 'border_color')
local background_color = p.arguments ( frame, funcParams, 'background_color')
local text_color = p.arguments ( frame, funcParams, 'text_color')
local styles = p.arguments ( frame, funcParams, 'styles')
-- lokale Variablen initiieren
local padding = ''
-- Padding entsprechend Textlänge festlegen
if string.len (content) == 0 then content = '1' end
if string.len (content) == 1 then padding = '0.05em 0.3em 0.05em 0.3em' else padding = '0.1em 0.2em 0.1em 0.1em' end
-- Inhalt erzeugen
display
.tag ( 'div' )
.css ( 'display', 'inline' )
.css ( 'border', '2px solid ' .. border_color )
.css ( 'background', background_color )
.css ( 'color', text_color )
.css ( 'border-radius', '10em' )
.css ( '-moz-border-radius', '10em' )
.css ( '-webkit-border-radius', '10em' )
.css ( '-khtml-border-radius', '10em' )
.css ( '-o-border-radius', '10em' )
.css ( 'font-weight', 'bold' )
.css ( 'padding', padding )
.cssText ( styles )
.wikitext ( content )
-- Fehlertext und Ausgabe zurückgeben
return check._testParams ( args, funcParams, 'Formatierung' ) .. tostring ( display )
end
return p