네, 사용자 이름이 포함된 외부 URL로 리다이렉트하는 것입니다.
새로운 API를 사용하여 이를 수행하는 기본적인 예시는 다음과 같습니다:
import { apiInitializer } from "discourse/lib/api";
import DButton from "discourse/components/d-button";
export default apiInitializer("1.8.0", (api) => {
const currentUser = api.getCurrentUser();
if (!currentUser) {
return;
}
const url =
"https://example.com/?u=" + encodeURIComponent(currentUser.username);
const iconComponent = <template>
<li class="calculator">
<DButton
@href={{url}}
@icon="calculator"
class="icon btn-flat"
title="Calculator"
target="_blank"
/>
</li>
</template>;
api.headerIcons.add("calculator", iconComponent, { before: "search" });
});
calculator는 고유한 이름입니다.iconComponent는 여기에서 볼 수 있듯이 인라인 glimmer<template>을 참조하지만,components디렉터리에서 생성한 glimmer 클래스 컴포넌트를 참조할 수도 있습니다.before또는after를 헤더 아이콘의 고유 이름 뒤에 사용하여 아이콘을 배치할 위치를 선택할 수 있습니다.

자유롭게 조정해 보세요!
참고:
-
UI를 사용하면 glimmer
<template>구문이 작동하지 않습니다.별도의 파일로 된 테마 컴포넌트를 생성해야 합니다. TC를 빠르게 생성하려면 Discourse CLI를 사용할 수 있으며, 코드 에디터로 매우 쉽게 개발할 수 있습니다. 강력히 권장합니다.
Github의 템플릿도 사용할 수 있습니다: GitHub - discourse/discourse-theme-skeleton: Template for Discourse themes · GitHub.
- glimmer 컴포넌트를 사용하려면 파일 확장자는
.gjs여야 합니다.
- glimmer 컴포넌트를 사용하려면 파일 확장자는
추가로 도움이 필요하시면 알려주세요!