├── .github └── workflows │ └── publish-to-redaxo.yml ├── CHANGELOG.md ├── LICENSE ├── LICENSE_Screenshot.png ├── README.md ├── assets ├── plugins.vanilla │ ├── alignment.js │ ├── blockquote.js │ ├── bold.js │ ├── cleaner.js │ ├── clip.js │ ├── deleted.js │ ├── format.js │ ├── h1.js │ ├── h2.js │ ├── h3.js │ ├── h4.js │ ├── h5.js │ ├── h6.js │ ├── hr.js │ ├── html.js │ ├── image.js │ ├── indent.js │ ├── italic.js │ ├── linkEmail.js │ ├── linkExternal.js │ ├── linkInternal.js │ ├── linkMedia.js │ ├── linkTelephone.js │ ├── linkYForm.js │ ├── lists.js │ ├── ol.js │ ├── outdent.js │ ├── pre.js │ ├── quote.js │ ├── redo.js │ ├── separator.js │ ├── style.js │ ├── sub.js │ ├── sup.js │ ├── ul.js │ ├── underline.js │ └── undo.js ├── plugins │ ├── alignment.js │ ├── blockquote.js │ ├── bold.js │ ├── cleaner.js │ ├── clip.js │ ├── deleted.js │ ├── format.js │ ├── h1.js │ ├── h2.js │ ├── h3.js │ ├── h4.js │ ├── h5.js │ ├── h6.js │ ├── hr.js │ ├── html.js │ ├── image.js │ ├── indent.js │ ├── italic.js │ ├── linkEmail.js │ ├── linkExternal.js │ ├── linkInternal.js │ ├── linkMedia.js │ ├── linkTelephone.js │ ├── linkYForm.js │ ├── lists.js │ ├── ol.js │ ├── outdent.js │ ├── pre.js │ ├── quote.js │ ├── redo.js │ ├── separator.js │ ├── style.js │ ├── sub.js │ ├── sup.js │ ├── ul.js │ ├── underline.js │ └── undo.js ├── redactor.css ├── redactor.js └── redactor.vanilla.js ├── boot.php ├── install.php ├── lang ├── de_de.lang ├── en_gb.lang └── sv_se.lang ├── lib └── Redactor.php ├── package.yml ├── pages ├── index.php ├── profile.php └── settings.php ├── scss ├── _base.scss ├── _dropdown.scss ├── _modal.scss ├── _redaxo.scss ├── _source.scss ├── _statusbar.scss ├── _styles.scss ├── _toolbar.scss └── redactor.scss ├── update.php └── vendor └── redactor ├── index.html ├── langs ├── ar.js ├── cs.js ├── da.js ├── de.js ├── en.js ├── es.js ├── fa.js ├── fi.js ├── fr.js ├── he.js ├── hr.js ├── hu.js ├── it.js ├── ja.js ├── ko.js ├── nl.js ├── no.js ├── pl.js ├── pt_br.js ├── ro.js ├── ru.js ├── sk.js ├── sl.js ├── sv.js ├── tr.js ├── zh_cn.js └── zh_tw.js ├── plugins ├── alignment │ ├── alignment.js │ └── alignment.min.js ├── beyondgrammar │ ├── beyondgrammar.js │ └── beyondgrammar.min.js ├── clips │ ├── clips.css │ ├── clips.js │ ├── clips.min.css │ └── clips.min.js ├── counter │ ├── counter.js │ └── counter.min.js ├── definedlinks │ ├── definedlinks.js │ └── definedlinks.min.js ├── filemanager │ ├── filemanager.css │ ├── filemanager.js │ ├── filemanager.min.css │ └── filemanager.min.js ├── fontcolor │ ├── fontcolor.js │ └── fontcolor.min.js ├── fontfamily │ ├── fontfamily.js │ └── fontfamily.min.js ├── fontsize │ ├── fontsize.js │ └── fontsize.min.js ├── fullscreen │ ├── fullscreen.js │ └── fullscreen.min.js ├── handle │ ├── handle.css │ ├── handle.js │ ├── handle.min.css │ └── handle.min.js ├── imagemanager │ ├── imagemanager.js │ └── imagemanager.min.js ├── inlinestyle │ ├── inlinestyle.css │ ├── inlinestyle.js │ ├── inlinestyle.min.css │ └── inlinestyle.min.js ├── limiter │ ├── limiter.js │ └── limiter.min.js ├── properties │ ├── properties.js │ └── properties.min.js ├── specialchars │ ├── specialchars.js │ └── specialchars.min.js ├── table │ ├── table.js │ └── table.min.js ├── textdirection │ ├── textdirection.js │ └── textdirection.min.js ├── textexpander │ ├── textexpander.js │ └── textexpander.min.js ├── variable │ ├── variable.css │ ├── variable.js │ ├── variable.min.css │ └── variable.min.js ├── video │ ├── video.js │ └── video.min.js └── widget │ ├── widget.js │ └── widget.min.js ├── redactor.css ├── redactor.js ├── redactor.min.css ├── redactor.min.js ├── redactor.usm.min.js └── scss ├── accessibility.scss ├── animation.scss ├── base.scss ├── context.scss ├── dropdown.scss ├── fullscreen.scss ├── icons.scss ├── mixins.scss ├── modal.scss ├── placeholder.scss ├── progress.scss ├── redactor.scss ├── source.scss ├── statusbar.scss ├── structure.scss ├── styles.scss ├── toolbar-air.scss ├── toolbar.scss ├── upload.scss └── variables.scss /.github/workflows/publish-to-redaxo.yml: -------------------------------------------------------------------------------- 1 | # Instructions: https://github.com/FriendsOfREDAXO/installer-action/ 2 | 3 | name: Publish to REDAXO.org 4 | on: 5 | release: 6 | types: 7 | - published 8 | 9 | jobs: 10 | redaxo_publish: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v3 14 | - if: hashFiles('composer.json') != '' 15 | uses: shivammathur/setup-php@v2 16 | with: 17 | php-version: "8.2" 18 | - if: hashFiles('composer.json') != '' 19 | uses: ramsey/composer-install@v2 20 | with: 21 | composer-options: "--no-dev" 22 | - uses: FriendsOfREDAXO/installer-action@v1 23 | with: 24 | myredaxo-username: ${{ secrets.MYREDAXO_USERNAME }} 25 | myredaxo-api-key: ${{ secrets.MYREDAXO_API_KEY }} 26 | description: ${{ github.event.release.body }} 27 | version: ${{ github.event.release.tag_name }} 28 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Redactor - Changelog 2 | 3 | ## 2.4.2 – 09.02.2024 4 | 5 | ### Bugfixes 6 | 7 | * Fehlende update.php ergänzt 8 | 9 | 10 | 11 | ## 2.4.1 – 12.2023 12 | 13 | ### Features 14 | 15 | ### Bugfixes 16 | 17 | 18 | 19 | ## 2.3.0 – 12.11.2021 20 | 21 | ### Features 22 | 23 | * Anpassungen für den Dark Mode (R 5.13) ([#33](https://github.com/FriendsOfREDAXO/redactor/pull/33)) 24 | * Svensk översättning ([#34](https://github.com/FriendsOfREDAXO/redactor/pull/34)) 25 | 26 | ### Bugfixes 27 | 28 | * Dokumentation angepasst ([#36](https://github.com/FriendsOfREDAXO/redactor/pull/36)) 29 | 30 | 31 | ## 2.2.0 – 20.09.2021 32 | 33 | ### Features 34 | 35 | * Vendor update 3.5.1 ([@tbaddade](https://github.com/tbaddade)) 36 | * Funktion "kopieren" in "duplizieren" umbenannt ([@alxndr-w](https://github.com/alxndr-w)) 37 | * Im PlugIn `clip` können Texte via Sprog gepflegt werden ([@tbaddade](https://github.com/tbaddade)) 38 | * Vendor PlugIns können jetzt via i18n übersetzt werden ([@tbaddade](https://github.com/tbaddade)) 39 | * englische Übersetzung ([@tbaddade](https://github.com/tbaddade)) 40 | * ExtensionPoint `REDACTOR_LANG_DIR` aufgenommen, um von außen Übersetzungen zu ermöglichen ([@tbaddade](https://github.com/tbaddade)) 41 | * Option zur Erstellung von Profilen aus Modulen hinzugefügt ([@gseilheimer](https://github.com/gseilheimer)) 42 | 43 | ### Bugfixes 44 | 45 | * [#26](https://github.com/FriendsOfREDAXO/redactor/commit/2f60e5d351ffc31518ca32a97d1179e83d3b6086) - PlugIn `clip` - setzen von `,` war nicht möglich ([@skerbis](https://github.com/skerbis)) 46 | * [#30](https://github.com/FriendsOfREDAXO/redactor/commit/dcdbb0dea8d40817715ee1881e954322eacb0073) - PlugIn `linkMedia` - Pfad wurde falsch gesetzt (Eine REDAXO-Installation in einem Unterordner könnte noch Probleme bereiten, [@tbaddade](https://github.com/tbaddade)) 47 | * [#31](https://github.com/FriendsOfREDAXO/redactor/commit/4624cd1265ad3ac36a9ff3de3ae97063b211138e) - PlugIn `html` - Hintergrund wurde ab REDAXO 5.12 falsch dargestellt ([@tbaddade](https://github.com/tbaddade)) 48 | -------------------------------------------------------------------------------- /LICENSE_Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/FriendsOfREDAXO/redactor/4ff148ea737e6b7435a9a94b7cb8419ca557a447/LICENSE_Screenshot.png -------------------------------------------------------------------------------- /assets/plugins.vanilla/alignment.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | (function ($R) { 12 | $R.add('plugin', 'alignment', { 13 | init: function (app) { 14 | this.app = app; 15 | this.opts = app.opts; 16 | this.lang = app.lang; 17 | this.block = app.block; 18 | this.toolbar = app.toolbar; 19 | }, 20 | // public 21 | start: function () { 22 | let dropdown = {}; 23 | 24 | dropdown.left = { 25 | title: redactorTranslations.alignment_left_title, 26 | api: 'plugin.alignment.set', 27 | args: 'left' 28 | }; 29 | dropdown.center = { 30 | title: redactorTranslations.alignment_center_title, 31 | api: 'plugin.alignment.set', 32 | args: 'center' 33 | }; 34 | dropdown.right = { 35 | title: redactorTranslations.alignment_right_title, 36 | api: 'plugin.alignment.set', 37 | args: 'right' 38 | }; 39 | dropdown.justify = { 40 | title: redactorTranslations.alignment_justify_title, 41 | api: 'plugin.alignment.set', 42 | args: 'justify' 43 | }; 44 | 45 | var button = this.toolbar.addButton('alignment', { 46 | title: redactorTranslations.alignment_title 47 | }); 48 | button.setIcon(''); 49 | button.setDropdown(dropdown); 50 | }, 51 | set: function (type) { 52 | if (type === 'left' && this.opts.direction === 'ltr') { 53 | return this._remove(); 54 | } 55 | 56 | var args = { 57 | style: {'text-align': type} 58 | }; 59 | 60 | this.block.toggle(args); 61 | }, 62 | 63 | // private 64 | _remove: function () { 65 | this.block.remove({style: 'text-align'}); 66 | } 67 | }); 68 | })(Redactor); 69 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/blockquote.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'blockquote', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.blockquote_title, 20 | icon: false, 21 | tooltip: redactorTranslations.blockquote_tooltip, 22 | api: 'module.block.format', 23 | args: { 24 | tag: 'blockquote' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('blockquote', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/bold.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'bold', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.bold_title, 20 | icon: true, 21 | tooltip: redactorTranslations.bold_tooltip, 22 | api: 'module.inline.format', 23 | args: { 24 | tag: 'b' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('bold', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/cleaner.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'cleaner', { 12 | init: function (app) { 13 | this.app = app; 14 | this.block = app.block; 15 | this.inline = app.inline; 16 | this.toolbar = app.toolbar; 17 | this.insertion = app.insertion; 18 | this.selection = app.selection; 19 | }, 20 | 21 | // public 22 | start: function () { 23 | let obj = { 24 | title: redactorTranslations.cleaner_title, 25 | icon: true, 26 | tooltip: redactorTranslations.cleaner_tooltip, 27 | api: 'plugin.cleaner.format' 28 | }; 29 | 30 | let button = this.toolbar.addButton('cleaner', obj); 31 | button.setIcon(''); 32 | }, 33 | 34 | format: function () { 35 | if (this.selection.is()) { 36 | this.inline.clearFormat(); 37 | this.inline.clearAttr(); 38 | this.inline.clearClass(); 39 | this.inline.clearStyle(); 40 | 41 | // get the current selection 42 | // let html = this.selection.getHtml(); 43 | 44 | // Strip out html 45 | // html = html.replace(/(<([^>]+)>)/ig, ""); 46 | // 47 | // this.insertion.set(html); 48 | } 49 | } 50 | }); 51 | })(Redactor); 52 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/clip.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'clip', { 12 | init: function (app) { 13 | this.opts = app.opts; 14 | this.insertion = app.insertion; 15 | this.toolbar = app.toolbar; 16 | 17 | if ('redaxo' in this.opts && 'clip' in this.opts.redaxo) { 18 | this.clipopts = app.opts.redaxo.clip; 19 | } else { 20 | return false; 21 | } 22 | }, 23 | 24 | // public 25 | start: function () { 26 | let dropdown = {}; 27 | 28 | $.each(this.clipopts, function (i, data) { 29 | let title = data[0]; 30 | let clip = data[1]; 31 | 32 | dropdown[i] = { 33 | title: title, 34 | api: 'plugin.clip.set', 35 | args: clip 36 | }; 37 | }); 38 | 39 | let obj = { 40 | title: redactorTranslations.clip_title, 41 | icon: true, 42 | tooltip: redactorTranslations.clip_tooltip 43 | }; 44 | // Don't use name like clip. This has a conflict with the vendor. 45 | let button = this.toolbar.addButton('for-clip', obj); 46 | button.setIcon(''); 47 | button.setDropdown(dropdown); 48 | }, 49 | 50 | set: function (data) { 51 | this.insertion.insertHtml(data); 52 | } 53 | }); 54 | })(Redactor); 55 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/deleted.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'deleted', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.deleted_title, 20 | icon: true, 21 | tooltip: redactorTranslations.deleted_tooltip, 22 | api: 'module.inline.format', 23 | args: { 24 | tag: 'del' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('deleted', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/h1.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'h1', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.h1_title, 20 | icon: false, 21 | tooltip: redactorTranslations.h1_tooltip, 22 | api: 'module.block.format', 23 | args: { 24 | tag: 'h1' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('h1', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/h2.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'h2', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.h2_title, 20 | icon: false, 21 | tooltip: redactorTranslations.h2_tooltip, 22 | api: 'module.block.format', 23 | args: { 24 | tag: 'h2' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('h2', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/h3.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'h3', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.h3_title, 20 | icon: false, 21 | tooltip: redactorTranslations.h3_tooltip, 22 | api: 'module.block.format', 23 | args: { 24 | tag: 'h3' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('h3', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/h4.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'h4', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.h4_title, 20 | icon: false, 21 | tooltip: redactorTranslations.h4_tooltip, 22 | api: 'module.block.format', 23 | args: { 24 | tag: 'h4' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('h4', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/h5.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'h5', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.h5_title, 20 | icon: false, 21 | tooltip: redactorTranslations.h5_tooltip, 22 | api: 'module.block.format', 23 | args: { 24 | tag: 'h5' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('h5', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/h6.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'h6', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.h6_title, 20 | icon: false, 21 | tooltip: redactorTranslations.h6_tooltip, 22 | api: 'module.block.format', 23 | args: { 24 | tag: 'h6' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('h6', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/hr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'hr', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.hr_title, 20 | api: 'module.line.insert' 21 | }; 22 | 23 | let button = this.toolbar.addButton('hr', obj); 24 | button.setIcon(''); 25 | } 26 | }); 27 | })(Redactor); 28 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/html.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'html', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: 'HTML', 20 | icon: true, 21 | api: 'module.source.toggle' 22 | }; 23 | 24 | this.toolbar.addButton('html', obj); 25 | } 26 | }); 27 | })(Redactor); 28 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/image.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'image', { 12 | init: function (app) { 13 | this.app = app; 14 | this.opts = app.opts; 15 | this.toolbar = app.toolbar; 16 | this.insertion = app.insertion; 17 | this.selection = app.selection; 18 | }, 19 | 20 | // public 21 | start: function () { 22 | let obj = { 23 | title: redactorTranslations.image_title, 24 | observe: 'link', 25 | api: 'plugin.image.open' 26 | }; 27 | 28 | let button = this.toolbar.addButton('image', obj); 29 | button.setIcon(''); 30 | }, 31 | 32 | open: function () { 33 | let params = 'redactor_image'; 34 | if ('redactor_rex_media_getImageTypes' in rex) { 35 | params += '&args[types]='+rex.redactor_rex_media_getImageTypes.join(','); 36 | } 37 | let that = this; 38 | let mediaPool = openMediaPool(params); 39 | mediaPool.addEventListener('rex:selectMedia', function (event) { 40 | event.preventDefault(); 41 | mediaPool.close(); 42 | let filename = event.detail; // Assuming `event.detail` contains the filename 43 | let options = { 44 | url: rex.redactor_imageUrlPath + filename, 45 | label: filename 46 | }; 47 | that._insert(options); 48 | }); 49 | }, 50 | 51 | // private 52 | _insert: function (data) { 53 | if (this.selection.getText() !== '') { 54 | data.label = this.selection.getText(); 55 | } 56 | this.insertion.insertRaw(''); 57 | } 58 | }); 59 | })(Redactor); 60 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/indent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'indent', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.indent_title, 20 | icon: true, 21 | api: 'module.list.indent', 22 | observe: 'list' 23 | }; 24 | 25 | this.toolbar.addButton('indent', obj); 26 | } 27 | }); 28 | })(Redactor); 29 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/italic.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'italic', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.italic_title, 20 | icon: true, 21 | tooltip: redactorTranslations.italic_tooltip, 22 | api: 'module.inline.format', 23 | args: { 24 | tag: 'i' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('italic', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/linkExternal.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'linkExternal', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.link_insert, 20 | observe: 'link', 21 | api: 'module.link.open' 22 | }; 23 | 24 | let button = this.toolbar.addButton('linkExternal', obj); 25 | button.setIcon(''); 26 | } 27 | }); 28 | })(Redactor); 29 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/linkInternal.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'linkInternal', { 12 | init: function (app) { 13 | this.app = app; 14 | this.opts = app.opts; 15 | this.toolbar = app.toolbar; 16 | this.insertion = app.insertion; 17 | this.selection = app.selection; 18 | }, 19 | 20 | // public 21 | start: function () { 22 | let obj = { 23 | title: redactorTranslations.linkInternal_title, 24 | observe: 'link', 25 | api: 'plugin.linkInternal.open' 26 | }; 27 | 28 | let button = this.toolbar.addButton('linkInternal', obj); 29 | button.setIcon(''); 30 | }, 31 | 32 | open: function () { 33 | let that = this; 34 | let linkMap = openLinkMap('', '&clang=' + rex.redactor_rex_clang_getCurrentId); 35 | $(linkMap).on('rex:selectLink', function (event, url, label) { 36 | event.preventDefault(); 37 | linkMap.close(); 38 | label = label.replace(new RegExp(that.opts.redaxo.regex.id, 'gi'), "$1"); 39 | let options = { 40 | url: url, 41 | label: label 42 | }; 43 | that._insert(options); 44 | }); 45 | }, 46 | 47 | // private 48 | _insert: function (data) { 49 | if (this.selection.getText() !== '') { 50 | data.label = this.selection.getText(); 51 | } 52 | this.insertion.insertRaw('' + data.label + ''); 53 | } 54 | }); 55 | })(Redactor); 56 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/linkMedia.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'linkMedia', { 12 | init: function (app) { 13 | this.app = app; 14 | this.opts = app.opts; 15 | this.toolbar = app.toolbar; 16 | this.insertion = app.insertion; 17 | this.selection = app.selection; 18 | }, 19 | 20 | // public 21 | start: function () { 22 | let obj = { 23 | title: redactorTranslations.linkMedia_title, 24 | observe: 'link', 25 | api: 'plugin.linkMedia.open' 26 | }; 27 | 28 | let button = this.toolbar.addButton('linkMedia', obj); 29 | button.setIcon(''); 30 | }, 31 | 32 | open: function () { 33 | let that = this; 34 | let mediaPool = openMediaPool('redactor_linkMedia'); 35 | $(mediaPool).on('rex:selectMedia', function (event, filename) { 36 | event.preventDefault(); 37 | mediaPool.close(); 38 | let options = { 39 | url: rex.redactor_rex_url_media+filename, 40 | label: filename 41 | }; 42 | that._insert(options); 43 | }); 44 | }, 45 | 46 | // private 47 | _insert: function (data) { 48 | if (this.selection.getText() !== '') { 49 | data.label = this.selection.getText(); 50 | } 51 | this.insertion.insertRaw('' + data.label + ''); 52 | } 53 | }); 54 | })(Redactor); 55 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/lists.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'lists', { 12 | init: function (app) { 13 | this.opts = app.opts; 14 | this.toolbar = app.toolbar; 15 | 16 | this.listsopts = ['ul', 'ol', 'outdent', 'indent']; 17 | 18 | if ('redaxo' in this.opts && 'lists' in this.opts.redaxo) { 19 | this.listsopts = app.opts.redaxo.lists; 20 | } 21 | }, 22 | 23 | // public 24 | start: function () { 25 | 26 | let dropdown = { 27 | observe: 'list' 28 | }; 29 | 30 | if (this.listsopts.indexOf('ul') !== -1) { 31 | dropdown.unorderedlist = { 32 | title: redactorTranslations.ul_title, 33 | api: 'module.list.toggle', 34 | args: 'ul' 35 | } 36 | } 37 | 38 | if (this.listsopts.indexOf('ol') !== -1) { 39 | dropdown.orderedlist = { 40 | title: redactorTranslations.ol_title, 41 | api: 'module.list.toggle', 42 | args: 'ol' 43 | } 44 | } 45 | 46 | if (this.listsopts.indexOf('outdent') !== -1) { 47 | dropdown.outdent = { 48 | title: redactorTranslations.outdent_title, 49 | api: 'module.list.outdent' 50 | } 51 | } 52 | 53 | if (this.listsopts.indexOf('indent') !== -1) { 54 | dropdown.indent = { 55 | title: redactorTranslations.indent_title, 56 | api: 'module.list.indent' 57 | } 58 | } 59 | 60 | let obj = { 61 | title: redactorTranslations.lists_title, 62 | icon: true, 63 | observe: 'list' 64 | }; 65 | 66 | let button = this.toolbar.addButton('lists', obj); 67 | button.setDropdown(dropdown); 68 | } 69 | }); 70 | })(Redactor); 71 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/ol.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'ol', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.ol_title, 20 | icon: true, 21 | api: 'module.list.toggle', 22 | observe: 'list', 23 | args: 'ol' 24 | }; 25 | 26 | this.toolbar.addButton('ol', obj); 27 | } 28 | }); 29 | })(Redactor); 30 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/outdent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'outdent', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.outdent_title, 20 | icon: true, 21 | api: 'module.list.outdent', 22 | observe: 'list' 23 | }; 24 | 25 | this.toolbar.addButton('outdent', obj); 26 | } 27 | }); 28 | })(Redactor); 29 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/pre.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'pre', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.pre_title, 20 | icon: true, 21 | tooltip: redactorTranslations.pre_tooltip, 22 | api: 'module.block.format', 23 | args: { 24 | tag: 'pre' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('pre', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/redo.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'redo', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.redo_title, 20 | icon: true, 21 | api: 'module.buffer.redo' 22 | }; 23 | 24 | this.toolbar.addButton('redo', obj); 25 | } 26 | }); 27 | })(Redactor); 28 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/separator.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', '|', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = {}; 19 | 20 | let button = this.toolbar.addButton('separator', obj); 21 | button.hideTooltip(); 22 | button.disable(); 23 | } 24 | }); 25 | })(Redactor); 26 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/style.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'style', { 12 | init: function (app) { 13 | this.opts = app.opts; 14 | this.toolbar = app.toolbar; 15 | 16 | this.listsopts = ['mark', 'code', 'var', 'kbd', 'sup', 'sub']; 17 | 18 | if ('redaxo' in this.opts && 'style' in this.opts.redaxo) { 19 | this.listsopts = app.opts.redaxo.style; 20 | } 21 | }, 22 | 23 | // public 24 | start: function () { 25 | 26 | let dropdown = {}; 27 | 28 | for (let key in this.listsopts) { 29 | let element = this.listsopts[key]; 30 | let title = 'style_'+element+'_title'; 31 | dropdown[element] = { 32 | title: redactorTranslations[title], 33 | api: 'module.inline.format', 34 | args: element 35 | } 36 | } 37 | 38 | let obj = { 39 | title: redactorTranslations.style_title, 40 | icon: true, 41 | }; 42 | 43 | let button = this.toolbar.addButton('style', obj); 44 | button.setIcon(''); 45 | button.setDropdown(dropdown); 46 | } 47 | }); 48 | })(Redactor); 49 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/sub.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'subscript', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.subscript_title, 20 | icon: true, 21 | tooltip: redactorTranslations.subscript_tooltip, 22 | api: 'module.inline.format', 23 | args: { 24 | tag: 'sub' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('subscript', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/sup.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'superscript', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.superscript_title, 20 | icon: true, 21 | tooltip: redactorTranslations.superscript_tooltip, 22 | api: 'module.inline.format', 23 | args: { 24 | tag: 'sup' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('superscript', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/ul.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'ul', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.ul_title, 20 | icon: true, 21 | api: 'module.list.toggle', 22 | observe: 'list', 23 | args: 'ul' 24 | }; 25 | 26 | this.toolbar.addButton('ul', obj); 27 | } 28 | }); 29 | })(Redactor); 30 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/underline.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'underline', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.underline_title, 20 | icon: true, 21 | tooltip: redactorTranslations.underline_tooltip, 22 | api: 'module.inline.format', 23 | args: { 24 | tag: 'u' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('underline', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins.vanilla/undo.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'undo', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.undo_title, 20 | icon: true, 21 | api: 'module.buffer.undo' 22 | }; 23 | 24 | this.toolbar.addButton('undo', obj); 25 | } 26 | }); 27 | })(Redactor); 28 | -------------------------------------------------------------------------------- /assets/plugins/alignment.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | 11 | (function ($R) { 12 | $R.add('plugin', 'alignment', { 13 | init: function (app) { 14 | this.app = app; 15 | this.opts = app.opts; 16 | this.lang = app.lang; 17 | this.block = app.block; 18 | this.toolbar = app.toolbar; 19 | }, 20 | // public 21 | start: function () { 22 | let dropdown = {}; 23 | 24 | dropdown.left = { 25 | title: redactorTranslations.alignment_left_title, 26 | api: 'plugin.alignment.set', 27 | args: 'left' 28 | }; 29 | dropdown.center = { 30 | title: redactorTranslations.alignment_center_title, 31 | api: 'plugin.alignment.set', 32 | args: 'center' 33 | }; 34 | dropdown.right = { 35 | title: redactorTranslations.alignment_right_title, 36 | api: 'plugin.alignment.set', 37 | args: 'right' 38 | }; 39 | dropdown.justify = { 40 | title: redactorTranslations.alignment_justify_title, 41 | api: 'plugin.alignment.set', 42 | args: 'justify' 43 | }; 44 | 45 | var button = this.toolbar.addButton('alignment', { 46 | title: redactorTranslations.alignment_title 47 | }); 48 | button.setIcon(''); 49 | button.setDropdown(dropdown); 50 | }, 51 | set: function (type) { 52 | if (type === 'left' && this.opts.direction === 'ltr') { 53 | return this._remove(); 54 | } 55 | 56 | var args = { 57 | style: {'text-align': type} 58 | }; 59 | 60 | this.block.toggle(args); 61 | }, 62 | 63 | // private 64 | _remove: function () { 65 | this.block.remove({style: 'text-align'}); 66 | } 67 | }); 68 | })(Redactor); 69 | -------------------------------------------------------------------------------- /assets/plugins/blockquote.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'blockquote', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.blockquote_title, 20 | icon: false, 21 | tooltip: redactorTranslations.blockquote_tooltip, 22 | api: 'module.block.format', 23 | args: { 24 | tag: 'blockquote' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('blockquote', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins/bold.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'bold', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.bold_title, 20 | icon: true, 21 | tooltip: redactorTranslations.bold_tooltip, 22 | api: 'module.inline.format', 23 | args: { 24 | tag: 'b' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('bold', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins/cleaner.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'cleaner', { 12 | init: function (app) { 13 | this.app = app; 14 | this.block = app.block; 15 | this.inline = app.inline; 16 | this.toolbar = app.toolbar; 17 | this.insertion = app.insertion; 18 | this.selection = app.selection; 19 | }, 20 | 21 | // public 22 | start: function () { 23 | let obj = { 24 | title: redactorTranslations.cleaner_title, 25 | icon: true, 26 | tooltip: redactorTranslations.cleaner_tooltip, 27 | api: 'plugin.cleaner.format' 28 | }; 29 | 30 | let button = this.toolbar.addButton('cleaner', obj); 31 | button.setIcon(''); 32 | }, 33 | 34 | format: function () { 35 | if (this.selection.is()) { 36 | this.inline.clearFormat(); 37 | this.inline.clearAttr(); 38 | this.inline.clearClass(); 39 | this.inline.clearStyle(); 40 | 41 | // get the current selection 42 | // let html = this.selection.getHtml(); 43 | 44 | // Strip out html 45 | // html = html.replace(/(<([^>]+)>)/ig, ""); 46 | // 47 | // this.insertion.set(html); 48 | } 49 | } 50 | }); 51 | })(Redactor); 52 | -------------------------------------------------------------------------------- /assets/plugins/clip.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'clip', { 12 | init: function (app) { 13 | this.opts = app.opts; 14 | this.insertion = app.insertion; 15 | this.toolbar = app.toolbar; 16 | 17 | if ('redaxo' in this.opts && 'clip' in this.opts.redaxo) { 18 | this.clipopts = app.opts.redaxo.clip; 19 | } else { 20 | return false; 21 | } 22 | }, 23 | 24 | // public 25 | start: function () { 26 | let dropdown = {}; 27 | 28 | $.each(this.clipopts, function (i, data) { 29 | let title = data[0]; 30 | let clip = data[1]; 31 | 32 | dropdown[i] = { 33 | title: title, 34 | api: 'plugin.clip.set', 35 | args: clip 36 | }; 37 | }); 38 | 39 | let obj = { 40 | title: redactorTranslations.clip_title, 41 | icon: true, 42 | tooltip: redactorTranslations.clip_tooltip 43 | }; 44 | // Don't use name like clip. This has a conflict with the vendor. 45 | let button = this.toolbar.addButton('for-clip', obj); 46 | button.setIcon(''); 47 | button.setDropdown(dropdown); 48 | }, 49 | 50 | set: function (data) { 51 | this.insertion.insertHtml(data); 52 | } 53 | }); 54 | })(Redactor); 55 | -------------------------------------------------------------------------------- /assets/plugins/deleted.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'deleted', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.deleted_title, 20 | icon: true, 21 | tooltip: redactorTranslations.deleted_tooltip, 22 | api: 'module.inline.format', 23 | args: { 24 | tag: 'del' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('deleted', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins/h1.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'h1', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.h1_title, 20 | icon: false, 21 | tooltip: redactorTranslations.h1_tooltip, 22 | api: 'module.block.format', 23 | args: { 24 | tag: 'h1' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('h1', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins/h2.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'h2', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.h2_title, 20 | icon: false, 21 | tooltip: redactorTranslations.h2_tooltip, 22 | api: 'module.block.format', 23 | args: { 24 | tag: 'h2' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('h2', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins/h3.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'h3', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.h3_title, 20 | icon: false, 21 | tooltip: redactorTranslations.h3_tooltip, 22 | api: 'module.block.format', 23 | args: { 24 | tag: 'h3' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('h3', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins/h4.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'h4', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.h4_title, 20 | icon: false, 21 | tooltip: redactorTranslations.h4_tooltip, 22 | api: 'module.block.format', 23 | args: { 24 | tag: 'h4' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('h4', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins/h5.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'h5', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.h5_title, 20 | icon: false, 21 | tooltip: redactorTranslations.h5_tooltip, 22 | api: 'module.block.format', 23 | args: { 24 | tag: 'h5' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('h5', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins/h6.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'h6', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.h6_title, 20 | icon: false, 21 | tooltip: redactorTranslations.h6_tooltip, 22 | api: 'module.block.format', 23 | args: { 24 | tag: 'h6' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('h6', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins/hr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'hr', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.hr_title, 20 | api: 'module.line.insert' 21 | }; 22 | 23 | let button = this.toolbar.addButton('hr', obj); 24 | button.setIcon(''); 25 | } 26 | }); 27 | })(Redactor); 28 | -------------------------------------------------------------------------------- /assets/plugins/html.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'html', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: 'HTML', 20 | icon: true, 21 | api: 'module.source.toggle' 22 | }; 23 | 24 | this.toolbar.addButton('html', obj); 25 | } 26 | }); 27 | })(Redactor); 28 | -------------------------------------------------------------------------------- /assets/plugins/image.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'image', { 12 | init: function (app) { 13 | this.app = app; 14 | this.opts = app.opts; 15 | this.toolbar = app.toolbar; 16 | this.insertion = app.insertion; 17 | this.selection = app.selection; 18 | }, 19 | 20 | // public 21 | start: function () { 22 | let obj = { 23 | title: redactorTranslations.image_title, 24 | observe: 'link', 25 | api: 'plugin.image.open' 26 | }; 27 | 28 | let button = this.toolbar.addButton('image', obj); 29 | button.setIcon(''); 30 | }, 31 | 32 | open: function () { 33 | let params = 'redactor_image'; 34 | if ('redactor_rex_media_getImageTypes' in rex) { 35 | params += '&args[types]='+rex.redactor_rex_media_getImageTypes.join(','); 36 | } 37 | let that = this; 38 | let mediaPool = openMediaPool(params); 39 | $(mediaPool).on('rex:selectMedia', function (event, filename) { 40 | event.preventDefault(); 41 | mediaPool.close(); 42 | let options = { 43 | url: rex.redactor_imageUrlPath+filename, 44 | label: filename 45 | }; 46 | that._insert(options); 47 | }); 48 | }, 49 | 50 | // private 51 | _insert: function (data) { 52 | if (this.selection.getText() !== '') { 53 | data.label = this.selection.getText(); 54 | } 55 | this.insertion.insertRaw(''); 56 | } 57 | }); 58 | })(Redactor); 59 | -------------------------------------------------------------------------------- /assets/plugins/indent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'indent', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.indent_title, 20 | icon: true, 21 | api: 'module.list.indent', 22 | observe: 'list' 23 | }; 24 | 25 | this.toolbar.addButton('indent', obj); 26 | } 27 | }); 28 | })(Redactor); 29 | -------------------------------------------------------------------------------- /assets/plugins/italic.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'italic', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.italic_title, 20 | icon: true, 21 | tooltip: redactorTranslations.italic_tooltip, 22 | api: 'module.inline.format', 23 | args: { 24 | tag: 'i' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('italic', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins/linkExternal.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'linkExternal', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.link_insert, 20 | observe: 'link', 21 | api: 'module.link.open' 22 | }; 23 | 24 | let button = this.toolbar.addButton('linkExternal', obj); 25 | button.setIcon(''); 26 | } 27 | }); 28 | })(Redactor); 29 | -------------------------------------------------------------------------------- /assets/plugins/linkInternal.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'linkInternal', { 12 | init: function (app) { 13 | this.app = app; 14 | this.opts = app.opts; 15 | this.toolbar = app.toolbar; 16 | this.insertion = app.insertion; 17 | this.selection = app.selection; 18 | }, 19 | 20 | // public 21 | start: function () { 22 | let obj = { 23 | title: redactorTranslations.linkInternal_title, 24 | observe: 'link', 25 | api: 'plugin.linkInternal.open' 26 | }; 27 | 28 | let button = this.toolbar.addButton('linkInternal', obj); 29 | button.setIcon(''); 30 | }, 31 | 32 | open: function () { 33 | let that = this; 34 | let linkMap = openLinkMap('', '&clang=' + rex.redactor_rex_clang_getCurrentId); 35 | $(linkMap).on('rex:selectLink', function (event, url, label) { 36 | event.preventDefault(); 37 | linkMap.close(); 38 | label = label.replace(new RegExp(that.opts.redaxo.regex.id, 'gi'), "$1"); 39 | let options = { 40 | url: url, 41 | label: label 42 | }; 43 | that._insert(options); 44 | }); 45 | }, 46 | 47 | // private 48 | _insert: function (data) { 49 | if (this.selection.getText() !== '') { 50 | data.label = this.selection.getText(); 51 | } 52 | this.insertion.insertRaw('' + data.label + ''); 53 | } 54 | }); 55 | })(Redactor); 56 | -------------------------------------------------------------------------------- /assets/plugins/linkMedia.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'linkMedia', { 12 | init: function (app) { 13 | this.app = app; 14 | this.opts = app.opts; 15 | this.toolbar = app.toolbar; 16 | this.insertion = app.insertion; 17 | this.selection = app.selection; 18 | }, 19 | 20 | // public 21 | start: function () { 22 | let obj = { 23 | title: redactorTranslations.linkMedia_title, 24 | observe: 'link', 25 | api: 'plugin.linkMedia.open' 26 | }; 27 | 28 | let button = this.toolbar.addButton('linkMedia', obj); 29 | button.setIcon(''); 30 | }, 31 | 32 | open: function () { 33 | let that = this; 34 | let mediaPool = openMediaPool('redactor_linkMedia'); 35 | $(mediaPool).on('rex:selectMedia', function (event, filename) { 36 | event.preventDefault(); 37 | mediaPool.close(); 38 | let options = { 39 | url: rex.redactor_rex_url_media+filename, 40 | label: filename 41 | }; 42 | that._insert(options); 43 | }); 44 | }, 45 | 46 | // private 47 | _insert: function (data) { 48 | if (this.selection.getText() !== '') { 49 | data.label = this.selection.getText(); 50 | } 51 | this.insertion.insertRaw('' + data.label + ''); 52 | } 53 | }); 54 | })(Redactor); 55 | -------------------------------------------------------------------------------- /assets/plugins/lists.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'lists', { 12 | init: function (app) { 13 | this.opts = app.opts; 14 | this.toolbar = app.toolbar; 15 | 16 | this.listsopts = ['ul', 'ol', 'outdent', 'indent']; 17 | 18 | if ('redaxo' in this.opts && 'lists' in this.opts.redaxo) { 19 | this.listsopts = app.opts.redaxo.lists; 20 | } 21 | }, 22 | 23 | // public 24 | start: function () { 25 | 26 | let dropdown = { 27 | observe: 'list' 28 | }; 29 | 30 | if (this.listsopts.indexOf('ul') !== -1) { 31 | dropdown.unorderedlist = { 32 | title: redactorTranslations.ul_title, 33 | api: 'module.list.toggle', 34 | args: 'ul' 35 | } 36 | } 37 | 38 | if (this.listsopts.indexOf('ol') !== -1) { 39 | dropdown.orderedlist = { 40 | title: redactorTranslations.ol_title, 41 | api: 'module.list.toggle', 42 | args: 'ol' 43 | } 44 | } 45 | 46 | if (this.listsopts.indexOf('outdent') !== -1) { 47 | dropdown.outdent = { 48 | title: redactorTranslations.outdent_title, 49 | api: 'module.list.outdent' 50 | } 51 | } 52 | 53 | if (this.listsopts.indexOf('indent') !== -1) { 54 | dropdown.indent = { 55 | title: redactorTranslations.indent_title, 56 | api: 'module.list.indent' 57 | } 58 | } 59 | 60 | let obj = { 61 | title: redactorTranslations.lists_title, 62 | icon: true, 63 | observe: 'list' 64 | }; 65 | 66 | let button = this.toolbar.addButton('lists', obj); 67 | button.setDropdown(dropdown); 68 | } 69 | }); 70 | })(Redactor); 71 | -------------------------------------------------------------------------------- /assets/plugins/ol.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'ol', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.ol_title, 20 | icon: true, 21 | api: 'module.list.toggle', 22 | observe: 'list', 23 | args: 'ol' 24 | }; 25 | 26 | this.toolbar.addButton('ol', obj); 27 | } 28 | }); 29 | })(Redactor); 30 | -------------------------------------------------------------------------------- /assets/plugins/outdent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'outdent', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.outdent_title, 20 | icon: true, 21 | api: 'module.list.outdent', 22 | observe: 'list' 23 | }; 24 | 25 | this.toolbar.addButton('outdent', obj); 26 | } 27 | }); 28 | })(Redactor); 29 | -------------------------------------------------------------------------------- /assets/plugins/pre.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'pre', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.pre_title, 20 | icon: true, 21 | tooltip: redactorTranslations.pre_tooltip, 22 | api: 'module.block.format', 23 | args: { 24 | tag: 'pre' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('pre', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins/redo.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'redo', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.redo_title, 20 | icon: true, 21 | api: 'module.buffer.redo' 22 | }; 23 | 24 | this.toolbar.addButton('redo', obj); 25 | } 26 | }); 27 | })(Redactor); 28 | -------------------------------------------------------------------------------- /assets/plugins/separator.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', '|', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = {}; 19 | 20 | let button = this.toolbar.addButton('separator', obj); 21 | button.hideTooltip(); 22 | button.disable(); 23 | } 24 | }); 25 | })(Redactor); 26 | -------------------------------------------------------------------------------- /assets/plugins/style.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'style', { 12 | init: function (app) { 13 | this.opts = app.opts; 14 | this.toolbar = app.toolbar; 15 | 16 | this.listsopts = ['mark', 'code', 'var', 'kbd', 'sup', 'sub']; 17 | 18 | if ('redaxo' in this.opts && 'style' in this.opts.redaxo) { 19 | this.listsopts = app.opts.redaxo.style; 20 | } 21 | }, 22 | 23 | // public 24 | start: function () { 25 | 26 | let dropdown = {}; 27 | 28 | for (let key in this.listsopts) { 29 | let element = this.listsopts[key]; 30 | let title = 'style_'+element+'_title'; 31 | dropdown[element] = { 32 | title: redactorTranslations[title], 33 | api: 'module.inline.format', 34 | args: element 35 | } 36 | } 37 | 38 | let obj = { 39 | title: redactorTranslations.style_title, 40 | icon: true, 41 | }; 42 | 43 | let button = this.toolbar.addButton('style', obj); 44 | button.setIcon(''); 45 | button.setDropdown(dropdown); 46 | } 47 | }); 48 | })(Redactor); 49 | -------------------------------------------------------------------------------- /assets/plugins/sub.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'subscript', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.subscript_title, 20 | icon: true, 21 | tooltip: redactorTranslations.subscript_tooltip, 22 | api: 'module.inline.format', 23 | args: { 24 | tag: 'sub' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('subscript', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins/sup.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'superscript', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.superscript_title, 20 | icon: true, 21 | tooltip: redactorTranslations.superscript_tooltip, 22 | api: 'module.inline.format', 23 | args: { 24 | tag: 'sup' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('superscript', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins/ul.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'ul', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.ul_title, 20 | icon: true, 21 | api: 'module.list.toggle', 22 | observe: 'list', 23 | args: 'ul' 24 | }; 25 | 26 | this.toolbar.addButton('ul', obj); 27 | } 28 | }); 29 | })(Redactor); 30 | -------------------------------------------------------------------------------- /assets/plugins/underline.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'underline', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.underline_title, 20 | icon: true, 21 | tooltip: redactorTranslations.underline_tooltip, 22 | api: 'module.inline.format', 23 | args: { 24 | tag: 'u' 25 | } 26 | }; 27 | 28 | this.toolbar.addButton('underline', obj); 29 | } 30 | }); 31 | })(Redactor); 32 | -------------------------------------------------------------------------------- /assets/plugins/undo.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | (function ($R) { 11 | $R.add('plugin', 'undo', { 12 | init: function (app) { 13 | this.toolbar = app.toolbar; 14 | }, 15 | 16 | // public 17 | start: function () { 18 | let obj = { 19 | title: redactorTranslations.undo_title, 20 | icon: true, 21 | api: 'module.buffer.undo' 22 | }; 23 | 24 | this.toolbar.addButton('undo', obj); 25 | } 26 | }); 27 | })(Redactor); 28 | -------------------------------------------------------------------------------- /assets/redactor.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This file is part of the redactor package. 3 | * 4 | * @author (c) Friends Of REDAXO 5 | * @author 6 | * 7 | * For the full copyright and license information, please view the LICENSE 8 | * file that was distributed with this source code. 9 | */ 10 | $(document).on('rex:ready',function(event, container) { 11 | $(container).find('[class*="redactor-editor--"]').each(function() { 12 | let classNames = $(this).attr('class').split(' '); 13 | for (let i = 0; i < classNames.length; i++) { 14 | let $profile = classNames[i].substring('redactor-editor--'.length); 15 | if ($profile !== '' && redactor_profiles[$profile]) { 16 | let options = redactor_profiles[$profile]; 17 | options.lang = redactorLang; 18 | if (!('pasteImages' in options)) { 19 | options.pasteImages = false; 20 | } 21 | $R('.redactor-editor--' + $profile, options); 22 | } 23 | } 24 | }) 25 | 26 | }); 27 | -------------------------------------------------------------------------------- /assets/redactor.vanilla.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('rex:ready', function(event) { 2 | const container = event.detail || document; 3 | const elements = container.querySelectorAll('[class*="redactor-editor--"]'); 4 | 5 | elements.forEach(function(element) { 6 | const classNames = element.className.split(' '); 7 | classNames.forEach(function(className) { 8 | if (className.startsWith('redactor-editor--')) { 9 | const profile = className.substring('redactor-editor--'.length); 10 | if (profile !== '' && redactor_profiles[profile]) { 11 | const options = { ...redactor_profiles[profile] }; 12 | options.lang = redactorLang; 13 | if (!('pasteImages' in options)) { 14 | options.pasteImages = false; 15 | } 16 | $R('.redactor-editor--' + profile, options); 17 | } 18 | } 19 | }); 20 | }); 21 | }); 22 | -------------------------------------------------------------------------------- /pages/index.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | 13 | echo rex_view::title(rex_i18n::msg('redactor_title')); 14 | 15 | $func = rex_request('func', 'string'); 16 | if ('clear_cache' == $func) { 17 | rex_addon::get('redactor')->clearCache(); 18 | echo rex_view::success(rex_i18n::msg('redactor_cache_deleted')); 19 | } 20 | 21 | rex_be_controller::includeCurrentPageSubPath(); 22 | -------------------------------------------------------------------------------- /pages/settings.php: -------------------------------------------------------------------------------- 1 | addFieldset(rex_i18n::msg('redactor_settings')); 8 | 9 | // Checkbox für experimentelle Funktion "Vanilla JS statt JQuery verwenden" 10 | 11 | $field = $form->addCheckboxField('use_vanilla_js'); 12 | 13 | $field->addOption(rex_i18n::msg('redactor_settings_use_vanilla_js'), '1'); 14 | 15 | // Ausgabe in Container-Fragment 16 | 17 | $fragment = new rex_fragment(); 18 | $fragment->setVar('title', rex_i18n::msg('redactor_settings')); 19 | $fragment->setVar('body', $form->get(), false); 20 | $content = $fragment->parse('core/page/section.php'); 21 | 22 | echo $content; 23 | -------------------------------------------------------------------------------- /scss/_dropdown.scss: -------------------------------------------------------------------------------- 1 | @mixin _redactor-dropdown-dark { 2 | 3 | .redactor-dropdown { 4 | background-color: #1b232c; 5 | 6 | & a { 7 | border-bottom-color: #151c22; 8 | } 9 | 10 | & a:last-child { 11 | border-bottom-color: transparent; 12 | } 13 | 14 | & a { 15 | color: rgba(255, 255, 255, 0.75); 16 | 17 | &:hover { 18 | color: rgba(255, 255, 255, 0.75) !important; 19 | background-color: #114b7a !important; 20 | } 21 | 22 | &.redactor-dropdown-item-disabled { 23 | color:rgba(255, 255, 255, 0.45); 24 | background-color: inherit; 25 | } 26 | } 27 | } 28 | 29 | .redactor-dropdown-selector { 30 | & span { 31 | &:hover { 32 | background-color: #26323f; 33 | } 34 | 35 | &.active { 36 | color: rgba(255, 255, 255, 0.75); 37 | background-color: #26323f; 38 | } 39 | } 40 | } 41 | 42 | .redactor-dropdown-format { 43 | & .redactor-dropdown-item-blockquote { 44 | color: rgba(128, 128, 128, .4); 45 | } 46 | } 47 | } 48 | 49 | body.rex-theme-dark { 50 | @include _redactor-dropdown-dark; 51 | } 52 | 53 | @media (prefers-color-scheme: dark) { 54 | body.rex-has-theme:not(.rex-theme-light) { 55 | @include _redactor-dropdown-dark; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /scss/_redaxo.scss: -------------------------------------------------------------------------------- 1 | .redactor-styles { 2 | font-family: inherit; 3 | line-height: inherit; 4 | } 5 | 6 | .redactor-box.redactor-styles-on .redactor-toolbar { 7 | display: flex !important; 8 | align-items: center; 9 | flex-direction: row; 10 | flex-wrap: wrap; 11 | flex-grow: 1; 12 | padding: 0 4px; 13 | background-color: #fafafa; 14 | border-bottom: 1px solid rgba(0, 0, 0, 0.075); 15 | background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.075) 1.19%, #fafafa 1.19%, #fafafa 50%, rgba(0, 0, 0, 0.075) 50%, rgba(0, 0, 0, 0.075) 51.19%, #fafafa 51.19%, #fafafa 100%); 16 | background-size: 84px 84px; 17 | border-radius: 3px 3px 0 0; 18 | } 19 | 20 | .redactor-toolbar a { 21 | margin: 0 4px 0 0; 22 | background-color: transparent; 23 | box-shadow: none; 24 | } 25 | 26 | .redactor-toolbar a.re-button { 27 | margin-top: 4px; 28 | margin-bottom: 4px; 29 | padding-left: 10px; 30 | padding-right: 10px; 31 | } 32 | .redactor-toolbar a.re-button.re-separator { 33 | display: inline-block; 34 | align-self: stretch; 35 | width: 1px; 36 | min-width: 1px; 37 | margin-top: 0; 38 | margin-bottom: 0; 39 | padding: 0; 40 | background-color: rgba(0, 0, 0, 0.075); 41 | opacity: 1; 42 | } 43 | 44 | .redactor-air a.re-button.re-separator { 45 | display: none; 46 | } 47 | 48 | .redactor-statusbar { 49 | border-radius: 0 0 3px 3px; 50 | } 51 | 52 | /* 53 | https://github.com/redaxo/redaxo/commit/1f78fbe7160b1e3000c82e22585f940bf0b132ef#diff-43abea98eb04c3cf2636f7465a3a2cc9334db9c441e7b9a8a77164e801fb8787 54 | */ 55 | .redactor-source:focus:not([readonly]) { 56 | background-color: #252525; 57 | } 58 | 59 | @mixin _redactor-redaxo-dark { 60 | 61 | .redactor-box.redactor-styles-on .redactor-toolbar { 62 | background-color: #202b35; 63 | border-bottom-color: rgba(#151c22, 1); 64 | background-image: linear-gradient(0deg, rgba(#151c22, 1) 1.19%, #202b35 1.19%, #202b35 50%, rgba(#151c22, 1) 50%, rgba(#151c22, 1) 51.19%, #202b35 51.19%, #202b35 100%); 65 | } 66 | 67 | .redactor-toolbar a.re-button.re-separator { 68 | background-color: rgba(#151c22, 1); 69 | } 70 | 71 | .redactor-source:focus:not([readonly]) { 72 | background-color: #151c22; 73 | } 74 | } 75 | 76 | body.rex-theme-dark { 77 | @include _redactor-redaxo-dark; 78 | } 79 | 80 | @media (prefers-color-scheme: dark) { 81 | body.rex-has-theme:not(.rex-theme-light) { 82 | @include _redactor-redaxo-dark; 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /scss/_source.scss: -------------------------------------------------------------------------------- 1 | @mixin _redactor-source-dark { 2 | 3 | .redactor-source, 4 | .redactor-source:hover, 5 | .redactor-source:focus { 6 | background-color: rgba(#1b232c, 0.8); 7 | color: #7abaec; 8 | } 9 | } 10 | 11 | body.rex-theme-dark { 12 | @include _redactor-source-dark; 13 | } 14 | 15 | @media (prefers-color-scheme: dark) { 16 | body.rex-has-theme:not(.rex-theme-light) { 17 | @include _redactor-source-dark; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /scss/_statusbar.scss: -------------------------------------------------------------------------------- 1 | @mixin _redactor-statusbar-dark { 2 | 3 | .redactor-statusbar { 4 | background-color: #202b35; 5 | 6 | & li { 7 | color: rgba(255, 255, 255, 0.45); 8 | border-right-color: rgba(#151c22, 1); 9 | } 10 | 11 | & li:last-child { 12 | border-right-color: transparent; 13 | } 14 | 15 | & a { 16 | color: rgba(255, 255, 255, 0.45); 17 | } 18 | 19 | & a:hover { 20 | color: #7abaec; 21 | } 22 | } 23 | } 24 | 25 | body.rex-theme-dark { 26 | @include _redactor-statusbar-dark; 27 | } 28 | 29 | @media (prefers-color-scheme: dark) { 30 | body.rex-has-theme:not(.rex-theme-light) { 31 | @include _redactor-statusbar-dark; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /scss/_styles.scss: -------------------------------------------------------------------------------- 1 | @mixin _redactor-styles-dark { 2 | 3 | .redactor-styles { 4 | 5 | color: rgba(255, 255, 255, 0.75); 6 | 7 | a, 8 | a:hover { 9 | color: #409be4; 10 | } 11 | 12 | h1, 13 | h2, 14 | h3, 15 | h4, 16 | h5, 17 | h6 { 18 | color: rgba(255, 255, 255, 0.6); 19 | } 20 | 21 | blockquote { 22 | color: rgba(255, 255, 255, 0.75); 23 | } 24 | 25 | time, small, var, code, kbd, mark { 26 | color: rgba(255, 255, 255, 0.75); 27 | } 28 | 29 | dfn, 30 | abbr { 31 | &[title] { 32 | border-bottom-color: rgba(128, 128, 128, .5); 33 | } 34 | } 35 | 36 | code { 37 | background-color: #26323f; 38 | } 39 | 40 | mark { 41 | background-color: #114b7a; 42 | } 43 | 44 | kbd { 45 | border-color: #26323f; 46 | } 47 | 48 | pre, 49 | pre code { 50 | background-color: #202b35; 51 | color: #7abaec; 52 | } 53 | 54 | table { 55 | caption { 56 | color: rgba(255, 255, 255, 0.45); 57 | } 58 | 59 | th, 60 | td { 61 | border-color: #151c22; 62 | } 63 | 64 | tfoot th, 65 | tfoot td { 66 | color: rgba(255, 255, 255, 0.45); 67 | } 68 | } 69 | } 70 | } 71 | 72 | body.rex-theme-dark { 73 | @include _redactor-styles-dark; 74 | } 75 | 76 | @media (prefers-color-scheme: dark) { 77 | body.rex-has-theme:not(.rex-theme-light) { 78 | @include _redactor-styles-dark; 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /scss/_toolbar.scss: -------------------------------------------------------------------------------- 1 | @mixin _redactor-toolbar-dark { 2 | 3 | .redactor-toolbar a, 4 | .redactor-air a { 5 | color: rgba(255, 255, 255, 0.75); 6 | background-color: transparent; 7 | } 8 | 9 | .redactor-toolbar, 10 | .redactor-air { 11 | a:hover { 12 | color: rgba(255, 255, 255, 0.75); 13 | background-color: #114b7a; 14 | } 15 | } 16 | 17 | .redactor-toolbar a.redactor-button-active { 18 | background-color: #1867a6; 19 | color: rgba(255, 255, 255, 0.75); 20 | } 21 | 22 | .redactor-toolbar, 23 | .redactor-air { 24 | a.redactor-button-disabled { 25 | &:hover { 26 | color: inherit; 27 | } 28 | } 29 | } 30 | 31 | .redactor-source-view { 32 | & .redactor-toolbar { 33 | background-color: inherit; 34 | } 35 | 36 | & .redactor-toolbar a { 37 | background-color: transparent; 38 | color: rgba(255, 255, 255, 0.75); 39 | 40 | &:hover { 41 | background-color: inherit; 42 | } 43 | 44 | &.redactor-button-active { 45 | background-color: #1867a6; 46 | } 47 | } 48 | 49 | & .redactor-toolbar a.redactor-button-disabled { 50 | &:hover { 51 | color: inherit !important; 52 | background-color: transparent !important; 53 | } 54 | } 55 | } 56 | } 57 | 58 | body.rex-theme-dark { 59 | @include _redactor-toolbar-dark; 60 | } 61 | 62 | @media (prefers-color-scheme: dark) { 63 | body.rex-has-theme:not(.rex-theme-light) { 64 | @include _redactor-toolbar-dark; 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /scss/redactor.scss: -------------------------------------------------------------------------------- 1 | // import redactor files modified for dark mode 2 | @import "base"; 3 | @import "source"; 4 | @import "statusbar"; 5 | @import "toolbar"; 6 | @import "dropdown"; 7 | @import "modal"; 8 | @import "styles"; 9 | 10 | // import redaxo custom styles 11 | @import "redaxo"; 12 | -------------------------------------------------------------------------------- /update.php: -------------------------------------------------------------------------------- 1 | includeFile(__DIR__.'/install.php'); 4 | -------------------------------------------------------------------------------- /vendor/redactor/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Redactor 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 18 |
19 | 20 | 21 | 22 | 25 | 26 | -------------------------------------------------------------------------------- /vendor/redactor/langs/ar.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['ar'] = { 4 | "format": "تنسيق", 5 | "image": "صورة", 6 | "file": "ملف", 7 | "link": "رابط", 8 | "bold": "متين", 9 | "italic": "مائل", 10 | "deleted": "مشطوب", 11 | "underline": "مسطر", 12 | "superscript": "Superscript", 13 | "subscript": "Subscript", 14 | "bold-abbr": "B", 15 | "italic-abbr": "I", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "قوائم", 21 | "link-insert": "إدراج رابط", 22 | "link-edit": "تحرير الرابط", 23 | "link-in-new-tab": "فتح الرابط في تبويب جديد", 24 | "unlink": "إلغاء الرابط", 25 | "cancel": "إلغاء", 26 | "close": "إغلاق", 27 | "insert": "إدراج", 28 | "save": "حفظ", 29 | "delete": "حذف", 30 | "text": "النص", 31 | "edit": "تحرير", 32 | "title": "العنوان", 33 | "paragraph": "نص عادي", 34 | "quote": "اقتباس", 35 | "code": "كود", 36 | "heading1": "عنوان 1", 37 | "heading2": "عنوان 2", 38 | "heading3": "عنوان 3", 39 | "heading4": "عنوان 4", 40 | "heading5": "عنوان 5", 41 | "heading6": "عنوان 6", 42 | "filename": "الاسم", 43 | "optional": "اختياري", 44 | "unorderedlist": "قائمة نقطية", 45 | "orderedlist": "قائمة رقمية", 46 | "outdent": "زيادة المسافة البادئة", 47 | "indent": "إنقاض المسافة البادئة", 48 | "horizontalrule": "خط أفقي", 49 | "upload": "Upload", 50 | "upload-label": "Drop files here or click to upload", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "محرر النص الغني", 53 | "caption": "الشرح", 54 | "bulletslist": "Bullets", 55 | "numberslist": "Numbers", 56 | "image-position": "Position", 57 | "none": "None", 58 | "left": "Left", 59 | "right": "Right", 60 | "center": "Center", 61 | "undo": "Undo", 62 | "redo": "Redo" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/cs.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['cs'] = { 4 | "format": "Formát", 5 | "image": "Obrázek", 6 | "file": "Soubor", 7 | "link": "Odkaz", 8 | "bold": "Tučné", 9 | "italic": "Kurzíva", 10 | "deleted": "Přeškrtnuté", 11 | "underline": "Podtržené", 12 | "superscript": "Horní index", 13 | "subscript": "Dolní index", 14 | "bold-abbr": "B", 15 | "italic-abbr": "I", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "Seznamy", 21 | "link_insert": "Vložit odkaz ...", 22 | "link_edit": "Upravit odkaz", 23 | "link_new_tab": "Otevírat odkaz v novém okně", 24 | "unlink": "Odstranit odkaz", 25 | "cancel": "Zrušit", 26 | "close": "Zavřít", 27 | "insert": "Vložit", 28 | "save": "Uložit", 29 | "delete": "Smazat", 30 | "text": "Text", 31 | "edit": "Upravit", 32 | "title": "Titulek", 33 | "paragraph": "Odstavec", 34 | "quote": "Citace", 35 | "code": "Kód", 36 | "header1": "Nadpis 1", 37 | "header2": "Nadpis 2", 38 | "header3": "Nadpis 3", 39 | "header4": "Nadpis 4", 40 | "header5": "Nadpis 5", 41 | "header6": "Nadpis 6", 42 | "filename": "Název (volitelné)", 43 | "optional": "volitelný", 44 | "unorderedlist": "Seznam s odrážkami", 45 | "orderedlist": "Číslovaný seznam", 46 | "outdent": "Zmenšit odsazení", 47 | "indent": "Zvětšit odsazení", 48 | "horizontalrule": "Vodorovná čára", 49 | "upload": "Nahrát", 50 | "upload-label": "Přesuňte sem soubory nebo klikněte pro výběr", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "Rich textový editor", 53 | "caption": "Titulok", 54 | "bulletslist": "Odrážek", 55 | "numberslist": "Číslováníe", 56 | "image_position": "Zarovnání", 57 | "none": "Žádné", 58 | "left": "Vlevo", 59 | "right": "Vpravo", 60 | "center": "Center", 61 | "undo": "Zpět", 62 | "redo": "Obnovit" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/da.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['da'] = { 4 | "format": "Format", 5 | "image": "Billede", 6 | "file": "Fil", 7 | "link": "link", 8 | "bold": "Fed", 9 | "italic": "Kursiv", 10 | "deleted": "Slettet", 11 | "underline": "Understreg", 12 | "superscript": "Hævet", 13 | "subscript": "Sænket", 14 | "bold-abbr": "B", 15 | "italic-abbr": "I", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "Lister", 21 | "link-insert": "Indsæt link", 22 | "link-edit": "Redigér link", 23 | "link-in-new-tab": "Åbn link i ny fane", 24 | "unlink": "Fjern link", 25 | "cancel": "Fortryd", 26 | "close": "Luk", 27 | "insert": "Indsæt", 28 | "save": "Gem", 29 | "delete": "Slet", 30 | "text": "Tekst", 31 | "edit": "Redigér", 32 | "title": "Titel", 33 | "paragraph": "Paragraf", 34 | "quote": "Citat", 35 | "code": "Kode", 36 | "heading1": "Overskrift 1", 37 | "heading2": "Overskrift 2", 38 | "heading3": "Overskrift 3", 39 | "heading4": "Overskrift 4", 40 | "heading5": "Overskrift 5", 41 | "heading6": "Overskrift 6", 42 | "filename": "Navn", 43 | "optional": "valgfri", 44 | "unorderedlist": "Usorteret liste", 45 | "orderedlist": "Sorteret liste", 46 | "outdent": "Formindsk indrykning", 47 | "indent": "Forøg indrykning", 48 | "horizontalrule": "Vandret linje", 49 | "upload": "Upload", 50 | "upload-label": "Slip filer her eller klik for at uploade", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "Tekst editor", 53 | "caption": "Caption", 54 | "bulletslist": "Punktliste", 55 | "numberslist": "Nummereret liste", 56 | "image-position": "Position", 57 | "none": "Ingen", 58 | "left": "Venstre", 59 | "right": "Højre", 60 | "center": "Center", 61 | "undo": "Fortryd", 62 | "redo": "Annullér fortryd" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/en.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['en'] = { 4 | "format": "Format", 5 | "image": "Image", 6 | "file": "File", 7 | "link": "Link", 8 | "bold": "Bold", 9 | "italic": "Italic", 10 | "deleted": "Strikethrough", 11 | "underline": "Underline", 12 | "superscript": "Superscript", 13 | "subscript": "Subscript", 14 | "bold-abbr": "B", 15 | "italic-abbr": "I", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "Lists", 21 | "link-insert": "Insert Link", 22 | "link-edit": "Edit Link", 23 | "link-in-new-tab": "Open link in new tab", 24 | "unlink": "Unlink", 25 | "cancel": "Cancel", 26 | "close": "Close", 27 | "insert": "Insert", 28 | "save": "Save", 29 | "delete": "Delete", 30 | "text": "Text", 31 | "edit": "Edit", 32 | "title": "Title", 33 | "paragraph": "Normal text", 34 | "quote": "Quote", 35 | "code": "Code", 36 | "heading1": "Heading 1", 37 | "heading2": "Heading 2", 38 | "heading3": "Heading 3", 39 | "heading4": "Heading 4", 40 | "heading5": "Heading 5", 41 | "heading6": "Heading 6", 42 | "filename": "Name", 43 | "optional": "optional", 44 | "unorderedlist": "Unordered List", 45 | "orderedlist": "Ordered List", 46 | "outdent": "Outdent", 47 | "indent": "Indent", 48 | "horizontalrule": "Line", 49 | "upload": "Upload", 50 | "upload-label": "Drop files here or click to upload", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "Rich text editor", 53 | "caption": "Caption", 54 | "bulletslist": "Bullets", 55 | "numberslist": "Numbers", 56 | "image-position": "Position", 57 | "none": "None", 58 | "left": "Left", 59 | "right": "Right", 60 | "center": "Center", 61 | "undo": "Undo", 62 | "redo": "Redo" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/es.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['es'] = { 4 | "format": "Formato", 5 | "image": "Imagen", 6 | "file": "Archivo", 7 | "link": "Enlace", 8 | "bold": "Negrita", 9 | "italic": "Cursiva", 10 | "deleted": "Tachado", 11 | "underline": "Subrayado", 12 | "superscript": "Superscript", 13 | "subscript": "Subscript", 14 | "bold-abbr": "N", 15 | "italic-abbr": "C", 16 | "deleted-abbr": "T", 17 | "underline-abbr": "S", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "Listas", 21 | "link-insert": "Insertar enlace", 22 | "link-edit": "Editar enlace", 23 | "link-in-new-tab": "Abrir enlace en nueva pestaña", 24 | "unlink": "Quitar enlace", 25 | "cancel": "Cancelar", 26 | "close": "Cerrar", 27 | "insert": "Insertar", 28 | "save": "Guardar", 29 | "delete": "Borrar", 30 | "text": "Texto", 31 | "edit": "Editar", 32 | "title": "Título", 33 | "paragraph": "Texto normal", 34 | "quote": "Citar", 35 | "code": "Código", 36 | "heading1": "Cabecera 1", 37 | "heading2": "Cabecera 2", 38 | "heading3": "Cabecera 3", 39 | "heading4": "Cabecera 4", 40 | "heading5": "Cabecera 5", 41 | "heading6": "Cabecera 6", 42 | "filename": "Nombre", 43 | "optional": "Opcional", 44 | "unorderedlist": "Lista sin orden", 45 | "orderedlist": "Lista ordenada", 46 | "outdent": "Quitar sangría", 47 | "indent": "Sangría", 48 | "horizontalrule": "Línea", 49 | "upload": "Upload", 50 | "upload-label": "Drop files here or click to upload", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "Editor de texto enriquecido", 53 | "caption": "Caption", 54 | "bulletslist": "Bullets", 55 | "numberslist": "Numbers", 56 | "image-position": "Position", 57 | "none": "None", 58 | "left": "Left", 59 | "right": "Right", 60 | "center": "Center", 61 | "undo": "Undo", 62 | "redo": "Redo" 63 | }; 64 | })(Redactor); 65 | -------------------------------------------------------------------------------- /vendor/redactor/langs/fa.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['fa'] = { 4 | "format": "فرمت", 5 | "image": "تصویر", 6 | "file": "فایل", 7 | "link": "لینک", 8 | "bold": "ضخیم", 9 | "italic": "کج", 10 | "deleted": "خط خورده", 11 | "underline": "زیرخط دار", 12 | "superscript": "Superscript", 13 | "subscript": "Subscript", 14 | "bold-abbr": "B", 15 | "italic-abbr": "I", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "لیست", 21 | "link-insert": "اضافه کردن لینک", 22 | "link-edit": "ویرایش لینک", 23 | "link-in-new-tab": "باز شدن لینک در صفحه جدید", 24 | "unlink": "غیرفعال کردن لینک", 25 | "cancel": "لغو", 26 | "close": "بستن", 27 | "insert": "اضافه", 28 | "save": "ذخیره", 29 | "delete": "حذف", 30 | "text": "متن", 31 | "edit": "ویرایش", 32 | "title": "عنوان", 33 | "paragraph": "متن معمولی", 34 | "quote": "نقل قول", 35 | "code": "کد", 36 | "heading1": "سربرگ ۱", 37 | "heading2": "سربرگ ۲", 38 | "heading3": "سربرگ ۳", 39 | "heading4": "سربرگ ۴", 40 | "heading5": "سربرگ ۵", 41 | "heading6": "سربرگ ۶", 42 | "filename": "نام", 43 | "optional": "اختیاری", 44 | "unorderedlist": "لیست نامرتب", 45 | "orderedlist": "لیست مرتب", 46 | "outdent": "بیرون آمدگی", 47 | "indent": "تورفتگی", 48 | "horizontalrule": "خط", 49 | "upload": "Upload", 50 | "upload-label": "Drop files here or click to upload", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "ویرایشگر متن پیشرفته", 53 | "caption": "Caption", 54 | "bulletslist": "Bullets", 55 | "numberslist": "Numbers", 56 | "image-position": "Position", 57 | "none": "None", 58 | "left": "Left", 59 | "right": "Right", 60 | "center": "Center", 61 | "undo": "Undo", 62 | "redo": "Redo" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/fi.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['fi'] = { 4 | "format": "Muotoilut", 5 | "image": "Kuva", 6 | "file": "Tiedosto", 7 | "link": "Linkki", 8 | "bold": "Lihavointi", 9 | "italic": "Kursivointi", 10 | "deleted": "Poistettu", 11 | "underline": "Alleviivaa", 12 | "superscript": "Superscript", 13 | "subscript": "Subscript", 14 | "bold-abbr": "B", 15 | "italic-abbr": "I", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "Luettelot", 21 | "link-insert": "Lisää linkki", 22 | "link-edit": "Muokkaa linkkiä", 23 | "link-in-new-tab": "Avaa linkki uudessa välilehdessä", 24 | "unlink": "Poista linkki", 25 | "cancel": "Peru", 26 | "close": "Sulkea", 27 | "insert": "Lisää", 28 | "save": "Tallenna", 29 | "delete": "Poista", 30 | "text": "Teksti", 31 | "edit": "Muokata", 32 | "title": "Title", 33 | "paragraph": "Normaaliteksti", 34 | "quote": "Lainaus", 35 | "code": "Koodi", 36 | "heading1": "Otsikko 1", 37 | "heading2": "Otsikko 2", 38 | "heading3": "Otsikko 3", 39 | "heading4": "Otsikko 4", 40 | "heading5": "Otsikko 5", 41 | "heading6": "Otsikko 6", 42 | "filename": "Nimi (valinnainen)", 43 | "optional": "valinnainen", 44 | "unorderedlist": "Luettelo luettelomerkein", 45 | "orderedlist": "Numeroitu luettelo", 46 | "outdent": "Vähennä sisennystä", 47 | "indent": "Lisää sisennystä", 48 | "horizontalrule": "Viiva", 49 | "upload": "Upload", 50 | "upload-label": "Drop files here or click to upload", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "Rich text editor", 53 | "caption": "Caption", 54 | "bulletslist": "Bullets", 55 | "numberslist": "Numbers", 56 | "image-position": "Position", 57 | "none": "None", 58 | "left": "Left", 59 | "right": "Right", 60 | "center": "Center", 61 | "undo": "Undo", 62 | "redo": "Redo" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/fr.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['fr'] = { 4 | "format": "Format", 5 | "image": "Image", 6 | "file": "Fichier", 7 | "link": "Lien", 8 | "bold": "Gras", 9 | "italic": "Italique", 10 | "deleted": "Barré", 11 | "underline": "Souligné", 12 | "superscript": "Superscript", 13 | "subscript": "Subscript", 14 | "bold-abbr": "B", 15 | "italic-abbr": "I", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "Listes", 21 | "link-insert": "Insérer un lien", 22 | "link-edit": "Editer le lien", 23 | "link-in-new-tab": "Ouvrir le lien dans un nouvel onglet", 24 | "unlink": "Retirer le lien", 25 | "cancel": "Annuler", 26 | "close": "Fermer", 27 | "insert": "Insérer", 28 | "save": "Sauvegarder", 29 | "delete": "Supprimer", 30 | "text": "Texte", 31 | "edit": "Editer", 32 | "title": "Titre", 33 | "paragraph": "Texte normal", 34 | "quote": "Citation", 35 | "code": "Code", 36 | "heading1": "Titre 1", 37 | "heading2": "Titre 2", 38 | "heading3": "Titre 3", 39 | "heading4": "Titre 4", 40 | "heading5": "Titre 5", 41 | "heading6": "Titre 6", 42 | "filename": "Nom", 43 | "optional": "Optionnel", 44 | "unorderedlist": "Liste non-ordonnée", 45 | "orderedlist": "Liste ordonnée", 46 | "outdent": "Réduire le retrait", 47 | "indent": "Augmenter le retrait", 48 | "horizontalrule": "Ligne", 49 | "upload": "Upload", 50 | "upload-label": "Drop files here or click to upload", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "Editeur de texte enrichi", 53 | "caption": "Caption", 54 | "bulletslist": "Bullets", 55 | "numberslist": "Numbers", 56 | "image-position": "Position", 57 | "none": "None", 58 | "left": "Left", 59 | "right": "Right", 60 | "center": "Center", 61 | "undo": "Undo", 62 | "redo": "Redo" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/he.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['he'] = { 4 | "format": "פורמט", 5 | "image": "תמונה", 6 | "file": "קובץ", 7 | "link": "קישור", 8 | "bold": "מודגש", 9 | "italic": "נטוי", 10 | "deleted": "מחוק", 11 | "underline": "Underline", 12 | "superscript": "Superscript", 13 | "subscript": "Subscript", 14 | "bold-abbr": "B", 15 | "italic-abbr": "I", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "רשימות", 21 | "link-insert": "הוסף קישור", 22 | "link-edit": "ערוך קישור", 23 | "link-in-new-tab": "פתח קישור בחלון חדש", 24 | "unlink": "הסר קישור", 25 | "cancel": "בטל", 26 | "close": "סגור", 27 | "insert": "הכנס", 28 | "save": "שמור", 29 | "delete": "מחק", 30 | "text": "טקסט", 31 | "edit": "ערוך", 32 | "title": "כותרת", 33 | "paragraph": "טקסט רגיל", 34 | "quote": "ציטוט", 35 | "code": "קוד", 36 | "heading1": "כותרת 1", 37 | "heading2": "כותרת 2", 38 | "heading3": "כותרת 3", 39 | "heading4": "כותרת 4", 40 | "heading5": "כותרת 5", 41 | "heading6": "כותרת 6", 42 | "filename": "שם", 43 | "optional": "אופציונאלי", 44 | "unorderedlist": "רשימת נקודות", 45 | "orderedlist": "רשימה ממוספרת", 46 | "outdent": "קרב לשוליים", 47 | "indent": "הרחק מהשוליים", 48 | "horizontalrule": "קו אופקי", 49 | "upload": "Upload", 50 | "upload-label": "Drop files here or click to upload", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "עורך טקסט עשיר", 53 | "caption": "כיתוב", 54 | "bulletslist": "נקודות", 55 | "numberslist": "ממוספר", 56 | "image-position": "Position", 57 | "none": "None", 58 | "left": "Left", 59 | "right": "Right", 60 | "center": "Center", 61 | "undo": "Undo", 62 | "redo": "Redo" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/hr.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['en'] = { 4 | "format": "Oblikovanje", 5 | "image": "Slika", 6 | "file": "Datoteka", 7 | "link": "Poveznica", 8 | "bold": "Podebljano", 9 | "italic": "Kurziv", 10 | "deleted": "Precrtano", 11 | "underline": "Podcrtano", 12 | "superscript": "Eksponent", 13 | "subscript": "Indeks", 14 | "bold-abbr": "P", 15 | "italic-abbr": "K", 16 | "deleted-abbr": "Pr", 17 | "underline-abbr": "Po", 18 | "superscript-abbr": "Eks", 19 | "subscript-abbr": "Ind", 20 | "lists": "Liste", 21 | "link-insert": "Umetni poveznicu", 22 | "link-edit": "Uredi poveznicu", 23 | "link-in-new-tab": "Otvori poveznicu u novoj kartici", 24 | "unlink": "Ukloni poveznicu", 25 | "cancel": "Odustani", 26 | "close": "Zatvori", 27 | "insert": "Umetni", 28 | "save": "Spremi", 29 | "delete": "Obriši", 30 | "text": "Tekst", 31 | "edit": "Uredi", 32 | "title": "Naslov", 33 | "paragraph": "Obični tekst", 34 | "quote": "Citat", 35 | "code": "Kod", 36 | "heading1": "Naslov 1", 37 | "heading2": "Naslov 2", 38 | "heading3": "Naslov 3", 39 | "heading4": "Naslov 4", 40 | "heading5": "Naslov 5", 41 | "heading6": "Naslov 6", 42 | "filename": "Naziv", 43 | "optional": "opcionalno", 44 | "unorderedlist": "Lista s oznakama", 45 | "orderedlist": "Numerirana lista", 46 | "outdent": "Izvučenost", 47 | "indent": "Uvučenost", 48 | "horizontalrule": "Redak", 49 | "upload": "Učitaj", 50 | "upload-label": "Povuci datoteke ovdje ili klikni za učitavanje", 51 | "upload-change-label": "Povuci ovdje novu sliku kako bi se promijenila", 52 | "accessibility-help-label": "Rich text uređivanje", 53 | "caption": "Natpis", 54 | "bulletslist": "Natuknice", 55 | "numberslist": "Brojevi", 56 | "image-position": "Pozicija", 57 | "none": "Nijedno", 58 | "left": "Lijevo", 59 | "right": "Desno", 60 | "center": "Sredina", 61 | "undo": "Poništi korak", 62 | "redo": "Ponovi korak" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/hu.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['hu'] = { 4 | "format": "Formázás", 5 | "image": "Kép", 6 | "file": "Fájl", 7 | "link": "Hivatkozás", 8 | "bold": "Félkövér", 9 | "italic": "Dőlt", 10 | "deleted": "Áthúzott", 11 | "underline": "Aláhúzott", 12 | "superscript": "Felső index", 13 | "subscript": "Alsó index", 14 | "bold-abbr": "F", 15 | "italic-abbr": "D", 16 | "deleted-abbr": "H", 17 | "underline-abbr": "A", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "Listák", 21 | "link-insert": "Hivatkozás beszúrása", 22 | "link-edit": "Hivatkozás módosítása", 23 | "link-in-new-tab": "Megnyitás új lapon", 24 | "unlink": "Hivatkozás törlése", 25 | "cancel": "Mégsem", 26 | "close": "Bezárás", 27 | "insert": "Beillesztés", 28 | "save": "Mentés", 29 | "delete": "Törlés", 30 | "text": "Szöveg", 31 | "edit": "Szerkesztés", 32 | "title": "Cím", 33 | "paragraph": "Normál szöveg", 34 | "quote": "Idézet", 35 | "code": "Forráskód", 36 | "heading1": "Címsor 1", 37 | "heading2": "Címsor 2", 38 | "heading3": "Címsor 3", 39 | "heading4": "Címsor 4", 40 | "heading5": "Címsor 5", 41 | "heading6": "Címsor 6", 42 | "filename": "Név", 43 | "optional": "választható", 44 | "unorderedlist": "Rendezett lista", 45 | "orderedlist": "Számozott lista", 46 | "outdent": "Behúzás csökkentése", 47 | "indent": "Behúzás növelése", 48 | "horizontalrule": "Vonal", 49 | "upload": "Feltöltés", 50 | "upload-label": "Át a fájlokat vagy kattintson ide, hogy kiválassza", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "Szövegszerkesztő", 53 | "caption": "Felirat", 54 | "bulletslist": "Golyók", 55 | "numberslist": "Számok", 56 | "image-position": "Pozíció", 57 | "none": "Egyik sem", 58 | "left": "Balra", 59 | "right": "Jobb", 60 | "center": "Középre", 61 | "undo": "Kibont", 62 | "redo": "Újra" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/it.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['it'] = { 4 | "format": "Formato", 5 | "image": "Immagine", 6 | "file": "File", 7 | "link": "Link", 8 | "bold": "Grassetto", 9 | "italic": "Corsivo", 10 | "deleted": "Barrato", 11 | "underline": "Sottolineato", 12 | "superscript": "Superscript", 13 | "subscript": "Subscript", 14 | "bold-abbr": "G", 15 | "italic-abbr": "C", 16 | "deleted-abbr": "B", 17 | "underline-abbr": "S", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "Liste", 21 | "link-insert": "Inserisci link", 22 | "link-edit": "Modifica link", 23 | "link-in-new-tab": "Apri link in un nuovo tab", 24 | "unlink": "Elimina link", 25 | "cancel": "Annulla", 26 | "close": "Chiudi", 27 | "insert": "Inserisci", 28 | "save": "Salva", 29 | "delete": "Cancella", 30 | "text": "Testo", 31 | "edit": "Modifica", 32 | "title": "Titolo", 33 | "paragraph": "Testo Normale", 34 | "quote": "Citazione", 35 | "code": "Codice", 36 | "heading1": "Titolo 1", 37 | "heading2": "Titolo 2", 38 | "heading3": "Titolo 3", 39 | "heading4": "Titolo 4", 40 | "heading5": "Titolo 5", 41 | "heading6": "Titolo 6", 42 | "filename": "Nome", 43 | "optional": "opzionale", 44 | "unorderedlist": "Lista non ordinata", 45 | "orderedlist": "Lista ordinata", 46 | "outdent": "De-indenta", 47 | "indent": "Indenta", 48 | "horizontalrule": "Linea", 49 | "upload": "Upload", 50 | "upload-label": "Drop files here or click to upload", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "Editor di testo", 53 | "caption": "Caption", 54 | "bulletslist": "Bullets", 55 | "numberslist": "Numbers", 56 | "image-position": "Position", 57 | "none": "None", 58 | "left": "Left", 59 | "right": "Right", 60 | "center": "Center", 61 | "undo": "Undo", 62 | "redo": "Redo" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/ja.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['ja'] = { 4 | "format": "フォーマットする", 5 | "image": "画像", 6 | "file": "ファイル", 7 | "link": "リンク", 8 | "bold": "太字", 9 | "italic": "イタリック体", 10 | "deleted": "取り消し線", 11 | "underline": "下線", 12 | "superscript": "Superscript", 13 | "subscript": "Subscript", 14 | "bold-abbr": "B", 15 | "italic-abbr": "I", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "リスト", 21 | "link-insert": "リンクを挿入する", 22 | "link-edit": "リンクを編集する", 23 | "link-in-new-tab": "新しいタブでリンクを開く", 24 | "unlink": "リンクを解除する", 25 | "cancel": "取り消す", 26 | "close": "閉じる", 27 | "insert": "挿入する", 28 | "save": "保存する", 29 | "delete": "削除する", 30 | "text": "テキスト", 31 | "edit": "編集する", 32 | "title": "タイトル", 33 | "paragraph": "標準テキスト", 34 | "quote": "引用", 35 | "code": "コード", 36 | "heading1": "見出し 1", 37 | "heading2": "見出し 2", 38 | "heading3": "見出し 3", 39 | "heading4": "見出し 4", 40 | "heading5": "見出し 5", 41 | "heading6": "見出し 6", 42 | "filename": "名前", 43 | "optional": "任意", 44 | "unorderedlist": "番号なしリスト", 45 | "orderedlist": "番号付きリスト", 46 | "outdent": "インデントを戻す", 47 | "indent": "インデントする", 48 | "horizontalrule": "線", 49 | "upload": "Upload", 50 | "upload-label": "Drop files here or click to upload", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "リッチテキストエディタ", 53 | "caption": "Caption", 54 | "bulletslist": "Bullets", 55 | "numberslist": "Numbers", 56 | "image-position": "Position", 57 | "none": "None", 58 | "left": "Left", 59 | "right": "Right", 60 | "center": "Center", 61 | "undo": "Undo", 62 | "redo": "Redo" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/ko.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['ko'] = { 4 | "format": "포맷", 5 | "image": "이미지", 6 | "file": "파일", 7 | "link": "링크", 8 | "bold": "굵게", 9 | "italic": "기울임꼴", 10 | "deleted": "취소선", 11 | "underline": "밑줄", 12 | "superscript": "Superscript", 13 | "subscript": "Subscript", 14 | "bold-abbr": "B", 15 | "italic-abbr": "I", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "목록", 21 | "link-insert": "링크 삽입", 22 | "link-edit": "링크 편집", 23 | "link-in-new-tab": "새 탭에 링크 열기", 24 | "unlink": "링크 끊기", 25 | "cancel": "취소", 26 | "close": "닫기", 27 | "insert": "삽입", 28 | "save": "저장", 29 | "delete": "삭제", 30 | "text": "글", 31 | "edit": "편집", 32 | "title": "제목", 33 | "paragraph": "보통 글", 34 | "quote": "인용", 35 | "code": "코드", 36 | "heading1": "제목 1", 37 | "heading2": "제목 2", 38 | "heading3": "제목 3", 39 | "heading4": "제목 4", 40 | "heading5": "제목 5", 41 | "heading6": "제목 6", 42 | "filename": "이름", 43 | "optional": "선택", 44 | "unorderedlist": "주문 안된 목록", 45 | "orderedlist": "주문 목록", 46 | "outdent": "내어쓰기", 47 | "indent": "들여쓰기", 48 | "horizontalrule": "행", 49 | "upload": "Upload", 50 | "upload-label": "Drop files here or click to upload", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "Rich text 편집기", 53 | "caption": "Caption", 54 | "bulletslist": "Bullets", 55 | "numberslist": "Numbers", 56 | "image-position": "Position", 57 | "none": "None", 58 | "left": "Left", 59 | "right": "Right", 60 | "center": "Center", 61 | "undo": "Undo", 62 | "redo": "Redo" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/nl.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['nl'] = { 4 | "format": "Format", 5 | "image": "Afbeelding", 6 | "file": "Bestand", 7 | "link": "Link", 8 | "bold": "Vet", 9 | "italic": "Cursief", 10 | "deleted": "Doorstreept", 11 | "underline": "Onderstreept", 12 | "superscript": "Superscript", 13 | "subscript": "Subscript", 14 | "bold-abbr": "B", 15 | "italic-abbr": "I", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "Lijsten", 21 | "link-insert": "Link invoegen", 22 | "link-edit": "Link Bewerken", 23 | "link-in-new-tab": "Open link in nieuw tabblad", 24 | "unlink": "Ontkoppelen", 25 | "cancel": "Annuleren", 26 | "close": "Afsluiten", 27 | "insert": "Invoegen", 28 | "save": "Opslaan", 29 | "delete": "Verwijder", 30 | "text": "Tekst", 31 | "edit": "Bewerken", 32 | "title": "Titel", 33 | "paragraph": "Normale tekst", 34 | "quote": "Citaat", 35 | "code": "Code", 36 | "heading1": "Koptekst 1", 37 | "heading2": "Koptekst 2", 38 | "heading3": "Koptekst 3", 39 | "heading4": "Koptekst 4", 40 | "heading5": "Koptekst 5", 41 | "heading6": "Koptekst 6", 42 | "filename": "Bestandsnaam", 43 | "optional": "Optioneel", 44 | "unorderedlist": "Ongeordende lijst", 45 | "orderedlist": "Geordende lijst", 46 | "outdent": "Uitspringen", 47 | "indent": "Inspringen", 48 | "horizontalrule": "Streep", 49 | "upload": "Upload", 50 | "upload-label": "Drop files here or click to upload", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "RTF editor", 53 | "caption": "Caption", 54 | "bulletslist": "Bullets", 55 | "numberslist": "Numbers", 56 | "image-position": "Position", 57 | "none": "None", 58 | "left": "Left", 59 | "right": "Right", 60 | "center": "Center", 61 | "undo": "Undo", 62 | "redo": "Redo" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/no.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['no'] = { 4 | "format": "Format", 5 | "image": "Bilde", 6 | "file": "Fil", 7 | "link": "Link", 8 | "bold": "Fet", 9 | "italic": "Kursiv", 10 | "deleted": "Gjennomstreking", 11 | "underline": "Understreking", 12 | "superscript": "Superscript", 13 | "subscript": "Subscript", 14 | "bold-abbr": "F", 15 | "italic-abbr": "K", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "Punkt", 21 | "link-insert": "Sett inn link", 22 | "link-edit": "Rediger link", 23 | "link-in-new-tab": "Åpne link i ny fane", 24 | "unlink": "Fjern Understreking", 25 | "cancel": "Abryt", 26 | "close": "Lukk", 27 | "insert": "Sett inn", 28 | "save": "Lagre", 29 | "delete": "Slett", 30 | "text": "Tekst", 31 | "edit": "Rediger", 32 | "title": "Tittel", 33 | "paragraph": "Normal tekst", 34 | "quote": "Sitat", 35 | "code": "Kode", 36 | "heading1": "Overskrift 1", 37 | "heading2": "Overskrift 2", 38 | "heading3": "Overskrift 3", 39 | "heading4": "Overskrift 4", 40 | "heading5": "Overskrift 5", 41 | "heading6": "Overskrift 6", 42 | "filename": "Navn", 43 | "optional": "valgfri", 44 | "unorderedlist": "Unordered List", 45 | "orderedlist": "Punktliste", 46 | "outdent": "Reduser innrykk", 47 | "indent": "Øk innrykk", 48 | "horizontalrule": "Linje", 49 | "upload": "Upload", 50 | "upload-label": "Drop files here or click to upload", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "Rik-tekst behandler", 53 | "caption": "Bildetekst", 54 | "bulletslist": "Punkter", 55 | "numberslist": "Nummerering", 56 | "image-position": "Posisjon", 57 | "none": "Ingen", 58 | "left": "Venstre", 59 | "right": "Høgre", 60 | "center": "Senter", 61 | "undo": "Undo", 62 | "redo": "Redo" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/pl.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['pl'] = { 4 | "format": "Formatuj", 5 | "image": "Obrazek", 6 | "file": "Plik", 7 | "link": "Link", 8 | "bold": "Pogrubienie", 9 | "italic": "Kursywa", 10 | "deleted": "Przekreślenie", 11 | "underline": "Podkreślenie", 12 | "superscript": "Indeks górny", 13 | "subscript": "Indeks dolny", 14 | "bold-abbr": "B", 15 | "italic-abbr": "I", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "Lista", 21 | "link-insert": "Wstaw link", 22 | "link-edit": "Edytuj link", 23 | "link-in-new-tab": "Otwórz link w nowej karcie", 24 | "unlink": "Usuń link", 25 | "cancel": "Anuluj", 26 | "close": "Zamknij", 27 | "insert": "Wstaw", 28 | "save": "Zapisz", 29 | "delete": "Usuń", 30 | "text": "Text", 31 | "edit": "Edytuj", 32 | "title": "Tytuł", 33 | "paragraph": "Zwykły tekst", 34 | "quote": "Cytat", 35 | "code": "Kod", 36 | "heading1": "Nagłówek 1", 37 | "heading2": "Nagłówek 2", 38 | "heading3": "Nagłówek 3", 39 | "heading4": "Nagłówek 4", 40 | "heading5": "Nagłówek 5", 41 | "heading6": "Nagłówek 6", 42 | "filename": "Nazwa", 43 | "optional": "opcjonalnie", 44 | "unorderedlist": "Lista punktowana", 45 | "orderedlist": "Lista numerowana", 46 | "outdent": "Zmniejsz wcięcie", 47 | "indent": "Zwiększ wcięcie", 48 | "horizontalrule": "Linia pozioma", 49 | "upload": "Przekazać plik", 50 | "upload-label": "Upuść pliki tutaj lub kliknij, aby przesłać", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "Edytor tekstu", 53 | "caption": "Podpis", 54 | "bulletslist": "Kule", 55 | "numberslist": "Liczby", 56 | "image-position": "Pozycja", 57 | "none": "Żaden", 58 | "left": "Lewo", 59 | "right": "Prawa", 60 | "center": "Centrum", 61 | "undo": "Cofnij", 62 | "redo": "Ponów" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/ro.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['ro'] = { 4 | "format": "Format", 5 | "image": "Imagine", 6 | "file": "Fișier", 7 | "link": "Link", 8 | "bold": "Aldin", 9 | "italic": "Cursiv", 10 | "deleted": "Tăiere cu o linie", 11 | "underline": "Subliniere", 12 | "superscript": "Exponent", 13 | "subscript": "Indice", 14 | "bold-abbr": "A", 15 | "italic-abbr": "C", 16 | "deleted-abbr": "T", 17 | "underline-abbr": "S", 18 | "superscript-abbr": "Exp", 19 | "subscript-abbr": "Ind", 20 | "lists": "Liste", 21 | "link-insert": "Inserare link", 22 | "link-edit": "Editare link", 23 | "link-in-new-tab": "Deschidere link în filă nouă", 24 | "unlink": "Anulare link", 25 | "cancel": "Revocare", 26 | "close": "Închidere", 27 | "insert": "Inserare", 28 | "save": "Salvare", 29 | "delete": "Ștergere", 30 | "text": "Text", 31 | "edit": "Editare", 32 | "title": "Titlu", 33 | "paragraph": "Text normal", 34 | "quote": "Citat", 35 | "code": "Cod", 36 | "heading1": "Antet 1", 37 | "heading2": "Antet 2", 38 | "heading3": "Antet 3", 39 | "heading4": "Antet 4", 40 | "heading5": "Antet 5", 41 | "heading6": "Antet 6", 42 | "filename": "Nume", 43 | "optional": "opțional", 44 | "unorderedlist": "Listă neordonată", 45 | "orderedlist": "Listă ordonată", 46 | "outdent": "Indentare negativă", 47 | "indent": "Indentare", 48 | "horizontalrule": "Linie", 49 | "upload": "Încărcare", 50 | "upload-label": "Fixați fișierele aici sau faceți clic pentru a le încărca", 51 | "upload-change-label": "Fixați o nouă imagine pentru a schimba", 52 | "accessibility-help-label": "Editor de text îmbogățit", 53 | "caption": "Legendă", 54 | "bulletslist": "Marcatori", 55 | "numberslist": "Numere", 56 | "image-position": "Poziție", 57 | "none": "Niciuna/niciunul", 58 | "left": "Stânga", 59 | "right": "Dreapta", 60 | "center": "Centru", 61 | "undo": "Anulare", 62 | "redo": "Refacere" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/ru.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['ru'] = { 4 | "format": "Формат", 5 | "image": "Картинка", 6 | "file": "Файл", 7 | "link": "Ссылка", 8 | "bold": "Полужирный", 9 | "italic": "Курсив", 10 | "deleted": "Зачеркнутый", 11 | "underline": "Подчеркнутый", 12 | "superscript": "Надстрочный", 13 | "subscript": "Подстрочный", 14 | "bold-abbr": "B", 15 | "italic-abbr": "I", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "Списки", 21 | "link-insert": "Вставить ссылку", 22 | "link-edit": "Редактировать ссылку", 23 | "link-in-new-tab": "Открыть ссылку в новом табе", 24 | "unlink": "Удалить ссылку", 25 | "cancel": "Отменить", 26 | "close": "Закрыть", 27 | "insert": "Вставить", 28 | "save": "Сохранить", 29 | "delete": "Удалить", 30 | "text": "Текст", 31 | "edit": "Редактировать", 32 | "title": "Title", 33 | "paragraph": "Обычный текст", 34 | "quote": "Цитата", 35 | "code": "Код", 36 | "heading1": "Заголовок 1", 37 | "heading2": "Заголовок 2", 38 | "heading3": "Заголовок 3", 39 | "heading4": "Заголовок 4", 40 | "heading5": "Заголовок 5", 41 | "heading6": "Заголовок 6", 42 | "filename": "Имя файла", 43 | "optional": "необязательно", 44 | "unorderedlist": "Ненумерованный список", 45 | "orderedlist": "Нумерованный список", 46 | "outdent": "Убрать отступ", 47 | "indent": "Добавить отступ", 48 | "horizontalrule": "Линия", 49 | "upload": "Загрузить", 50 | "upload-label": "Перетащите файлы или нажмите для загрузки", 51 | "upload-change-label": "Перетащите новую картинку", 52 | "accessibility-help-label": "Редактор форматированного текста", 53 | "caption": "Подпись", 54 | "bulletslist": "Маркеры", 55 | "numberslist": "Нумерация", 56 | "image-position": "Обтекание", 57 | "none": "Нет", 58 | "left": "Слева", 59 | "right": "Справа", 60 | "center": "По центру", 61 | "undo": "Отменить", 62 | "redo": "Повторить" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/sk.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['sk'] = { 4 | "format": "Formát", 5 | "image": "Obrázok", 6 | "file": "Súbor", 7 | "link": "Odkaz", 8 | "bold": "Tučné", 9 | "italic": "Kurzíva", 10 | "deleted": "Preškrtnuté", 11 | "underline": "Podčiarknuté", 12 | "superscript": "Horný index", 13 | "subscript": "Spodný index", 14 | "bold-abbr": "B", 15 | "italic-abbr": "I", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "Zoznam", 21 | "link-insert": "Vložiť odkaz", 22 | "link-edit": "Upraviť odkaz", 23 | "link-in-new-tab": "Otvoriť odkaz v novom okne", 24 | "unlink": "Zrušiť odkaz", 25 | "cancel": "Zrušiť", 26 | "close": "Zatvoriť", 27 | "insert": "Vložiť", 28 | "save": "Uložiť", 29 | "delete": "Vymazať", 30 | "text": "Text", 31 | "edit": "Upraviť", 32 | "title": "Názov", 33 | "paragraph": "Odsek", 34 | "quote": "Citácia", 35 | "code": "Kód", 36 | "heading1": "Nadpis 1", 37 | "heading2": "Nadpis 2", 38 | "heading3": "Nadpis 3", 39 | "heading4": "Nadpis 4", 40 | "heading5": "Nadpis 5", 41 | "heading6": "Nadpis 6", 42 | "filename": "Meno", 43 | "optional": "voliteľné", 44 | "unorderedlist": "Nezoradený zoznam", 45 | "orderedlist": "Zoradený zoznam", 46 | "outdent": "Predsadiť", 47 | "indent": "Odsadiť", 48 | "horizontalrule": "Linka", 49 | "upload": "Nahrať", 50 | "upload-label": "Presuňte sem súbory alebo kliknite pre výber", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "Rich text editor", 53 | "caption": "Titulok", 54 | "bulletslist": "odrážkový zoznam", 55 | "numberslist": "číslovaný zoznam", 56 | "image-position": "Pozícia", 57 | "none": "Žiadne", 58 | "left": "Vľavo", 59 | "right": "Vpravo", 60 | "center": "Na stred", 61 | "undo": "Späť", 62 | "redo": "Obnoviť" 63 | }; 64 | })(Redactor); 65 | -------------------------------------------------------------------------------- /vendor/redactor/langs/sl.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['sl'] = { 4 | "format": "Oblikovanje", 5 | "image": "Slika", 6 | "file": "Datoteka", 7 | "link": "Povezava", 8 | "bold": "Krepko", 9 | "italic": "Ležeče", 10 | "deleted": "Prečrtano", 11 | "underline": "Podčrtano", 12 | "superscript": "Nadpisano", 13 | "subscript": "Podpisano", 14 | "bold-abbr": "K", 15 | "italic-abbr": "L", 16 | "deleted-abbr": "P", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Nad", 19 | "subscript-abbr": "Pod", 20 | "lists": "Seznami", 21 | "link-insert": "Vstavi povezavo", 22 | "link-edit": "Uredi povezavo", 23 | "link-in-new-tab": "Odpri povezavo v novem zavihku", 24 | "unlink": "Odstrani povezavo", 25 | "cancel": "Prekliči", 26 | "close": "Zapri", 27 | "insert": "Vstavi", 28 | "save": "Shrani", 29 | "delete": "Izbriši", 30 | "text": "Besedilo", 31 | "edit": "Uredi", 32 | "title": "Naslov", 33 | "paragraph": "Navadno besedilo", 34 | "quote": "Navedek", 35 | "code": "Koda", 36 | "heading1": "Naslov 1", 37 | "heading2": "Naslov 2", 38 | "heading3": "Naslov 3", 39 | "heading4": "Naslov 4", 40 | "heading5": "Naslov 5", 41 | "heading6": "Naslov 6", 42 | "filename": "Ime", 43 | "optional": "izbirno", 44 | "unorderedlist": "Označen seznam", 45 | "orderedlist": "Oštevilčen seznam", 46 | "outdent": "Zmanjšaj zamik", 47 | "indent": "Povečaj zamik", 48 | "horizontalrule": "Črta", 49 | "upload": "Naloži", 50 | "upload-label": "Povleci datoteke sem ali klikni za nalaganje", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "Urejevalnik obogatenega besedila", 53 | "caption": "Napis", 54 | "bulletslist": "Oznake", 55 | "numberslist": "Številčenje", 56 | "image-position": "Položaj", 57 | "none": "Brez", 58 | "left": "Levo", 59 | "right": "Desno", 60 | "center": "Sredinsko", 61 | "undo": "Razveljavi", 62 | "redo": "Uveljavi" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/tr.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['tr'] = { 4 | "format": "Format", 5 | "image": "Görsel", 6 | "file": "Dosya", 7 | "link": "Link", 8 | "bold": "Kalın", 9 | "italic": "İtalik", 10 | "deleted": "Üzeri çizgili", 11 | "underline": "Altı çizgili", 12 | "superscript": "Superscript", 13 | "subscript": "Subscript", 14 | "bold-abbr": "B", 15 | "italic-abbr": "I", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "Listeleme", 21 | "link-insert": "Link ekle", 22 | "link-edit": "Linki düzenle", 23 | "link-in-new-tab": "Yeni bir pencerede aç", 24 | "unlink": "Linki Kaldır", 25 | "cancel": "Vazgeç", 26 | "close": "Kapat", 27 | "insert": "Ekle", 28 | "save": "Kaydet", 29 | "delete": "Sil", 30 | "text": "Metin", 31 | "edit": "Düzenle", 32 | "title": "Başlık", 33 | "paragraph": "Normal yazı", 34 | "quote": "Alıntı", 35 | "code": "Kod", 36 | "heading1": "Başlık 1", 37 | "heading2": "Başlık 2", 38 | "heading3": "Başlık 3", 39 | "heading4": "Başlık 4", 40 | "heading5": "Başlık 5", 41 | "heading6": "Başlık 6", 42 | "filename": "İsim", 43 | "optional": "opsiyonel", 44 | "unorderedlist": "Sırasız Liste", 45 | "orderedlist": "Sıralı Liste", 46 | "outdent": "Dışarı Doğru", 47 | "indent": "İçeri Doğru", 48 | "horizontalrule": "Çizgi", 49 | "upload": "Upload", 50 | "upload-label": "Drop files here or click to upload", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "Zenginleştirilmiş yazı editorü", 53 | "caption": "Caption", 54 | "bulletslist": "Bullets", 55 | "numberslist": "Numbers", 56 | "image-position": "Position", 57 | "none": "None", 58 | "left": "Left", 59 | "right": "Right", 60 | "center": "Center", 61 | "undo": "Undo", 62 | "redo": "Redo" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/zh_cn.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['zh_cn'] = { 4 | "format": "格式", 5 | "image": "图片", 6 | "file": "文件", 7 | "link": "链接", 8 | "bold": "加粗", 9 | "italic": "斜体", 10 | "deleted": "删除线", 11 | "underline": "底线", 12 | "superscript": "Superscript", 13 | "subscript": "Subscript", 14 | "bold-abbr": "B", 15 | "italic-abbr": "I", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "列表", 21 | "link-insert": "插入链接", 22 | "link-edit": "编辑链接", 23 | "link-in-new-tab": "在新页面中打开", 24 | "unlink": "取消链接", 25 | "cancel": "取消", 26 | "close": "关闭", 27 | "insert": "插入", 28 | "save": "保存", 29 | "delete": "删除", 30 | "text": "文本", 31 | "edit": "编辑", 32 | "title": "标题", 33 | "paragraph": "段落", 34 | "quote": "引用", 35 | "code": "代码", 36 | "heading1": "标题 1", 37 | "heading2": "标题 2", 38 | "heading3": "标题 3", 39 | "heading4": "标题 4", 40 | "heading5": "标题 5", 41 | "heading6": "标题 6", 42 | "filename": "文件名", 43 | "optional": "optional", 44 | "unorderedlist": "无序列表", 45 | "orderedlist": "有序列表", 46 | "outdent": "向左缩进", 47 | "indent": "向右缩进", 48 | "horizontalrule": "水平分隔线", 49 | "upload": "Upload", 50 | "upload-label": "Drop files here or click to upload", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "富文本编辑器", 53 | "caption": "Caption", 54 | "bulletslist": "Bullets", 55 | "numberslist": "Numbers", 56 | "image-position": "Position", 57 | "none": "None", 58 | "left": "Left", 59 | "right": "Right", 60 | "center": "Center", 61 | "undo": "Undo", 62 | "redo": "Redo" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/langs/zh_tw.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.lang['zh_tw'] = { 4 | "format": "樣式", 5 | "image": "插入圖片", 6 | "file": "插入文件", 7 | "link": "連結", 8 | "bold": "將文字變成粗體", 9 | "italic": "將文字變成斜體", 10 | "deleted": "刪除線", 11 | "underline": "底線", 12 | "superscript": "Superscript", 13 | "subscript": "Subscript", 14 | "bold-abbr": "B", 15 | "italic-abbr": "I", 16 | "deleted-abbr": "S", 17 | "underline-abbr": "U", 18 | "superscript-abbr": "Sup", 19 | "subscript-abbr": "Sub", 20 | "lists": "列表", 21 | "link-insert": "插入連結", 22 | "link-edit": "編輯連結", 23 | "link-in-new-tab": "開啟新分頁", 24 | "unlink": "移除連結", 25 | "cancel": "取消", 26 | "close": "關閉", 27 | "insert": "插入", 28 | "save": "儲存", 29 | "delete": "刪除", 30 | "text": "內文", 31 | "edit": "編輯", 32 | "title": "標題", 33 | "paragraph": "段落", 34 | "quote": "引用", 35 | "code": "原始碼", 36 | "heading1": "標題 1", 37 | "heading2": "標題 2", 38 | "heading3": "標題 3", 39 | "heading4": "標題 4", 40 | "heading5": "標題 5", 41 | "heading6": "標題 6", 42 | "filename": "檔案名稱", 43 | "optional": "optional", 44 | "unorderedlist": "項目列表", 45 | "orderedlist": "編號列表", 46 | "outdent": "減少縮排", 47 | "indent": "增加縮排", 48 | "horizontalrule": "插入水平線", 49 | "upload": "Upload", 50 | "upload-label": "Drop files here or click to upload", 51 | "upload-change-label": "Drop a new image to change", 52 | "accessibility-help-label": "Rich text editor", 53 | "caption": "Caption", 54 | "bulletslist": "Bullets", 55 | "numberslist": "Numbers", 56 | "image-position": "Position", 57 | "none": "None", 58 | "left": "Left", 59 | "right": "Right", 60 | "center": "Center", 61 | "undo": "Undo", 62 | "redo": "Redo" 63 | }; 64 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/plugins/alignment/alignment.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.add('plugin', 'alignment', { 4 | translations: { 5 | en: { 6 | "align": "Align", 7 | "align-left": "Align Left", 8 | "align-center": "Align Center", 9 | "align-right": "Align Right", 10 | "align-justify": "Align Justify" 11 | } 12 | }, 13 | init: function(app) 14 | { 15 | this.app = app; 16 | this.opts = app.opts; 17 | this.lang = app.lang; 18 | this.block = app.block; 19 | this.toolbar = app.toolbar; 20 | }, 21 | // public 22 | start: function() 23 | { 24 | var dropdown = {}; 25 | 26 | dropdown.left = { title: this.lang.get('align-left'), api: 'plugin.alignment.set', args: 'left' }; 27 | dropdown.center = { title: this.lang.get('align-center'), api: 'plugin.alignment.set', args: 'center' }; 28 | dropdown.right = { title: this.lang.get('align-right'), api: 'plugin.alignment.set', args: 'right' }; 29 | dropdown.justify = { title: this.lang.get('align-justify'), api: 'plugin.alignment.set', args: 'justify' }; 30 | 31 | var $button = this.toolbar.addButton('alignment', { title: this.lang.get('align') }); 32 | $button.setIcon(''); 33 | $button.setDropdown(dropdown); 34 | }, 35 | set: function(type) 36 | { 37 | if (type === 'left' && this.opts.direction === 'ltr') 38 | { 39 | return this._remove(); 40 | } 41 | 42 | var args = { 43 | style: { 'text-align': type } 44 | }; 45 | 46 | this.block.toggle(args); 47 | }, 48 | 49 | // private 50 | _remove: function() 51 | { 52 | this.block.remove({ style: 'text-align' }); 53 | } 54 | }); 55 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/plugins/alignment/alignment.min.js: -------------------------------------------------------------------------------- 1 | Redactor.add("plugin","alignment",{translations:{en:{align:"Align","align-left":"Align Left","align-center":"Align Center","align-right":"Align Right","align-justify":"Align Justify"}},init:function(t){this.app=t,this.opts=t.opts,this.lang=t.lang,this.block=t.block,this.toolbar=t.toolbar},start:function(){var t={};t.left={title:this.lang.get("align-left"),api:"plugin.alignment.set",args:"left"},t.center={title:this.lang.get("align-center"),api:"plugin.alignment.set",args:"center"},t.right={title:this.lang.get("align-right"),api:"plugin.alignment.set",args:"right"},t.justify={title:this.lang.get("align-justify"),api:"plugin.alignment.set",args:"justify"};var i=this.toolbar.addButton("alignment",{title:this.lang.get("align")});i.setIcon(''),i.setDropdown(t)},set:function(t){if("left"===t&&"ltr"===this.opts.direction)return this._remove();var i={style:{"text-align":t}};this.block.toggle(i)},_remove:function(){this.block.remove({style:"text-align"})}}); -------------------------------------------------------------------------------- /vendor/redactor/plugins/beyondgrammar/beyondgrammar.js: -------------------------------------------------------------------------------- 1 | (function($R) 2 | { 3 | $R.add('plugin', 'beyondgrammar', { 4 | init: function(app) 5 | { 6 | this.app = app; 7 | this.opts = app.opts; 8 | this.editor = app.editor; 9 | this.cleaner = app.cleaner; 10 | }, 11 | // messages 12 | onoriginalblur: function(e) 13 | { 14 | var $target = $R.dom(e.target); 15 | if ($target.hasClass('pwa-suggest')) 16 | { 17 | e.preventDefault(); 18 | this.app.stopBlur = true; 19 | var offset = this.app.offset.get(); 20 | setTimeout(function() { 21 | this.app.offset.set(offset); 22 | }.bind(this), 10); 23 | 24 | return; 25 | } 26 | 27 | this.app.stopBlur = false; 28 | }, 29 | onsource: { 30 | closed: function() 31 | { 32 | this.editor.focus(); 33 | this._activate(); 34 | } 35 | }, 36 | // public 37 | start: function() 38 | { 39 | this.GrammarChecker = this._getGrammarChecker(); 40 | if (!this.opts.beyondgrammar || !this.GrammarChecker) return; 41 | 42 | // add cleaner rules 43 | this.cleaner.addUnconvertRules('spellcheck', function($wrapper) 44 | { 45 | $wrapper.find('.pwa-mark').unwrap(); 46 | }); 47 | 48 | // activate 49 | this._activate(); 50 | }, 51 | 52 | // private 53 | _activate: function() 54 | { 55 | // editor 56 | var $editor = this.editor.getElement(); 57 | $editor.attr('spellcheck', false); 58 | 59 | var checker = new this.GrammarChecker($editor.get(), this.opts.beyondgrammar.service, this.opts.beyondgrammar.grammar); 60 | checker.init().then(function() 61 | { 62 | //grammar checker is inited and can be activate 63 | checker.activate(); 64 | }); 65 | }, 66 | _getGrammarChecker: function() 67 | { 68 | return (typeof window["BeyondGrammar"] === 'undefined') ? false : window["BeyondGrammar"]["GrammarChecker"]; 69 | } 70 | }); 71 | })(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/plugins/beyondgrammar/beyondgrammar.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.add("plugin","beyondgrammar",{init:function(t){this.app=t,this.opts=t.opts,this.editor=t.editor,this.cleaner=t.cleaner},onoriginalblur:function(t){if(a.dom(t.target).hasClass("pwa-suggest")){t.preventDefault(),this.app.stopBlur=!0;var e=this.app.offset.get();setTimeout(function(){this.app.offset.set(e)}.bind(this),10)}else this.app.stopBlur=!1},onsource:{closed:function(){this.editor.focus(),this._activate()}},start:function(){this.GrammarChecker=this._getGrammarChecker(),this.opts.beyondgrammar&&this.GrammarChecker&&(this.cleaner.addUnconvertRules("spellcheck",function(t){t.find(".pwa-mark").unwrap()}),this._activate())},_activate:function(){var t=this.editor.getElement();t.attr("spellcheck",!1);var e=new this.GrammarChecker(t.get(),this.opts.beyondgrammar.service,this.opts.beyondgrammar.grammar);e.init().then(function(){e.activate()})},_getGrammarChecker:function(){return void 0!==window.BeyondGrammar&&window.BeyondGrammar.GrammarChecker}})}(Redactor); -------------------------------------------------------------------------------- /vendor/redactor/plugins/clips/clips.css: -------------------------------------------------------------------------------- 1 | .redactor-clips-list { 2 | list-style: none; 3 | margin: 0; 4 | padding: 0; 5 | } 6 | .redactor-clips-list li { 7 | display: inline-block; 8 | margin-right: 4px; 9 | margin-bottom: 4px; 10 | } 11 | .redactor-clips-list span { 12 | white-space: nowrap; 13 | background: rgba(0,125,255, .75); 14 | color: #fff; 15 | display: inline-block; 16 | padding: 3px 6px; 17 | line-height: 1; 18 | border-radius: 4px; 19 | cursor: pointer; 20 | } -------------------------------------------------------------------------------- /vendor/redactor/plugins/clips/clips.min.css: -------------------------------------------------------------------------------- 1 | .redactor-clips-list{list-style:none;margin:0;padding:0}.redactor-clips-list li{display:inline-block;margin-right:4px;margin-bottom:4px}.redactor-clips-list span{white-space:nowrap;background:rgba(0,125,255,.75);color:#fff;display:inline-block;padding:3px 6px;line-height:1;border-radius:4px;cursor:pointer} -------------------------------------------------------------------------------- /vendor/redactor/plugins/clips/clips.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.add("plugin","clips",{translations:{en:{clips:"Clips","clips-select":"Please, select a clip"}},modals:{clips:""},init:function(i){this.app=i,this.opts=i.opts,this.lang=i.lang,this.toolbar=i.toolbar,this.insertion=i.insertion},onmodal:{clips:{open:function(i){this._build(i)}}},start:function(){if(this.opts.clips){var i={title:this.lang.get("clips"),api:"plugin.clips.open"};this.toolbar.addButton("clips",i).setIcon('')}},open:function(i){var t={title:this.lang.get("clips"),width:"600px",name:"clips"};this.app.api("module.modal.build",t)},_build:function(i){var t=i.getBody(),s=this._buildLabel(),l=this._buildList();this._buildItems(l),t.html(""),t.append(s),t.append(l)},_buildLabel:function(){var i=a.dom("