Wikipedia:Lua/Modul/TNT

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Vorlagenprogrammierung Diskussionen Lua Unterseiten
Modul Deutsch

Modul: Dokumentation

Das Modul erlaubt die Internationalisierung von Vorlagen, so dass deren lokalisierte Ausgabe und Dokumentation nur an einer Stelle (Wikipedia Commons) projektweit gepflegt werden muss.

Funktion msg

Die msg-Funktion benutzt eine Commons-Datentabelle um einen Text zu übersetzen. Dieser wird über einen Schlüssel angegeben, sowie weiteren optionalen Argumente, und gibt dessen dort hinterlegte Übersetzung in der aktuelle Sprache zurück. Wenn nötig kann die Sprache auch über den lang-Parameter explizit angegeben werden.

Die Datentabelle mit den Übersetzungen heißt üblicherweise I18n/<Template:Vorlagenname oder Module:Modulname>.tab (ohne die spitzen Klammern).

Beispiel:

{{#invoke:TNT|msg
 | I18n/Template:Graphs.tab       <!-- https://commons.wikimedia.org/wiki/Data:I18n/Template:Graphs.tab -->
 | source-table                   <!-- Übersetzung mit der id = "source-table" abrufen -->
 | param1}}                       <!-- optionaler Parameter -->

Ergebnis:

Rohdaten anzeigen oder bearbeiten

Funktion doc

Die doc-Funktion generiert einen übersetzten <templatedata>-Abschnitt für Vorlagen.

Das TemplateData-JSON-Element muss sich unter Data:Templatedata/<Vorlagenname>.tab auf Commons befinden.

Beispiel:

