CSS темы не отображается для незарегистрированных пользователей

Привет,

Я создал новый компонент, который добавляет дополнительные стили CSS к моей теме. Я применил этот компонент ко всем темам, включая тему по умолчанию.

Я заметил, что когда вы не авторизованы, отображаются не все CSS-стили, а когда вы вошли в систему — всё работает? Уверен, что где-то есть настройка, которую я упустил, или я что-то не понимаю. Я уже довольно долго искал, но так и не смог понять, почему это происходит. Любая помощь будет очень кстати!

Привет :slight_smile:

Можешь поделиться с нами добавленным CSS? Добавлял ли ты JavaScript на свой форум?

Привет! У меня есть следующий CSS:

.custom-homepage-columns .header-wrapper a h2, a:visited, .user-menu.revamped .tabs-list .btn .badge-notification, a, { color: #ffffff; }

a:hover { color: #35af74; }

@import url(https://fonts.googleapis.com/css?family=Baloo+2);

body { font-family: 'Baloo 2', 'Helvetica', cursive; font-size: 18px; }

Я не добавлял никакого JavaScript на форум, если только компоненты, которые я установил, сами его не содержат. Вот мои компоненты:

  • Баннеры категорий
  • Переключатель тёмной/светлой темы
  • Кликабельные темы Discourse
  • Слайдер загрузки Discourse
  • Современные блоки категорий и групп
  • Компонент ссылки навигации
  • Стили тегов
  • Компонент «Плитки» (галерея)
  • Универсальный баннер

Однако CSS, который не отображается, настраивается через цвета темы и не связан с вышеуказанным. В разделе Настроить → Цвета → Тема я изменил основные, вторичные и третичные цвета, но они применяются только при входе в систему.

Думаю, это потому, что отредактированная вами тема не является темой по умолчанию.
Вы можете проверить это здесь:

Я думаю, что приближаюсь к решению проблемы. Несмотря на то, что по умолчанию выбрана тёмная тема Solarized, в выпадающем списке указано, что «Light» является темой по умолчанию. Похоже, незарегистрированные пользователи видят именно её. Просто пытаюсь найти, где это можно изменить. Тёмная тема Solarized должна иметь приоритет. Не совсем понятно, что это за тема «Light» — похоже, это тема по умолчанию Discourse?

Да, именно так :slight_smile:

Кажется, я понял проблему: когда я выбираю Solarized в качестве темы по умолчанию, а затем сохраняю или обновляю страницу, выбор снимается. Не уверен, почему это происходит — баг в теме?

Кажется, я понял проблему, и она довольно глупая… Когда я ставил галочку для подтверждения включения, я не нажимал кнопку сохранения, потому что она была невидима из-за моего CSS. Только после того, как я предположил и нажал на невидимую кнопку, изменения сохранились.

Скорее всего, я установил для кнопки тот же цвет, что и у фона, поэтому не заметил её и решил, что простого выставления галочки достаточно для сохранения :clown_face:

На данный момент в режиме инкогнито всё ещё отображается тема по умолчанию, но я подожду немного, на случай если это кэш.

Попробуйте также выбрать Тема может быть выбрана пользователями. Я знаю, что пункт по умолчанию должен выбираться автоматически.

Спасибо, я попробовал. К сожалению, в режиме гостя всё ещё отображаются разные цвета, даже после того, как я понял, что не нажал «Подтвердить» для установки темы Solarized по умолчанию. Есть ли у Discourse какое-либо жёсткое кэширование, которое нужно очистить?

Достаточно перезагрузить вкладку. Если вы используете DiscourseHub, вам нужно закрыть и снова открыть сеанс.

Начинаю думать, что это баг темы или ошибки в её настройке со стороны автора. Как видно здесь, для Solarized Dark есть две цветовые палитры:

Палитра с названием в нижнем регистре «не редактируема, принадлежит: solarized». К сожалению, именно эта палитра имеет приоритет в режиме гостя, инкогнито или для неавторизованных пользователей. Тема, которую вы редактируете напрямую, — это палитра с заглавными буквами выше, но она отображается только после входа в систему.

Если автор не сделает исходные цвета редактируемыми, я не думаю, что смогу что-то изменить здесь без хардкодинга CSS. Надеюсь, это понятно, объяснить сложно без визуального примера.

Редактирование: Хардкодинг переопределил нередактируемые опции цветов темы в режиме гостя. Пока что приму это как решение.