WYSIWYG editor

Bootstrap 5 WYSIWYG editor plugin

MDBootstrap WYSIWYG Editor is a lightweight plugin that enables rich text editing on your website.

Note: Read the API tab to find all available options and advanced customization


Basic example


MDBootstrap

WYSIWYG Editor

MDBootstrap.com © 2020

Features:

  • Changing block type
  • Text formatting (bold, italic, strikethrough, underline)
  • Setting text color
  • Setting color highlight
  • Text aligning
  • Creating a list (bulled or numbered)
  • Increase/Decrease indent
  • Inserting links
  • Inserting pictures
  • Insert horizontal line
  • show HTML code
  • Undo/Redo

Options:

  • Translations
  • Using your own color palette
  • Disabling/enabling sections

Methods:

  • Get HTML code from editor
        
            
        <div class="wysiwyg" data-mdb-wysiwyg="wysiwyg">
          <br/>
          <p style="text-align: center;"><img src="https://mdbootstrap.com/wp-content/uploads/2018/06/logo-mdb-jquery-small.webp" class="img-fluid"></p>
          <h1 style="text-align: center;">MDBootstrap</h1>
          <p style="text-align: center;">WYSIWYG Editor</p>
          <p style="text-align: center;"><a href="https://mdbootstrap.com" target="_blank" contenteditable="false" style="font-size: 1rem; text-align: left;">MDBootstrap.com</a>&nbsp;© 2020</p>
          <p style="text-align: left;"><b>Features:</b></p>
          <ul>
            <li>Changing block type</li>
            <li>Text formatting (bold, italic, strikethrough, underline)</li>
            <li>Setting text color</li>
            <li>Setting color highlight</li>
            <li>Text aligning</li>
            <li>Creating a list (bulled or numbered)</li>
            <li>Increase/Decrease indent</li>
            <li>Inserting links</li>
            <li>Inserting pictures</li>
            <li>Insert horizontal line</li>
            <li>show HTML code</li>
            <li>Undo/Redo</li>
          </ul>
          <p><b>Options:</b></p>
          <ul>
            <li>Translations</li>
            <li>Using your own color palette</li>
            <li>Disabling/enabling sections</li>
          </ul>
          <p><b>Methods:</b></p>
          <ul>
            <li>Get HTML code from editor</li>
          </ul>
        </div>
      
        
    

Translations

MDBootstrap WYSIWYG Editor comes with the option that allows you to use custom translations for all text in the editor.


MDBootstrap

WYSIWYG Editor

MDBootstrap.com © 2020

        
            
        <div class="wysiwyg">
          <br/>
          <p style="text-align: center;"><img src="https://mdbootstrap.com/wp-content/uploads/2018/06/logo-mdb-jquery-small.webp" class="img-fluid"></p>
          <h1 style="text-align: center;">MDBootstrap</h1>
          <p style="text-align: center;">WYSIWYG Editor</p>
          <p style="text-align: center;"><a href="https://mdbootstrap.com" target="_blank" contenteditable="false" style="font-size: 1rem; text-align: left;">MDBootstrap.com</a>&nbsp;© 2020</p>
          <p style="text-align: left;"><b>Features:</b></p>
        </div>
      
        
    
        
            
        var wysiwygElement = document.getElementsByClassName('wysiwyg')[0];
        var wysiwygInstance = new WYSIWYG(wysiwygElement, {
          translations : {
            paragraph: 'Paragraf',
            textStyle: 'Styl tekstu',
            heading: 'Nagłówek',
            preformatted: 'Pre-formatowany',
            bold: 'Pogrubienie',
            italic: 'Kursywa',
            strikethrough: 'Przekreślenie',
            underline: 'Podkreślenie',
            textcolor: 'Kolor tekstu',
            textBackgroundColor: 'kolor zaznaczenia',
            alignLeft: 'Wyśrodkowanie do lewej',
            alignCenter: 'Wyśrodkowanie do środka',
            alignRight: 'Wyśrodkowane do prawej',
            alignJustify: 'Justowanie',
            insertLink: 'Wstaw link',
            insertPicture: 'Wstaw obraz',
            unorderedList: 'Lista punktowa',
            orderedList: 'Lista numerowana',
            increaseIndent: 'Zwiększ wcięcie',
            decreaseIndent: 'Zmniejsz wcięcie',
            insertHorizontalRule: 'Wstaw linię poziomą',
            showHTML: 'Pokaż kod HTML',
            undo: 'Cofnij',
            redo: 'Przywróć',
            addLinkHead: 'Dodaj Link',
            addImageHead: 'Dodaj Obraz',
            linkUrlLabel: 'Wpisz adres:',
            linkDescription: 'Wpisz opis',
            imageUrlLabel: 'Wpisz adres obrazka:',
            okButton: 'OK',
            cancelButton: 'Anuluj',
            moreOptions: 'Pokaż więcej opcji',
          }
        });
      
        
    

