사용자 정의 CSS/HTML

(지난해였던 것 같은데) 기본 테마를 제외한 모든 테마에서 Custom CSS/HTML 필드가 제거되었을 때 꽤 실망스러웠습니다.

제가 발견한 우회 방법은 기본 테마를 수정한 다음 Export 버튼을 사용하는 것입니다…

이후 파일을 압축 해제하고 about.json의 설정을 변경합니다…

  • 새 이름을 지정하고,
  • 테마 구성 요소를 true로 변경합니다

해당 파일을 저장한 뒤, 예를 들어 다음과 같은 내용을 포함하는 새 .zip 파일을 만듭니다…

그런 다음 이 .zip 파일을 테마 또는 테마 구성 요소로 업로드하면, 기본 테마를 제외한 모든 테마에서 제거되었던 Custom CSS/HTML 필드를 사용할 수 있게 됩니다.

테마 개발은 내 전문 분야는 아니지만, 사이트에서 새 테마를 만들어 비슷한 효과를 내는 건 어떨까요? 편집 CSS/HTML 버튼이 없는 건 원격 테마뿐입니다.

@JammyDodger 그 말씀이 맞을 것 같네요! (바랍니다!)

네, 테마가 원격인 경우 해당 옵션이 표시되지 않습니다. 원격 저장소를 업데이트할 것으로 기대하기 때문입니다.

여기서 기본 테마는 저장소에서 클론되지 않았기 때문에 해당 옵션이 나타납니다. 이 옵션은 모든 로컬 테마에 대해 표시됩니다.

원격 테마를 사용할 때는 포크를 만들어 포크에 수정 사항을 적용하는 것이 하나의 방법입니다.

어떤 경우에도 소스 컨트롤을 사용하여 테마를 관리하는 것이 더 나은 관행입니다.

이 말은 무슨 뜻인가요?

테마의 진화를 관리하기 위해, 다른 코드와 마찬가지로 Git(Hub)와 같은 시스템을 사용하여 변경 사항을 통제하는 것이 좋습니다.

이렇게 하면 테마가 어떻게 진화하는지 추적할 수 있고, 작동하지 않거나 예상치 못한 문제를 일으키는 변경 사항을 쉽게 되돌릴 수 있으며, 코드 손실(예: 로컬 손상, 백업 유실)을 완화할 수 있습니다. 좀 더 고급 수준에서는 테마를 제3자에게 공개하고 PR(풀 리퀘스트)을 통해 기여를 관리하는 것도 고려해 볼 수 있습니다.

@merefield 님, 설명해 주셔서 정말 감사합니다!

이번 경우에는 새로운 테마를 구축하거나 배포하려는 것이 아니라, 아주 사소한 CSS 조정만 하려고 합니다.

아무래도 Git 관련 작업은 제 머리를 완전히 혼란스럽게 만드는 매우 불운한 장벽(극복하려고 열심히 노력하고 있습니다!)을 만들어버리는 것 같습니다.

이 커뮤니티에는 저처럼 (현재 학습 과정에 있는) 기본 테마의 사용자 정의 CSS/HTML 설정을 통해 접근할 수 있는 CSS 부분만 편집할 수 있는 분들이 더 계실 수도 있습니다.

테마 컴포넌트를 만들어 원하는 테마에 연결하는 방식이 필요하신 용도에 적합할까요?

@JammyDodger 맞아요. 테마 컴포넌트로 만드는 게 가장 좋은 것 같습니다. 그러면 어떤 테마에든 적용할 수 있으니까요!

이 정보가 유용할 수 있습니다:

따라서 테마 컴포넌트는 항상 테마에서 정의한 내용을 오버라이드할 수 있어야 하므로, 당신의 접근 방식은 좋은 방법입니다.

죄송합니다, 추가로 고려해 볼 수 있는 개선 사항을 하나 더 덧붙이고 싶습니다:

  • 메인 Theme은 그대로 유지하세요.
  • Theme Component에는 _변경 사항_만 유지하고, 메인 Theme에 이미 존재하는 나머지 모든 코드는 삭제하세요.

네, 완벽하게 이해가네요. 감사합니다!

Discourse 테마 CLI 콘솔 앱을 설치하여 테마를 구축하는 데 도움이 되는 방법도 확인해 보세요.