{{#invoke:TNT|doc|Graph:Lines}}

Verwendet https://commons.wikimedia.org/wiki/Data:Templatedata/Graph:Lines.tab und erzeugt folgende <templatedata>-Vorlage:

Diese Vorlage gibt eine oder mehrere unabhängige numerische Datenreihen als Liniendiagramm aus. Die Daten müssen entweder aus dem Commons-Data-Namensraum oder dem Wikidata-Abfragedienst kommen.

Vorlagenparameter

ParameterBeschreibungTypStatus
Tabellentyptabletype

Gibt den Typ der Tabellendaten an. "tab" (Standard) verwendet den Data-Namensraum von Commons ohne den data:-Präfix. "query" sendet eine Abfrage an den Wikidata-Abfragedienst.

Standard
tab
Mehrzeiliger Textoptional
Tabelletable

Name der Datenseite auf Commons ohne den data:-Präfix. Die Tabelle sollte eine xField-Spalte besitzen, sowie eine oder mehrere weitere Spalten die als Datenreihen dargestellt werden. Wenn der tableType-Parameter "query" ist dann wird hier die Abfrage eingetragen.

Mehrzeiliger Texterforderlich
Typ der X-Achsetype

Typ der X-Achse - time (z.B. "2015-10" oder "2013-03-08"), year (Ganzzahl die als Jahr behandelt wird), linear (Zahlen), ordinal (Sonstiges).

Standard
year
Mehrzeiliger Textvorgeschlagen
X-FeldxField

Id der Datenspalte die Werte der X-Achse enthält. Wenn type=year dann ist xField standardmäßig auch "year".

Mehrzeiliger Texterforderlich
Datenreihenseries

Namen der Spalten die die Datenreihen enthalten. Diese müssen in Anführungszeichen gesetzt werden und durch ihre Feld-Ids wie sie auf der .tab-Seite angegeben sind referenziert werden: "field1", "field2", "field3".

Mehrzeiliger Textoptional
Gruppegroup

Wenn die Linienfarbe nur von einer Spalte abhängt, kann deren Id hier angegeben werden anstelle des Datenreihen-Parameters.

Mehrzeiliger Textoptional
Wertvalue

Wenn die Linienfarbe nur von einer Spalte abhängt, kann hier die Spalte mit den Werten angegeben werden.

Mehrzeiliger Textoptional
Filterfilter

Optionally filter data with an template expression parameter e.g. `filter = datum.some_dataset_field > 1900 && datum.some_dataset_field < 2000` where `some_dataset_field` means some valid field of displayed dataset

Mehrzeiliger Textoptional
X-Achse startet mit 0xAxisZero, xZero

Erzwingt, ob die X-Achse mit dem Nullwert anfängt ("true") oder nicht ("false").

Mehrzeiliger Textoptional
Y-Achse startet mit 0yAxisZero, yZero

Erzwingt, ob die Y-Achse mit dem Nullwert anfängt ("true") oder nicht ("false").

Mehrzeiliger Textoptional
X axis scale clampxAxisClamp

Épingle sur l'échelle de l'axe X. Les courbes au delà de cette épingle seront cachées.

Wahrheitswertoptional
Y axis scale clampyAxisClamp

Épingle sur l'échelle de l'axe Y. Les courbes au delà de cette épingle seront cachées.

Wahrheitswertoptional
X-Achse, MinimumxAxisMin, xMin

Erzwingt das X-Achse mit dem angegeben Wert anfängt.

Zahlenwertoptional
X-Achse, MaximumxAxisMax, xMax

Erzwingt das X-Achse mit dem angegeben Wert endet.

Zahlenwertoptional
Y-Achse, MinimumyAxisMin, yMin

Erzwingt das Y-Achse mit dem angegeben Wert anfängt.

Zahlenwertoptional
Y-Achse, MaximumyAxisMax, yMax

Erzwingt das Y-Achse mit dem angegeben Wert endet.

Zahlenwertoptional
Y axis scaleyScale

Set Y axis scaling type - linear, log and sqrt.

Standard
linear
Mehrzeiliger Textoptional
Replace zero valuesreplaceZerosWith

Replaces 0 values in Y data field. Recommended to be use alongside with yScale=log (else zeros will be filtered out).

Zahlenwertoptional
Titeltitle

Titel des Diagramms.

Mehrzeiliger Textoptional
Title horizontal alignmenttitleXAlign

Horizontal alignment of title, could be one of: left, center, right

Mehrzeiliger Textoptional
Title horizontal offsettitleXOffset

Horizontal offset of title position, could be negative, to shift title to the left, or positive to shift title to the right

Zahlenwertoptional
X-Achse, TitelxAxisTitle

Titel der X-Achse.

Mehrzeiliger Textoptional
Y-Achse, TitelyAxisTitle

Titel der Y-Achse.

Mehrzeiliger Textoptional
X axis formatxAxisFormat

Changes the formatting of the X axis labels

Standard
%b %y (for dates)
Mehrzeiliger Textoptional
Y axis formatyAxisFormat

Changes the formatting of the Y axis labels

Standard
,d (for numbers)
Mehrzeiliger Textoptional
X axis labels anglexAxisAngle

Rotates the x axis labels by the specified angle. Recommended values are: -45, +45, -90, +90.

Zahlenwertoptional
Y axis labels angleyAxisAngle

Rotates the y axis labels by the specified angle.

Zahlenwertoptional
X axis labels font sizexAxisFontSize

keine Beschreibung

Zahlenwertoptional
Y axis labels font sizeyAxisFontSize

keine Beschreibung

Zahlenwertoptional
X-Achse, RasterxGrid

Zeigt die Hilfslinien für die X-Achse.

Wahrheitswertoptional
Y-Achse, RasteryGrid

Zeigt die Hilfslinien für die Y-Achse.

Wahrheitswertoptional
X-Achse, MarkierungsanzahlxTicks, xAxisTicks

Wie viele Markierungen sollen an der X-Achse gezeigt werden. '-' ermittelt die Anzahl automatisch.

Standard
7
Zahlenwertoptional
Y-Achse, MarkierungsanzahlyTicks, yAxisTicks

Wie viele Markierungen sollen an der Y-Achse gezeigt werden. Standardmäßig auf automatisch '-' gesetzt.

Standard
-
Zahlenwertoptional
Raw vertical annotation valuesvAnnotationsValues

Supply all annotation values as a list of JSON objects: {"text": "Big event", "x": 1980}, ...

Mehrzeiliger Textoptional
Raw horizontal annotation valueshAnnotationsValues

Supply all horizontal annotation values as a list of JSON objects: {"text":"Big event", "y": 980}, ...

Mehrzeiliger Textoptional
Vertical annotation tablevAnnotationsTable

Data page name on Commons, without the Data: prefix. The table must contain "x" column, and optional "text" and "color" columns.

Mehrzeiliger Textoptional
Horizontal annotation tablehAnnotationsTable

Data page name on Commons, without the Data: prefix. The table must contain "y" column, and optional "text" and "color" columns.

Mehrzeiliger Textoptional
Vertical annotation data transformsvAnnotationsTransforms

keine Beschreibung

Mehrzeiliger Textoptional
Horizontal annotation data transformshAnnotationsTransforms

keine Beschreibung

Mehrzeiliger Textoptional
Legendelegend

Titel der Legende.

Mehrzeiliger Textoptional
Breitewidth

keine Beschreibung

Zahlenwertoptional
Höheheight

keine Beschreibung

Zahlenwertoptional
Chart sizing modechartSizing

Chart sizing mode, could be one of: fit, pad. Use `fit` to force resulting chart canvas sizes to be exactly equal to provided width and height values. Use `pad` to define prefered plotting size with provided width and height values, and let Vega increase overall chart size to include legend and title (if any)

Standard
fit
Mehrzeiliger Textoptional
Palettecolors

Die zu verwendende Farbpalette für die Linien. Dies kann eine Liste wie red, green sein.

Mehrzeiliger Textoptional
Palette prédéfiniecolorscheme

Die zu verwendende Farbpalette für die Linien.

Standard
category10
Mehrzeiliger Textoptional
Line widthlinewidth

Line width for line charts or distance between the pie segments for pie charts.

Standard
2.5
Zahlenwertoptional
Debugdebug

Debugausgabe: wenn gesetzt wird das erzeugte JSON ausgegeben.

Mehrzeiliger Textoptional
Parameterübersetzungen bearbeiten

Allgemeine Hinweise zur Einbindung von Modulen

Eine Einbindung erfolgt jeweils im Format

{{#invoke: TNT | Funktionsname | Wert1 | Wert2 | NameX=Wert … }}

Die Parameter können wie bei Vorlagen benannt oder unbenannt sein; deren Regeln gelten analog.

Wenn unbekannte Zeichenketten von außen kommen (als Vorlagenparameter), sollte immer mit der Form 1=Wert gearbeitet werden.

Zu allgemeinen Problemen beachte die Abhilfen wie bei Vorlagen.

Wenn in einer Vorlage ein Modul verwendet wird, sollte auch immer die Vorlage:Dokumentation/Lua in der Dokumentationsseite eingebunden werden.

  1. Das gibt einem Programmierer Aufschluss, dass ein Lua-Modul benutzt wird, welche/s und ggf. welche Einzelfunktion daraus, und verlinkt auf die Dokumentation.
  2. Die Modul-Dokumentationen bekommen ein Link, in welchen Vorlagen sie eingesetzt werden, und wo bei eventuellen Funktionsänderungen Anpassungen erforderlich werden.
  3. Die Vorlage wird zur Übersicht kategorisiert in Kategorie:Vorlage:mit Lua-Programmierung.

Zu weiteren Informationen siehe Hilfe:Lua.

Bei Problemen wende dich bitte an die Vorlagen-Werkstatt, in schweren Fällen hilft auch die Lua-Werkstatt.