원격 테마 편집 제한

오래전부터 모범 사례는 원격 Git 저장소에서 설치된 테마를 Discourse에서 로컬로 편집하는 것을 피하는 것이었습니다. 원격 저장소에서 테마를 업데이트할 때 테마 코드나 업로드된 파일에 대한 모든 변경 사항이 삭제되기 때문입니다.

이 커밋에서 원격 테마를 로컬에서 편집할 수 있는 기능을 제거하고, 이제 Discourse에서 이 모범 사례를 강제 적용합니다.

로컬 변경 사항이 있는 원격 테마를 가지고 있다면 어떻게 되나요?

아직까지는 아무 일도 일어나지 않습니다. 테마를 삭제하거나 원격에서 업데이트할 때까지 기존 테마는 그대로 유지됩니다.

로컬 편집 내용을 유지하려면 어떻게 해야 하나요?

변경 사항이 CSS만인 경우:

CSS 전용 변경 사항을 완전히 새로운 로컬 테마 컴포넌트로 복사할 수 있습니다. 방법은 다음과 같습니다:

  1. 설치를 클릭합니다.
  2. 새로 만들기를 클릭합니다.
  3. 오른쪽 패널의 편집 버튼을 클릭합니다.
  4. CSS 변경 사항을 올바른 파일(common/mobile/desktop)에 복사합니다.
  5. 테마 컴포넌트를 저장하고 활성화합니다.
  6. 로컬 변경 사항을 덮어쓰고 중복된 CSS를 피하기 위해 원격 테마를 업데이트합니다.

CSS 외에 다른 부분(JS/템플릿)을 변경한 경우:

로컬 편집 내용을 유지하려면 테마를 로컬 테마로 전환하는 것을 권장합니다. 이를 위해:

  1. 관리자 > 사용자 지정에서 해당 테마를 엽니다.
  2. 로컬 변경 사항이 포함된 테마를 다운로드하려면 내보내기를 클릭합니다.
  3. 테마 목록에서 설치를 클릭한 다음 내 장치에서를 선택합니다.
  4. 내보낸 테마를 업로드하고 이전과 같이 설치 및 활성화합니다.

관심 있는 분들을 위한 다른 옵션은 GitHub에서 원격 테마를 포크하고, 변경 사항을 포크된 저장소에 커밋한 후, 해당 포크를 Discourse 인스턴스에 설치하는 것입니다. 이렇게 하면 메인 저장소의 향후 업데이트 위에 변경 사항을 리베이스(rebase)할 수 있는 옵션이 제공되는데, 로컬 테마로 전환하는 것에서는 이러한 기능을 제공하지 않습니다.

마지막으로, 변경 사항의 중복과 향후 혼란을 피하기 위해 원격 테마를 반드시 삭제하시기 바랍니다.

35개의 좋아요

저는 이 기능을 사용해 원격 테마의 변경 사항을 빠르게 미리 보기로 확인했습니다. 지금은 이걸 어떻게 해야 할까요? 어딘가의 높이를 변경해서 커밋하고, 푸시하고, 풀링하고 업데이트를 한 뒤에야 변경량이 너무 많거나 적었다는 걸 알게 되는 건 원치 않습니다 :frowning:

1개의 좋아요

한 가지 방법은 Discourse Theme CLI(테마를 빌드하는 데 도움을 주는 콘솔 앱)을 사용하여 커밋을 푸시하기 전에 다른 이름으로 컴포넌트를 테스트하는 것입니다. 또 다른 방법은 개발 사이트나 스테이징 사이트를 사용하는 것입니다.

2개의 좋아요

CLI군요! 정말 멋집니다! 이런 게 있다는 걸 몰랐는데, 정말 큰 도움이 될 것 같아요.

팁 알려주셔서 감사합니다!

2개의 좋아요

정말 멋져요! 이제 웹 브라우저에서 편집할 필요가 없다는 걸 알게 되면 기뻐할 거예요! :clinking_glasses:

4개의 좋아요