WYSIWYG - wie etwas als Code markieren unter Beibehaltung von Zeilenumbrüchen?

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
aisberg
Regular
Posts: 43
Joined: Tue Apr 28, 2020 9:23 pm
Location: Berlin

WYSIWYG - wie etwas als Code markieren unter Beibehaltung von Zeilenumbrüchen?

Post by aisberg » Tue Apr 28, 2020 10:56 pm

Ich kann keine vernünftige Methode finden, Code in meinem Blog einzufügen, ohne dass dabei die Zeilenumbrüche verloren gehen.

Wenn ich den WYSIWYG Editor ausschalte und Markdown verwende, bekomme ich das zwar wahrscheinlich hin, der Editor ist dann aber sehr rudimentär. Also müsste ich die Inhalte in Markdown außerhalb von S9Y mit einem etwas besseren Editor erstellen, was etwas aufwändig wäre.

Schalte ich den WYSIWYG Editor ein, dann finde ich dort nur den Punkt "Wrap Code", der entfernt aber leider alle Zeilenumbrüche. Was ich brauche, ist, dass ich formatierten Code einfüge, markiere und als Code formatieren kann, so wie das hier im Forum auf Knopfdruck (und wie ich das von vielen Foren usw. kenne):

Code: Select all

SELECT
       a
     , b
     , d
FROM
     efg AS T1
WHERE a = 1;
Mit dem s9y-WYSIWYG-Editor bekomme ich das nicht hin. Da kommt dann so was raus, weil es nur "wrap code" gibt:

Code: Select all

SELECT        a      , b      , d FROM      efg AS T1 WHERE a = 1; 
Jedes Mal in den Quellcode zu wechseln, um dort mühsam die Stellen zu finden und manuell als Code zu markieren, kann ja auch nicht die Lösung sein. Es muss doch irgend eine einfache Möglichkeit geben?

aisberg
Regular
Posts: 43
Joined: Tue Apr 28, 2020 9:23 pm
Location: Berlin

Re: WYSIWYG - wie etwas als Code markieren unter Beibehaltung von Zeilenumbrüchen?

Post by aisberg » Wed Apr 29, 2020 10:32 am

Ich habe mir jetzt auch mal die Demo des Original ckeditor angeschaut:
https://ckeditor.com/ckeditor-4/demo/#article
Da gibt es zumindest eine DropDown-Liste für den "Stil" und man kann darüber "Computer Code" auswählen und ohne Verlust der Zeilenumbrüche formatieren. Im s9y Editor gibt es das nicht, egal, welche WYSIWYG-Buttonleiste ich anzeigen lasse.

Ist in s9y nur ein "kastrierter" Editor implementiert und nicht die vollständige Funktionalität? Oder ist die Implementierung von "wrap code" ein Bug?

Ich kann mir nicht vorstellen, dass ich der einzige s9y-Anwender bin, der auch Code in seinem Blog formatieren will. Oder wird der WYSIWYG Editor von Anwendern, die Blogs mit Code schreiben, nicht verwendet? Schreiben diese Anwender den Code der Artikel manuell oder formatieren ihn außerhalb s9y?

Oder gibt es andere WYSIWYG Editoren als den einbauten, mit denen man Code als solchen einfach markieren kann ohne Verlust der Zeilenumbrüche?

Be@t
Regular
Posts: 98
Joined: Sun Dec 18, 2005 5:24 pm
Location: switzerland
Contact:

Re: WYSIWYG - wie etwas als Code markieren unter Beibehaltung von Zeilenumbrüchen?

Post by Be@t » Wed Apr 29, 2020 10:49 am

Der WYSIWYG-Editor wird in Original-S9Y ziemlich stiefmütterlich behandelt (wieso auch immer). Das war einer der Gründe, weshalb ich Anfang dieses Jahres auf die Serendipity Styx Editon umgeschwenkt bin. Dort wird der CKEditor aktiv unterhalten und Updates werden zeitnah nachgeführt. Aktuell läuft die CKEditor Version 4.14. Ich habe Dein Problem kurz nachgespielt und kann bestätigen, dass es in der Styx Editon so nicht vorkommt. Da wird alles richtig dargestellt.

