되돌릴 수 없는 변경 사항을 적용했습니다

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 규칙을 일시적으로 비활성화할 수 있습니다.
하지만 david의 해결책이 더 쉽고 신뢰할 수 있어 보입니다.

데이비드, 안녕하세요. 전역적으로 어떤 상자도 체크할 수 없는 것 같습니다. 가장 쉬운 방법은 1일 전 백업으로 수동 롤백을 실행하는 것일까요?

사이트 홈페이지에 있을 때 URL 끝에 ?safe_mode=no_custom%2Cno_plugins%2Conly_official을 추가한 후 엔터를 누르세요.

친구야, 너는 생명을 구하는 사람이야. 너와 이 스레드에 있는 모든 분들, 정말 감사합니다.

음, /safe-mode 페이지에서 테마 CSS를 제거하는 게 좋을 것 같은데… 그래야 이런 일이 안 생기니까. @Falco, 어떻게 생각해?

제안해 주신 우회 방법으로 여전히 작동은 했지만, 안전 모드에서도 체크박스에 체크를 할 수 없다는 걸 보고 살짝 심장마비 걸릴 뻔했습니다. 앞으로는 절대 CSS를 건드리지 않겠지만, 만약 건드리게 된다면 먼저 복제본을 만들어 별도의 환경에서 테스트를 해볼 겁니다.

제 이런 바보 같은 실수로 인해 여러분이 개발 보드로 가서 안전 모드를 더 안전하게 만들어야 했다면, 그런 바보가 된 게 오히려 자랑스럽겠습니다.

참고로, 이건 제가 사용해 본 포럼 소프트웨어 중 단연 최고입니다. 모든 작업과 지원에 감사드립니다!

아니요, 포기하지 마세요! 테마를 실험할 때 사람들이 안전하게 사용할 수 있도록 최대한 노력하고 있습니다.

새로운 테마 컴포넌트를 만들고 “미리보기” 버튼을 사용하여 사이트 기본값으로 설정하지 않고 테스트해 볼 수 있다는 점을 기억하세요. 또는 Theme Creator를 사용하여 완전히 샌드박스된 사이트에서 테마를 실험할 수도 있습니다.

더 안전한 안전 모드라는 아이디어에 동의합니다. 여기 PR이 있습니다:

제가 GitHub에 대해 완전히 익숙하지는 않은데, 이 업데이트를 Git을 통해 내 사이트에 배포할 수 있을까요?

새 테마 컴포넌트를 만들고 “미리보기” 버튼을 사용해 사이트 기본값으로 설정하지 않고 테스트해 볼 수 있다는 점을 기억하세요. 또는 Theme Creator를 사용하여 완전히 샌드박스된 사이트에서 테마를 실험해 볼 수도 있습니다.

더 잘 설명되어 있을 FAQ 아티클을 놓치고 있는 건지 모르겠지만, 언급하신 테마 컨테이너는 실제 테마 자체보다는 테마용 플러그인에 더 가까운 기능처럼 보입니다… 제 추측이 잘못된 건가요? 몇몇 공개 플러그인의 설치 지침을 보니, Git URL을 테마 컴포넌트 설치기에 단순히 붙여넣는 대신 새 테마 컨테이너를 만들고 그 컨테이너를 통해 특정 컴포넌트를 설치하도록 안내하고 있었습니다. 제가 제대로 이해하고 있는 것 같지만, 만약 그렇지 않다면 알려주시면 감사하겠습니다.

쉽지는 않습니다. 몇 주 안에 Discourse에 병합할 예정이며, 그때부터 사이트 업데이트가 가능할 것입니다. 그 동안에는 @Falco 님이 공유한 해결책을 사용할 수 있습니다.

죄송합니다. 컴포넌트를 언급하면서 혼란을 드린 것 같습니다. 일반 테마로도 같은 작업을 수행할 수 있습니다: 새 테마를 생성하고 미리보기 링크를 사용하세요.

아직 읽지 않으셨다면, 여기가 시작하기에 좋은 곳입니다:

CSS를 수정해야 할 때, Discourse든 다른 사이트든, 저는 종종(사실은 항상) 실시간 CSS 편집기 브라우저 확장 프로그램을 사용해 새로운 CSS 규칙을 테스트합니다. 바로 이 확장 프로그램이죠:

(SASS 문법을 지원합니다.)

Discourse에서는 커스터마이징 패널에 CSS를 추가하고 "저장"을 클릭한 뒤, 다른 Discourse 창에서 결과를 확인해야 하는 번거로움 없이 현재 창에서 실시간으로 테스트할 수 있습니다.

이 편집기에서 실수를 할 경우, 예를 들어:


(정말 서투르죠!)

페이지의 모든 요소, CSS 편집기 포함이 숨겨집니다. 아뿔!

이런 일이 발생하면 확장 프로그램 아이콘만 클릭하면 됩니다:

그러면 규칙이 비활성화된 상태로 편집기가 다시 표시됩니다. (이 기능은 토글 가능합니다.)

Discourse에서 CSS를 직접 편집하는 것이 부담스러우시다면, Discourse에 실제로 작성하기 전에 먼저 테스트해 볼 수 있도록 이 대안을 추천합니다.

와, 정말 유용하네요. 정말 감사합니다!