Мне кажется, что эта часть интерфейса Discourse запутанна. В редакторе иконка ссылки используется для вставки гиперссылки (что логично, именно так она должна работать, и это совпадает с 99% других интерфейсов)
Но это также меняет иконку в редакторе, поэтому использовать иконку «Поделиться» для обозначения вставки гиперссылки становится бессмысленно. Было бы полезно, если бы существовали отдельные вызовы API для указания двух контекстов этой кнопки, чтобы я мог заменить её на иконку «Поделиться ссылкой», но не на иконку «Вставить ссылку».
??? (мои знания о внутреннем устройстве Discourse в основном поверхностны)
Это потребует изменения в Discourse. Нам пришлось бы дублировать этот значок внутренне, сохраняя при этом обе версии, использующие значок по умолчанию, чтобы пользователи ниже по цепочке могли адресовать каждую из них отдельно для её изменения.
Да, как только коммит ниже попадёт в tests-passed, вы сможете сделать то, что планировали:
(На попадание в tests-passed может уйти около часа.)
Итак, я добавил новые идентификаторы для иконок «Поделиться» в кнопках поста и темы, чтобы теперь их можно было изолировать в вызове API replaceIcon, например так:
Спасибо, спасибо! Я как раз пытался понять, почему имена классов для иконки кнопки «Поделиться» здесь, на Meta, отличаются от нашей актуальной версии Discourse.
Увидел, что изменения прошли и стали доступны в обновлениях, и применил их на нашем сайте. Для сведения всем остальным: чтобы использовать иконку, её нужно добавить через admin -> settings -> svg icon subset, указав fa-share-square
Работает идеально. Наши иконки «Поделиться» изменились с:
Я обнаружил, что есть ещё один шаг: нужно сделать эту иконку Font Awesome доступной как SVG-иконку. В противном случае кнопка останется пустой после внесения изменений в тему заголовка.
Обновление не меняет ничего, кроме имени класса для иконки кнопки «Поделиться», поэтому вы сразу не заметите разницы. По умолчанию сохраняется та же иконка ссылки, что и раньше (link).
Вы поймёте, что обновление выполнено, если при инспекции кнопки в браузере вы увидите класс d-icon-d-post-share (до обновления класс был d-icon-link)