'\n },\n format: ['p', 'h1', 'h2', 'h3', 'ul', 'ol'], // h4, h5, h6, address, dl\n formatAdd: false,\n shortcutsRemove: false,\n shortcutsBase: {\n 'meta+z': '## shortcuts.meta-z ##',\n 'meta+shift+z': '## shortcuts.meta-shift-z ##',\n 'meta+a': '## shortcuts.meta-a ##'\n },\n shortcuts: {\n 'ctrl+shift+o, meta+shift+o': {\n title: '## shortcuts.meta-shift-o ##',\n name: 'meta+shift+o',\n command: 'addbar.popup'\n },\n 'ctrl+shift+d, meta+shift+d': {\n title: '## shortcuts.meta-shift-d ##',\n name: 'meta+shift+d',\n command: 'block.duplicate'\n },\n 'ctrl+shift+up, meta+shift+up': {\n title: '## shortcuts.meta-shift-up ##',\n name: 'meta+shift+↑',\n command: 'block.moveUp'\n },\n 'ctrl+shift+down, meta+shift+down': {\n title: '## shortcuts.meta-shift-down ##',\n name: 'meta+shift+↓',\n command: 'block.moveDown'\n },\n 'ctrl+shift+m, meta+shift+m': {\n title: '## shortcuts.meta-shift-m ##',\n name: 'meta+shift+m',\n command: 'inline.removeFormat'\n },\n 'ctrl+b, meta+b': {\n title: '## shortcuts.meta-b ##',\n name: 'meta+b',\n command: 'inline.set',\n params: { tag: 'b' }\n },\n 'ctrl+i, meta+i': {\n title: '## shortcuts.meta-i ##',\n name: 'meta+i',\n command: 'inline.set',\n params: { tag: 'i' }\n },\n 'ctrl+u, meta+u': {\n title: '## shortcuts.meta-u ##',\n name: 'meta+u',\n command: 'inline.set',\n params: { tag: 'u' }\n },\n 'ctrl+h, meta+h': {\n title: '## shortcuts.meta-h ##',\n name: 'meta+h',\n command: 'inline.set',\n params: { tag: 'sup' }\n },\n 'ctrl+l, meta+l': {\n title: '## shortcuts.meta-l ##',\n name: 'meta+l',\n command: 'inline.set',\n params: { tag: 'sub' }\n },\n 'ctrl+alt+0, meta+alt+0': {\n title: '## shortcuts.meta-alt-0 ##',\n name: 'meta+alt+0',\n command: 'block.format',\n params: { tag: 'p' }\n },\n 'ctrl+alt+1, meta+alt+1': {\n title: '## shortcuts.meta-alt-1 ##',\n name: 'meta+alt+1',\n command: 'block.format',\n params: { tag: 'h1' }\n },\n 'ctrl+alt+2, meta+alt+2': {\n title: '## shortcuts.meta-alt-2 ##',\n name: 'meta+alt+2',\n command: 'block.format',\n params: { tag: 'h2' }\n },\n 'ctrl+alt+3, meta+alt+3': {\n title: '## shortcuts.meta-alt-3 ##',\n name: 'meta+alt+3',\n command: 'block.format',\n params: { tag: 'h3' }\n },\n 'ctrl+alt+4, meta+alt+4': {\n title: '## shortcuts.meta-alt-4 ##',\n name: 'meta+alt+4',\n command: 'block.format',\n params: { tag: 'h4' }\n },\n 'ctrl+alt+5, meta+alt+5': {\n title: '## shortcuts.meta-alt-5 ##',\n name: 'meta+alt+5',\n command: 'block.format',\n params: { tag: 'h5' }\n },\n 'ctrl+alt+6, meta+alt+6': {\n title: '## shortcuts.meta-alt-6 ##',\n name: 'meta+alt+6',\n command: 'block.format',\n params: { tag: 'h6' }\n },\n 'ctrl+shift+7, meta+shift+7': {\n title: '## shortcuts.meta-shift-7 ##',\n name: 'meta+shift+7',\n command: 'block.format',\n params: { tag: 'ol' }\n },\n 'ctrl+shift+8, meta+shift+8': {\n title: '## shortcuts.meta-shift-8 ##',\n name: 'meta+shift+8',\n command: 'block.format',\n params: { tag: 'ul' }\n },\n 'ctrl+], meta+]': {\n title: '## shortcuts.meta-indent ##',\n name: 'meta+]',\n command: 'list.indent'\n },\n 'ctrl+[, meta+[': {\n title: '## shortcuts.meta-outdent ##',\n name: 'meta+[',\n command: 'list.outdent'\n },\n 'ctrl+k, meta+k': {\n title: '## shortcuts.meta-k ##',\n name: 'meta+k',\n command: 'link.format'\n }\n },\n\n // private\n paddingControl: '24px 26px',\n paddingNormal: '20px',\n buttonsObj: {\n 'add': { title: '## buttons.add ##', command: 'addbar.popup' },\n 'html': { title: '## buttons.html ##', command: 'source.toggle' },\n 'format': { title: '## buttons.format ##', command: 'format.popup' },\n 'duplicate': { title: '## buttons.duplicate ##', command: 'block.duplicate' },\n 'trash': { title: '## buttons.delete ##', command: 'block.remove' },\n 'undo': { title: '## buttons.undo ##', command: 'state.undo' },\n 'redo': { title: '## buttons.redo ##', command: 'state.redo' },\n 'shortcut': { title: '## buttons.shortcuts ##', command: 'shortcut.popup' },\n 'bold': { title: '## buttons.bold ##', command: 'inline.set', params: { tag: 'b' } },\n 'italic': { title: '## buttons.italic ##', command: 'inline.set', params: { tag: 'i' } },\n 'deleted': { title: '## buttons.deleted ##', command: 'inline.set', params: { tag: 'del' } },\n 'code': { title: '## buttons.code ##', command: 'inline.set', params: { tag: 'code' } },\n 'link': { title: '## buttons.link ##', command: 'link.popup' },\n 'mark': { title: '## buttons.mark ##', command: 'inline.set', params: { tag: 'mark' } },\n 'sub': { title: '## buttons.subscript ##', command: 'inline.set', params: { tag: 'sub' } },\n 'sup': { title: '## buttons.superscript ##', command: 'inline.set', params: { tag: 'sup' } },\n 'kbd': { title: '## buttons.shortcut ##', command: 'inline.set', params: { tag: 'kbd' } },\n 'paragraph': { title: '## blocks.paragraph ##', command: 'block.add', params: { name: 'paragraph' } },\n 'image': { title: '## blocks.image ##', command: 'image.popup', observer: 'image.observe' },\n 'embed': { title: '## blocks.embed ##', command: 'embed.popup', observer: 'embed.observe' },\n 'table-tune': { title: '## buttons.column-settings ##', command: 'table.cellSetting', icon: 'tune' },\n 'indent': { title: '## buttons.indent ##', command: 'list.indent' },\n 'outdent': { title: '## buttons.outdent ##', command: 'list.outdent' },\n 'line': { title: '## blocks.line ##', command: 'block.add', observer: 'block.observe', params: { name: 'line' } },\n 'table': { title: '## blocks.table ##', command: 'table.add', observer: 'table.observe', params: { name: 'table' } },\n 'quote': { title: '## blocks.quote ##', command: 'block.add', observer: 'block.observe', params: { name: 'quote' } },\n 'pre': { title: '## blocks.pre ##', command: 'block.add', observer: 'block.observe', params: { name: 'pre' } }\n },\n formatObj: {\n p: {\n title: '## format.p ##',\n type: 'paragraph',\n shortcut: 'Ctrl+Alt+0'\n },\n h1: {\n title: '## format.h1 ##',\n type: 'heading',\n shortcut: 'Ctrl+Alt+1'\n },\n h2: {\n title: '## format.h2 ##',\n type: 'heading',\n shortcut: 'Ctrl+Alt+2'\n },\n h3: {\n title: '## format.h3 ##',\n type: 'heading',\n shortcut: 'Ctrl+Alt+3'\n },\n h4: {\n title: '## format.h4 ##',\n type: 'heading',\n shortcut: 'Ctrl+Alt+4'\n },\n h5: {\n title: '## format.h5 ##',\n type: 'heading',\n shortcut: 'Ctrl+Alt+5'\n },\n h6: {\n title: '## format.h6 ##',\n type: 'heading',\n shortcut: 'Ctrl+Alt+6'\n },\n ol: {\n title: '1. ## format.ol ##',\n type: 'list',\n shortcut: 'Ctrl+Shift+7'\n },\n ul: {\n title: '• ## format.ul ##',\n type: 'list',\n shortcut: 'Ctrl+Shift+8'\n },\n address: {\n title: '## format.address ##',\n type: 'address'\n },\n dl: {\n title: '## format.dl ##',\n type: 'dlist'\n }\n },\n markerChar: '\\ufeff',\n containers: {\n main: ['toolbar', 'editor', 'source', 'statusbar']\n },\n tags: {\n denied: ['font', 'html', 'head', 'link', 'title', 'body', 'meta', 'applet', 'marquee'],\n incode: ['!DOCTYPE', '!doctype', 'html', 'head', 'link', 'title', 'body', 'meta', 'textarea', 'style'],\n form: ['form', 'input', 'button', 'select', 'textarea', 'legend', 'fieldset'],\n inline: ['a', 'svg', 'span', 'strong', 'strike', 'b', 'u', 'em', 'i', 'code', 'del', 'ins', 'samp', 'kbd', 'sup', 'sub', 'mark', 'var', 'cite', 'small', 'abbr'],\n block: ['pre', 'hr', 'ul', 'ol', 'li', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'dl', 'dt', 'dd', 'div', 'table', 'tbody', 'thead', 'tfoot', 'tr', 'th', 'td', 'blockquote', 'output', 'figcaption', 'figure', 'address', 'main', 'section', 'header', 'footer', 'aside', 'article', 'iframe'],\n parser: ['pre', 'hr', 'ul', 'ol', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'table', 'address', 'blockquote', 'figure', 'iframe', 'form', 'dl', 'div', 'section', 'header', 'footer', 'article', 'main', 'aside']\n },\n bsmodal: false,\n regex: {\n youtube: /^https?\\:\\/\\/(?:www\\.youtube(?:\\-nocookie)?\\.com\\/|m\\.youtube\\.com\\/|youtube\\.com\\/)?(?:ytscreeningroom\\?vi?=|youtu\\.be\\/|vi?\\/|user\\/.+\\/u\\/\\w{1,2}\\/|embed\\/|watch\\?(?:.*\\&)?vi?=|\\&vi?=|\\?(?:.*\\&)?vi?=)([^#\\&\\?\\n\\/<>\"']*)/gi,\n vimeo: /(http|https)?:\\/\\/(?:www.|player.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/(?:[^/]*)\\/videos\\/|album\\/(?:\\d+)\\/video\\/|video\\/|)(\\d+)(?:\\/[a-zA-Z0-9_-]+)?/gi,\n imageurl: /((https?|www)[^\\s]+\\.)(jpe?g|png|gif)(\\?[^\\s-]+)?/gi,\n url: /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z\\u00F0-\\u02AF0-9()!@:%_+.~#?&//=]*)/gi,\n aurl1: /(\\b(https?|ftp):\\/\\/[-A-Z0-9+&@#\\/%?=~_|!:,.;]*[-A-Z0-9+&@#\\/%=~_|])/gim,\n aurl2: /(^|[^\\/])(www\\.[\\S]+(\\b|$))/gim\n }\n }\n RedactorX.lang.en = {\n accessibility: {\n 'help-label': 'Rich text editor'\n },\n placeholders: {\n figcaption: 'Type caption (optional)'\n },\n popup: {\n 'back': 'Back',\n 'link': 'Link',\n 'add': 'Add',\n 'image': 'Image',\n 'add-image': 'Add Image'\n },\n shortcuts: {\n 'meta-a': 'Select all',\n 'meta-z': 'Undo',\n 'meta-shift-z': 'Redo',\n 'meta-shift-m': 'Remove inline format',\n 'meta-b': 'Bold',\n 'meta-i': 'Italic',\n 'meta-u': 'Underline',\n 'meta-h': 'Superscript',\n 'meta-l': 'Subscript',\n 'meta-k': 'Link',\n 'meta-alt-0': 'Normal text',\n 'meta-alt-1': 'Heading 1',\n 'meta-alt-2': 'Heading 2',\n 'meta-alt-3': 'Heading 3',\n 'meta-alt-4': 'Heading 4',\n 'meta-alt-5': 'Heading 5',\n 'meta-alt-6': 'Heading 6',\n 'meta-shift-7': 'Ordered List',\n 'meta-shift-8': 'Unordered List',\n 'meta-indent': 'Indent',\n 'meta-outdent': 'Outdent',\n 'meta-shift-backspace': 'Delete',\n 'meta-shift-o': 'Add',\n 'meta-shift-d': 'Duplicate',\n 'meta-shift-up': 'Move up',\n 'meta-shift-down': 'Move down'\n },\n buttons: {\n 'add': 'Add',\n 'html': 'HTML',\n 'format': 'Format',\n 'bold': 'Bold',\n 'italic': 'Italic',\n 'deleted': 'Deleted',\n 'link': 'Link',\n 'list': 'List',\n 'image': 'Image',\n 'indent': 'Indent',\n 'outdent': 'Outdent',\n 'embed': 'Embed',\n 'table': 'Table',\n 'insert': 'Insert',\n 'save': 'Save',\n 'cancel': 'Cancel',\n 'delete': 'Delete',\n 'duplicate': 'Duplicate',\n 'shortcut': 'Shortcuts',\n 'underline': 'Underline',\n 'undo': 'Undo',\n 'redo': 'Redo',\n 'code': 'Code',\n 'mark': 'Mark',\n 'subscript': 'Subscript',\n 'superscript': 'Superscript',\n 'kbd': 'Shortcut',\n 'column-settings': 'Column settings'\n },\n blocks: {\n text: 'Text',\n paragraph: 'Paragraph',\n image: 'Image',\n embed: 'Embed',\n line: 'Line',\n table: 'Table',\n quote: 'Quote',\n pre: 'Code',\n address: 'Address'\n },\n format: {\n p: 'Normal Text',\n h1: 'Heading 1',\n h2: 'Heading 2',\n h3: 'Heading 3',\n h4: 'Heading 4',\n h5: 'Heading 5',\n h6: 'Heading 6',\n address: 'Address',\n ul: 'Unordered List',\n ol: 'Ordered List',\n dl: 'Definition List'\n },\n embed: {\n 'embed': 'Embed',\n 'caption': 'Caption',\n 'description': 'Paste any embed/html code or enter the url (vimeo or youtube video only)',\n 'responsive-video': 'Responsive video'\n },\n image: {\n 'or': 'or',\n 'alt-text': 'Alt Text',\n 'link': 'Link',\n 'width': 'Width',\n 'caption': 'Caption',\n 'link-in-new-tab': 'Open link in new tab',\n 'url-placeholder': 'Paste url of image...',\n 'upload-new-placeholder': 'Drag to upload a new imageQuote...
Author Attribution