Markus Michalski FAQ

Markdown Support

osTicket plugin Markdown Support: Markdown as an additional format for ticket replies and notes with toolbar, live preview, image upload, canned response conversion and XSS protection via Parsedown SafeMode.

Deutsche Version

Back to osTicket plugins

Markdown Support

GitHub
CI
License
osTicket
PHP

Live Demo: Try all plugins for OXID eShop, Shopware and osTicket by Markus Michalski live, with no installation and no risk. demo.markus-michalski.net

Overview

The plugin adds the thread format Markdown to osTicket 1.18.x. Replies and notes can then be written in Markdown, with a toolbar and live preview, and are rendered to HTML with Parsedown in SafeMode when displayed.

Without the plugin: Replies and notes exist only as text or as HTML from the WYSIWYG editor. Code blocks and structured text are awkward to create there.

With the plugin: A format switcher offers Markdown and HTML. In Markdown mode you get a toolbar, keyboard shortcuts, live preview and image upload.

The plugin modifies one osTicket core file: on activation it patches include/class.thread.php (with a backup). Details are on the Technical details page.

Documentation

Page Content
Installation Requirements, files, activation, update, deactivation and removal
Configuration The plugin options with default values
Usage Editor, toolbar, image upload, canned responses, syntax
API integration Setting the format via API, auto-detection, interplay with API Endpoints
Technical details Flow, core patch, email handling, security, file structure
Troubleshooting Common problems and frequently asked questions

Features

Feature Description
Markdown format Thread entries with the format markdown are rendered with Parsedown (SafeMode)
Toolbar Buttons for bold, italic, heading, link, inline code, code block, lists, quote, rule and image
Keyboard shortcuts Ctrl+B, Ctrl+I, Ctrl+K and Ctrl+H (Cmd on a Mac)
Live preview Server-side rendering via an endpoint, 500 ms after the last keystroke
Format switcher Switch between Markdown and HTML in the editor
Image upload Images via drag and drop, paste from the clipboard or toolbar button, stored as an osTicket draft attachment
Canned responses HTML canned responses are converted to Markdown in the browser in Markdown mode
Email Outgoing emails contain the rendered HTML, the database keeps the Markdown
Auto-detection Optional: entries without a format value are stored as Markdown when Markdown syntax is detected

Flow

graph TD
    A["Agent writes in Markdown mode"] --> B["POST with format=markdown"]
    B --> C["Plugin renders the Markdown to HTML for the email"]
    C --> D["osTicket creates the entry and sends the email"]
    D --> E["Plugin writes Markdown and format back to the database"]
    E --> F["Display: Parsedown SafeMode and Format::sanitize"]

Requirements

Requirement Version Notes
osTicket 1.18.x Target version according to README and plugin source
PHP 8.0 or newer composer.json declares >=7.4, but the code uses PHP 8.0 syntax (type mixed in ConfigCache). On PHP 7.4 TypeErrors occur
Parsedown ^1.7 Runtime dependency via Composer (erusev/parsedown), included in the release ZIP
Browser JavaScript enabled Editor, toolbar and preview run in the browser

License

GNU General Public License v2, compatible with osTicket. See LICENSE.

Support

Report bugs and questions in the issue tracker. Please include the osTicket version, PHP version, plugin version, browser console errors and the steps to reproduce.