임베드 에셋 테마

아, 진짜 :flushed_face: Nginx 때문이었어!

요약:

rm -rf /var/nginx/cache/*`

즉시 해결!


선택 사항: Nginx 자산 캐싱 비활성화

다음 파일을 편집하세요:

/etc/nginx/conf.d/discourse.conf

243~246번 줄 근처에서 캐싱 지시문을 주석 처리하세요:

      # proxy_cache one;
      # proxy_cache_key "$scheme,$host,$request_uri";
      # proxy_cache_valid 200 301 302 7d;
      # proxy_cache_bypass $bypass_cache;

그 다음 Nginx를 재시작하세요:

sv restart nginx

:artist_palette: 색상 팔레트를 변경하는 경우…

테마의 색상 설정만 편집해서는 embed_[digest].css가 재생성되지 않습니다. Discourse가 새로운 자산 파일을 생성하도록 하려면 다음을 수행하세요:

rm tmp/stylesheet-cache/* # 또는, 임베드만 해당될 경우 `rm tmp/stylesheet-cache/embed*`

:thinking: RAILS_ENV=development는 어떻게 되나요?

RAILS_ENV: development를 설정하면 캐싱이 비활성화될 것이라고 생각할 수 있지만:

  • Discourse가 사용하는 nginx.sample.conf는 환경과 관계없이 기본적으로 캐싱이 활성화되어 있습니다
  • 해당 캐싱은 RAILS_ENV와 연결되어 있지 않으므로, 임베드된 자산 캐싱 문제를 해결하는 데 도움이 되지 않습니다

따라서 Nginx 계층을 완전히 재구성할 계획이 없다면, 캐시를 수동으로 지우거나 해당 줄들을 비활성화하면 됩니다. 프로덕션으로 전환할 준비가 되면 되돌릴 수 있습니다.

:turtle: ./launcher rebuild standalone은 어떻게 되나요?

네, 작동합니다. 하지만 테마를 능동적으로 조정하고, 임베드를 테스트하며, 색상을 미세 조정하는 중이라면… 매번 몇 분을 기다리는 것보다 더 빠른 방법이 필요할 것입니다.

:speech_balloon: 더 나은 개발 환경 설정이나 빠른 해결책이 있나요? 참여해 주세요!