From 53223c4de075209ed4e672802fc0595bb934868d Mon Sep 17 00:00:00 2001 From: Irene Oppo Date: Tue, 28 Sep 2021 17:22:30 +0200 Subject: [PATCH 1/2] Support rtl languages by adding a direction option --- src/css/easymde.css | 4 ++++ src/js/easymde.js | 3 +++ 2 files changed, 7 insertions(+) diff --git a/src/css/easymde.css b/src/css/easymde.css index 4240cf3..8e59cee 100644 --- a/src/css/easymde.css +++ b/src/css/easymde.css @@ -2,6 +2,10 @@ display: block; } +.CodeMirror-rtl pre { + direction: rtl; +} + .EasyMDEContainer.sided--no-fullscreen { display: flex; flex-direction: row; diff --git a/src/js/easymde.js b/src/js/easymde.js index 5d2c21c..7c0d479 100644 --- a/src/js/easymde.js +++ b/src/js/easymde.js @@ -1767,6 +1767,8 @@ function EasyMDE(options) { options.shortcuts = extend({}, shortcuts, options.shortcuts || {}); options.maxHeight = options.maxHeight || undefined; + + options.direction = options.direction || 'ltr'; if (typeof options.maxHeight !== 'undefined') { // Min and max height are equal if maxHeight is set @@ -2080,6 +2082,7 @@ EasyMDE.prototype.render = function (el) { lineNumbers: (options.lineNumbers === true) ? true : false, autofocus: (options.autofocus === true) ? true : false, extraKeys: keyMaps, + direction: options.direction, lineWrapping: (options.lineWrapping === false) ? false : true, allowDropFileTypes: ['text/plain'], placeholder: options.placeholder || el.getAttribute('placeholder') || '', From aafd40f35bced55b57ae46f7e32111f61bc59a07 Mon Sep 17 00:00:00 2001 From: Irene Oppo Date: Tue, 5 Oct 2021 10:01:36 +0200 Subject: [PATCH 2/2] Add direction option to README --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 235d379..fc2dea5 100644 --- a/README.md +++ b/README.md @@ -154,7 +154,7 @@ easyMDE.value('New input for **EasyMDE**'); - **underscoresBreakWords**: If set to `true`, let underscores be a delimiter for separating words. Defaults to `false`. - **overlayMode**: Pass a custom codemirror [overlay mode](https://codemirror.net/doc/manual.html#modeapi) to parse and style the Markdown during editing. - **mode**: A codemirror mode object. - - **combine**: If set to `false`, will *replace* CSS classes returned by the default Markdown mode. Otherwise the classes returned by the custom mode will be combined with the classes returned by the default mode. Defaults to `true`. + - **combine**: If set to `false`, will *replace* CSS classes returned by the default Markdown mode. Otherwise the classes returned by the custom mode will be combined with the classes returned by the default mode. Defaults to `true`. - **placeholder**: If set, displays a custom placeholder message. - **previewClass**: A string or array of strings that will be applied to the preview screen when activated. Defaults to `"editor-preview"`. - **previewRender**: Custom function for parsing the plaintext Markdown and returning HTML. Used when user previews. @@ -206,6 +206,7 @@ easyMDE.value('New input for **EasyMDE**'); - **theme**: Override the theme. Defaults to `easymde`. - **toolbar**: If set to `false`, hide the toolbar. Defaults to the [array of icons](#toolbar-icons). - **toolbarTips**: If set to `false`, disable toolbar button tips. Defaults to `true`. +- **direction**: `rtl` or `ltr`. Changes text direction to support right-to-left languages. Defaults to `ltr`. ### Options example