Custom colors

By default, MDBootstrap WYSIWYG Editor use color palette from MDBootstrap's text colors. If you need to use your custom colors, you can simply customize them to fit your project.


MDBootstrap

WYSIWYG Editor

MDBootstrap.com © 2020

Default Colors:

  • #1266F1 - Primary
  • #B23CFD - Secondary
  • #00B74A - Success
  • #F93154 - Danger
  • #FFA900 - Warning
  • #39C0ED - Info
  • #FBFBFB - Light
  • #262626 - Dark
        
            
        <div class="wysiwyg">
          <br/>
          <p style="text-align: center;"><img src="https://mdbootstrap.com/wp-content/uploads/2018/06/logo-mdb-jquery-small.webp" class="img-fluid"></p>
          <h1 style="text-align: center;">MDBootstrap</h1>
          <p style="text-align: center;">WYSIWYG Editor</p>
          <p style="text-align: center;"><a href="https://mdbootstrap.com" target="_blank" contenteditable="false" style="font-size: 1rem; text-align: left;">MDBootstrap.com</a>&nbsp;© 2020</p>
          <p style="text-align: left;"><b>Default Colors:</b></p>
          <ul>
            <li><span style="color: #1266F1;">#1266F1 - Primary</span></li>
            <li><span style="color: #B23CFD;">#B23CFD - Secondary</span></li>
            <li><span style="color: #00B74A;">#00B74A - Success</span></li>
            <li><span style="color: #F93154;">#F93154 - Danger</span></li>
            <li><span style="color: #FFA900;">#FFA900 - Warning</span></li>
            <li><span style="color: #39C0ED;">#39C0ED - Info</span></li>
            <li><span style="color: #FBFBFB; background-color: rgb(38, 38, 38);">#FBFBFB - Light</span></li>
            <li><span style="color: #262626;">#262626 - Dark</span></li>
          </ul>
        </div>
      
        
    
        
            
        var wysiwygElement = document.getElementsByClassName('wysiwyg')[0];
        var wysiwygInstance = new WYSIWYG(wysiwygElement, {
          wysiwygColors : [
            '#3949AB',
            '#00BCD4',
            '#7CB342'
          ]
        });
      
        
    

Disable toolbar section

You can disable any section. The full list of sections can be found in the API tab.


MDBootstrap

WYSIWYG Editor

MDBootstrap.com © 2020

        
            
        <div class="wysiwyg" data-mdb-wysiwyg="wysiwyg" data-mdb-wysiwyg-formatting-section="false" data-mdb-wysiwyg-justify-section="false">
          <br/>
          <p style="text-align: center;"><img src="https://mdbootstrap.com/wp-content/uploads/2018/06/logo-mdb-jquery-small.webp" class="img-fluid"></p>
          <h1 style="text-align: center;">MDBootstrap</h1>
          <p style="text-align: center;">WYSIWYG Editor</p>
          <p style="text-align: center;"><a href="https://mdbootstrap.com" target="_blank" contenteditable="false" style="font-size: 1rem; text-align: left;">MDBootstrap.com</a>&nbsp;© 2020</p>
          <p style="text-align: left;"><b>Features:</b></p>
        </div>
      
        
    

