MediaWiki VisualEditor textcolor

Я пытаюсь расширить VisualEditor путем добавления пользовательских функций.

Было довольно легко добавить материал, который реализован с помощью одного HTML-тега без параметров. Но сейчас я пытаюсь добавить текстовый цвет. Я попытался скопировать LanguageAnnotation, так как он довольно похож (используя span lang=.., а я хочу span style=color:..).

Но, похоже, здесь нужно изменить гораздо больше вещей, и я не понимаю.

Я был бы очень благодарен за любую помощь здесь.

Изменить: Чтобы предоставить больше информации: В настоящее время я пытаюсь повторить функцию.toDomElements, с которой я борюсь, потому что я не могу найти место, где можно изменить точный синтаксис тега (стиль вместо языка).

1 ответ

Решение

Ну, я не уверен, что это лучшее из возможных решений, но я справился с этой проблемой, реплицировав LanguageAnnotatation, включая систему виджетов (я выбрал ее, потому что она была наиболее близкой к той, которую я хотел достичь, поскольку она использует CSS и span-tag).

Я реплицировал следующие классы, настраивая атрибуты (язык имеет атрибуты lang и dir, моя цветовая аннотация только атрибут цвета):

  • ve.ce.TextColorAnnotation.js
  • ve.dm.TextColorAnnotation.js
  • ve.ui.TextColorContextItem.js
  • ve.ui.TextColorSearchDialog.js
  • ve.ui.TextColorInspector.js
  • ve.ui.TextColorInspectorTool.js
  • ve.ui.TextColorSearchWidget.js
  • ve.ui.TextColorInputWidget.js
  • ve.ui.TextColorResultWidget.js

Это работает довольно хорошо, IMO. Единственная проблема, которую я вижу сейчас (и над которой я сейчас работаю), состоит в том, что с этой реализацией текстовый (или фоновый) цвет можно применять только к тексту, но не к таблицам (только при маркировке текста внутри ячейки),

Другие вопросы по тегам