WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 15.01.2023 20:58:06

stefanek
Developer

CodeMirror Configurator

CodeMirror Configurator

Dies ist eine Implementierung des CodeMirror Syntaxhighlighters für WBCE.
https://codemirror.net/5/demo/theme.html

Es ist gedacht als Ersatz für die in die Jahre gekommene EditArea Implementierung.
Diese lädt sehr langsam und teilweise bricht sie zusammen.

CodeMirror auf der anderen Seite ist sehr flink, nicht so überladen und tut den Job.

Das Modul selbst ersetzt die EditArea überall dort wo die EditArea über die Funktion registerEditArea() eingebunden wurde (manche Module nutzen zwar die EditArea aber haben einen eigenen Einbindungsmechanismus).

Es reicht: Das Modul hochladen und z.B. im Droplets Modul wird die EditArea durch CodeMirror ersetzt. Ebenfalls die WYSIWYG Abschnitte, falls kein CKEditor ausgewählt wurde.

Ich habe zusätzlich ein AdminTool gemacht (siehe Screenshot), über den ein Theme, die Schriftgröße und ein paar Fonts ausgewählt werden können. Die Auswahl betrifft dann sämtliche CodeMirror instanzen.

attachment.php?item=3313&download=1

An Modul- und Core-Entwickler:

CodeMirror wird im nächsten Release fest mit WBCE ausgeliefert.
Testet euch also bitte durch das Tool und falls ihr EditArea oder eigene CodeMirror Implementierungen hattet und Hilfe beim Umstieg auf dieses Tool braucht, lasst mich wissen. Vielleicht lassen sich dadurch einige Redundanzen im WBCE Installationspaket reduzieren.

Technisches

Die alte Funktion registerEditArea() dient nun lediglich als "Fallback", um alte EditArea Instanzen abzufangen.
Die neue Funktion heißt registerCodeMirror() .
Es gibt 3 Parameter:

function registerCodeMirror( 
        $id_attr = 'code_area', // <textarea id=""> id-attribute
        $syntax  = 'php', 
        $options = []
    )

Der dritte Parameter ist ein Array und man kann da weitere Optionen mitgeben oder nicht.
Weil es als assoziatives Array umgesetzt wurde muss man auch nicht die Reihenfolge der darin enthaltenen Optionen berücksichtigen und beim Aufruf nur die mitgeben die man braucht.

Die momentanen Default-Optionen die zur Verfügung stehen (ausbaufähig), sind:

        $defaults = [
            'readOnly'     => false,
            'lineNumbers'  => true,
            'foldGutter'   => true,
            'lineWrapping' => true,
            'lineHeight'   => '150%',
            'panel'        => '' // NEXT: integrate Panels https://codemirror.net/5/demo/panel.html
        ];

Es ist noch nicht alles komplett umgesetzt was ich mir vorgenommen habe aber ausreichend um zu testen und vielleicht eigene Module darauf vorzubereiten.

Falls ihr einen Switch brauch, verwendet:

if(defined('CODEMIRROR')){
    // verwende registerCodeMirror(... 
} else {
   // verwende eigene Implementierung
}

Viel Spaß
und, Feedback wie immer willkommen.

Christian

// Edit: DL entfernt: Neue Version im nächsten Post.

Beitrag geändert von stefanek (11.02.2023 14:48:20)


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

Liked by:

florian

#2 16.01.2023 13:25:03

stefanek
Developer

Re: CodeMirror Configurator

Update

In diesem Update gibt es 2 neue Parameter:

    'height'       => '450', 
    'width'        => 'null', // null means: dimension should not be changed. 

Manchmal braucht man den Editor etwas höher oder weniger hoch.
Diese Einstellung gab es auch im alten EditArea, beim Fallback wird sie übernommen.

Gruß,
Christian

Edit: Neue Version hochgeladen.

Beitrag geändert von stefanek (16.01.2023 17:40:25)


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#3 16.01.2023 13:34:28

stefanek
Developer

Re: CodeMirror Configurator

cwSoft AddonFileEditor Patch

Im Anhang ein Patch für den AFE 3.2.2
Dateien überspielen und checken.

Zusätzlich können jetzt im AFE weitere Dateitypen bearbeitet werden.
Neu dazu gekommen sind:
    'twig',
    'phtml',
    'json',
    'ini',
    'sql',
    'md',
    'jquery',

diese werden in manchen Modulen gebraucht waren aber mit den Standardeinstellungen nicht zugänglich.

Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#4 16.01.2023 15:00:03

florian
Administrator

Re: CodeMirror Configurator

Getestet, funktioniert sehr gut


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Liked by:

stefanek

#5 16.01.2023 15:58:44

webbird
Administrator

Re: CodeMirror Configurator

Hab's mir noch nicht angeschaut, ist aber sicher eine feine Sache!


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

Liked by:

stefanek

#6 16.01.2023 16:14:21

stefanek
Developer

Re: CodeMirror Configurator

Danke Bianka.
lol

Ich hatte grad ein wenig Zeit mich wieder in PHP einzuarbeiten. Kleine Pausen sind manchmal auch gut für die Kreativität. :-)

Lass mich wissen, falls Du etwas findest das unbedingt anders gemacht werden sollte.

Gruß,
Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#7 16.01.2023 16:26:32

stefanek
Developer

Re: CodeMirror Configurator

florian schrieb:

Getestet, funktioniert sehr gut

