여러분 안녕하세요,
기존 테마에 대한 수정/커스터마이징을 유지하는 데 권장되거나 가장 좋은 방법은 무엇인지 여쭤보고 싶습니다.
예를 들어, @rewphus 님의 훌륭한 Material Design Stock Theme을 수정하고 싶은데, 포크(fork)를 만들어 그 위에 작업한 후 업스트림(upstream)에서 동기화하는 것이 좋은 방법인지 궁금합니다.
저는 리포지토리나 Git 개념을 사용하지 않는 다른 포럼 소프트웨어에서는 테마의 사본을 설치한 후, 두 번째 사본을 자식(child) 테마로 설치하고 자식 테마만 수정하여 업데이트가 들어오면 부모(parent) 테마만 업데이트하는 방식이 일반적이라는 것을 알고 있습니다.
기본적으로 동일한 작업을 수행할 수 있습니다. 자체 테마 컴포넌트를 구축한 후 이를 기본 테마(Git에서 가져온 것)의 자식으로 추가하면 됩니다. 이렇게 하면 Git 테마를 필요에 따라 업데이트하더라도 컴포넌트 내의 커스텀 작업에는 영향을 주지 않습니다.
가장 간단한 방법이며, 일부 CSS가 중복될 수 있지만 관리 불가능할 정도로 많지는 않을 것입니다.
테마 및 컴포넌트에 대한 자세한 내용: Beginner's guide to using Discourse Themes
그 글을 읽고 프로세스에 완전히 매료되었습니다. 솔직히 올해까지 Git을 이용해 작업을 정리해 본 적이 거의 없었지만, 지금은 이 워크플로우가 정말 마음에 듭니다.
테마 컴포넌트를 사용해 볼까 생각은 했었지만, 개념적으로는 더 작은 규모의 작업에 사용해야 하는 줄 알았습니다. 테마 컴포넌트로 색상 스킴을 어떤 방식으로든 수정할 수 있을까요? 그 기능은 테마에 한해서만 사용 가능한 것 같습니다.
어젯밤 늦게 그 문서를 읽어서 다시 한 번 꼼꼼히 읽어보고, 대신 테마 컴포넌트로 이렇게 해보겠습니다 
그렇게 해야 한다는 요구 사항은 없습니다. 전체 기본 테마를 복사해서 컴포넌트에 넣는 것은 권장하지 않습니다… 필요한 것보다 훨씬 더 많은 CSS를 함께 들고 다니게 되지만, 원하는 만큼 오버라이드를 추가할 수는 있습니다.
직접적으로 수정할 수는 없지만, 새로운 색상 스킴을 생성한 후 기본 테마 설정에서 해당 스킴을 옵션으로 선택할 수 있습니다. 모든 색상 스킴은 모든 테마에 적용할 수 있습니다(이것이 얼마나 효과적인지는 테마가 어떻게 구축되었는지에 따라 달라질 수 있습니다).
말씀이 일리 있습니다. 이렇게 시간을 내어 답변해 주셔서 정말 감사합니다. 매우 많은 도움이 되었습니다.
좋습니다.
이 워크플로우는 괜찮지만, 바로 포크를 만드는 것이 항상 합리적이지는 않을 수 있습니다… 특히 원본 테마가 잘 유지 관리되고 있는 경우요. 포크를 만들면 Discourse의 기본 업데이트로 인해 테마가 깨지는 경우, 스스로 해결해야 하는 상황이 더 많이 발생합니다.