Функциональность этого компонента темы была добавлена в ядро Discourse начиная с версии 2.8.0. После обновления до версии выше указанной использование этого компонента не принесет вам никакой пользы!
Я создал компонент темы, который меняет стиль сообщений личных сообщений на «пузыри», чтобы помочь отличить их от тем.
Настройки:
Установите цвет фона пузыря в основные, вторичные или третичные цвета вашей темы или выберите из других распространенных цветов.
Выберите разные цвета, чтобы помочь отличить отправленные вами сообщения от полученных.
Установите прозрачность фона пузыря — чем больше процент, тем насыщеннее цвет.
Выберите, отображать ли тень вокруг пузыря сообщения.
При желании добавьте текст к кнопке «Ответить на сообщение», чтобы отличить её от кнопки «Ответить на тему».
Вы можете выбрать цвет из широкого диапазона или подобрать цвета из вашей палитры, чтобы они соответствовали вашей теме. Также можно установить прозрачность фона пузыря относительно цвета и фона.
Меня кое-что интересует, так как я никогда раньше не работал с плагинами…
Возможно ли разрешить использование шестнадцатеричного кода с прозрачностью, вместо того чтобы ограничиваться только системными цветами? Если это потребует слишком много работы, то без проблем. Просто интересно.
А что, если я захочу изменить стилизацию? Например, тени или другие CSS-свойства. Я не очень разбираюсь в GitHub и в том, как всё это работает, но я посмотрел в ваш .git-репозиторий перед тем, как скопировать его в компоненты моей темы. Я умею писать CSS. Могу ли я сделать копию вашего плагина, затем отредактировать ваш CSS-файл и загрузить это как новый компонент темы с нужной мне стилизацией?
Если бы вы могли подсказать мне инструкцию о том, как модифицировать плагин, это было бы здорово. Или, я полагаю, я могу просто применить CSS-переопределение на стороне фронтенда. Какой из вариантов лучше с точки зрения производительности?
Ещё раз… Большое спасибо за это… это именно то решение, которое я искал, чтобы отличать личные сообщения от обычных тем!
Спасибо, @jord8on. Очень приятно получать такие отзывы.
Я сделаю возможность настройки тени отбрасывания в качестве опции в настройках.
Что касается создания или редактирования вашего собственного CSS, это просто. Загрузите компонент, затем перейдите в раздел «Custom CSS/HTML» в настройках компонента.
Просто отредактируйте файл CSS и нажмите «Сохранить». Это ваши собственные настройки. Если вы хотите поделиться ими и включить их в компонент для общего блага, вы можете просто опубликовать CSS в этой теме на discourse meta. Или, в качестве более долгосрочной цели, вы можете изучить, как делать pull requests в GitHub и/или форкнуть репозиторий, если вы вносите более существенные изменения.
Это такое простое решение, которое позволяет значительно выделить личные сообщения от стандартных тем на нашем форуме.
Я только что спросил одного участника, что он об этом думает, и он был невероятно рад этому. Он похвалил идею и её реализацию, так что я просто передаю вам эти слова!!
Я обновил этот компонент темы, чтобы вы могли теперь вводить свои собственные цвета, используя:
имена цветов HTML (black, white, maroon, red, purple, green, lime, olive, yellow, navy, blue, teal, aqua)
коды цветов HTML (#000000 black, #FFFFFF white и т. д. или короткие коды, например #CCC)
имена цветов темы (primary, secondary, tertiary)
Вы также можете вводить свои собственные цвета текста сообщений таким же образом, чтобы они контрастировали с цветом пузыря.
Настройка непрозрачности позволяет смешивать цвет пузыря с фоном, так что цвет будет меняться в зависимости от настроек цветов вашей темы — например, для светлой и тёмной тем.
Это обновление обратно совместимо. Чтобы воспользоваться этой функцией, нажмите кнопку «Проверить наличие обновлений» в настройках вашей темы.
Я отключил границы с помощью пользовательского CSS и внес лишь едва заметное изменение цвета, что выглядит отлично. Было бы здорово, если бы в этом была возможность изменять границы или хотя бы просто переключатель включения/выключения.
Кстати, как вы видите, я установил компонент дважды: для нашей тёмной темы настроил тёмные цвета, а для светлой — светлые. Я думаю, что другого способа нет, если мы хотим использовать пользовательские CSS-цвета.
Также небольшое предложение: вы позволяете добавлять текст в конец кнопки ответа, но в некоторых языках (например, в турецком) предпочтительнее добавлять что-то в начало, так как глагол стоит в конце предложения.
Да, это хорошее обходное решение. Планируемое изменение в Discourse, которое должно убрать возможность локального изменения тем и компонентов Discourse, как-то повлияет на вашу реализацию? Здесь это явно оказалось полезным.
Я имел в виду это объявление в версии Beta. Вы всё ещё можете изменять CSS, но вам придётся создать новый компонент темы, который больше не будет связан с репозиторием git, и скопировать туда весь код. Так ли вы поступили — или выбрали более простой вариант и просто отредактировали CSS в компоненте?
Мне это кажется проблематичным. Я бы предпочел сохранить возможность редактирования тем на месте. Это, безусловно, помогает в разработке тем и компонентов.
У меня есть локальный компонент под названием «common sub-theme», где я вношу правки для других компонентов. В этом под-теме я нацеливаюсь на классы, элементы и другие атрибуты других компонентов. Пока автор компонента не меняет названия классов, идентификаторов и т. д., у меня всё в порядке, и это работает. Кстати, сейчас, поскольку вы также удалили границы, мне не требуется никаких изменений в моём под-теме для компонента «Personal Message Bubbles».
Привет и спасибо за этот замечательный компонент темы.
Возможная ошибка: Похоже, что опция «добавляемый» текст включает пробел перед строкой в нижней части темы сообщения, но не включает его в окне редактора. См. ниже:
@Rhidian, не могли бы вы также добавить возможность добавлять текст перед кнопкой «Ответить»? В некоторых языках (например, в турецком) имеет смысл добавлять какой-то текст в начало глагола.
Отличный компонент!
Есть ли у нас что-то подобное для реальных сообщений в темах? Имею в виду компонент, который делает сообщения похожими на пузыри сообщений!