# 예정된 주제 목록 변경 - 테마 및 플러그인 준비 방법

**URL:** https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404
**Category:** Development
**Tags:** dev-news
**Created:** [12월 19, 2024, 5:43오후 UTC](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404 "2024-12-19T17:43:05Z")
**Posts on this page:** 16
**Page:** 2

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [1월 31, 2025, 9:27오후 UTC](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404/22 "2025-01-31T21:27:21Z")

</div>

데이비드, 주말에 시간을 빼앗아 미안해. 그래, 방금 API를 봤어. 고마워.

> <https://github.com/discourse/discourse/blob/9f41ce7fce3160cdfeb2818fd11d51326eb7d8a0/app/assets/javascripts/discourse/app/components/topic-list/item.gjs#L180>

> <https://github.com/discourse/discourse-topic-thumbnails/blob/4e4fc54ace3cfdce2299c74c03c631780363d7b9/javascripts/discourse/initializers/topic-thumbnails-init.gjs#L41>

---

<div class="post-metadata">

### Author: ![xlion](https://avatars.discourse-cdn.com/v4/letter/x/db5fbb/32.png) [@xlion](https://meta.discourse.org/u/xlion)
#### Post date: [2월 2, 2025, 5:57오전 UTC](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404/23 "2025-02-02T05:57:59Z")

</div>

안녕하세요, "topic-list-columns"에 대해 다음과 같이 value transformer를 사용해 보았습니다:

```plaintext
export default {
    name: "assignment-topic-list-column-modifier",

    initialize(container) {
        const router = container.lookup("service:router");

        withPluginApi("1.39.0", (api) => {
            api.registerValueTransformer(
                "topic-list-columns",
                ({ value: columns }) => {
                    if (ASSIGN_LIST_ROUTES.includes(router.currentRouteName)) {
                        columns.add("posters-recent", {
                            header: AssignHeaderCell,
                            item: AssignCell,
                            after: "posters",
                        });
                    }
                    return columns;
                }
            );
        });
    },
};

```

목표는 “posters” 열 뒤에 새로운 열 항목과 헤더를 삽입하는 것입니다. 항목(item)은 올바르게 작동하지만, 헤더(header)는 여전히 올바른 위치에 있지 않고 “activity” 열 뒤에 배치되고 있습니다.

제 코드에 누락된 부분이 있을까요? 그리고 이를 올바르게 수행하는 방법에 대한 문서가 있을까요?

---

<div class="post-metadata">

### Author: ![NateDhaliwal](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/natedhaliwal/32/313494_2.png) [@NateDhaliwal](https://meta.discourse.org/u/NateDhaliwal)
#### Post date: [2월 2, 2025, 6:20오전 UTC](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404/24 "2025-02-02T06:20:50Z")

</div>

새로운 가이드가 _있습니다_:

