관리자 백엔드에서 테마 무시하기 또는 <html>에 클래스명 추가하기?

Different theme for admin backend?에서 이어서 논의합니다:

관리자 UI에 테마를 적용하지 않기 위한 현재 권장 우회 방법은 다음과 같습니다:

Discourse는 SCSS를 지원하므로, 테마에 body:not(.admin-interface)를 한 번만 추가하면 됩니다. 모든 규칙에 추가할 필요가 없습니다.

처음에는 다소 문제가 있어 보입니다. 다양한 색상이 정의된 :root 선택자는 <body>보다 _위_에 위치하며, 사용자 정의 색상이 여전히 관리자 UI와 사용자 UI 양쪽에 영향을 미치기 때문입니다.

<html> 태그에도 .admin-interface(또는 그 변형) 클래스가 있다면 더 쉬울 것입니다. (아니면, 관리자 UI에 대해 별도의 (기본) 테마를 설정할 수 있다면 테마 커스터마이징이 훨씬 쉬워질 것입니다.)

Discourse가 테마 제작자가 일반 사용자에게 보이는 부분만 테마를 적용할 수 있게 해준다면, 테마 제작/커스터마이징이 훨씬 쉬워질 것입니다.


어느 정도 관련 있는 주제는 관리자 UI에 별도의 언어를 사용하는 것입니다(여기서 논의됨: Can discourse have different language interfaces for admin only?). 번역이 매우 부정확하거나(즉: 잘못된) 또는 불완전한(많은 문자열이 번역되지 않음) 언어의 번역을 조정하는 데 특히 도움이 될 것입니다.

현재 에스토니아어로 Discourse를 설정하고 있으며, 사용자 대면 번역이 잘못된 것을 발견하면 수정하고 싶습니다. 그러나 관리자 UI를 에스토니아어로 사용하면 많은 텍스트가 잘못되거나 단순히 이해할 수 없어 매우 혼란스럽습니다.

네, 언젠가 관리자 영역을 분리하는 것이 합리적이라고 생각합니다. 테마 설정에 분명히 부담을 줄 수 있고, 보통 그런 작업은 필요하지 않으니까요. WordPress도 관리자용 테마/스타일을 따로 분리하고 있죠.

그동안 admin-area 클래스를 HTML 태그에 추가하는 PR을 만들었습니다. 기존 테마에 영향을 주지 않도록 다른 이름을 사용하고, 기존 body 태그는 그대로 두었습니다.