Chamar função na mudança de página

Dependendo do que você deseja fazer, isso pode variar muito, mas para chamar uma função ou executar algo a cada mudança de página do usuário, você pode usar a API de plugins.

Aqui você pode ler o guia do desenvolvedor para usar temas/componentes do Discourse (JS personalizado, etc.).

Aqui você pode encontrar informações sobre withPluginApi.

Este é um exemplo simples em que registro a URL atual, bem como o título da página.

Estou fazendo isso no arquivo common/head_tag.html, que pode ser editado em /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>