> [@Using Transformers to customize client-side values and behavior](https://meta.discourse.org/t/using-transformers-to-customize-client-side-values-and-behaviour/349954?u=natedhaliwal):
>
> Discourse core includes a number of “transformer” hooks which can be used to customize client behavior. These fall into two categories: Value Transformers take an output from Discourse core, and optionally modify it, or replace it with something else Behavior Transformers can replace a particular piece of logic in Discourse core, and optionally call the original implementation. Each transformer hook is referenced by a name, and multiple plugins/themes can register transformers against t…

하지만 이 경우에는 크게 유용하지 않을 수 있습니다.

---

<div class="post-metadata">

### Author: ![xlion](https://avatars.discourse-cdn.com/v4/letter/x/db5fbb/32.png) [@xlion](https://meta.discourse.org/u/xlion)
#### Post date: [2월 3, 2025, 1:50오전 UTC](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404/25 "2025-02-03T01:50:00Z")

</div>

@NateDhaliwal 정보 주셔서 감사합니다. 확인해 보겠습니다.

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [2월 3, 2025, 4:09오전 UTC](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404/26 "2025-02-03T04:09:31Z")

</div>

코드는 다음과 같이 되어야 한다고 생각합니다:

```js
columns.add(
  "posters-recent", 
  { header: AssignHeaderCell, item: AssignCell }
  { after: "posters"}
});

```

`before`를 지정해야 할 수도 있습니다:

```js
{after: "posters", before: "replies"}

```

---

<div class="post-metadata">

### Author: ![xlion](https://avatars.discourse-cdn.com/v4/letter/x/db5fbb/32.png) [@xlion](https://meta.discourse.org/u/xlion)
#### Post date: [2월 3, 2025, 5:48오전 UTC](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404/27 "2025-02-03T05:48:15Z")

</div>

@Arkshine 정말 감사합니다, 코드 잘 작동합니다 !!! 최고입니다 👍

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [2월 4, 2025, 10:45오전 UTC](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404/28 "2025-02-04T10:45:40Z")

</div>

현재 이러한 비추천(deprecation) 항목에 대해 경고 배너를 활성화했습니다. 따라서 아직 업데이트가 필요한 테마나 플러그인에 대해 커뮤니티 관리자에게 알림이 전송됩니다.

또한 새로운 주제 목록을 다양한 방식으로 커스터마이징하는 방법에 대한 안내 링크를 포함한 참고 가이드를 게시했습니다:

> [@Customizing the topic list](https://meta.discourse.org/t/customizing-the-topic-list/350411):
>
> The topic-list is one of the most-used and most-customized user-interfaces in Discourse. There are many different tools available to theme and plugin developers to achieve this customization, each with their own advantages, disadvantages and maintenance considerations. CSS-based Customization The safest and most common customization method is CSS. As with any other Discourse customization: the more complex your changes, the more maintenance is likely to be required in your theme or plugin. Gen…

해당 링크를 원문(OP)에 추가했습니다.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2월 12, 2025, 10:21오전 UTC](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404/29 "2025-02-12T10:21:34Z")

</div>

David, 어떤 주제가 더 좋은지 확실하지는 않지만, 여기 있습니다:

내 새 컴포넌트(적합하다고 생각하는데)가 Enable Glimmer Topic List를 Auto로 설정하면 실패합니다 …

> [@게시물 목록 미리보기(TLP)](https://meta.discourse.org/t/topic-list-previews-theme-component/209973/542?u=merefield):
>
> It is on auto flushed_face I’ll change it. edit o damn — it was that. So auto, that includes enabled, is not same as enabled. Is there some mechanism that need explicity tell glimmer is ok, unless it falls back to old system?

Auto 모드에서는 새 API가 활성화되지 않는다고 제안하고 있습니다 … Auto 모드에서 Discourse가 새 Glimmer API를 사용하도록 Theme Component에 표시(sign-post)해야 하는 것이 있나요?

---

<div class="post-metadata">

### Author: ![sok777](https://avatars.discourse-cdn.com/v4/letter/s/82dd89/32.png) [@sok777](https://meta.discourse.org/u/sok777)
#### Post date: [4월 7, 2025, 12:41오후 UTC](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404/30 "2025-04-07T12:41:57Z")

</div>

여기서 경고가 표시되는 것을 확인했습니다:

> [@FKB Pro - 소셜 테마](https://meta.discourse.org/t/fkb-pro-social-theme/234323/415):
>
> @Don 이 메시지를 볼 수 있습니다: [The image displays an important admin notification warning that one of the website's themes or plugins needs updating to ensure compatibility with forthcoming Discord core changes and provides a specific link for further information. (Captioned by AI)]

하지만 위에서 제공한 날짜가 지났고 최신 빌드를 사용 중인데도 불구하고 아무 문제가 발생하지 않는 이유는 무엇일까요?

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [4월 7, 2025, 1:21오후 UTC](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404/31 "2025-04-07T13:21:01Z")

</div>

일정이 약간 지연되고 있지만, 향후 1~2주 내에 기존 코드 제거를 완료할 수 있기를 바랍니다.

---

<div class="post-metadata">

### Author: ![sok777](https://avatars.discourse-cdn.com/v4/letter/s/82dd89/32.png) [@sok777](https://meta.discourse.org/u/sok777)
#### Post date: [4월 7, 2025, 5:57오후 UTC](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404/32 "2025-04-07T17:57:44Z")

</div>

그러면 아직 업데이트되지 않은 테마가 완전히 깨져버리는 건가요? 업데이트를 피해야 하나요? 아니면 테마를 포크하면 간단하게 해결할 수 있는 방법이 있을까요?

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [4월 10, 2025, 8:17오전 UTC](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404/33 "2025-04-10T08:17:38Z")

</div>

> [@sok777](#):
>
> 그렇다면 아직 업데이트되지 않은 테마들이 완전히 깨지는 건가요?

네, 주제 목록에 대한 커스터마이징이 적용되지 않게 됩니다.

> [@sok777](#):
>
> 업데이트를 피해야 하나요?

그것은 권장하지 않습니다. Discourse 코어 업데이트에는 보안 수정 사항이 자주 포함되며, 업데이트를 중단하면 커뮤니티가 취약해질 수 있습니다.

> [@sok777](#):
>
> 테마를 포크하면 간단히 할 수 있는 것이 있나요?

다른 토픽에서 [해결하신 것 같습니다](https://meta.discourse.org/t/fkb-pro-social-theme/234323/418?u=david) :chefs_kiss:

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [4월 14, 2025, 11:34오전 UTC](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404/34 "2025-04-14T11:34:08Z")

</div>

레거시 토픽 목록과 “raw handlebars” 시스템이 이제 Discourse 코어에서 [제거되었습니다](https://github.com/discourse/discourse/commit/f0057c7353b8c81e5c315f51d1be06c8e22e4731). 이 변경 사항에 맞춰 플러그인과 테마를 업데이트하는 데 도움을 주신 모든 분께 감사드립니다! 🚀

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [4월 14, 2025, 12:52오후 UTC](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404/35 "2025-04-14T12:52:07Z")

</div>

정말 훌륭합니다! 이 작업을 맡은 CDCK 팀에게 축하의 말을 전합니다. 🥳

기능 요청에 대해 매우 개방적으로 받아주시고, 새로운 API의 설계도 정말 세심하게 고민해 주셔서 감사합니다. 😍

일부 기능이 사라질까 봐 걱정했었는데, 실제로는 오히려 훨씬 더 많은 기능을 갖추면서도 사용이 훨씬 간편해졌습니다! 🚀

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [4월 14, 2025, 2:53오후 UTC](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404/36 "2025-04-14T14:53:00Z")

</div>

로우 템플릿에 대해, 오토완성 기능을 사용하는 템플릿 내에서 컴포넌트를 더 이상 사용할 수 없다는 이해가 맞나요? (예: 이모지)

```js
this.textManipulation.autocomplete({
      template: renderEmojiAutocomplete,

```

지금으로서는 HTML만 반환할 수 있는 것 같습니다.  
언젠가 오토완성 기능이 재설계될 것이라고 말씀하신 것으로 기억하는데, 당분간은 어려울 것 같습니다.

여기에 대한 우회 방법이 있을까요? (Emoji Fluff TC 수정 중입니다)

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [4월 14, 2025, 3:08오후 UTC](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404/37 "2025-04-14T15:08:07Z")

</div>

불행히도 자동완성에 대해 적절한 비추천(deprecation) 메시지를 설정하지 못했습니다. 죄송합니다! 하지만 해결 방법은 있습니다. 아래 링크를 확인해 주세요: [Autocomplete still using Raw Templates - #4 by david](https://meta.discourse.org/t/autocomplete-still-using-raw-templates/348904/4?u=david)

[이전 페이지](https://meta.discourse.org/t/upcoming-topic-list-changes-how-to-prepare-themes-and-plugins/343404.md?page=1)
