Vorlage:Beispiel

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Verwendungszweck

Diese Vorlage dient dazu, (Code-)Beispiele in eine einheitliche Form zu bringen. Bei Bedarf kann die Vorlage geändert werden, so dass sich alle Beispiele mit einem Handgriff in ihrer Form ändern lassen.

Der Erläuterungstext sollte sich nur auf das Beispiel selbst beziehen. Allgemeine Erläuterungen zum Thema bitte im Fließtext außerhalb der Beispiel-Box unterbringen. In der bisherigen SELFHTML-Ausgabe 8.x bezieht sich der Abschnitt „Erläuterung:“ oftmals nicht direkt auf das Beispiel, sondern allgemein auf das behandelte Thema und sollte in angemessener Weise in den Fließtext übernommen werden.

Bei Beispielen, für die eine „So sieht's aus“-Ansicht verfügbar sein soll, kann der optionale Parameter zeige=… eingefügt werden. Derzeit sollte als Parameterwert ein Dummy-Wert eingetragen werden (zeige=dummy). Das Erstellen des eigentlichen Anzeige-Beispiels ist, um Missbrauch zu verhindern, den Beispiele-Administratoren vorbehalten.

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

Es gibt drei optionale Parameter:

  • titel=… für eine Ergänzung der Überschrift
  • zeige=… für den Verweis auf ein anklickbares "So sieht's aus"
    • viewport-emulator für die Möglichkeit, das Beispiel im Viewport-Emulator anzuschauen

Beispiele für die Parameter

mit erweiterter Überschrift

{{Beispiel|titel=mit erweiterter Überschrift|
{{BeispielCode|…}}
}}
Beispiel: mit erweiterter Überschrift

anklickbar

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 Anklickbarkeit kümmern. Siehe auch Hilfe:Artikel/Beispiele‎.

{{Beispiel|zeige=Beispiel:Beispiel.txt|
{{BeispielCode|…}}
}}
Beispiel ansehen …

mit erweiterter Überschrift, anklickbar

{{Beispiel|
titel = mit erweiterter Überschrift|
zeige = Beispiel:Beispiel.txt|


{{BeispielCode|…}}
}}
Beispiel: mit erweiterter Überschrift ansehen …

anklickbar und mit Link zum Viewport-Emulator

Ein HTML-Dokument kann auch in unserem Viewport-Emulator angezeigt werden, insbesondere um die Darstellung von Layout-Rgeln bei verschiedenen Viewport-Breiten zu testen. Nicht immer ist ein Link zum Viewport-Emulator sinnvoll, daher erscheint er im Gegensatz zum Frickl-Link nicht automatisch, sondern benötigt den Parameter viewport-emulator, welcher natürlich nur in Verbindung mit dem Parameter zeige einen Sinn hat:

{{Beispiel|
zeige = Beispiel:HTML5-Grundstruktur.html|
viewport-emulator|


{{BeispielCode|…}}
}}
Beachten Sie: Die Angabe viewport-emulator hat nur dann einen Sinn, wenn Sie auch eine zeige-Angabe mit einem HTML-Dokument als Referenz verwenden.
Beachten Sie: Mit der Angabe viewport-emulator erscheint der Link zum Viewport-Emulator nur bei verlinkten HTML-Beispieldokumenten, da der Emulator nur bei diesen einen Sinn hat.

Beispiele für die Module

Code-Modul

Der anzuzeigende Code sollte entweder in <pre>, <nowiki> oder <source> eingefasst werden.

Wenn das Beispiel im SELFHTML-Design dargestellt werden soll, kann das Grundlayout einfach eingebunden werden.

Beispiel ansehen …
<!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 &lt;/pre> zu notieren.

{{Beispiel|titel = mit <pre>|
{{BeispielCode|

<pre>
<!-- Quelltext -->
  <p class="foo">bar baz</p>
  <pre> … &lt;/pre>
</pre>

}}
}}
Beispiel: mit <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>

}}
}}
Beispiel: mit <nowiki>
<!-- Quelltext --> <p class="foo">bar baz und ein fett hervorgehobener Teil</p>
<source>

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 von line start=…. Die Zeilennummern können kommagetrennt entweder einzeln oder als Bereich mit Bindestrich angegeben werden.
{{Beispiel|titel = mit <source>|
{{BeispielCode|

<source lang="html4strict"><!-- Quelltext -->
  <p class="foo">bar baz</p>
</source>

}}
}}
Beispiel: mit <source>
<!-- 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:MediaWiki/Vorlagen#Problem:_Senkrechter_Strich_in_Parametern.


{{Beispiel|
{{BeispielWiki|titel=mit Einrückung|
vorn
 ein-
  ge-
   rückt
}}
}}
Beispiel: mit Einrückung
vorn
ein-
 ge-
rückt
{{Beispiel|titel=mit Liste|
{{BeispielWiki|
* auf-
* ge-
* zählt
}}
}}
Beispiel: mit Liste
  • 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>
}}
}}
Beispiel: mit Tabelle
Orangen Äpfel
Brot Kuchen
Butter Eiskrem
{{Beispiel|titel=mit Tabelle in Pipe-Syntax|
{{BeispielWiki|1=
{{(!}} border="1"
{{!}}Orangen
{{!}}Äpfel
{{!-}}
{{!}}Brot
{{!}}Kuchen
{{!-}}
{{!}}Butter
{{!}}Eiskrem
{{!)}}
}}
}}
Beispiel: mit Tabelle in Pipe-Syntax
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}}
}}
Beispiel: mit Erklärung
Kommentar zum Code

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.

{{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}}

}}
Beispiel: – mehrteilig
<!-- erster Code-Teil -->
Text zum ersten Code-Teil
<!-- zweiter Code-Teil -->
Text zum zweiten Code-Teil
  • eine
  • Liste
Text zur Liste