Projekt:Tipps und Tricks: Unterschied zwischen den Versionen

Aus KGS-Wiki
(Scratch)
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 90: Zeile 90:
* [[Vorlage:XML]]
* [[Vorlage:XML]]


Diesen Vorlagen muss nur der Programmcode mitgegeben werden: <nowiki>{{CSS|border: 2px solid black;}}</nowiki> → {{CSS|border: 2px solid black;}}
Diesen Vorlagen muss nur der Programmcode mitgegeben werden: <code><nowiki>{{CSS|border: 2px solid black;}}</nowiki></code> → {{CSS|border: 2px solid black;}}


== Bunte Boxen ==
== Bunte Boxen ==
Zeile 120: Zeile 120:
  {{!}} <syntaxhighlight lang="html"><scratchblocks>
  {{!}} <syntaxhighlight lang="html"><scratchblocks>
  Wenn die grüne Flagge angeklickt  
  Wenn die grüne Flagge angeklickt  
  gehe (10)er Schritt
  gehe [10]er Schritt
  sage [Hallo!]
  sage [Hallo!]
  wiederhole (3) Mal
  wiederhole [3] Mal
  wechsle zum nächsten Kostüm
  wechsle zum nächsten Kostüm
  ende
  ende
Zeile 129: Zeile 129:
  {{!}}<scratchblocks>
  {{!}}<scratchblocks>
  Wenn die grüne Flagge angeklickt  
  Wenn die grüne Flagge angeklickt  
  gehe (10)er Schritt
  gehe [10]er Schritt
  sage [Hallo!]
  sage [Hallo!]
  wiederhole (3) Mal
  wiederhole [3] Mal
  wechsle zum nächsten Kostüm
  wechsle zum nächsten Kostüm
  ende
  ende
Zeile 142: Zeile 142:
=== Zur Syntax von ScratchBlocks ===
=== Zur Syntax von ScratchBlocks ===


