Problem: XH-Suche / Glossaire / Syntaxhighlighter

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Problem: XH-Suche / Glossaire / Syntaxhighlighter

Post by cmb » Tue May 24, 2022 5:52 pm

frase wrote:
Tue May 24, 2022 4:57 pm
In beiden Fällen meinte ich meine Version ohne Syntaxhighlighter.

Um den Code bzw. wenigstens ein paar Parameter hervorheben zu können, wollte ich per JS dort drin Text finden, der entweder innerhalb von '...' oder innerhalb von [...] oder innerhalb von "..." steht. Einen CSS-Selector gibt es dafür nicht - oder?
Den gefundenen Text mit einer Klasse umgeben, damit man es stylen kann.
Nein, wurde aus dem CSS3-Entwurf entfernt. XPath bietet möglicherweise etwas, aber das hilft hier nicht wirklich weiter. Da bliebe wohl nur ein manuelles DOM-Traversal …
frase wrote:
Tue May 24, 2022 4:57 pm
Wenn man den Code, so wie es jetzt in meinem Beispiel ohne Syntaxhighlighter ist, kopiert, dann erhält man beim Einfügen (im eigenen Editor ...) nach jeder Zeile zweimal CR LF.
Das liegt womöglich daran, dass ich jede Zeile als <p> definiert habe.
Vielleicht klappt das besser, wenn ich da <div> nehme. Mal sehen.
Mich nervt seit einer ganzen Weile, dass der Chrome inzwischen auch das Markup (zumindest manches) in die Zwischenablage kopiert; eventuell macht das der Firefox mittlerweile auch. Aber ja, <div> passt ohnehin besser (Zeilen sind ja keine Absätze).

Aber warte mit beidem noch ein bisschen; wenn ich Syntaxhighlighter_XH patche, dann sollten sich beide Probleme erledigt haben.
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Problem: XH-Suche / Glossaire / Syntaxhighlighter

Post by frase » Tue May 24, 2022 7:07 pm

cmb wrote:
Tue May 24, 2022 5:52 pm
Aber warte mit beidem noch ein bisschen ...
Okay, das kann ich gut ;-)

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Problem: XH-Suche / Glossaire / Syntaxhighlighter

Post by frase » Thu May 26, 2022 6:44 pm

So, da es heute mal wieder zeitweise kein Einloggen ins Forum gab, hat mich Christophs Quickfix auf anderem Wege erreicht.
Um die oben geschilderten Probleme beim Zusammenspiel von Syntaxhighlighter mit der XH-Suche und dem Plugin Glossaire zu beheben, sind nur ein paar Codezeilen Javascript nötig.

Plugin Syntaxhighlighter:
... \plugins\syntaxhighlighter\classes\Plugin.php
Alle Zeilen mit einem + müssen hinzugefügt werden.

Code: Select all

...
137     if (!("addEventListener" in document)) {
138         return;
139     }
140    document.addEventListener("DOMContentLoaded", function () {
141+        var pres = document.getElementsByClassName("brush:");
142+        for (var i = 0; i < pres.length; ++i) {
143+            // remove XH search highlighting
144+            pres[i].querySelectorAll(".xh_find").forEach(function (elt) {
145+                elt.outerHTML = elt.textContent;
146+            });
147+            // remove Glossaire markup
148+            pres[i].querySelectorAll(".gpop").forEach(function (elt) {
149+                elt.outerHTML = elt.textContent;
150+            });
151+        }
152        var aboutDialog = SyntaxHighlighter.config.strings.aboutDialog;
153        SyntaxHighlighter.autoloader($brushes);
...
Vielen Dank an Christoph! Besonders dafür, dass er sich sogar am Feiertag die Zeit genommen hat.

olape
Posts: 2731
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Problem: XH-Suche / Glossaire / Syntaxhighlighter

Post by olape » Fri May 27, 2022 6:53 am

frase wrote:
Thu May 26, 2022 6:44 pm
Vielen Dank an Christoph! Besonders dafür, dass er sich sogar am Feiertag die Zeit genommen hat.
:D
Gruß Olaf, Plugins for CMSimple_XH

Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Problem: XH-Suche / Glossaire / Syntaxhighlighter

Post by cmb » Fri May 27, 2022 1:10 pm

frase wrote:
Thu May 26, 2022 6:44 pm
Vielen Dank an Christoph! Besonders dafür, dass er sich sogar am Feiertag die Zeit genommen hat.
Das war noch der schönere Teil des Feiertags; danach wurde es garstig, weil ich feststellen musste, dass "aktuelle" Versionen des Syntaxhighlighters gar nicht mehr gebaut werden können (jedenfalls nicht so, wie dokumentiert), und das die Software ohnehin Abandonware ist. Ich werde wohl noch Syntaxhighlighter_XH 1.0 damit ausliefern, aber dann muss die Bibliothek gewechselt werden, was wohl Anpassungen für die Nutzer bedeutet. :(

Auf der Suche nach einer Alternative, stieß ich auf highlight.js, die Wert auf semantisches Markup legen, und dringend empfehlen, Code-Schnipsel in <code> einzuschließen. Macht eigentlich Sinn, und vielleicht sollte daher die XH-Suchhervorhebung eben solche, und nicht unbedingt <pre> ausschließen.
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Problem: XH-Suche / Glossaire / Syntaxhighlighter

Post by frase » Fri May 27, 2022 1:32 pm

cmb wrote:
Fri May 27, 2022 1:10 pm
Ich werde wohl noch Syntaxhighlighter_XH 1.0 damit ausliefern, ...
Das ist bis dahin noch voll in Ordnung.
cmb wrote:
Fri May 27, 2022 1:10 pm
Auf der Suche nach einer Alternative, stieß ich auf highlight.js, die Wert auf semantisches Markup legen, und dringend empfehlen, Code-Schnipsel in <code> einzuschließen. Macht eigentlich Sinn, und vielleicht sollte daher die XH-Suchhervorhebung eben solche, und nicht unbedingt <pre> ausschließen.
Auf die Schnelle ...
Klingt gut - aber:
Keinesfalls darf die CSS-Klasse "code" verwendet werden - denn die ist in fast allen Templates schon belegt.
Und ist das nicht alles ein bisschen viel? (Supported Languages)
Jedenfalls wird es noch gepflegt, und die Technik dahinter scheint moderner zu sein.

olape
Posts: 2731
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Problem: XH-Suche / Glossaire / Syntaxhighlighter

Post by olape » Mon May 30, 2022 8:18 am

frase wrote:
Fri May 27, 2022 1:32 pm
Keinesfalls darf die CSS-Klasse "code" verwendet werden
Da steh ich ein wenig auf dem Schlauch. Warum nicht? Ich finde eigentlich auch, dass gerade code richtig wäre.
frase wrote:
Fri May 27, 2022 1:32 pm
Und ist das nicht alles ein bisschen viel? (Supported Languages)
Ist schon reichlich, aber das kann ja nicht schaden.
Gruß Olaf, Plugins for CMSimple_XH

Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Problem: XH-Suche / Glossaire / Syntaxhighlighter

Post by frase » Mon May 30, 2022 8:28 am

olape wrote:
Mon May 30, 2022 8:18 am
Da steh ich ein wenig auf dem Schlauch. Warum nicht? Ich finde eigentlich auch, dass gerade code richtig wäre.
Nicht verwechseln: den Tag <code> ... </code> mit der CSS-Klasse ".code"

Der <code>-Tag wäre völlig in Ordnung.
Beim schnellen Überfliegen von highlightjs hatte ich aber so etwas entdeckt:

Code: Select all

<div class='code'>...</div>
Und das wäre wahrscheinlich fatal, weil viele Templates die CSS-Klasse ".code" individuell definiert haben.

olape
Posts: 2731
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Problem: XH-Suche / Glossaire / Syntaxhighlighter

Post by olape » Mon May 30, 2022 10:31 am

frase wrote:
Mon May 30, 2022 8:28 am
Nicht verwechseln: den Tag <code> ... </code> mit der CSS-Klasse ".code"
Ah, nu ist der Elefant runter vom Schlauch. :oops:
Gruß Olaf, Plugins for CMSimple_XH

Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Problem: XH-Suche / Glossaire / Syntaxhighlighter

Post by cmb » Mon May 30, 2022 12:15 pm

Mal keine Panik wegen highlight.js. Einen Umstieg plane ich nicht für die nächste Zeit (da geht es eher um ein paar Jährchen), und es gibt auch noch andere Kandidaten. Prism.js bietet sich z.B. an, weil es bereits sehr ausgefeilte Plugins für TinyMCE (4 und 5, und schätzungsweise auch 6) gibt.

Wer will kann sich gerne mal den aktuellen Entwicklungsstand ("master") anschauen. Da habe ich u.a. eine noch allgemeinere (und radikalere) Lösung für das Problem mit zusätzlich eingefügtem Markup umgesetzt. Ich hoffe, dass ich Syntaxhighlighter_XH 1.0 an Pfingsten freigeben kann.
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply