Плагин или компонент темы для модификации редактора постов?

Честно говоря, я не знаю, куда лучше разместить этот пост, так что, пожалуйста, переместите его, если эта категория не подходит.

В последнее время я заинтересовался улучшением пользовательского опыта в Discourse при добавлении тегов ruby для текста в редакторе постов. Для тех, кто не знает, этот тег используется при написании японского текста для отображения «произношения» вместе с текстом, например, преобразуя 日本語 в ほん. Однако многие люди, даже в нашем сообществе изучающих японский язык, не знают о его существовании или не хотят им пользоваться, так как писать его вручную для длинных фраз или предложений может быть утомительно. (Приведённый выше пример одного слова был сгенерирован из <ruby>日<rt>に</rt>本<rt>ほん</rt>語<rt>ご</rt></ruby>.)

По этой причине я хочу добавить опцию в меню редактора постов, которая работала бы очень похоже на опцию гиперссылки. У неё всё ещё будет два поля ввода, но они будут использоваться для разделения основного текста и чтения, а не имени ссылки и URL. Это не будет взаимодействовать с сервером, так как просто вставит стандартный (поддерживаемый Discourse) HTML в редактор. Вероятно, мне понадобится немного парсинга текста, чтобы пользователи могли писать длинные строки и добавлять теги ruby сразу, вместо того чтобы делать это по одному символу.

Итак, вопрос: лучше ли это реализовать как компонент темы, плагин или что-то совершенно иное? Также, есть ли способ сделать это так, чтобы мне не приходилось беспокоиться о том, что компонент/плагин/что-либо ещё сломается, когда ядро Discourse внесёт изменения в редактор? Я почти уверен, что установка Discourse, куда я хочу добавить эту функцию, размещена самим Discourse, поэтому она должна быть совместима с таким типом установки. Мне ещё нужно согласовать это с администраторами этого сайта, но я не думаю, что у меня возникнут проблемы с их установкой, когда всё будет готово (и, разумеется, я сначала проконсультируюсь с ними после получения советов отсюда).

Любая помощь и советы будут очень кстати!

В данном случае лучше использовать компонент темы! Нет необходимости изменять ядро, и у нас уже есть необходимые хуки для этого.

Посмотрите по ссылке Composer Help Button (сейчас это плагин, но его можно легко преобразовать в компонент темы).

Спасибо, я посмотрю. Просто хочу убедиться: компоненты темы можно добавлять даже на размещённом сайте? Я просто хочу убедиться, что администраторы сайта, который я использую, действительно смогут установить это, прежде чем я потрачу на это время.

Да, администраторы могут устанавливать компоненты тем на размещённом сайте. Общая документация по темам доступна здесь.

Вот пример компонента темы, который добавляет кнопку панели инструментов в редактор:

https://github.com/discourse/DiscoTOC/blob/master/common/header.html#L373-L393