{| class="wikitable"
! Block-Kategorie
! Schreibweise
! colspan="2" | Beispiel
|-
! [[Anweisung|Stapelblock]]
| Einfach den Text hinschreiben
| <syntaxhighlight lang="html"><scratchblocks>
verstecke dich
pralle vom Rand ab
stoppe alle Klänge
lösche diesen Klon
</scratchblocks></syntaxhighlight>
|<scratchblocks>
verstecke dich
pralle vom Rand ab
stoppe alle Klänge
lösche diesen Klon
</scratchblocks>
|-
! Lücken für freien Text
| Text in eckigen Klammern
<code>[...]</code>
| <syntaxhighlight lang="html"><scratchblocks>
sage [Hallo!]
gehe [10] er Schritt
warte [5] Sekunden
frage [Wie heißt du?] und warte
</scratchblocks></syntaxhighlight>
|<scratchblocks>
sage [Hallo!]
gehe [10] er Schritt
warte [5] Sekunden
frage [Wie heißt du?] und warte
</scratchblocks>
|-
! [[Ausdruck|runde Blöcke]]
| Text in runden Klammern
<code>(...)</code>
| <syntaxhighlight lang="html"><scratchblocks>
(Richtung)
(Lautstärke)
sage (Name)
((Alter) + [2])
</scratchblocks></syntaxhighlight>
|<scratchblocks>
(Richtung)
(Lautstärke)
sage (Name)
((Alter) + [2])
</scratchblocks>
|-
! Auswahllisten
| Text in eckigen oder runden Klammern,<br/>gefolgt von einem <code>v</code>
<code>[... v]</code><br/><code>(... v)</code>
| <syntaxhighlight lang="html"><scratchblocks>
wenn Taste [Leertaste v] gedrückt wird
sende (Hallo v) an alle
wechsle zu Kostüm (Cowboy v)
setze [Alter v] auf [42]
</scratchblocks></syntaxhighlight>
|<scratchblocks>
wenn Taste [Leertaste v] gedrückt wird
sende (Hallo v) an alle
wechsle zu Kostüm (Cowboy v)
setze [Alter v] auf [42]
</scratchblocks>
|-
! [[Wahrheitswert|sechseckige Blöcke]]
| Text in spitzen Klammern
<code><...></code>
| <syntaxhighlight lang="html"><scratchblocks>
<Maustaste gedrückt?>
<wird [Katze v] berührt?>
<(Alter) > [42]>
<(Name) enthält [y]?>
</scratchblocks></syntaxhighlight>
|<scratchblocks>
<Maustaste gedrückt?>
<wird [Katze v] berührt?>
<(Alter) > [42]>
<(Name) enthält [y]?>
</scratchblocks>
|-
! [[Kontrollstruktur]]en (C-Blöcke)
| mit dem Wort <code>ende</code> beenden
| <syntaxhighlight lang="html"><scratchblocks>
falls <Maustaste gedrückt?>, dann
sage [Huch!]
sonst
sage [Klick mich!]
ende
  wiederhole [3] Mal
sage [Huch!]
ende
  wiederhole bis <Maustaste gedrückt?>
sage [Klick mich!]
ende
</scratchblocks></syntaxhighlight>
|<scratchblocks>
falls <Maustaste gedrückt?>, dann
sage [Huch!]
sonst
sage [Klick mich!]
ende
  wiederhole [3] Mal
sage [Huch!]
ende
  wiederhole bis <Maustaste gedrückt?>
sage [Klick mich!]
ende
</scratchblocks>
|-
|}
Mehr zur Syntax der Scratch-Blöcke gibt es hier zum Nachlesen:
* [https://de.scratch-wiki.info/wiki/Scratch-Wiki:Hilfe:Block_Plugin Hilfe-Artikel im Scratch-Wiki]
* [https://de.scratch-wiki.info/wiki/Scratch-Wiki:Hilfe:Block_Plugin Hilfe-Artikel im Scratch-Wiki]
* [https://github.com/scratchblocks/scratchblocks/blob/main/tests/all-blocks-de.txt Liste aller Scratch-Blocks-Bezeichnungen]
* [https://github.com/scratchblocks/scratchblocks/blob/main/tests/all-blocks-de.txt Liste aller Scratch-Blocks-Bezeichnungen]

Aktuelle Version vom 22. Dezember 2024, 22:21 Uhr

Auf dieser Seite sollen einige Tipps und Tricks gesammelt werden, um die Arbeit am Wiki und die Erstellung einheitlich aussehender Artikel einfacher zu machen.

Zunächst ein paar Grundbegriffe.

Vorlage
Eine Vorlage ist ein Baustein, der in eine Seite eingefügt werden kann und die mit Parametern spezifiziert werden kann. Vorlagen werden mit doppelten geschweiften Klammern eingefügt.
Tag
Ein Tag entspricht der HTML-Notation in spitzen Klammern und stellt zusätzliche Funktionalitäten bereit, etwa um Quellcode hervorzuheben oder Diagramme mit Tools wie Mermaid oder PlantUML einzufügen

Links mit Icons

Folgende Vorlagen erzeugen Links mit nebenstehenden Icons:

Zur Erstellung von neuen Vorlagen für Links mit Icon kann die Vorlage:Link mit Icon genutzt werden. Diese Vorlage soll nur genutzt werden, um neue Vorlagen zu erzeugen, nicht um direkt in Inhaltsseiten eingesetzt zu werden.

Flaggen

Flaggen wie 🇩🇪 können mit der Vorlage:Flagge erzeugt werden und sollten hinter jeden Weblink gesetzt werden, um anzuzeigen, in welchen Sprachen diese Website zur Verfügung steht. Als Parameter muss der Vorlage die zweibuchstabige Länder-Abkürzung übergeben werden: DE für Deutschland, FR für Frankreich usw. Diese Codes können auch kombiniert werden, um mehrere Flaggen nacheinander anzuzeigen.

  • {{Flagge|DE}} → 🇩🇪
  • {{Flagge|FR}} → 🇫🇷
  • {{Flagge|DEATCH}} → 🇩🇪🇦🇹🇨🇭

Tastenkombinationen

Für die Darstellung von Tastenkombinationen gibt es die Vorlage:Tastatur. Die Tasten, die gedrückt werden, müssen als Parameter angegeben werden.

  • {{Tastatur|StrgAltEntf}}StrgAltEntf
  • {{Tastatur|ShiftWinS}}ShiftS
  • {{Tastatur|HALLO}HALLO

Grundsätzlich sollten die Buchstabentasten als Großbuchstaben dargestellt werden. Um Verwirrungen zwischen großem i und kleinem L auszuschließen, darf das I auch als Kleinbuchstabe i dargestellt werden.

Quelltext

Längere Abschnitte von Programmcode sollten mit dem Tag <syntaxhighlight lang="SPRACHE">...</syntaxhighlight> eingefügt werden. Im visuellen Editor geht das noch einfacher mit dem Menüpunkt Einfügen → Codeblock.

Wenn man eine Sprache angibt, werden die Schlüsselwörter und Syntaxelemente dieser Sprache farbig hervorgehoben. Wenn nichts hervorgehoben werden soll, muss text als Sprache angegeben werden. Eine Liste der erlaubten Sprachen findet sich hier.

Zeilennummern können mit dem Attribut line hinzugefügt werden: <syntaxhighlight lang="SPRACHE" line>...</syntaxhighlight>.

Mit dem Attrobut start kann zusätzlich festgelegt werden, mit welcher Zeilennummer begonnen werden soll zu zählen: <syntaxhighlight lang="SPRACHE" line start="STARTZEILENNUMMER">...</syntaxhighlight>.

Beispiele
<syntaxhighlight lang="html">
<ol type="I">
  <li>Punkt 1</li>
  <li>Punkt 2</li>
</ol>
</syntaxhighlight>
<ol type="I">
  <li>Punkt 1</li>
  <li>Punkt 2</li>
</ol>
<syntaxhighlight lang="lua" line="1">
function quadrat(x)
    return x * x
end
</syntaxhighlight>
function quadrat(x)
    return x * x
end
<syntaxhighlight lang="python" line start="42">
def swap(A, i, j):
    A[j],A[i] = A[i],A[j]
</syntaxhighlight>
def swap(A, i, j):
    A[j],A[i] = A[i],A[j]

Für einzelne Schnipsel in einer Programmiersprache, die in den Fließtext eingebettet werden soll, kann das Attribut inline gesetzt werden: <syntaxhighlight lang="SPRACHE" inline>...</syntaxhighlight>. Um sich Tippaufwand zu ersparen und den Wikitext lesbarer zu halten, gibt es für die häufig in diesem Wiki verwendeten Sprachen Extra-Vorlagen:

Diesen Vorlagen muss nur der Programmcode mitgegeben werden: {{CSS|border: 2px solid black;}}border: 2px solid black;

Bunte Boxen

Um besonders wichtige Informationen hervorzuheben, gibt es einige Vorlagen, die farbige Boxen mit einem Icon in der Titelleiste erzeugen:

ℹ️
Info
👉
Hinweis
💡
Tipp
⚠️
Achtung
💬
Beispiel

All diesen Vorlagen muss der anzuzeigende Text als Parameter mitgegeben werden.

Mit der Vorlage:Hugo-Notiz können noch weitere derartige Vorlagen erzeugt werden, für die dann nur noch Titel, Farben und Icon angegeben werden müssen.

Begriffsklärungen

Mitunter kann ein Seitentitel mehrdeutig sein, siehe etwa is. Es gibt mehrere Möglichkeiten, wie damit umzugehen ist.

  1. Es gibt eine Extra-Seite, die nur erklärt, dass es mehrere Artikel dieses Namens gibt, und auf sie verlinkt. Beispiel: Objekt ist nur für die Verlinkung auf Objekt (Grammatik) und Objekt (Informatik) da.
    Auf dieser Seite sollte dann unten die Vorlage:Begriffsklärung eingefügt werden. Diese benötigt keine Parameter.
  2. Es gibt eine Seite, deren Name auch in einem anderen Kontext spannend sein könnte. Beispiel: Redis.
    Auf dieser Seite sollte die Vorlage:Dieser Artikel eingefügt werden, wobei ein Parameter angegeben werden muss, der erklärt, was dieser Artikel enthält und wo man den anderen interessanten Artikel findet.
    Beispiel: {{Dieser Artikel|beschreibt die Schlangenart ''Python''. [[Python (Programmiersprache)|]] ist aber auch der Name einer [[Programmiersprache]].}}

Scratch

Um Scratch-Blöcke in Artikel einzufügen, gibt es die Tags <scratchblocks>...</scratchblocks> und <sb>...</sb>.

<scratchblocks>...</scratchblocks> dient dazu, (größere) Sequenzen von Scratch-Blöcken als separaten Absatz einzufügen.

💬
Beispiel
<scratchblocks>
 Wenn die grüne Flagge angeklickt 
 gehe [10]er Schritt
 sage [Hallo!]
 wiederhole [3] Mal
 wechsle zum nächsten Kostüm
 ende
 </scratchblocks>
 Wenn die grüne Flagge angeklickt 
 gehe [10]er Schritt
 sage [Hallo!]
 wiederhole [3] Mal
 wechsle zum nächsten Kostüm
 ende
 

Demgegenüber kann der Tag <sb> genutzt werden, um einzelne Scratch-Blöcke in einen Fließtext einzubinden, etwa um zu erklären, dass der Block setze Drehtyp auf [left-right v] genutzt werden kann, um eine Figur nach links und rechts schauen zu lassen. Das obige Beispiel wurde mit dem Code <sb>setze Drehtyp auf [left-right v]</sb> eingefügt.

Zur Syntax von ScratchBlocks

Block-Kategorie Schreibweise Beispiel
Stapelblock Einfach den Text hinschreiben
<scratchblocks>
 verstecke dich
 pralle vom Rand ab
 stoppe alle Klänge
 lösche diesen Klon
 </scratchblocks>
 verstecke dich
 pralle vom Rand ab
 stoppe alle Klänge
 lösche diesen Klon
 
Lücken für freien Text Text in eckigen Klammern

[...]

<scratchblocks>
 sage [Hallo!]
 gehe [10] er Schritt
 warte [5] Sekunden
 frage [Wie heißt du?] und warte
 </scratchblocks>
 sage [Hallo!]
 gehe [10] er Schritt
 warte [5] Sekunden
 frage [Wie heißt du?] und warte
 
runde Blöcke Text in runden Klammern

(...)

<scratchblocks>
 (Richtung)
 (Lautstärke)
 sage (Name)
 ((Alter) + [2])
 </scratchblocks>
 (Richtung)
 (Lautstärke)
 sage (Name)
 ((Alter) + [2])
 
Auswahllisten Text in eckigen oder runden Klammern,
gefolgt von einem v

[... v]
(... v)

<scratchblocks>
 wenn Taste [Leertaste v] gedrückt wird
 sende (Hallo v) an alle
 wechsle zu Kostüm (Cowboy v)
 setze [Alter v] auf [42]
 </scratchblocks>
 wenn Taste [Leertaste v] gedrückt wird
 sende (Hallo v) an alle
 wechsle zu Kostüm (Cowboy v)
 setze [Alter v] auf [42]
 
sechseckige Blöcke Text in spitzen Klammern

<...>

<scratchblocks>
 <Maustaste gedrückt?>
 <wird [Katze v] berührt?>
 <(Alter) > [42]>
 <(Name) enthält [y]?>
 </scratchblocks>
 <Maustaste gedrückt?>
 <wird [Katze v] berührt?>
 <(Alter) > [42]>
 <(Name) enthält [y]?>
 
Kontrollstrukturen (C-Blöcke) mit dem Wort ende beenden
<scratchblocks>
 falls <Maustaste gedrückt?>, dann
 sage [Huch!]
 sonst
 sage [Klick mich!]
 ende
  wiederhole [3] Mal
 sage [Huch!]
 ende
  wiederhole bis <Maustaste gedrückt?>
 sage [Klick mich!]
 ende
 </scratchblocks>
 falls <Maustaste gedrückt?>, dann
 sage [Huch!]
 sonst
 sage [Klick mich!]
 ende
  wiederhole [3] Mal
 sage [Huch!]
 ende
  wiederhole bis <Maustaste gedrückt?>
 sage [Klick mich!]
 ende
 

Mehr zur Syntax der Scratch-Blöcke gibt es hier zum Nachlesen: