Benutzer:Lea b/Vorlagen programmieren
Grundlagen s.a.
Bedingtes Einbinden von Quelltextblöcken
Tag-Kombination | Auf Vorlagenseite? | Einbindung? | Anmerkung |
---|---|---|---|
keine | Ja | Ja | Nur, wenn kein onlyinclude in der Vorlage ist. |
<includeonly>…</includeonly> | Nein | Ja | Nur, wenn kein onlyinclude in der Vorlage ist. |
<noinclude>…</noinclude> | Ja | Nein | Auch innerhalb von onlyinclude möglich. |
<onlyinclude>…</onlyinclude> | Ja | Ja | Text außerhalb wird nicht eingebunden. |
<onlyinclude><includeonly>… </includeonly></onlyinclude> |
Nein | Ja | Text außerhalb wird nicht eingebunden. |
Unterseiten
s.a. Vorlage:Dokumentation#Unterseiten anlegen
Dokumentation
Für ausführliche Dokumentationen Unterseite anlegen: /Doku
.
Einbinden der Dokumentation in die Vorlage mit <noinclude>{{Dokumentation}}</noinclude>
XML
<?xml version="1.0" encoding="UTF-8"?> <?mediawiki "{{XML-Warnung}}"?> <TemplateUsage output=""> <Group name="" showempty=""> <Parameter name="" /> <Parameter name="" label="" lentgh="" height="" null="" predefinded=""> <Help> </Help> <Condition> </Condition> <Default> </Default> <Value> </Value> <AutoValue> </Autovalue> </Parameter> </Group> </TemplateUsage>
Attribute von <Template Usage>
und <Group>
output="collapse"
: nur Parameter welche einen Wert haben werden ausgegeben, der Quelltext enthält keine Zeilenumbrüche
output="expand"
: Quelltext enthält auch leere Parameter, jeder Parameter steht auf einer eigenen Zeile.showempty=""
:"true"
→ alle Parameter diser Gruppe werden im Quelltext angegeben."false"
: Die Parameter der Gruppe werden nur ausgegeben wenn mind. einer einen Wert hat.
Attribute von <Parameter>
name=""
: Name des Parameters in der Vorlagelabel=""
: Wie der Parameter im Vorlagenmeister genannt werden soll.lenght=""
: Die Länge des Eingabefeldes für diesen Parameter (in Zeichen)height=""
: Höhe des Eingabefeldes für diesen Parameter in Zeilennull=""
: mögliche Werte sindtrue
für optionale Parameter undfalse
für Pflichtparameter.predefinded=""
:true
für vordefinierte Parameter,false
für nicht vordefinierte Werte.
Kindobjekte von <parameter>
<Default>
: Zur Festlegung eines Vorgabewerts mit dem das Eingabefeld immer vorausgefüllt wird.<Help>
: Hilfetext zum Parameter. Erscheint in der Statuszeile des Eingabeformulars wenn der Parameter aktiv ist.<Value>
: zur Angabe von Werten welche der Parameter annehmen darf. Jeder Parameter wird in ein eigenes Value-Tag eingeschlossen.<AutoValue>
: Wert welcher in die Vorlage eingefügt wird, wenn das Feld im Vorlagenmeister leer bleibt.
Tags
<name>
: Anfangs-Tag</name>
: Ende-Tag<name/>
: Unary-tag, haben keinen Inhalt- Element: Einheit aus Anfang, Inhalt und Ende
- Attribute (auch Parameter oder Eigenschaften): Stehen im Anfangs-Tag.
- Format:
attribut="Wert"
- Der
Wert
steht dabei immer zwischen"
.
- Format:
Tag-Namen
<span>....</span>
: Universalelement für beliebige Textformatierungen. Wirkt im Gegensatz zum <div> auch innerhalb eines Absatzes. Bsp.: Zuweisung von class und style zu Textelementen.<div atr1="Wert" atr2="Wert"...>...</div>
: Definierung eines Elements auf der Textblockebene. Bsp.: Zuweisung von class und style zu Textblöcken.<synthaxhighlight lang="">
: Zur Darstellung von Programm-Quelltexten.
Attribute (Eigenschaften) class und style
class
: dienen v.a. der Zuordnung von CSS. Gilt für alle Elemente. Mehrere Klassen werden durch Leerzeichen voneinander getrennt.
style
: Wie code, gilt aber nur für ein Element.
Zusammenfassung
Style="clear: both; -moz-columns: x y; -webkit-columns: x y; columns: x y; display:; float:; height:; width:; overflow:; white-space:; padding: ; margin:; background: #RRGGBB; border: em solid #RRGGBB; border-radius:; line-height:; font-size:; color:; text-align:;vertical-align:;"
Spalten (s.a.)
Spalten werden mit
-moz-columns: x y; -webkit-columns: x y; columns: x y;
erzeugt. Es ist nötig dreimal die selben Angaben zu machen, da unterschiedliche Browser verschiedene Befehle zur Spaltenbildung benötigen.
x
: Anzahl Spalteny
: Spaltenbreite (keine Angabe → automatische Spaltenbreite)
Formatierung von Elementen
display (s.a.)
Definiert die Art der Box
style="display:inline"
: Boxen auf einer horizontalen Linie, width ist wirkungslos.- horizontale Ausrichtung mit
style="text-align:"
- vertikale Ausrichtung mit
style="vertical-align:"
- horizontale Ausrichtung mit
style="display:block"
gewohne Darstellung mit untereinander angeordneten, die ganze Breite einnehmenden Blöcken.- Element mittig ausrichten mit
style="margin-left:auto; margin-right:auto"
- Element mittig ausrichten mit
style="display:inline-block"
: Mischung aus inline und block (aussen inline, innen block.- Elementbreite kann mit
style="width:"
festgelegt werden. - Ausrichtung erfolgt wie bei inline
- Elementbreite kann mit
style="display:flex"
undstyle="display:flex"
→ flexible Layouts.
Ausrichtung
style="float: right"
oderclass="float-right"
: Element wird nach rechts ausgerichtet. class sorgt zusätzlich für einen Abstand zum Fliesstext.style="float: left"
oderclass="float-left"
: Element nach links ausgerichtetclass="center"
: Element wird mittig ausgerichtet.
<div style="clear: both;"></div>
bewirkt, dass nach Einbindung von Bildern oder Tabellen das Seitenlayout wieder über die ganze Breite reicht. (weitere Details)
Grösse (s.a.)
style="width:"
: Breite des Inhaltsstyle="height:"
: Höhe des Inhaltsstyle="min-width:"
: Mindestbreite (funktioniert auf Wikipedia nur in Tabellen)style="min-height:"
: Mindesthöhestyle="max-width:"
: Maximalbreite (funktioniert auf Wikipedia nur in Tabellen)style="max-height:"
: Maximalhöhe
overflow (s.a.)
Falls der Inhalt zu gross ist kann mit Overflow bestimmt werden was mit dem Überschuss geschieht.
style="overflow:auto"
: browserabhängige Darstellung, meist mit Scrollbalkenstyle="overflow:scroll"
: Inhalte per Scrollbalcken erreichbar.style="overflow:visible"
: Inhalte sind sichtbarstyle="overflow:hidden"
: Inhalte sind unsichtbar
Zudem kann die x-Achse overflow-x:
unabhängig von der y-Achse overflow-y:
codiert werden.
white space (s.a.)
Kontrolliert das Verhalten von Leerzeichen und Umbrüchen im Text.
Abstände (s.a. für Padding oderMargin)
- Padding: Innenabstand (Inhalt-Rand)
style="padding: w x y z"
wobei:- w = Abstand zu Oberkante
auch möglich:style="padding-top:"
- x = Abstand zum rechten Rand
auch möglich:style="padding-right:"
- y = Abstand zum Unterrand
auch möglich:style="padding-bottom:"
- z = Abstand zum linken Rand
auch möglich:style="padding-left:"
- w = Abstand zu Oberkante
- Margin: Aussenrand(Abstand zwischen zwei Elementen)
style="margin: w x y z"
wobei:- w = Abstand zu Oberkante
auch möglich:style="margin-top:"
- x = Abstand zum rechten Rand
auch möglich:style="margin-right:"
- y = Abstand zum Unterrand
auch möglich:style="margin-bottom:"
- z = Abstand zum linken Rand
auch möglich:style="margin-left:"
- w = Abstand zu Oberkante
Hintergrundfarben:
style="background: #RRGGBB"
oder
class="hintergrundfarbe"
Rahmen
<span style="border: 0.1em solid #0000FF">Text innerhalb des Rahmens</span>
Variablen:
- Ersetzen von
Border
durch
border-top
border-left
border-right
border-bottom 0.1em
steht für die Dicke der Linie- Ersetzen von
solid
durch dotted dashed double groove ridge inset outset #0000FF
steht für die Farbe des Rahmens. Hilfe:Farbtabelle- abgerundete Ecken:
<span style="border: 0.1em solid #0000FF; border-radius: 1em;">Text</span>
Ellipse:
<span style="border: 0.1em solid #0000FF; border-radius: 4em/1em;">Text</span>
Unterschiedliche Ecken:
<span style="border: 0.1em solid #0000FF; border-radius: aem bem cem dem;">Text</span>
a: Wert für oben links (hier 1em),
b: Wert für oben rechts (hier 2em),
c: Wert für unten rechts (hier 3em),
d: Wert für unten links (hier 4em).
abgerundete Ecken der Hintergrundfarbe ohne Rahmen:
<br/> <span style="border: none; background-color: #00FF00; border-radius: 2em;">Text</span>
Textformatierung
Höhe der Zeile (s.a.)
style="line-height:"
: Angabe erfolgt- relativ zur Schriftgrösse wobei nach dem Doppelpunkt ein Prozentwert oder eine Fliesskommazahl (z.B. 1.2) stehen kann.
- durch eine absolute Angabe (
line-height: xem
) style="line-height:normal"
: Browser wählt eine vernünftige relative Zeilenhöhe
Schriftgrösse
style="font-size: xxem; line-height: xxem; color: #xxyyzz"
Schriftfarbe
style="color:"
: s.a. Hilfe:Farbtabelle- <font color="red" size="+1">Text</font>
Ausrichtung
style="text-align: left"
: linksbündigstyle="text-align: right"
: rechtbündigstyle="text-align: center"
oderclass="center"
: mittig.style="text-align:justify;"
: Blocksatzstyle="vertical-align: top"
: obenclass="toptextcells"
: oben für alle Zellen einer Tabellestyle="vertical-align: middle"
: mittigstyle="vertical-align: bottom"
: unte
Attribute für Syntaxhighlight
s.a.
<syntaxhighlight lang="" inline highlight="" line start="" strict id title dir class style>
Pflichparameter
lang=""
Bezeichnet die Sprache deren Synthaxhighlight verwendet werden soll. Möliche Attribute sind:- php
- css
- html4strict
- weitere Sprachen
optionale Parameter
inline
: Um die Synthaxhighlight innerhalb eines Absatzes wiederzugeben (sonst entsteht mit source eine eigener Absatz)highlight="x-y"
: Die Zeilen x-y werden farbig hinterlegtline
: Die Zeilen werden durchnummeriert. Soll nicht mit Zeile 1 begonnen werden kann nochstart="Zeilennummer"
hinzugefügt werden.class
undstyle
: s.oben
Boxen
Eine Box besteht aus dem Inhaltsbereich mit Text und/oder Bild, dessen Grösse mit width
und height
vorgegeben wird, dem Innenabstand padding
, dem Rahmen border
und dem Aussenabstand margin
- Mit dem <div>-Tag entsteht die Box rechts: Inhalt der Div-Box
2. Zeile<div style="float: right; height: 5em; width: 10em; background: #00FF00; border: 0.1em solid #0000FF; padding: 0.3em; margin: 2em; text-align: center;">Inhalt der Div-Box <br/> 2. Zeile</div>
- Mit dem <span>-Tag:
Inhalt der Span-Box
2. Zeile<span style="float: right; height: 5em; width: 10em; background: #00FF00; border: 0.1em solid #0000FF; padding: 0.3em; margin: 2em; text-align: center;">Inhalt der Span-Box <br/>2. Zeile</span>
oder auch:
<span style="background: #00FF00; border: 0.1em solid #0000FF;"> Box ohne viel Codierung</span>
Box ohne viel Codierung
Klappbox mit mw-collapsible
<div class="mw-collapsible mw-collapsed" data-expandtext="" data-collapsetext="" style="">
Titel der Klappbox
<div class="mw-collapsible-content" style="">
Inhalt der Klappbox
</div>
</div>
dabei bedeutet:
mw-collapsibel
: bewirkt die Einklappbarkeitmw-collapsed
: bewirkt, dass der Kasten von Anfang an eingeklappt ist.data-expandtext
: Text oder sonstige Daten deren Anklicken ein Aufklappen der Box bewirken.data-collapsetext
: Text oder sonstige Daten, deren Anklicken ein Zuklappen der Box bewirken.
Mit class="Nav...."
<div class="NavFrame">
<div class="NavHead">[... This is the title of your collapsible content ...]</div>
<div class="NavContent">
[... The content you want to hide goes here ...]
</div>
</div>
Rollbox
<div style="height:; overflow:;">Inhalt</div>
Wobei nach overflow:
folgende Aussagen verfügbar sind s.a.
- auto: browserabhängige Darstellung, meist mit Scrollbalken
- scroll: Inhalte per Scrollbalcken erreichbar.
- visible: Inhalte sind sichtbar
- hidden: Inhalte sind unsichtbar
Zudem kann die x-Achse overflow-x:
unabhängig von der y-Achse overflow-y:
codiert werden.
Tabellen
Kopiervorlage einfache Tabelle
{| border="1pt black solid" style="border-collapse: collapse" cellpadding="3" |}
Inhalt
ist alles was zwischen {|
und |}
steht.
neue Zelle
|
zum Beginn einer Quelltextzeile.||
innerhalb einer Quelltextzeile
neue Zeile
|-
Kopfzeile
!
anstelle von|
(→ Text wird fett und zentriert dargestellt)
Beschriftung der Tabelle
|+ Beschriftungstext
|+ align="bottom" style="caption-side: bottom" | Beschriftungstext unter der Tabelle
Wikitable
class="wikitable"
im Tabellenkopf → schwach grau getönte Tabelle mit sichtbaren, wenngleich dezenten Zellgrenzen. Zwischen Zellinhalt und Rand wird etwas Luft gelassen.
Attribute
- die gesamte Tabelle betreffend:
{| style="" class=""
- eine Zeile betreffend:
|- style="" class=""
- eine Zelle betreffend:
| style="" class="" |Inhalt der Zelle
- die gesamte Tabelle betreffend:
Tabellengrenzen
- Tabellengrenzen zeichnen mit:
border="xy"
nach dem Initialen{|
. - Zellgrenzen zeichnen:
- Tabellengrenzen zeichnen mit:
Zeichnen der Oberkannte einer Zelle: | style="border-top: 1pt black solid" |
Zeinen des rechten Randes einer Zelle durch: | style="border-right:medium solid" |
- border-collapse: innerhalb eines style-Tags
border-collapse: seperate
→ Rahmen benachbarter Tabellenelemente werden getrennt.
border-spacing: xxem
legt den Abstand zwischen zwei Tabellenelementen fest.
border-collapse: collapse
→ Rahmen benachbarter Tabellenelemente werden zusammengefasst.
Spaltenbreite
- Relative Breite:
width=""xx%""
- Effektive Breite:
width: xxem
- Relative Breite:
- Flexible Breite:
style="min-width: xx em; max-width: xx em"
- Flexible Breite:
Zellenabstände
{|border="x" cellspacing="xx" cellpadding=".."
- Cellspacing: legt den Abstand zwischen den Zellen fest, dh. die Stegbreite zwischen zwei Zellen.
- Cellpadding bestimmt den Abstand des Zellinhalts vom Zellrahmen.
Zellen verbinden
- horizontal:
|colspan="Anzahl der Zellen welche verbunden werden sollen"|Inhalt der verbundenen Zellen
- vertikal:
|rowspan="Anzahl der Zellen welche verbunden werden sollen"|Inhalt der verbundenen Zellen
- horizontal:
Einklappen der Tabelle
- mit:
class="mw-collapsible"
- mit:
Sortieren der Tabelle
- mit
class="unsortable"
- Einzelne Spalten nicht sortieren:
!class="unsortable"|Titel der Spalte
- mit
If-Funktion
{{#if: <Bedingung> | <Dann-Text> | <Sonst-Text> }}
Inhaltsverzeichnis
- Erzwingen
__TOC__
- Unterdrücken
__NOTOC__
- Position ändern
<div style="float:right; margin-left:20px; margin-bottom:20px; font-size:0.9em;">
__TOC__
</div>
Pseudounterseite
Zu Beginn der Seite steht ein Verweis auf die Oberseite.
Standard:
{{Subpage|[[Name|Name]]}}
Optional:
{{Subpage|[[Seitenname|Seitenname]]|Optional1|Optional2}}
- Optional können insgesamt bis zu drei Parameter angegeben werden.
Kategorienbaum
Tag - Element
<categorytree Par1="Wert" Parameter2="Wert"... >KatName </categorytree>
Wobei:
KatName
der Name der Kategorie ist, für welche der Baum erstellt werden soll,Par
ein Parameter darstellt s.u.Wert
in " " steht.
Parser-Funktion
{{#categorytree:KatName | par1=wert | par2=wert |...}}
Wobei:
KatName
der Name der darzustellenden Kategorie ist und par
die Parameter welche mit dem entsprechden Wert
s.u. versehen werden können.
Parameter = Attribut
- depth: Verästelungstiefe zu Beginn der Darstellung
- mögliche Werte: Zahlen
- mode: was im Baum gezeigt werden soll
- hideroot=on → der Kategorienamen wird nicht angezeigt.
- hideprefix: legt fest, ob die Namensräume der Einträge angezeigt werden.
- mögliche Werte:
categories
: nur den Namensraum Kategorie: nie anzeigen.always
: immer den Namensraum verstecken.never
: nie den Namensraum verstecken.auto
: verstecke den Namensraum wenn nur Kategorien sichtbar sind.
- mögliche Werte:
- showcount=on zeigt die Anzahl von Seiten und Unterkategorien an.
- namespaces: zum Anzeigen mehrerer Namensräume
- Werteeingabe: Namen der Namensräume durch Leerzeichen getrennt.
- class style id: (nur beim Tag-Format) Standard-Attribute
Quellen
- SelfHtml-Wiki
- Diverse Wikipediaseiten s.a. Hilfe:Übersicht