카테고리의 주제 제목 프롬프트를 변경할 수 있나요?

Discourse는 생성된 각 카테고리에 id를 부여하므로, 이를 활용하여 목표를 달성할 수 있습니다.

테마 컴포넌트에 커스텀 코드를 조금 추가하고, 이를 활성 테마에 추가해야 합니다.

원하는 결과를 얻기 위한 주석이 달린 코드는 다음과 같습니다.

<script type="text/discourse-plugin" version="0.8">
  // 수정할 수 있는 옵션
  const targetCategoryId = 6; // 대상 카테고리로 변경
  const placeHolderForCategory = "CHANGE_THIS_TEXT_BUT_KEEP_THE_QUOTES";

  // 이 줄 아래는 변경할 필요가 없습니다. 관리자인 경우 여기서 멈추세요.
  const discourseComputed = require("discourse-common/utils/decorators")
    .default;

  // 원격 컴포넌트가 아님
  const currentLocale = I18n.currentLocale();
  I18n.translations[
    currentLocale
  ].js.composer.custom_category_placeholder = placeHolderForCategory;

  // 대상 카테고리의 플레이스홀더를 변경하고, 그렇지 않으면 기본값으로
  // 되돌립니다.
  api.modifyClass("model:composer", {
    @discourseComputed("canEditTopicFeaturedLink")
    titlePlaceholder() {
      return this.category && this.category.id === targetCategoryId
        ? "composer.custom_category_placeholder"
        : this._super();
    },
  });
</script>

이 코드는 컴포넌트의 common > header 탭에 넣어야 합니다.

카테고리 id는 해당 특정 카테고리의 페이지를 방문하여 URL을 확인함으로써 얻을 수 있습니다.

예를 들어,

여기 Meta의 Support 카테고리의 id는 6입니다(여기 URL의 마지막 숫자)

Support - Discourse Meta

위 스니펫에서 대상 카테고리의 id(숫자)는 targetCategoryId의 "6"을 대체해야 합니다.

다른 옵션은 꽤 직관적입니다. 해당 카테고리의 제목 플레이스홀더로 표시할 텍스트로 변경하면 됩니다.