aisberg
Regular
Posts: 43
Joined: Tue Apr 28, 2020 9:23 pm
Location: Berlin

Re: WYSIWYG - wie etwas als Code markieren unter Beibehaltung von Zeilenumbrüchen?

Post by aisberg » Wed Apr 29, 2020 11:01 am

@Be@t
Danke für den Hinweis! Wenn ich das mit s9y nicht hinbekomme, muss ich mir vielleicht auch mal den clone näher anschauen. Ich hätte ja nicht für möglich gehalten, dass solche "Selbstverständlichkeiten" wie die einfache Formatierung von Code mit s9y nicht möglich sind. Allerdings wäre es auch schade, wegen solcher Kleinigkeiten gleich s9y zu verlassen.

User avatar
onli
Regular
Posts: 2355
Joined: Tue Sep 09, 2008 10:04 pm
Contact:

Re: WYSIWYG - wie etwas als Code markieren unter Beibehaltung von Zeilenumbrüchen?

Post by onli » Wed Apr 29, 2020 3:46 pm

Hi!
Tatsächlich würde ich dir naheliegen, sobald du so Dinge wie Codeblöcke hast den Artikel mit Markdown und ohne WYSIWYG-Editor zu schreiben. Wenn dir dafür Buttons fehlen, könntest du sie mit dem Plugin serendipity_event_typesetbuttons nachrüsten. Langfristig reduzierst du damit einfach so viele Probleme, selbst beim besten WYSIWYG-Editor.

Die Style-Auswahl auf Computercode in der Demo geht zwar, aber belässt Leerzeilen - je nachdem wo der Code herkommt ist auch das suboptimal.

Ich habe mir das jetzt angeschaut und mir scheint, das das CKEditor-Plugin, das diesen Button bereitstellt, veraltet ist. Es gibt eine neue Alternative, die schaue ich mir jetzt an. Wenn die nichts taugt würde ich die Stilauswahl hinzufügen. Ich melde mich dann nochmal hier mit einer Lösung.

User avatar
erAck
Regular
Posts: 138
Joined: Mon Feb 16, 2015 1:20 am

Re: WYSIWYG - wie etwas als Code markieren unter Beibehaltung von Zeilenumbrüchen?

Post by erAck » Wed Apr 29, 2020 5:06 pm

Ich hab das eigentlich immer so gemacht:

Code: Select all

<pre class="code">
    &lt; escape &amp; things! &gt;
</pre>
<p>
und im template user.css eine hübsche Box mit

Code: Select all

pre.code {
    ...;
    overflow: auto;
}
Man muss halt immer kurz ein Search&Replace für die drei escapements über den Code-Schnippsel jagen.

User avatar
onli
Regular
Posts: 2355
Joined: Tue Sep 09, 2008 10:04 pm
Contact:

Re: WYSIWYG - wie etwas als Code markieren unter Beibehaltung von Zeilenumbrüchen?

Post by onli » Wed Apr 29, 2020 5:19 pm

erAck: Auch im WYSIWYG-Editor? Außerhalb davon mach auch ich das so.

Um den CKEditor zu verbessern habe ich jetzt zwei Dinge gemacht:

1. Ihn aktualisiert auf 4.14.0
2. Den Code-Wrap-Button mit https://ckeditor.com/cke4/addon/codesnippet ersetzt

aisberg, Be@t: Könntet ihr das testen? Ihr müsstet den Ordner /htmlarea mit dem aus dem aktuellen Master ersetzen. Wenn ihr mit git nicht vertraut seid: Am einfachsten wäre es da, auf https://github.com/s9y/Serendipity zu gehen, rechts auf "Clone or Download" zu klicken, dann auf "Download Zip". Dann das entpacken, den alten /htmlarea-Ordner irgendwohin wegverschieben, den neuen einsetzen.

Ansonsten erreichten euch die Änderungen erst etwas später.
Be@t wrote:
Wed Apr 29, 2020 10:49 am
Der WYSIWYG-Editor wird in Original-S9Y ziemlich stiefmütterlich behandelt (wieso auch immer).
Damit sich das verbessert brauchen wir Hilfe von Nutzern wie dir. Indem ihr euch im Forum meldet und uns mitteilt, wenn etwas nicht funktioniert oder nicht gut funktioniert, kriegen wir überhaupt nur mit dass er jetzt eben nicht weiter vor sich hin tuckert.

Im Idealfall würde sich jemand wie du auch einfach der Sache annehmen und die Fehler korrigieren helfen.

Uns fehlen Informationen und Meinungen wie: Die ganzen verschiedenen Einstellungen für den Editor, die verwirren mich und die brauche ich nicht (mehr?). Der Button, der bei uns im Test funktionierte, geht mit dem neuen Browser nicht. Solches Zeug kriegen eben nur die echten Nutzer des Editors zeitnah mit.

aisberg
Regular
Posts: 43
Joined: Tue Apr 28, 2020 9:23 pm
Location: Berlin

Re: WYSIWYG - wie etwas als Code markieren unter Beibehaltung von Zeilenumbrüchen?

Post by aisberg » Wed Apr 29, 2020 5:33 pm

Die WYSIWYG-Idee fand ich schön, weil ich für meine ersten Artikel ein paar bestehende Inhalte reinkopiert hatte und die Formatierungen dabei vollständig übernommen wurden. Das fand ich super.

Wenn ich Artikel ganz und gar neu schreibe, was die Regel sein wird, dann sollte es kein Problem sein, die in MarkDown zu schreiben. Das mache ich ja, wenn ich in WIKI's schreibe, auch.

Es gibt wohl auch ein paar Konverter, die formatierte Inhalte in Markdown "übersetzen", falls ich so was doch noch mal brauche.

------------

Ich lese gerade den Beitrag von @onli: so eine schnelle Reaktion ist ja super. Ich werde heute Abend das Repository clonen und gebe dann Feedback.

Wie ich helfen kann, Fehler zu korrigieren, muss ich schauen. Ich bin Spezialist für Datenbanken, BI usw., weniger für Applikationsentwicklung. Wenn ich allerdings sehe, wie schnell Anwender-Feedback zu Reaktionen führt, dann bringe ich mich sehr gerne ein. Vermutlich sollte dafür besser der Bugtracker im Github verwendet werden?

User avatar
erAck
Regular
Posts: 138
Joined: Mon Feb 16, 2015 1:20 am

Re: WYSIWYG - wie etwas als Code markieren unter Beibehaltung von Zeilenumbrüchen?

Post by erAck » Wed Apr 29, 2020 5:43 pm

onli wrote:
Wed Apr 29, 2020 5:19 pm
erAck: Auch im WYSIWYG-Editor?
Gute Frage.. wahrscheinlich nicht. Ich benutze den nicht (mehr?). Kann man den nicht temporär in einen Raw-Modus schalten?

User avatar
erAck
Regular
Posts: 138
Joined: Mon Feb 16, 2015 1:20 am

Re: WYSIWYG - wie etwas als Code markieren unter Beibehaltung von Zeilenumbrüchen?

Post by erAck » Wed Apr 29, 2020 5:50 pm

Sollte das Geshi serendipity_event_geshi plugin nicht auch im WYSIWYG funktionieren?

aisberg
Regular
Posts: 43
Joined: Tue Apr 28, 2020 9:23 pm
Location: Berlin

Re: WYSIWYG - wie etwas als Code markieren unter Beibehaltung von Zeilenumbrüchen?

Post by aisberg » Wed Apr 29, 2020 5:52 pm

Ich habe das Repo auf meinen Rechner gecloned, den Ordner "htmlarea" per ftp auf meine s9y Instanz kopiert, also in das bestehende Verzeichnis. Allerdings wird mir im Editor immer noch angezeigt, dass ich die Version 4.4.8 habe

Unter Wartung habe ich dann auf "Installation prüfen" geklickt
Da kommen hunderte solcher Meldungen:
htmlarea/ckeditor/ckeditor/CHANGES.md beschädigt oder verändert: Überprüfung fehlgeschlagen

Was muss ich denn jetzt machen, damit die neuen Änderungen auch akzeptiert werden und die Überprüfung keine Fehler mehr meldet?

User avatar
onli
Regular
Posts: 2355
Joined: Tue Sep 09, 2008 10:04 pm
Contact:

Re: WYSIWYG - wie etwas als Code markieren unter Beibehaltung von Zeilenumbrüchen?

Post by onli » Wed Apr 29, 2020 6:30 pm

Die checksums musst du ignroerien: Da ist bestimmt nichts kaputt, deine installation erwartet nur nicht die neuen Dateien. So klug ist da System auch nicht, die sonst nicht zu laden.

Du bist sicher, dass die alten Dateien ersetzt wurden? Mir hätte es passieren können, ein htmlarea/htmlarea/ zu produzieren.

Die alte Version könnte sonst auch am Browser Cache liegen, hilft es, die Seite mehrfach neu zu laden, bzw den zu leeren?

aisberg
Regular
Posts: 43
Joined: Tue Apr 28, 2020 9:23 pm
Location: Berlin

Re: WYSIWYG - wie etwas als Code markieren unter Beibehaltung von Zeilenumbrüchen?

Post by aisberg » Wed Apr 29, 2020 7:43 pm

War wohl noch im Cache.
Ich sehe jetzt die Version 4.14.0
es gibt dort jetzt "Codeschnipsel einfügen" und das funktioniert auch.
Man muss halt den Code in das Fenster einfügen, das sich öffnet, wenn man da rauf klickt.

Wobei es auch nicht schlecht wäre, wenn man Text markieren könnte, und so, wie man ihn als Zitat markiert dann eben als Code. Allerdings vermute ich, dass das vom CKEditor abhängt.

SCAYT für die Rechtschreibprüfung funktioniert nun auch, man kann endlich Deutsch auswählen, das funktionierte früher nicht.

Also ich bin sehr mit dem Hotfix zufrieden! Wenn das hier immer so schnell und kompetent geht, dann kann man sich kaum einen besseren Support vorstellen!

User avatar
onli
Regular
Posts: 2355
Joined: Tue Sep 09, 2008 10:04 pm
Contact:

Re: WYSIWYG - wie etwas als Code markieren unter Beibehaltung von Zeilenumbrüchen?

Post by onli » Wed Apr 29, 2020 7:48 pm

Sehr schön. Danke fürs Testen, und Danke fürs Lob. Wir bemühen uns ;)

User avatar
thh
Regular
Posts: 418
Joined: Thu Oct 26, 2006 2:38 pm
Location: Stuttgart, Germany
Contact:

Re: WYSIWYG - wie etwas als Code markieren unter Beibehaltung von Zeilenumbrüchen?

Post by thh » Thu Apr 30, 2020 8:28 am

aisberg wrote:
Wed Apr 29, 2020 5:52 pm
Ich habe das Repo auf meinen Rechner gecloned, den Ordner "htmlarea" per ftp auf meine s9y Instanz kopiert, also in das bestehende Verzeichnis. Allerdings wird mir im Editor immer noch angezeigt, dass ich die Version 4.4.8 habe
Das ist der Browsercache - hat mich bei der letzten Änderung am CKE auch eine halbe Stunde gekostet, bis ich das raus hatte. :) Firefox war da hartnäckig, am Ende habe ich alle Browserfenster geschlossen und den Browser neu gestartet, damit er sich das Javascript neu zieht.

Post Reply