오래전부터 모범 사례는 원격 Git 저장소에서 설치된 테마를 Discourse에서 로컬로 편집하는 것을 피하는 것이었습니다. 원격 저장소에서 테마를 업데이트할 때 테마 코드나 업로드된 파일에 대한 모든 변경 사항이 삭제되기 때문입니다.
이 커밋에서 원격 테마를 로컬에서 편집할 수 있는 기능을 제거하고, 이제 Discourse에서 이 모범 사례를 강제 적용합니다.
로컬 변경 사항이 있는 원격 테마를 가지고 있다면 어떻게 되나요?
아직까지는 아무 일도 일어나지 않습니다. 테마를 삭제하거나 원격에서 업데이트할 때까지 기존 테마는 그대로 유지됩니다.
로컬 편집 내용을 유지하려면 어떻게 해야 하나요?
변경 사항이 CSS만인 경우:
CSS 전용 변경 사항을 완전히 새로운 로컬 테마 컴포넌트로 복사할 수 있습니다. 방법은 다음과 같습니다:
- 설치를 클릭합니다.
- 새로 만들기를 클릭합니다.
- 오른쪽 패널의 편집 버튼을 클릭합니다.
- CSS 변경 사항을 올바른 파일(common/mobile/desktop)에 복사합니다.
- 테마 컴포넌트를 저장하고 활성화합니다.
- 로컬 변경 사항을 덮어쓰고 중복된 CSS를 피하기 위해 원격 테마를 업데이트합니다.
CSS 외에 다른 부분(JS/템플릿)을 변경한 경우:
로컬 편집 내용을 유지하려면 테마를 로컬 테마로 전환하는 것을 권장합니다. 이를 위해:
- 관리자 > 사용자 지정에서 해당 테마를 엽니다.
- 로컬 변경 사항이 포함된 테마를 다운로드하려면 내보내기를 클릭합니다.
- 테마 목록에서 설치를 클릭한 다음
내 장치에서를 선택합니다. - 내보낸 테마를 업로드하고 이전과 같이 설치 및 활성화합니다.
관심 있는 분들을 위한 다른 옵션은 GitHub에서 원격 테마를 포크하고, 변경 사항을 포크된 저장소에 커밋한 후, 해당 포크를 Discourse 인스턴스에 설치하는 것입니다. 이렇게 하면 메인 저장소의 향후 업데이트 위에 변경 사항을 리베이스(rebase)할 수 있는 옵션이 제공되는데, 로컬 테마로 전환하는 것에서는 이러한 기능을 제공하지 않습니다.
마지막으로, 변경 사항의 중복과 향후 혼란을 피하기 위해 원격 테마를 반드시 삭제하시기 바랍니다.