Да, тема по умолчанию с цветовой схемой Joplin по умолчанию — это светлая тема, а другая — тёмная. Думаю, нормально, что у них две разные цветовые схемы?
Приносим извинения! Это запутанный раздел в нашем интерфейсе администратора, и мы сейчас работаем над его улучшением. Надеюсь, я правильно всё объясняю, но позвольте мне описать текущий функционал своими словами.
Одно из изменений: мы начинаем говорить только о «цветовой палитре» и больше не используем термин «цветовая схема». Это скоро отразится в интерфейсе. На данный момент палитра и схема — это одно и то же.
Чтобы максимально эффективно использовать поддержку тёмного режима в Discourse, я рекомендую следующее:
Включить только одну тему;
В настройках включённой темы указать цветовую палитру для светлого режима;
В настройке сайта default dark mode color scheme id указать цветовую палитру для тёмного режима;
Учитывается системная настройка тёмного режима у участников;
Компонент темы «переключатель тёмного режима» работает для переключения между светлым и тёмным режимами;
Участники видят варианты светлого и тёмного режимов в своих настройках пользователя (и не видят выбор темы, так как включена только одна тема).
Если вы кастомизировали свою тёмную тему не только с помощью цветовой палитры и не хотите, чтобы пользователи использовали светлую тему с тёмными цветами, то переключатель тёмного режима использовать нельзя. В этом случае вам нужно:
Включить две темы;
Тема для светлого режима должна содержать светлые цвета;
Тема для тёмного режима должна содержать тёмные цвета;
Настройка default dark mode color scheme id не должна быть указана;
Системная настройка тёмного режима у участников НЕ будет учитываться;
Компонент темы «переключатель тёмного режима» не будет работать;
В настройках пользователя участники смогут выбрать предпочитаемую тему.
И наконец, если вам нужна только одна светлая или тёмная тема, просто включите одну тему и одну палитру, и не указывайте никакой палитры в настройке сайта default dark mode color scheme id.
Спасибо за ваш ответ. У нас на самом деле три разные темы, и две из них кастомизируются с помощью CSS (чтобы менять заголовок на Хэллоуин и Рождество). Если я правильно понимаю, с такой настройкой невозможно корректно реализовать автоматическую тёмную тему, верно?
Это не идеально, но я думаю, что смогу с этим жить. Возможно, нам нужно изменить заголовки так, чтобы заголовок в светлом режиме работал и в тёмном режиме.
У меня есть несколько цветовых палитр, основные из которых — «Joplin Default» (используется в стандартной светлой теме) и «Simple Dark» (используется в стандартной тёмной теме).
Нужно ли мне что-то настроить здесь, чтобы исправить проблему, о которой я упомянул в первом посте?
Расскажите, какие цветовые палитры по умолчанию используются для светлой и тёмной тем в настройках форума. Установите светлую палитру по умолчанию в настройках тем. Начните использовать переключатель. Всё.
Трудности начинаются, когда пользователь меняет цветовую палитру в личных настройках. Это… ужасная система, слишком сложная, но при этом её трудно понять. По моему мнению, у нас слишком много вариантов отката при настройке цветов — они разбросаны повсюду. Палитры должны настраиваться только в темах. Конечно, это ограничивает возможность пользователя выбирать цвета, но…
Как вы настроили заголовок? Проблема в том, что ваша настройка заголовка зависит от выбранной темы, но переключатель тёмной/светлой темы меняет только цветовую палитру. Результат будет таким же, если вы выберете тёмную палитру в сочетании со светлой темой в своих настройках.
Versatile Banner использует разные фоновые изображения и цвета в зависимости от того, активна ли светлая или тёмная цветовая палитра. Вы можете сделать что-то подобное для своего заголовка.
Да, заголовок действительно устанавливается через пользовательские стили CSS каждой темы. Есть ли способ определить, что текущая цветовая палитра тёмная или светлая?
Но это не сработало, когда была активна тёмная цветовая палитра. На всякий случай я попробовал то же самое с @media (prefers-color-scheme: light), и это сработало. Получается, что тёмная цветовая палитра каким-то образом идентифицирует себя как светлая схема? Есть ли другой способ узнать, что сейчас активна тёмная палитра?
Я посмотрел HTML-код и поискал слово “dark”, но ничего полезного не нашёл. Я надеялся, что есть какой-то верхний селектор вроде .is-dark-theme, который мог бы это указать.
Работает ли способ изменения фона универсальным баннером? Вы можете установить компонент, добавить изображение фона для темного режима и протестировать это с помощью предварительного просмотра.