Icon system

The Jodit icon system allows you to connect and use a ready-made set of icons in several places.
Icons are actually SVG strings. You can insert any of these into your layout:

console.log(Jodit.modules.Icon.get('cancel')); // <svg ...

You can add your own icons:

Jodit.modules.Icon.set('someIcon', '<svg ....');

And then use this icon for example in a button in the toolbar

Jodit.make('#editor', {
  buttons: [
    {
      icon: 'someIcon',
      name: 'someButton',
      exec: e => alert(e.selection.html)
    }
  ]
});

The list of icons from the build can be viewed here

In addition to the added icons in the toolbar, you can also use a simple link to the image:

Jodit.make('#editor', {
  buttons: [
    {
      iconURL: 'https://xdsoft.net/jodit/files/artio.jpg',
      name: 'someButton',
      exec: e => alert(e.selection.html)
    }
  ]
});

Custom icons / Use Font awesome

Include Jodit and the CDN Font Awesome

<link
  rel="stylesheet"
  href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"
/>
<link rel="stylesheet" href="build/jodit.min.css" />
<script src="build/jodit.min.js"></script>

Create input element

<textarea id="editor">Some text</textarea>

And define event getIcon:

const editor = Jodit.make('#editor', {
  getIcon: function (name, clearName) {
    var code = name;

    // not all font awesome icons is matched to Jodit icons
    switch (clearName) {
      case 'redo':
        code = 'rotate-right';
        break;
    }

    return (
      '<i style="font-size:14px" class="fa fa-' + code + ' fa-xs"></i>'
    );
  }
});

For full replacing you can copy this code:

const editor = Jodit.make('#editor', {
  getIcon: function (name, clearName) {
    var code = clearName;

    switch (clearName) {
      case 'redo':
        code = 'rotate-right';
        break;

      case 'video':
        code = 'video-camera';
        break;

      case 'copyformat':
        code = 'clone';
        break;

      case 'about':
        code = 'question';
        break;

      case 'selectall':
        code = 'legal';
        break;

      case 'symbols':
        return '<span style="text-align: center;font-size:14px;">Ω</span>';

      case 'hr':
        code = 'minus';
        break;

      case 'left':
      case 'right':
      case 'justify':
      case 'center':
        code = 'align-' + name;
        break;

      case 'brush':
        code = 'tint';
        break;

      case 'fontsize':
        code = 'text-height';
        break;

      case 'ul':
      case 'ol':
        code = 'list-' + name;
        break;

      case 'source':
        code = 'code';
        break;
    }

    return (
      '<i style="font-size:14px" class="fa fa-' + code + ' fa-xs"></i>'
    );
  }
});