페이지 변경 시 함수 호출

사용자가 페이지를 변경할 때마다 JavaScript 함수를 호출하고 싶습니다.
JS와 Ruby on Rails 코드는 이해하고 있지만, Discourse에서 이를 구현하는 가장 좋은 관행이 무엇인지 확실하지 않습니다. 조언을 주시면 감사하겠습니다.

참고로, 저는 Docker화된 버전의 Discourse를 사용하고 있습니다.

무엇을 하려는지에 따라 방법은 크게 달라질 수 있지만, 사용자가 페이지를 변경할 때마다 함수를 호출하거나 특정 작업을 수행하려면 플러그인 API를 사용할 수 있습니다.

여기서 Discourse 테마/컴포넌트(커스텀 JS 등) 사용 개발자 가이드를 읽어볼 수 있습니다.

여기서 withPluginApi에 대한 정보를 찾을 수 있습니다.

아래는 현재 URL과 페이지 제목을 로깅하는 간단한 예시입니다.

저는 common/head_tag.html 파일에서 이를 수행하고 있습니다. 이 파일은 /admin/customize/themes/9/common/head_tag/edit에서 편집할 수 있습니다.

<script type="text/discourse-plugin" version="0.8">
    api.onPageChange((url, title) => {
        console.log(url, title);
    });
</script>

답변해 주셔서 감사합니다, @jordan.vidrine. 이 자료들을 확인해 보겠습니다. 도커(Docker) 버전과 더 관련이 있을 것 같은 다른 질문이 하나 더 있습니다. 컨테이너 내부의 파일을 편집하는 데 권장되는 모범 사례가 있나요? 컨테이너에 “get” 명령으로 들어가서 파일을 수정한 후 재시작하는 방식으로 진행해도 될까요?

일부 인스턴스에서는 그렇게 하면 작동할 것이라고 생각합니다. (Docker에 대한 경험이 많지 않습니다)

또한, /admin/customize/themes/9/common/head_tag/edit에서 사이트를 방문하여 Discourse 관리자 패널에서 특정 css 및 html 파일과 <script> 태그를 편집할 수도 있습니다.