Подавить определенные форматы в Quill

У меня есть редактор Quill, которому необходимо преобразовать определенный устаревший контент, который уже является HTML, в дельта-формат пергамента. Помещение HTML в DOM перед созданием редактора Quill отлично работает:

<div id="my-editor">
  <p>My legacy content</p>
</div>
<script>
  var editor = new Quill("#my-editor");
</script>

Однако некоторые из устаревших HTML-кодов очень запутаны и содержат определенные стилевые конструкции (шрифт, цвет, фон), которые я не хочу поддерживать.

Quill отлично справляется с игнорированием тегов, классов и атрибутов стиля, которые он не понимает. Но я бы хотел отменить регистрацию некоторых известных форматов, которые я также хочу игнорировать. Я пробовал это делать ...

Quill.register({
  'formats/color': null,
  'formats/font': null,
  'formats/background': null
});

... в попытке отменить регистрацию этих форматов в реестре Quill. Но затем я получаю эту ошибку во время выполнения:

TypeError: Cannot read property 'blotName' of null
    at Function.register (vendor/quill-1.3.2.js:1068:82)

Какие-либо предложения?


person benjismith    schedule 20.09.2017    source источник


Ответы (1)


Ах, глупый я ... Я сам нашел ответ ...

Я искал способ черного списка определенных форматов, но правильный способ сделать это - использовать параметр formats в объекте options для белого списка форматы, которые я действительно хочу использовать ...

var editor = new Quill(
  "#my-editor",
  {
    "formats" : [
      "bold",
      "italic",
    ]
  }
);

Параметр конфигурации задокументирован здесь, а список основных форматов, доступных для внесения в белый список: здесь.

person benjismith    schedule 20.09.2017