Fixed toolbar

You can set data-mdb-wysiwyg-fixed="true" to pin the toolbar to the top of the screen. This option will be useful when there is a lot of text.


MDBootstrap

WYSIWYG Editor

MDBootstrap.com © 2020

        
            
        <div class="wysiwyg" data-mdb-wysiwyg="wysiwyg" data-mdb-wysiwyg-fixed="true">
          <br/>
          <p style="text-align: center;"><img src="https://mdbootstrap.com/wp-content/uploads/2018/06/logo-mdb-jquery-small.webp" class="img-fluid"></p>
          <h1 style="text-align: center;">MDBootstrap</h1>
          <p style="text-align: center;">WYSIWYG Editor</p>
          <p style="text-align: center;"><a href="https://mdbootstrap.com" target="_blank" contenteditable="false" style="font-size: 1rem; text-align: left;">MDBootstrap.com</a>&nbsp;© 2020</p>
        </div>
      
        
    

Fixed toolbar offset

Use the data-mdb-wysiwyg-fixed-offset-top option to set the distance from the top of the screen. This helps to avoid hiding the toolbar behind the navigation bar or other element on the page.


MDBootstrap

WYSIWYG Editor

MDBootstrap.com © 2020

        
            
        <div class="wysiwyg" data-mdb-wysiwyg="wysiwyg" data-mdb-wysiwyg-fixed="true" data-mdb-wysiwyg-fixed-offset-top="80">
          <br/>
          <p style="text-align: center;"><img src="https://mdbootstrap.com/wp-content/uploads/2018/06/logo-mdb-jquery-small.webp" class="img-fluid"></p>
          <h1 style="text-align: center;">MDBootstrap</h1>
          <p style="text-align: center;">WYSIWYG Editor</p>
          <p style="text-align: center;"><a href="https://mdbootstrap.com" target="_blank" contenteditable="false" style="font-size: 1rem; text-align: left;">MDBootstrap.com</a>&nbsp;© 2020</p>
        </div>
      
        
    

WYSIWYG editor - API


Usage

Via data attributes

        
            
        <div class="wysiwyg" data-mdb-wysiwyg="wysiwyg"></div>     
      
        
    

Via JavaScript

        
            
        const wysiwygElement = document.getElementsByClassName('wysiwyg')[0];
        const wysiwygInstance = WYSIWYG.getInstance(wysiwygElement);
      
        
    

Via jQuery

Note: By default, MDB does not include jQuery and you have to add it to the project on your own.

        
            
        $('.wysiwyg').wysiwyg();
      
        
    

Options

Options can be passed via data attributes, JavaScript, or jQuery. For data attributes, append the option name to data-mdb-, as in data-mdb-wysiwyg-styles-section="false".

Name Type Default Description
wysiwygColors Array Defines custom color palette
wysiwygTranslations Array Defines custom texts
wysiwygstylesSection Boolean true Set to false to disable the styles section
wysiwygFormattingSection Boolean true Set to false to disable the formatting section
wysiwygJustifySection Boolean true Set to false to disable the justify section
wysiwygListsSection Boolean true Set to false to disable the lists section
wysiwygLinksSection Boolean true Set to false to disable the links section
wysiwygShowCodeSection Boolean true Set to false to disable the show code section
wysiwygUndoRedoSection Boolean true Set to false to disable the undo-redo section
wysiwygFixed Boolean false Set true to scrolls toolbar with the page until it reaches the top, then stays there
wysiwygFixedOffsetTop Number 0 Set the distance in pixels from the top edge of the browser

Methods

Name Parameters Description Example
getCode Get code in HTML format instance.open(1)
        
            
        const wysiwygElement = document.getElementsByClassName('wysiwyg')[0];
        const wysiwygInstance = WYSIWYG.getInstance(wysiwygElement);
        wysiwygInstance.getCode();
      
        
    

Import

MDB UI KIT also works with module bundlers. Use the following code to import this component:

        
            
        import WYSIWYG from 'mdb-wysiwyg';