색상 팔레트 설정이 반영되지 않습니다

새로운 Discourse 설치 환경을 만들고 새로운 테마의 스캐폴딩을 생성했습니다. 첫 번째 작업은 Flexoki라는 이름의 스킴을 사용하도록 색상 스킴을 편집하는 것이었습니다. 여기에서 확인할 수 있습니다:

GitHub를 통해 Discourse 인스턴스에 테마를 추가하고 선택했지만, 색상 설정이 반영되지 않고 Flexoki Light와 Dark 모두에서 기본 색상만 나열되어 있습니다. 문제 해결에 대한 도움이 필요합니다.

네, 먼저 확인할 사항이 몇 가지 있습니다:

  1. 테마에서 해당 특정 색상 팔레트가 선택되어 있는지 확인하세요:

  1. 해당 설정이 올바른데도 여전히 잘못된 색상 팔레트가 표시된다면, 프로필 설정에서 잘못된 색상 팔레트가 선택되어 있지 않은지 확인하세요:

감사합니다. 둘 다 문제가 아닙니다. 스크린샷에서 볼 수 있듯이, UI에서 flexoki 테마가 그냥 디스코스의 기본 색상으로 표시되고 있습니다. 팔레트가 전혀 해석되지 않는 것 같습니다.

내가 잘못 본 것일 수도 있습니다. 하지만 앞뒤로 움직여 보면 업로드하신 색상 팔레트가 light 의 복사본처럼 보입니다.

Customization > Theme 로 이동하여 다른 모양의 팔레트를 가진 항목을 선택하고, 해당 색상 팔레트로 전환해 보세요.

아, 이제 무슨 말씀인지 알겠습니다. 즉, Discourse가 이 색들을 읽지 못하고 있다는 거죠:

"color_schemes": {
    "Flexoki Light": {
      "primary": "#100F0F",
      "secondary": "#FFFCF0",
      "tertiary": "#205EA6",
      "quaternary": "#AF3029",
      "header_background": "#F2F0E5",
      "header_primary": "#6F6E69",
      "highlight": "#ECCB60",
      "danger": "#AF3029",

문제는 위에 있는 것입니다 – 파일에 나열된 색들이 사용되지 않고 있거든요^^

혹시 파일 구조에 문제가 있어서 기본값으로 되돌아가는 것일까요?

테마를 가져오는 것보다 Discourse에서 직접 새 색상 팔레트를 만들고 이 값들을 입력하는 것이 가장 좋을 것 같습니다.

파일의 구문을 확인해 보았습니다. 이전 색상 팔레트 스킴에서는 각 16진수 문자열에 #가 포함되어 있지 않습니다.

각 16진수 문자열의 시작 부분에서 #을 제거하면 올바르게 파싱될 수 있다고 생각합니다.

Discourse 색상 스킴 예제 가이드에서도 동일한 규칙이 적용됩니다:

{
   "name" : "Solarized",
   "about_url" : "https://github.com/SamSaffron/discourse-solarized",
   "license_url": "https://github.com/SamSaffron/discourse-solarized/blob/master/LICENSE",
   "color_schemes": {
      "Solarized Light": {
        "primary": "586E75",
        "secondary": "EEE8D5",
        "tertiary": "268BD2",
        "quaternary": "CB4B16",
        "header_background": "002B36",
        "header_primary": "93A1A1",
        "highlight": "B58900",
        "danger": "CB4B16",
        "success": "859900",
        "love": "DC322F"
      }
   }
}

아!! 감사합니다! 곧 이 수정 사항을 시도해 보겠습니다. 확실한 해결책인 것 같습니다.