Wenn alles läuft, könntest Du bitte das Patch im AFE integrieren und im AOR austauschen?
Und gab es irgendwo ein GitHub Repo dafür? Falls ja, bitte auch dort unterbringen.

Danke!

Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#8 16.01.2023 17:13:58

florian
Administrator

Re: CodeMirror Configurator

Hm, jetzt sehe ich leider doch gerade noch, dass einige Notices erzeugt werden

2023-01-16T16:11:32+00:00 [Visitor Request] h ttp:/... /admin/admintools/tool.php?tool=CodeMirror_Config
2023-01-16T16:11:32+00:00 [Notice] /modules/CodeMirror_Config/initialize.php:[86] from /modules/CodeMirror_Config/tool.php:[43] registerEditArea "Undefined index: staticTheme"
2023-01-16T16:11:32+00:00 [Notice] /modules/CodeMirror_Config/initialize.php:[137] from /modules/CodeMirror_Config/tool.php:[43] registerEditArea "Undefined index: bgColor"
2023-01-16T16:11:39+00:00 [Visitor Request] ht tp:// ... /modules/cwsoft-addon-file-editor/code/action_handler.php?aid=38&fid=5&action=1
2023-01-16T16:11:39+00:00 [Notice] /modules/CodeMirror_Config/initialize.php:[86] from /modules/cwsoft-addon-file-editor/code/action_handler.php:[162] registerCodeMirror "Undefined index: staticTheme"
2023-01-16T16:11:39+00:00 [Notice] /modules/CodeMirror_Config/initialize.php:[137] from /modules/cwsoft-addon-file-editor/code/action_handler.php:[162] registerCodeMirror "Undefined index: bgColor"


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Liked by:

stefanek

#9 16.01.2023 17:32:11

stefanek
Developer

Re: CodeMirror Configurator

Danke,
wann kommen diese Notices?
Wenn Du in welchem Modul bist?
Nur im Zusammenhang mit dem AFE?

Christian

Beitrag geändert von stefanek (16.01.2023 17:33:15)


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#10 16.01.2023 17:33:54

florian
Administrator

Re: CodeMirror Configurator

Sowohl, wenn ich im AFE bin und eine Code-Seite (zB PHP, JS...) bearbeite, als auch, wenn ich im CodeMirror Admintool bin.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Liked by:

stefanek

#11 16.01.2023 17:41:28

stefanek
Developer

Re: CodeMirror Configurator

OK, danke fürs Feeback.
Habe ein Update mit Korrektur hier hochgeladen:
https://forum.wbce.org/viewtopic.php?pid=40955#p40955

(AFE Patch selbst ist davon nicht betroffen.)

Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

Liked by:

florian

#12 16.01.2023 17:46:48

florian
Administrator

Re: CodeMirror Configurator

Problem behoben, danke


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Liked by:

stefanek

#13 17.01.2023 19:45:05

giz
Mitglied

Re: CodeMirror Configurator

gefällt!
da ich u.a. den AFE sehr häufig benutze, freue ich mich über das frische Aussehen. Keine Fehlermeldungen. runnin' smooth. thumb_up


WBCE 1.6.1 - Fraggy 2.7.1 - PHP 8.2.13- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos

Offline

Liked by:

stefanek

#14 17.01.2023 22:51:48

stefanek
Developer

Re: CodeMirror Configurator

Danke für's Feedback.
Freut mich zu hören, dass es smooth läuft.
Das war mit der Hauptgrund für den Umstieg auf CodeMirror.


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

Liked by:

giz

#15 19.01.2023 08:51:04

Slugger
Mitglied

Re: CodeMirror Configurator

giz schrieb:

gefällt!
da ich u.a. den AFE sehr häufig benutze, freue ich mich über das frische Aussehen. Keine Fehlermeldungen. runnin' smooth. thumb_up

Kann ich bestätigen, feine Sache und vielen Dank smile thumb_up


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4:  OK

Online

Liked by:

stefanek

#16 19.01.2023 13:38:38

stefanek
Developer

Re: CodeMirror Configurator

Danke Slugger.


Übrigens, das war nur möglich durch die Vorarbeit von NorHei, der einen Mechanismus in den Core eingebaut hat welcher ermöglicht Funktionen zu initialisieren, ohne dafür den Core umgraben zu müssen.
Ohne disem Mechanismus könnte es auch eine Kombination von Funktion und AdminTool gar nicht geben. WBCE ist in dieser Hinsicht sehr gut aufgestellt und anders als bei anderen Systemen sind bei uns Hybride Module möglich (AdmiTool, Snippet, Page-Modul in einem z.B.) .

Gruß,
Christian


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

#17 08.04.2023 21:36:39

hpzaun
Mitglied

Re: CodeMirror Configurator

Hallo,
ich habe das Update auf 1.6 gemacht. Jetzt taucht im Module Update Check folgende Zeile auf.
Modulname                                    installiert     verfügbar     Status
CodeMirror Configurator        0.1.0                -                      Farbe LILA

Muss der CodeMirror Configurator noch in die Available Add-Ons for WBCE CMS aufgenommen werden?
Frohe Ostern
HPZaun

Offline

#18 09.04.2023 00:29:36

florian
Administrator

Re: CodeMirror Configurator

Muss der CodeMirror Configurator noch in die Available Add-Ons for WBCE CMS aufgenommen werden?

Danke für den Hinweis, das ist aber aus technischen Gründen nicht möglich


Code allein macht nicht glücklich. Jetzt spenden!

Offline

Fußzeile des Forums

up