GithubHelp home page GithubHelp logo

friendsofredaxo / redactor Goto Github PK

View Code? Open in Web Editor NEW
28.0 6.0 5.0 1.02 MB

Integriert den Redactor WYSIWYG-Editor in aktueller Version

License: Other

JavaScript 60.74% PHP 24.91% SCSS 14.35%
redaxo redaxo-addon wysiwyg redactor

redactor's Introduction

Redactor Editor

Bindet den WYSIWYG-Editor Redactor in Version 3 im Backend ein.

Screenshot

Plugins

  • alignment
  • blockquote
  • bold
  • cleaner
  • clip
  • deleted
  • format; format[p|h1]; format[Sher=p.sher|Lock=p.lock]
  • h1
  • h2
  • h3
  • h4
  • h5
  • h6
  • hr
  • html
  • image
  • indent
  • italic
  • linkEmail
  • linkExternal
  • linkInternal
  • linkMedia
  • linkTelephone
  • linkYForm[tableNameA=field|rex_yf_news=title]
  • lists[ul|ol|indent|outdent]
  • ol
  • outdent
  • pre
  • quote
  • redo
  • separator (|)
  • style[code|mark|var|kbd|sup|sub]
  • sub
  • sup
  • ul
  • underline
  • undo

Redactor Plugins

  • counter (via Profil aktivieren)
  • fontcolor
  • fontfamily
  • fontsize
  • fullscreen
  • limiter (via Profil aktivieren)
  • properties
  • specialchars
  • table
  • textdirection
  • video
  • widget

Profil

Ein Profil wird entsprechend wie folgt angelegt:

html,undo,|,redo,h1,h2,h3,h4,bold,italic,|,image,blockquote,lists[indent],ol,ul,linkExternal,linkInternal,hr,linkYForm[rex_yform_test=last_name|rex_yform_news=title],table,widget

Weitere Einstellungen können hinterlegt werden, dazu die Parameter des Vendors beachten: https://imperavi.com/redactor/docs/settings/overview/

Modulbeispiel

Eingabe

Der in der Profilverwaltung erstellte Selector wird der Textarea als css-class zugeordnet.

<textarea class="form-control redactor-editor--full" name="REX_INPUT_VALUE[1]">REX_VALUE[1]</textarea>

Ausgabe

REX_VALUE[id="1" output="html"]

Hinweise

Plugin linkYForm

Um die fiktiven generierten Urls wie rex-yf-news://1 zu ersetzen, muss folgendes Skript in die boot.php des project AddOns. Dazu müsste der Code für die Urls angepasst werden.

\rex_extension::register('OUTPUT_FILTER', function(\rex_extension_point $ep) {
    return preg_replace_callback(
        '@(rex-yf-(news|person))://(\d+)(?:-(\d+))?/?@i',
        function ($matches) {
            // table = $matches[1]
            // id = $matches[3]
            $url = '';
            switch ($matches[1]) {
                case 'rex-yf-news':
                    // Beispiel, falls die Urls via Url-AddOn generiert werden 
                    $object = News::get($matches[3]);
                    if ($object) {
                        $url = $object->getUrl();
                        
                        // die getUrl Methode könnte so aussehen
                        // public function getUrl()
                        // {
                        //     return rex_getUrl('', '', ['news-id' => $this->id]);
                        // }
                    }
                    break;
                case 'rex-yf-person':
                    // ein anderes Beispiel 
                    $url = '/index.php?person='.$matches[3];
                    break;
            }
            return $url;
        },
        $ep->getSubject()
    );
}, rex_extension::NORMAL);

Migration von redactor2 zu redactor (3, diese Version)

#11

redactor's People

Contributors

aeberhard avatar alxndr-w avatar dergel avatar gseilheimer avatar imgbot[bot] avatar imgbotapp avatar interweave-media avatar rbergm avatar schuer avatar skerbis avatar tbaddade avatar tyrant88 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

redactor's Issues

Idee: Clips pflegbar machen

  • Es wäre cool wenn man die Clips separat pflegen könnte. So dass Redakteure sie ggf. auch selbst anpassen und erweitern könnten.

  • Alternativ:
    irgendwie von einem eigenen AddOn einschleusen lassen in das Profil?

Texte können nicht mit CMD + V eingefügt werden.

Texte können nicht mit CMD + V eingefügt werden. u Nach abspeichern eines Textes wird ein <p> Tag eingebunden

Mir fallen aktuell keine weiteren Infos ein, die ich hier schreiben könnte. Falls gewünscht, werde ich diese Nachtragen!.

Tabellenauswahl funktioniert nicht

Description / Beschreibung
image

Außerdem scheint es bei der Definieriung Probleme mit Label und Tabellenname zu geben - ich muss für beides den Tabellennamen nehmen, weil das Label auch für die Tabelle verwendet wird.

Demo-Zugang kann ich geben.

Affected versions / Verwendete Versionen

REDAXO: 5.15
PHP: 8.x
Database: *
Browser: *
AddOns: *

Did it whoops? / Whoops erhalten?
Nein, aber YForm steigt aus.

Text aus LibreOffice Writer wird im Quelltext umgebrochen

Ich verfasse und formatiere die Texte mit Überschriften, Absätzen, Listen etc. in LibreOffice Writer mit einer HTML-Seitenvorlage.
Dort nutze ich einfache HTML-Formatvorlagen (h1, h2, p, ..)

Beim Kopieren von Text aus LibreOffice Writer in das WYSWIG-Feld über wird der Quelltext nach ca. 70 Zeichen umgebrochen.
Beim Redactor 2 wird klappte das noch einwandfrei.

