Внёс изменения, которые не могу отменить

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


Единственное размытие, которое я добавил к этому изображению, — над именами файлов резервных копий. Всё остальное — это то, как отображается веб-страница.

То же самое и здесь: вы видите, что кнопки «Изменить CSS», куда я раньше заходил для правки CSS темы, больше нет. По сути, я застрял и теперь вежливо прошу кого-нибудь помочь мне найти решение.

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

    // используем шрифт Roboto
html {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
}

.background {
  
  position: absolute;
  width: 100%;
  height: 100%;
}


body input,
body button,
body select,
html { 
  background: url(linktoimage) no-repeat center center fixed; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}


body textarea {
  font-family: "Roboto", Helvetica, Arial, sans-serif;
}

@mixin boxShadow {
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 0 0 0 rgba(0, 0, 0, 0.12);
}

@mixin buttonShadow {
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.14), 0 4px 8px rgba(0, 0, 0, 0.28);
}

// приподнимаем и скругляем кнопки
.btn {
  border-radius: 2px;
  @include boxShadow;
}

// убираем тень у некоторых кнопок
.d-editor-button-bar .btn,
.bulk-select-all,
.bulk-clear-all,
.period-chooser-header,
.topic-map .btn.no-text,
.badge-section .btn,
#revision .btn,
#new-account-link,
#login-link {
  border-radius: 0;
  box-shadow: none;
}


Из кода выше я удалил

html { 
  background: url(linktoimage) no-repeat center center fixed; 
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}


и добавил

.page-bg {
  background: url('linktoimage');
  -webkit-filter: blur(5px);
  -moz-filter: blur(5px);
  -o-filter: blur(5px);
  -ms-filter: blur(5px);
  filter: blur(5px);
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

Глупо полагая, что я всё продумал, я нажал «Сохранить». Пожалуйста, помогите.

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

Альтернативно, вы можете использовать инструменты разработчика в вашем браузере, чтобы найти кнопку в HTML-коде и временно отключить CSS-правила, делающие кнопку невидимой. Однако решение Давида кажется более простым и надежным.

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

Добавьте ?safe_mode=no_custom%2Cno_plugins%2Conly_official в конец URL на главной странице вашего сайта и нажмите Enter.

Мой друг, вы спасаете жизни. Вам и всем остальным в этой ветке — спасибо. Большое спасибо.

Хм, я думаю, нам, вероятно, стоит убрать CSS темы со страницы /safe-mode, чтобы такого больше не происходило… Что ты думаешь, @Falco?

С предложенным обходным путем всё ещё работало, но у меня чуть сердце не остановилось, когда я увидел, что даже в безопасном режиме не могу отметить ни один чекбокс. Больше никогда не буду трогать CSS, но если всё же решусь, сначала клонирую его и протестирую в отдельной среде.

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

Кстати, это, безусловно, лучшее форумное ПО, которое я когда-либо использовал. Спасибо за всю вашу работу и поддержку!

О нет, пожалуйста, не сдавайтесь! Мы стараемся сделать эксперименты с темами максимально безопасными для пользователей.

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

Мне нравится идея более безопасного режима безопасности — вот соответствующий PR:

Я не очень хорошо знаком с GitHub. Могу ли я отправить это обновление на свой сайт через git?

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

Не знаю, пропустил ли я статью в разделе часто задаваемых вопросов, где это объяснялось лучше, но контейнеры тем, о которых вы упомянули, по функциональности больше напоминают плагины для тем, чем сами темы. Не ошибаюсь ли я в этом предположении? В инструкциях по установке нескольких общедоступных плагинов я видел, что нужно создать новый контейнер темы и установить некоторые компоненты через этот новый контейнер, а не просто вставлять URL репозитория Git в установщик компонентов темы. Мне кажется, я всё правильно понял, но если я ошибаюсь, пожалуйста, поправьте меня — это было бы очень полезно.

Не напрямую. Мы включим его в Discourse в течение следующих нескольких недель, после чего вы сможете обновить свой сайт. До этого момента вы можете использовать решение, которое предложил @Falco.

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

Если вы ещё не читали это, вот отличное место для начала:

Когда мне нужно поправить CSS, будь то на Discourse или на любом другом сайте, я часто (а точнее, всегда) пробую новые правила CSS с помощью расширения для браузера — живого редактора CSS, вот этого:

(обратите внимание, что оно поддерживает синтаксис SASS)

Для Discourse это позволяет мне в реальном времени тестировать изменения в текущем окне, не добавляя CSS в панель кастомизации, не нажимая «Сохранить» и не открывая другое окно Discourse, чтобы посмотреть результат.

Если вы допустите ошибку в этом редакторе, например:


(как я неуклюж!)

то редактор скроет все элементы страницы, включая сам редактор CSS. Ой!

Если такое случится, просто нажмите на иконку расширения:

И редактор снова появится, но с отключёнными правилами (это можно переключать):

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

Вау, это очень полезно. Большое спасибо!