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. Единственная проблема, которую я вижу сейчас (и над которой я сейчас работаю), состоит в том, что с этой реализацией текстовый (или фоновый) цвет можно применять только к тексту, но не к таблицам (только при маркировке текста внутри ячейки),