Vorlage:Beispiel
Diese Vorlage dient dazu, (Code-)Beispiele mit einem Handgriff in eine einheitliche Form ändern lassen.
Beispiele können drei Formen haben:
- ohne Live-Beispiel
- Mit Live-Beispiel auf einer Tab-Anzeige
- NEU: Mit Live-Beispiel direkt integriert
Ein Live-Beispiel muss im Beispiel-Namensraum des Wiki gespeichert sein und kann, um Missbrauch zu verhindern, nur von Beispiel-Administratoren erstellt oder bearbeitet werden. Es wird über den zeige=…
-Parameter der {{Beispiel}}
-Vorlage mit dem Beispiel verknüpft.
Inhaltsverzeichnis
Anwendung
Diese Vorlage ist modular aufgebaut. Zu ihr gehören weitere Vorlagen, mit der sich in beliebiger Reihenfolge Beispiel-Text- und Erläuterungsmodule zusammenfügen lassen.
{{Beispiel| Module }}
Verfügbare Module sind:
-
{{BeispielCode|…}}
für Code aller Art -
{{BeispielWiki|…}}
für alles was sich mit Wiki-Syntax erstellen lässt -
{{BeispielText|…}}
für Erläuterungstext -
{{LiveBeispiel}}
um das Live-Beispiel als iframe in den Wikitext zu integrieren. Die Positionierung über die{{LiveBeispiel}}
-Vorlage erlaubt die aus didaktischen Gesichtspunkten beste Anordnung der Beispielbausteine.
Es gibt drei optionale Parameter, die nachfolgend beschrieben werden
-
titel=…
für eine Ergänzung der Überschrift -
zeige=…
(optional) für den Verweis auf ein Livebeispiel. -
vorschau-hoehe=…
(optional) um die Höhe des iframes mit dem Livebeispiel vorzugeben. Default ist 25em.
Der Viewport-Emulator, den es früher gab, wird nicht mehr unterstützt. Die modernen Browser haben dieses Tool in ihren Entwicklerwerkzeugen eingebaut.
Parameter
titel
- individuelle Überschrift
Der optionale titel
-Parameter ersetzt die Standard-Überschrift Beispiel des Beispielrahmens. Früher wurde er dem Wort Beispiel hinzugefügt – das wurde geändert!
{{Beispiel|titel=Beispiel mit erweiterter Überschrift| {{BeispielCode|…}} }}
zeige
- Verweis auf ein Live-Beispiel
Um ein Beispiel anklickbar zu gestalten ist die Berechtigung Beispiele-Administratoren notwendig. Wer diese Berechtigung nicht hat, und (s)ein Beispiel anklickbar gestaltet haben möchte, sollte zeige=dummy
setzen – bitte nicht vorgreifend einen Beispiel:
-Dateinamen selbständig vergeben. Derzeit ist vorgesehen, dass sich dann die Beispiele-Administratoren manuell um die Erstellung einer Live-Version kümmern. Siehe auch Hilfe:Wiki/Beispiele.
{{Beispiel|zeige=Beispiel:Beispiel.txt| {{BeispielCode|…}} }}
Achtung!
dummy
, oder einen Wiki-Artikel im Beispiel-Namensraum. Andernfalls beschwert sich die {{#BeispielURL}}
-Funktion aus den Selfhtml-Extensions. vorschau-hoehe
- Höhe des Livebeispiel-iframes
Der <iframe>
, der für das Live-Beispiel erstellt wird, hat standardmäßig eine Höhe von 25em. Wenn das nicht passt, kann über diesen Parameter eine individuelle Höhe eingestellt werden.
{{Beispiel|zeige=Beispiel:Beispiel.txt|vorschau-hoehe=10em| {{BeispielCode|…}} }}
Viewport-Emulator
Da die heutigen Browser einen Viewport-Emulator in ihren Entwicklerwerkzeugen eingebaut haben, unterstützen wir diese Option nicht mehr.
Module
Code-Modul
Der anzuzeigende Code sollte entweder in <pre>, <nowiki> oder <syntaxhighlight> eingefasst werden.
{{Achtung|Die für das Syntaxhighlighting genutzte Extension verwendete ursprünglich das <source>
-Tag zum Markieren von Highlight-Bereichen. Das Tag hat in HTML eine ganz andere Bedeutung, deshalb ist es seit 2020 missbilligt. Es gibt bereits seit 2009 das <syntaxhighlight>
-Tag als Ersatz.
Wenn das Beispiel im SELFHTML-Design dargestellt werden soll, kann das Grundlayout einfach eingebunden werden.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>…</title>
<link rel="stylesheet" href="./Beispiel:SELFHTML-Beispiel-Grundlayout.css">
<style>
/* Styleangaben für das Beispiel */
</style>
</head>
<body>
<h1>Überschrift</h1>
<main role="main">
<p>Inhalt</p>
</main>
</body>
</html>
<pre>
Es kann nur einfacher Text eingegeben werden. Alle HTML-eigenen Zeichen können normal geschrieben werden. Wenn ein </pre> Bestandteil des anzuzeigenden Codes ist, so ist es als </pre>
zu notieren.
{{Beispiel|titel = mit <pre>| {{BeispielCode| <pre> <!-- Quelltext --> <p class="foo">bar baz</p> <pre> … </pre> </pre> }} }}
<!-- Quelltext --> <p class="foo">bar baz</p> <pre> … </pre>
<nowiki>
Im Gegensatz zu <pre> kann man <nowiki> problemlos verlassen, um Wiki-Formatierungen einzubauen.
{{Beispiel|titel = mit <nowiki>| {{BeispielCode| <nowiki><!-- Quelltext --> <p class="foo">bar baz </nowiki>'''und ein fett hervorgehobener Teil'''<nowiki></p> </nowiki> }} }}
<syntaxhighlight>
Mit diesem Element kann man Code automatisch mit Syntaxhervorhebung anreichern lassen. Verwendbare Parameter:
-
lang="??"
: Sprache des Codes. Eine Liste der Werte bekommt man bei Eingabe eines falschen Wertes angezeigt (Vorschau-Funktion verwenden!) -
line
: schaltet die Zeilennummerierung ein. -
line start="??"
: Zeilennummerierung beginnt ab … -
highlight="??"
: welche Zeilen sollen hervorgehoben werden. Zählung beginnt immer mit 1, auch bei Verwendung vonline start=…
. Die Zeilennummern können kommagetrennt entweder einzeln oder als Bereich mit Bindestrich angegeben werden.
{{Beispiel|titel = mit <syntaxhighlight>| {{BeispielCode| <syntaxhighlightlang="html"><!-- Quelltext --> <p class="foo">bar baz</p> </syntaxhighlight> }} }}
<!-- Quelltext -->
<p class="foo">bar baz</p>
Wiki-Modul
Es kann beliebige Wiki-Syntax verwendet werden. Allerdings sind zwei Besonderheiten zu beachten. Wenn der Inhalt ein Gleichheitszeichen (=) enthält, muss wie beim nachfolgenden Tabellen-Beispiel (wegen border=1) am Anfang ein 1= eingefügt werden. Ansonsten gibt es eine Warnmeldung. Problematisch ist auch das Pipe-Zeichen (|) für das eine Ersatzschreibweise verwendet werden muss: Hilfe:Wiki/MediaWiki/Vorlagen#Problem:_Senkrechter_Strich_in_Parametern.
{{Beispiel| {{BeispielWiki|titel=mit Einrückung| vorn ein- ge- rückt }} }}
ein- ge-rückt
{{Beispiel|titel=mit Liste| {{BeispielWiki| * auf- * ge- * zählt }} }}
- auf-
- ge-
- zählt
{{Beispiel|titel=mit Tabelle| {{BeispielWiki|1= <table border="1"><tr> <td>Orangen</td> <td>Äpfel</td> </tr><tr> <td>Brot</td> <td>Kuchen</td> </tr><tr> <td>Butter</td> <td>Eiskrem</td> </tr></table> }} }}
Orangen | Äpfel |
Brot | Kuchen |
Butter | Eiskrem |
{{Beispiel|titel=mit Tabelle in Pipe-Syntax| {{BeispielWiki|1= {{(!}} border="1" {{!}}Orangen {{!}}Äpfel {{!-}} {{!}}Brot {{!}}Kuchen {{!-}} {{!}}Butter {{!}}Eiskrem {{!)}} }} }}
Orangen | Äpfel |
Brot | Kuchen |
Butter | Eiskrem |
Text-Modul
Dient zum Beispiel zur Erläuterung eines Beispiels. Das Modul kann aber auch für allgemeinen Text verwendet werden, ohne dass dieser ein Kommentar zum Beispiel darstellt. Eine Anwendung dafür wäre, es für die Benennung einzelner Abschnitte von mehrteiligen Beispielen zu benutzen. (Deswegen heißt es BeispielText (ist auch etwas kürzer zu tippen) und nicht BeispielKommentar.)
Bezüglich Gleichheitszeichen (=) und Pipe-Symbol (|) gelten die selben Hinweise wie beim Wiki-Modul.
{{Beispiel|titel=mit Erklärung| {{BeispielCode|…}} {{BeispielText|Kommentar zum Code}} }}
Inline-Modul für das Live-Beispiel
Wenn das Live-Beispiel nicht über einen Tab-Reiter, sondern zusammen mit den übrigen Beispielmodulen angezeigt werden soll, dann markiere die dafür gewünschte Position mit der Vorlage {{LiveBeispiel}}. Den Artikelnamen des Beispiels selbst musst Du weiterhin im zeige-Parameter notieren!
Die LiveBeispiel-Vorlage kann auch als einziger Inhalt eines Beispiel verwendet werden!
{{Beispiel|titel=mit inline-Beispiel|zeige=Beispiel:Beispiel.txt| {{BeispielCode|…}} {{LiveBeispiel}} }}
Mehrfache Modulanwendung
Module können in beliebiger Reihenfolge und Anzahl eingefügt werden. Zwischen den Modulen kann eine Leerzeile eingefügt werden, mehr als eine zerreißt allerdings die Box. Das {{LiveBeispiel}} kann nur einmal verwendet werden!
{{Beispiel|titel=– mehrteilig| {{BeispielCode|<pre><!-- erster Code-Teil --></pre>}} {{BeispielText|Text zum ersten Code-Teil}} {{BeispielCode|<pre><!-- zweiter Code-Teil --></pre>}} {{BeispielText|Text zum zweiten Code-Teil}} {{BeispielWiki| * eine * Liste }} {{BeispielText|Text zur Liste}} }}
<!-- erster Code-Teil -->
<!-- zweiter Code-Teil -->
- eine
- Liste