Eigene redactor.js angeben können

Um vielleicht striktere Einstellungen durchführen zu können. Könnte man auch eine eigene redactor.js angeben in den Settings die anstelle der mitgelieferten geladen werden kann.

Clips Pflege

  • Es wäre cool wenn man die Clips separat pflegen könnte. So dass Redakteure sie ggf. auch selbst anpassen und erweitern könnten.

fontcolor - eigene Farben definieren

Wie kann man beim Plugin Fontcolor eigene Farben definieren?
Ich hätte es so versucht:
fontcolor[#000|#333]
fontcolor[ '#000', '#333']
fontcolor[#000, #333]
leider funkioniert keine der Varianten - es sind immer alle Farben zu sehen

Copy - Paste URL wird gekürzt - wie abschalten?

https://www.long-example-domain.org wird beim Einfügen zu [https://www.long-example-domai...](https://www.long-example-domain.org/). Wie lässt sich das unterbinden? Die Trennung ist besch...eiden, man hätte ja zumindest die Domain zu Ende schreiben können.

image

Links zu YForm Datensätze automatisieren

Bisher haben wir das immer separat für jede Tabelle gemacht. Ein besseres Handling fände ich da gut.

Idee

  • im Profil YForm-Tabellen auswählen
  • Javascript PlugIn automatisch erstellen
  • Auflösen der Url via OUTPUT_FILTER, ähnlich wie redaxo://1

code - Formatierung wird nicht entfernt

Stile wie code, markieren, o.ä. können nicht entfernt werden.

gif

Browser: Firefox
Profil:

h3, h4, h5, h6, |, h3, h3,
bold, italic, underline, deleted, style, |,
lists, alignment, block, quote, |,
hr, image, table, |,
linkExternal, linkInternal, linkMedia, |,
html, |,
undo, redo, |,

Math Editor

Hat jemand schon Erfahrungen mit einem gescheiten, leicht integrierbaren Editor für mathematische oder chemische Formeln?

Liste von Editoren
https://en.wikipedia.org/wiki/Formula_editor
https://github.com/mathjax/MathJax-docs/wiki/List-of-web-based-math-editors

Libs die mir aufgefallen sind (ohne Wertung)
https://mathlive.io
https://ianlucas.github.io/mathjax-editor/
https://katex.org/#demo
https://stackedit.io/app# (Markdwon Editor mit Katex)

CSS für MathML
https://www.w3.org/TR/MathML2/appendixg.html

Externer Link : Checkbox "externes Fenster" optional

Da wir zumeist das target Attribute global für externe Links setzen, kommt es beim Redakteur hier zu Verwirrungen. Dennhakelt er die Checkbox nicht an, wird der Link dennoch sich in einem neuen Tab/Fenster öffnen.

Installer-Beschreibung deutlicher formulieren, um auf aktuelle Version hinzuweisen

Dem Hörensagen nach ist das Addon redactor ja aktueller als redactor2 und es wird empfohlen, dieses hier zu verwenden.

Sieht man sich beide Versionen über den Installer an, ist nicht verwunderlich, warum redactor2 eher heruntergeladen wird:

image

  • Es ist nicht zu erkennen, dass redactor auf Redactor 3 basiert.
  • redactor2 hat eine ausführlichere Beschreibung und sieht damit "gepflegter" aus.
  • Beide haben ein aktuelles Veröffentlichungsdatum.

Ich würde empfehlen, den Eintrag von redactor im Installer herauszuputzen.

Profile durch externe Addons installieren lassen können

Ich würde mir wünschen, dass es auch hier eine Spalte key geben wird, die optional befüllt werden kann, sodass Addons Profile hineinsynchronisieren und ggf. updaten können. key sollte unique sein, NULL darf erlaubt sein.

Bug bei Quellcodebearbeitung

Quellcode Bearbeitung mit Fehler ab Version 5.12. Beim Einfügen von Text oder Bearbeitung von Text verändert sich der schwarze Hintergrund zu weiß. Dadurch wird der Text schwer lesbar. Siehe Bild:

screenshot_20210701_194452 (2)

redactor2 Profile migrieren

Redactor 2 Redactor 3 Hinweis
alignment alignment
anchorlink
blockquote blockquote
bold bold
cleaner cleaner
clips clip
deleted deleted
emaillink linkEmail
externallink linkExternal
fontcolor fontcolor Vendor PlugIn
fontfamily fontfamily Vendor PlugIn
fontsize fontsize Vendor PlugIn
format format
fullscreen fullscreen Vendor PlugIn
groupheading
grouplink
grouplist lists
heading1 h1
heading2 h2
heading3 h3
heading4 h4
heading5 h5
heading6 h6
horizontalrule hr
internallink linkInternal
italic italic
limiter limiter Vendor PlugIn / via Profile
media image
medialink linkMedia
orderedlist ol
paragraph
properties properties Vendor PlugIn
redo redo
source html
styles style
sub sub
sup sup
table table Vendor PlugIn
telephonelink linkTelephone
textdirection textdirection Vendor PlugIn
underline underline
undo undo
unorderedlist ul
--- --- ---
Neu
counter Vendor PlugIn / via Profile
indent
linkYForm
outdent
pre
quote
seperator |
specialchars Vendor PlugIn
video Vendor PlugIn
widget Vendor PlugIn

Aktuelles Format hervorheben

Format-PlugIn: Das aktuell aktive Format an der Cursor-Position hervorheben / Markieren.
Aktuell ist nicht erkennbar, welches Format an der aktuellen Cursor-Position aktiv ist.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.