Nun, so ziemlich alles ist im Titel: Gibt es Abkürzungen, um etwas anderes zu tun, als Text fett, kursiv oder unterstrichen zu machen? Oder ein Plugin, das dies erlaubt?
Laut einem Kollegen von mir scheint der Quellcode solche Dinge nicht zu enthalten, aber vielleicht haben wir etwas übersehen?
Etherpad enthält einen eingebetteten Rich-Text-Editor namens ACE2 (ursprünglich AppJet Code Editor), der für die Tastaturkürzelbehandlung verantwortlich zu sein scheint.
Die standardmäßig eingebettete ace.js
-Datei wurde in älteren Etherpad-Versionen minimiert und ist daher schwer zu lesen, aber Sie können die ursprünglichen Quelldateien direkt in infrastructure/ace
Teil des Quellcodes , aus dem die verkleinerte Version erstellt wird. Weitere Informationen hierzu finden Sie in der ACE2-README .
Neuere Versionen (zumindest die von etherpad.org) scheinen die normale ACE2 JS-Quelle zu enthalten.
Der Tastaturkürzel-Bearbeitungscode befindet sich in ace2_inner.js
innerhalb des handleKeyEvent()
Funktion. Aus diesem Grund sieht es so aus, als ob die Tastaturkürzel, die standardmäßig unterstützt werden, die folgenden sind (über den Verknüpfungen des Browsers wie Ausschneiden / Kopieren / Einfügen):
Nichts für Durchstreich- oder Aufzählungslisten, und nichts, was wie ein einfacher Erweiterungsmechanismus für Shortcuts aussieht, also müssen Sie vielleicht Ihre Hände schmutzig machen ;-)
Wenn Sie über eine eigene Etherpad-Bereitstellung verfügen, ist es am einfachsten, den Quellcode von ACE2 so zu ändern, dass zusätzliche Verknüpfungen gehandhabt werden. Erstellen Sie dann die verkleinerte Version ace2.js
erneut (gemäß den Anweisungen in README ), falls erforderlich.
Im Folgenden finden Sie ein Beispiel für die Verwendung der Tastenkombination Strg + S für Durchstreichen und Strg + L für die Aufzählungsliste Umschalten. Die durchgestrichene Verknüpfung deaktiviert die integrierte Browser-Verknüpfung Speichern unter ..., die einen Bonus darstellt. Wenn Ihnen das nicht gefällt, können Sie immer einen anderen Schlüssel als S auswählen.
Fügen Sie das folgende Codefragment in ace2_inner.js
zwischen ähnlich aussehende Blöcke ein, die andere Verknüpfungen um Zeile 3200 behandeln:
Wenn Sie die verkleinerte Version nicht wiederherstellen können, können Sie auch versuchen, sie direkt mit den minimierten Namen zu patchen. Hier ist die verkleinerte Version des obigen Snippets für mich, obwohl YMMV, ich nicht überprüft habe, ob die Minification stabil ist und jedes Mal die gleichen gekürzten Namen wiederverwendet. Suchen Sie nach "y" (mit den Anführungszeichen), um die verkleinerte Version von handleKeyEvent()
in ace.js
:
Wenn Sie schließlich nicht die Etherpad-Implementierung steuern, können Sie vielleicht etwas Ähnliches mithilfe eines handleKeyEvent()
patcht. Versuchen Sie zunächst, die window.pad*
-Objekte wie window.padeditor
zu untersuchen, um sich in den Editor einzuloggen. Wählen Sie zum Beispiel etwas Text im Editor und versuchen Sie Folgendes in der Konsole:
Tags und Links keyboard-shortcuts etherpad