Markus Michalski FAQ

Markdown Support: Nutzung

Nutzung von Markdown Support: Editor und Format-Umschalter, Toolbar und Tastenkürzel, Live-Vorschau, Bild-Upload, Textbausteine, unterstützte Markdown-Syntax und Verhalten bei HTML.

English Version

Zurück zur Übersicht

Markdown Support: Nutzung

Wo der Editor erscheint

Das Plugin bindet Editor-Dateien auf Seiten ein, deren Skript tickets.php oder ticket.php heißt (Ticket-Ansichten), und bei ajax.php-Aufrufen, deren URL ticket enthält. AJAX-Anfragen selbst bekommen keine Assets. Das Plugin unterscheidet dabei nicht zwischen Staff-Bereich und Client-Portal: Es prüft nur den Skriptnamen.

Es übernimmt Eingabefelder mit dem Namen response (Antwort), note (interne Notiz) und message (Nachricht). Weitere Felder mit der Klasse richtext bekommen einen kompakten Editor: Toolbar ohne Bild-Schaltfläche, ohne Vorschau und ohne Bild-Upload.

Format-Umschalter

Über dem Eingabefeld erscheint (bei aktivem Allow Format Switching) die Auswahl Format mit Markdown und HTML. Beim Wechsel auf HTML kehrt der normale osTicket-Editor zurück, beim Wechsel auf Markdown erscheinen Toolbar und Vorschau. Das gewählte Format sendet der Editor mit dem Formular als verstecktes Feld format mit.

Toolbar und Tastenkürzel

Schaltfläche Markdown Kürzel Wirkung
Fett **Text** Strg+B Umschließt die Auswahl
Kursiv *Text* Strg+I Umschließt die Auswahl
Überschrift # bis ###### Strg+H Erhöht bei jedem Klick die Ebene von 1 bis 6, danach wieder 1
Link [Text](URL) Strg+K Fragt die URL in einem Dialog ab
Inline-Code `code` Umschließt die Auswahl
Code-Block ```sprache Fragt die Programmiersprache in einem Dialog ab
Liste - Punkt Aufzählung, eine Zeile pro Punkt
Nummerierte Liste 1. Punkt Nummerierung ab 1
Zitat > Text Zitat pro Zeile
Linie --- Horizontale Linie
Bild ![Alt](URL) Öffnet den Dateidialog für einen Bild-Upload

Auf dem Mac gilt Cmd statt Strg. Die Dialoge für Link und Code-Block sind im Plugin deutsch beschriftet (URL eingeben:, Programmiersprache (optional):).

Live-Vorschau

Die Vorschau erscheint unterhalb des Eingabefelds. Sie wird 500 ms nach der letzten Eingabe über den Endpoint api/markdown-preview.php auf dem Server gerendert. Antwortet der Server nicht korrekt, rendert ein einfacher Konverter im Browser eine vereinfachte Vorschau. Diese Ersatz-Vorschau kennt keine Tabellen und keine Strikethrough-Syntax.

Auf schmalen Bildschirmen blendet die Schaltfläche Toggle Preview in der Toolbar die Vorschau ein und aus.

Bilder einfügen

Im Markdown-Modus (nicht im kompakten Editor) lassen sich Bilder auf drei Wegen einfügen:

Weg Ablauf
Drag & Drop Bilddatei in den Editor ziehen
Zwischenablage Bild oder Screenshot mit Strg+V einfügen
Toolbar Bild-Schaltfläche klicken und im Dateidialog auswählen

Erlaubt sind JPEG, PNG, GIF, WebP und BMP. SVG ist nicht erlaubt. Das Plugin lädt das Bild über die osTicket-Draft-API ajax.php/draft/.../attach hoch, setzt während des Uploads den Platzhalter ![Uploading image-1...](/) und ersetzt ihn danach durch ![Dateiname](URL). Als Alt-Text dient der Dateiname ohne Endung, aus dem die Zeichen [, ], ( und ) entfernt sind. Als URL akzeptiert das Plugin nur http://, https:// und file.php?.... Anderes ersetzt es durch #invalid-url.

Der Upload braucht den Draft-Kontext des Eingabefelds (Attribut data-draft-namespace oder data-draft-id) und ein CSRF-Token auf der Seite. Ohne Draft-Kontext ist der Upload nicht verfügbar, ohne CSRF-Token bricht er ab.

Textbausteine (Canned Responses)

Wählst du im Markdown-Modus einen Textbaustein aus der Auswahl #cannedResp, lädt das Plugin ihn über die osTicket-AJAX-Schnittstelle und wandelt das HTML im Browser in Markdown um. Im HTML-Modus bleibt das Standardverhalten von osTicket. Anhänge des Textbausteins werden in beiden Modi übernommen.

HTML-Element Markdown
h1 bis h6 # bis ######
strong, b **fett**
em, i *kursiv*
a [Text](URL)
img ![Alt](URL)
blockquote > Zitat
ul, ol - Punkt, 1. Punkt
pre, code Code-Block, Inline-Code
hr ---

Die Textbausteine in der Datenbank bleiben unverändert.

Unterstützte Markdown-Syntax

Gerendert wird mit Parsedown (Version 1.7.4 laut composer.lock) im SafeMode.

# Überschrift 1
## Überschrift 2

**fett**, *kursiv*, ~~durchgestrichen~~, `Inline-Code`

- Aufzählung
- Punkt zwei

1. Nummerierte Liste
2. Punkt zwei

> Zitat

[Link-Text](https://example.com)
![Alt-Text](https://example.com/bild.png)

---
```php
echo "Hallo Welt";
```

Wo Markdown-Einträge sichtbar werden

Einträge mit dem Format markdown werden über die Klasse MarkdownThreadEntryBody gerendert, wo immer osTicket den Eintrag über seine Thread-Entry-Klassen ausgibt: Ticket-Ansicht der Agents, Client-Portal, PDF-Export und E-Mails. Beim PDF-Export ersetzt das Plugin Bilder mit http(s)-URL durch den Text [Image]. Die Suche nutzt den in Text umgewandelten HTML-Inhalt.

Wie das Markdown in ausgehende E-Mails kommt, steht unter Technische Details.