From cff2291fdc6165572afe10bd7d66f92b3b9f4f0d Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+studip@gmail.com>
Date: Wed, 29 Mar 2023 16:39:34 +0000
Subject: [PATCH] preserve syntax highlighting, fixes #2451

Closes #2451

Merge request studip/studip!1649
---
 lib/classes/Markup.class.php                   | 14 +++++++++++++-
 resources/assets/javascripts/chunks/wysiwyg.js |  4 ++++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/lib/classes/Markup.class.php b/lib/classes/Markup.class.php
index 6fbf7cffc40..21f6e630200 100644
--- a/lib/classes/Markup.class.php
+++ b/lib/classes/Markup.class.php
@@ -282,7 +282,7 @@ class Markup
             blockquote
             br
             caption
-            code
+            code[class]
             div[class|style]
             em
             figure[class|style]
@@ -327,6 +327,18 @@ class Markup
             'image',
             'image-style-side',
             'image_resized',
+            'language-cpp',
+            'language-css',
+            'language-diff',
+            'language-java',
+            'language-javascript',
+            'language-json',
+            'language-php',
+            'language-python',
+            'language-ruby',
+            'language-scss',
+            'language-sql',
+            'language-xml',
             'link-extern',
             'link-intern',
             'math-tex',
diff --git a/resources/assets/javascripts/chunks/wysiwyg.js b/resources/assets/javascripts/chunks/wysiwyg.js
index cae716e71e8..be47e39fa76 100644
--- a/resources/assets/javascripts/chunks/wysiwyg.js
+++ b/resources/assets/javascripts/chunks/wysiwyg.js
@@ -253,6 +253,10 @@ ClassicEditor.defaultConfig = {
                 name: 'div',
                 classes: 'author',
             },
+            {
+                name: 'pre',
+                classes: 'usercode'
+            }
         ],
         disallow: [
             /* HTML features to disallow */
-- 
GitLab